본문
CentOS 6.4 APM 설치하기
매번 설치할 때마다 검색하고 있다.
Windows, Ubuntu, Fedora 소스설치. 이젠 당분간 또 APM 설치로 글을 올릴 필요는 없겠지..
추가적으로 글을 작성합니다. CentOS 6.4 기본 저장소에는 엄청나게 낮은 버전이 관리되고 있습니다. PHP 만 하더라도 5.3 버전입니다. 좀더 높은 버전을 사용하고자 하신다면 직접 소스 설치를 권장하며 그나마 편하게 설치하고 싶으시다면 Remi 저장소를 권장드립니다.
http://blog.naver.com/sizin?Redirect=Log&logNo=150166620603
저장소 설정은 위와 같이 하시면 되며 기존에 설치하셨다가 업그레이드를 원하신다면 rpm을 모조리 삭제하시고 설치하시는 것이 좋습니다. 에러가 팍팍 터지네요. :)
1. Apache, PHP, MySQL 설치
# yum install httpd php mysql mysql-server -y
2. 암호화 그래픽 라이브러리 PHP Extension 설치
# yum install gd libjpeg libpng openssl-devel php-mysql php-devel php-gd php-mbstring php-mhash -y php_mcrypt
CentOS Minimal 에서는 php_mcrypt 패키지가 yum 빠져있어 설치가 안될 수 있다.
# wget http://ftp.neowiz.com/fedora-epel/6/x86_64/epel-release-6-8.noarch.rpm
# rpm -ivh epel-release-6-8.noarch.rpm
# yum install php-mcrypt
공부 할 목적이라면 소스 설치를 강추.
일일이 서버에 configure 해서 원하는 위치에 설치해보거나 Path 설정, 빌드 등등 머리가 아플지도 모른다.
Apache
설정 파일 : /etc/httpd/conf/httpd.conf
도큐먼트 Root : /var/www/html/
(도큐먼트 Root 변경을 하려면 설정파일에서 DocumentRoot 경로를 변경한다.
SELINUX 설정으로 DocumentRoot을 변경했는데도 httpd 가 실행되지 않는 경우가 있다.
# chcon -R -h -t http_sys_content_t 최상위 폴더
(ex : /home/web/계정 별로 폴더가 정리되어있다면 chcon -R -h -t http_sys_content_t /home/web 을 치면 된다.)
헌데 재시작하면 다시 풀릴지 어쩔지는 모르겠다. 다시 해봅시다.
실행, 중지, 재시작 : service httpd start|restart|stop
서버 자동 시작 : chkconfig --level 2345 httpd on
ServerName이 설정되있지 않아 httpd restart 시 경고를 표시한다.
httpd.conf 를 열어 ServerName 127.0.0.1 로 변경한다.
# ServerNAmer www.example.com:80
ServerName 127.0.0.1
Iptables
설정 파일 : /etc/sysconfig/iptables
방화벽 설정 Port 해제 : -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
실행, 중지, 재시작 : service iptables start|restart|stop
방화벽 상태 체크 : netstat -nldp
PHP 설정
아파치 모듈에 PHP 라이브러리가 있는지 확인한다.
라이브러리 : /etc/httpd/modules/phplib5.so
설정파일에 PHP 모듈 추가 (/etc/httpd/conf/httpd.conf)
# PHP 모듈 추가, 지금 확인해봤더니 중복 Load 경고를 뿜어낸다.
# php.conf 에서 자동 로드 되는가 싶으니 빼둔다.
#LoadModule php5_module modules/libphp5.so
# PHP Extension Type 추가
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
# DirectoryIndex 추가
DirectoryIndex index.html index.html.var index.php index.phtml
PHP 연동 확인을 위해 /var/www/html 에 index.php 파일을 만든다.
# vi /var/www/html/index.php
<?php phpinfo() ?>
아파치를 재시작하고 웹페에지에 접속해 PHPInfo가 뜨는지 확인한다.
PHP Data 오류가 나는 경우
# vi /etc/php.ini
[Date]
; Defines the default timezone used by the date functions
; http://www.php.net/manual/en/datetime.configuration.php#ini.date.timezone
date.timezone = Asia/Seoul
주석을 해제하고 Asia/Seoul 로 변경해준다. 보통 5.3 이상 버전 부터 이러한 오류가 발생한다.
PHP fopen() 함수를 쓸 때 오류가 발생 한다면 php.ini에서 다음 두 항목을 off 시켜준다.
; Whether to allow the treatment of URLs (like http:// or ftp://) as files.
; http://www.php.net/manual/en/filesystem.configuration.php#ini.allow-url-fopen
allow_url_fopen = Off
; Whether to allow include/require to open URLs (like http:// or ftp://) as files.
; http://www.php.net/manual/en/filesystem.configuration.php#ini.allow-url-include
allow_url_include = Off
PHP fsockopen() 함수를 쓸 때 오류가 발생 한다면 selinux에 방화벽을 풀어준다.
# setsebool -P httpd_can_network_connect on
MySQL
설치 경로 : /usr/share/mysql
설정 파일 : /etc/my.cnf
실행, 중지, 재시작 : service mysqld start|restart|stop
서버 자동 시작 : chkconfig --level 2345 mysqld on
Root 암호 설정 : # mysqladmin -u root password [본인 암호]
MySQL 접속 : mysql -u [사용자] -p [접속할 Database]
업데이트 오류 발생시 로그를 확인해보자.
참고 URL : http://kldp.org/node/113320
MySQL UTF8 설정
설정파일 : /etc/my.cnf 아래 내용을 입력한다.
[client]
default-character-set=utf8
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
init_connect="SET collation_connection = utf8_general_ci"
init_connect="SET NAMES utf8"
default-character-set=utf8 // 이 옵션은 안먹으니 삭제!
character-set-server=utf8
collation-server=utf8_general_ci
[mysqldump]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
# service mysqld restart
# mysql -u root -p
password :
mysql> status
명령어의 결과로 문자셋이 보이는데 utf8로 설정되면 정상 반영된 상태이다.
관련링크
- http://starkapin.tistory.com/498 1195회 연결
댓글목록
등록된 댓글이 없습니다.