제가 제 테스트 서버에 설치하면서
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가 성공적으로 설치된 것입니다.
날짜: 2004-01-14 18:19:58,
조회수: 3213 |