사이트 내 전체검색
검색목록
CentOS 6.4 APM 설치하기
로빈아빠
https://cmd.kr/server/698 URL이 복사되었습니다.

본문

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



# .htaccess 파일을 사용하기 위해 NONE 에서 ALL로 변경합니다.
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
#   Options FileInfo AuthConfig Limit
AllowOverride ALL


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로 설정되면 정상 반영된 상태이다.

 

댓글목록

등록된 댓글이 없습니다.

71 (1/2P)

Search

Copyright © Cmd 명령어 18.117.105.40