본문 바로가기

Linux & Unix

CentOS 7 실무 웹서버 세팅 5편(PHP 5.5.x / 5.6.x컴파일 설치)

현존하는 최고의 웹스크립트 언어인 PHP를 아파치와 연동하는 작업을 해볼 것이다.


어떠한 버젼을 설치하는 것이 좋을까 고민하다가 5.5.x를 선택했다. 혹시나 5.4나 5.6를 원한다면 그걸 받아서 설치해도 된다.


[PHP 소스를 컴파일 하기 위해서 필요한 라이브러리 설치]

yum install libxml*

yum install bzip2-devel 

yum install curl-devel

yum install gdbm-devel

yum install libjpeg-devel

yum install libpng*

yum install freetype-devel



[mhash 설치]

http://sourceforge.net/projects/mhash/files/mhash/ 에서 mhash-0.9.9.9.tar.bz2를 다운로드


#tar xvf mhash-0.9.9.9.tar.bz2

압축을 해제한다


#cd mhash-0.9.9.9

디렉토리를 이동한다.


#./configure

컴파일에 필요한 환경설정을 한다.


#make

컴파일 시작


#make install

컴파일하여 생성된 바이너리 코드를 설치한다.



[libmcrypt 설치]

http://sourceforge.net/projects/mcrypt/files/Libmcrypt/Production/ 에서 libmcrypt-2.5.7.tar.gz를 다운로드


#tar xvfz libmcrypt-2.5.7.tar.gz

압축을 해제한다


#cd libmcrypt-2.5.7

디렉토리를 이동한다.


#./configure

컴파일에 필요한 환경설정을 한다.


#make 

컴파일 시작


#make install

컴파일하여 생성된 바이너리 코드를 설치한다.


#vi /etc/ld.so.conf

맨 아래에 /usr/local/lib 추가

#ldconfig 



[mcrypt 설치]

http://sourceforge.net/projects/mcrypt/ 에서 crypt-2.6.8.tar.gz를 다운로드


#tar xvfz mcrypt-2.6.8.tar.gz

압축을 해제한다


#cd mcrypt-2.6.8

디렉토리를 이동한다.


#./configre

컴파일에 필요한 환경설정을 한다.


#make

컴파일 시작


#make install

컴파일하여 생성된 바이너리 코드를 설치한다.



[php 설치]

php.net에 접속해서 5.5.19를 다운 받아서 /usr/local/src 디렉토리로 옮긴다


#tar xvfz php-5.5.19.tar.gz2

압축을 해제한다.


#cd php-src-php-5.5.19

디렉토리를 이동한다.


#./configure --prefix=/usr/local/php \

--with-apxs2=/usr/local/apache/bin/apxs \

--enable-mod-charset \

--with-charset=utf8 \

--with-config-file-path=/usr/local/apache/conf \

--enable-sigchild \

--with-libxml-dir \

--with-openssl \

--with-zlib \

--with-zlib-dir \

--with-bz2 \

--enable-calendar \

--with-curl --enable-dba \

--with-gdbm \

--enable-exif \

--enable-ftp \

--with-gd \

--with-jpeg-dir \

--with-png-dir \

--with-freetype-dir \

--enable-gd-native-ttf \

--with-gettext \

--with-imap-ssl \

--with-kerberos \

--enable-mbstring \

--with-mhash \

--with-mcrypt \

--with-mysql=/usr/local/mysql \

--with-mysqli=/usr/local/mysql/bin/mysql_config \

--enable-sockets \

--with-regex=php \

--enable-sysvmsg \

--enable-sysvsem \

--enable-sysvshm \

--enable-soap \

--enable-zip \

--enable-wddx

컴파일 옵션을 주어 환경 설정한다.


#make

컴파일을 시작한다.


#make install 생성된 바이너리 코드를 설치한다.


#cp /usr/local/src/php-5.5.19/php.ini-development /usr/local/php/lib/php/php.ini

php 소스 디렉토리에서 기본 제공되는 ini환경 화일을 php가 설치된 디렉토리로 복사한다.(실제 사용을 위해서는 화일 업로드시 제한용량이라던가 약간의 설정작업이 필요하다)


#ln -s /usr/local/php/lib/php/php.ini /usr/local/apache/conf/

php.ini 화일 수정을 자주 다뤄야 하므로 아파치가 설치된 디렉토리로 링크를 걸어준다.


#vi /usr/local/apache/conf/httpd.conf

php 확장자를 처리할 수 있도록 <IfModule mime_module>...</IfModule> 사이에 아래 두줄을 삽입한다.

AddType application/x-httpd-php .html .htm .php .php3 .php4 .php5 .phtml .cgi .inc

AddType application/x-httpd-php-source .phps

#/usr/local/apache/bin/apachectl restart

아파치 웹서버를 재시작 해준다.


#vi /usr/local/apache/htdocs/phpinfo.php

php 스크립트가 잘 동작하는지 확인하기 위해서 phpinfo() 함수를 실행해본다.

같은 네트워크에 있는 다른 컴퓨터를 이용하여 접속을 해본다. 아래와 같은 화면을 본다면 성공한것이다. 연결이 안된다면 방화벽을 확인해봐야 할 것이다.



실제 웹서버를 운영하기 위해서는 아파치의 버추얼 호스트와 php.ini화일의 수정이 필요하다.


* 참고 : PHP 5.6.5를 위 방법과 옵션을 이용해서 설치했는데 그누보드 5 설치도 잘 되었고, 동작도 잘 하였다.