제가 제 테스트 서버에 설치하면서
yekdm@hotmail.com님의문서를 참조하여 제게 맞게 수정한것입니다.
확인은 http://10.80.5.40/phpinfo.php 에서 확인하실수 있습니다.
###리눅스(redhat9.0)에서 아파치(2.0.48) + php(4.3.4) + mysql(4.0.17) + ZendOptimizer(2.1.0b)설치하기
1. mysql binary 설치 (mysql은 세가지 방법으로 설치할수 있다. rpm,binary,source)
+ 기존 rpm 설치여부
shell> rpm -qa | grep mysql
+ rpm 제거 의존성 있는거부터 먼저 지운다.
shell> rpm -e mysql
배포파일 mysql-standard-4.0.17-pc-linux-i686.tar.gz
+ 받은 파일을 적당한 위치 (예: /usr/local/src) 로 이동시켜서 압축을 풀어줍니다.
shell> mv ./mysql-standard-4.0.17-pc-linux-i686.tar.gz /usr/local/src
shell> tar xvfz mysql-standard-4.0.17-pc-linux-i686.tar.gz
+ 압축풀린디렉토리를 /usr/local에 mysql이라는 이름으로 이동한다.
shell> mv /usr/local/src/mysql-standard-4.0.17-pc-linux-i686 /usr/local/mysql
+ 해당 디렉토리로 이동한다.
shell>cd /usr/local/mysql
+ mysql 기본테이블들을 생성시켜준다.
shell> scripts/mysql_install_db
+ 디렉토리 권한을 설정한다./usr/local 디렉토리에서
shell> chown -R mysql.mysql mysql
+ mysql계정을 사용자 및 그룹계정에 추가한다.
shell> /usr/sbin/groupadd mysql
shell> /usr/sbin/useradd -g mysql mysql
+ Mysql을 실행시킵니다.
shell> bin/mysqld_safe –user=mysql &
+ 시스템 부팅시 자동적으로 Mysql을 실행하고자 할 경우에는
- support-files/mysql.server 파일을 /etc/rc.d/init.d 디렉토리로 copy 합니다.
- /etc/rc.d/rc0.d에는 K01mysql이라는 이름으로 /etc/rc.d/rc3.d에는 S90mysql이라는 이름으로
symbolic link를 만들어줍니다
shell> ln -s /etc/rc.d/init.d/mysql.server /etc/rc.d/rc0.d/K01mysql
shell> ln -s /etc/rc.d/init.d/mysql.server /etc/rc.d/rc3.d/S90mysql
2. 아파치 설치
+ 기존 패키지 찾아서 삭제
shell> rpm -qa | grep httpd
shell> rpm -e [httpd RPM name]
+ 현재 Apache 웹데몬이 실행되고 있다면 실행을 중지시킵니다.
shell> /etc/init.d/httpd stop
+ 배포파일 httpd-2.0.48.tar.gz
적당한 위치에서 다운로드 받은 배포파일의 압축을 풉니다.
shell> mv httpd-2.0.48.tar.gz /usr/local/src
shell> tar xvfz httpd-2.0.48.tar.gz
생성된 디렉토리 httpd-2.0.48로 이동합니다.
shell> cd httpd-2.0.48
+ configure를 진행한다.
shell> ./configure –prefix=/usr/local/apache
–enable-rule=SHARED_CORE
–enable-modules=so –enable-so
–enable-rule=SHARED_CORE
Apache 컴파일시 rule을 지정합니다.
SHARED_CORE는 DSO(Dynamic Shared Objects, 동적공유객체)를 사용할 수 있는 형태로
Apache를 컴파일하도록 하는 일종의 규칙입니다.
이 옵션을 지정해주면 DSO로 컴파일된 아파치에서 제공하지 않는 외부 모듈들을 선택적으로 사용할 수 있게 됩니다.
기본형은 –enable-rule=[RULE-NAME]으로 [RULE-NAME]에 해당하는 컴파일 규칙을 enable시킵니다.
–help 옵션으로 나타나는 도움말에서는 이 옵션을 표시하고 있지 않습니다.
–enable-modules=so
mod_so(so_module)를 Apache에 컴파일하여 포함시킵니다.(모듈의 정적 컴파일)
기본형은 –enable-modules=[MODULE-LIST]로
공백으로 구분한 [MODULE-LIST]에 나와있는 모듈들을 컴파일하여 포함합니다.
–enable-so
Apache가 실행시 특별한 옵션없이 자동으로 동적공유객체(DSO-Dynamic Shared Objects)를
읽어들일 수 있도록 하기 위한 설정옵션입니다.
+ 이어서 컴파일과 인스톨을 실행합니다.
shell> make
shell> make install
+ 웹데몬을 실행해본다.
shell> /usr/local/apache/bin/apachectl start
httpd: Could not determine the servers fully qualified domain name, using 127.0
.0.1 for ServerName
이 메시지는 /usr/local/apache/conf/httpd.conf 설정파일을 수정하지 않았기 때문에 표시되는 것입니다.
+ 부팅시 자동으로 httpd 데몬이 실행되도록 합니다.
shell>cp -p /usr/local/apache/bin/apachectl /etc/rc.d/init.d/httpd
shell>cp -p /usr/local/mysql/share/mysql/mysql.server /etc/rc.d/init.d/mysqld
shell>cd /etc/rc.d/rc3.d
shell>ln -s /etc/rc.d/init.d/httpd S85httpd
shell>ln -s /etc/rc.d/init.d/mysqld S97mysqld
+ 마지막으로 /etc/httpd/conf/httpd.conf 파일의 설정을 변경합니다.
기본적으로 변경해야할 부분은
#servername www.example.com:80
으로 #을 제거하고 www.example.com을 웹서버의 domain name으로 수정해 주거나 localhost로 적어줍니다.
+ 한글을 지원하기 위해서 AddDefaultCharset ISO-8859-1 부분을 찾아서 AddDefaultCharset utf8 또는
AddDefaultCharset euc_kr 로 변경합니다.
3. php 설치
배포파일 php-4.3.4.tar.gz
+ 기존에 PHP가 RPM으로 설치되어있는지 확인한 후 설치되어 있으면 RPM을 제거합니다.
shell> rpm -qa | grep php
shell> rpm -e (–nodeps) [php RPM name]
+ 배포파일을 적당한 위치로 옮긴 후 압축을 풀어줍니다.
shell> mv php-4.3.4.tar.gz /usr/local/src
shell> cd /usr/local/src
shell> tar xvfz php-4.3.4.tar.gz
+ 압축을 풀면 php-4.3.4 디렉토리가 생성됩니다.
디렉토리 안으로 이동하여 configure를 실행시킵니다.
shell> cd ./php-4.3.4
shell> ./configure -prefix=/usr/local/php –with-apxs2=/usr/local/apache/bin/apxs –with-config-file-path=/etc –with-zlib –with-gd –with-mysql=/usr/local/mysql –with-mod-charset –with-language=korean –with-charset=euc_kr –enable-ftp –enable-sockets –enable-track-vars –enable-mbstring=all –with-freetype-dir=/usr/local/include/freetype2 –with-mcrypt=/usr/local/mcrypt –with-mhash=/usr/local/mhash –disable-posix-threads
+ 위의 옵션으로 실행했을 때 libpng.(a|so)를 찾을 수 없다는 오류가 발생할 수 있습니다.
이 때에는 –with-gd 옵션을 제거하고 실행하거나
http://ftp.redhat.com/pub/redhat/linux/9/en/os/i386/RedHat/RPMS/ 에서
libpng-devel-1.2.2-16.i386.rpm을 다운로드 받아서 설치한 후 실행하기 바랍니다.
+ 컴파일과 인스톨을 진행합니다.
shell> make
shell> make install
+ php.ini-dist를 /etc에 php.ini 로 이름을 변경하여 복사합니다.
+ 마지막으로 Apache 웹서버와 PHP 모듈과의 연동을 위해서 /etc/httpd/conf/httpd.conf 파일을 수정해줍니다.
PHP install(make install 과정)시 모듈을 load하는 부분이 httpd.conf 파일에 자동으로 추가됩니다.
다음 부분이 httpd.conf 파일에 기록되어 있는지 확인합니다.
LoadModule php4_module lib/apache/libphp4.so
이부분이 없을 경우 Dynamic Shared Object (DSO) Support 부분에 추가합니다.
+ AddType 부분으로 이동해서 다음을 추가합니다.
AddType application/x-httpd-php .php .phtml
AddType application/s-httpd-php-source .phps
+ DirectoryIndex 부분을 찾아 index.php와 index.phtml을 추가합니다.
DirectoryIndex index.html index.html.var index.php index.phtml
+ httpd 데몬을 재실행합니다. (Apache 웹서버를 재가동시킵니다.)
shell> /etc/init.d/httpd restart
+ /usr/local/apache/htdocs 디렉토리 내에서 다음과 같은 코드를 작성하여 웹브라우저를 통해 확인해봅니다.
shell> vi phpinfo.php
phpinfo();
?>
PHP를 재설치하거나, 업그레이드하거나 또는 패치할 경우
config.cache 파일을 삭제한 후 위와 동일한 과정으로 진행합니다.
4. ZendOptimizer 설치
배포파일 ZendOptimizer-2[1].1.0b-Linux_glibc21-i386.tar.gz
+ 배포파일을 적당한 위치로 옮겨서 압축을 풀어준다.
shell> mv ZendOptimizer-2[1].1.0b-Linux_glibc21-i386.tar.gz /usr/local/src
shell> tar xvfz ZendOptimizer-2[1].1.0b-Linux_glibc21-i386.tar.gz
+ ZendOptimizer-2.1.0b-Linux_glibc21-i386 디렉토리가 생성되어 압축이 풀립니다. 이 디렉토리로 이동합니다.
shell> cd ZendOptimizer-2.1.0b-Linux_glibc21-i386
+ 다음의 명령을 실행시킵니다.
shell> ./install.sh
화면에 GUI 환경이 나타나면서 install이 진행됩니다.
각 과정은 자동으로 이루어지며 마지막으로 Apache 웹서버를 재구동시켜줍니다.
설치는 /usr/local/Zend 경로에서 이루어집니다.
기존의 /etc/php.ini 파일은 /etc/php.ini-zend_optimizer.bak 으로 이름이 변경되고
php.ini 파일이 /usr/local/Zend/etc 안에 생성되며
/etc 디렉토리 안에는 이 /usr/local/Zend/etc/php.ini 의 symbolic link 파일이 만들어져
실제 php.ini 파일과 연결됩니다.
모든 과정이 끝나면 Zend Optimizer가 성공적으로 설치된 것입니다.
Related Posts
Comments
Powered by Facebook Comments
재설치하고 싶으면 해당 설치파일 디렉토리에서 make clean 한뒤 다시 컴파일