|
---리룩스서버컴퓨터 백업 |
文學위의 文學 출판사입니다. PDF로 전환하여 복사기로 책을 만듭니다. 자세한 내용은, '디지털 인쇄'에서 확인해 보세요! |
리눅스(Linux) 서버
Zend Optimizer 설치하기
2004.06.14 19:46
MySQL + Apache + PHP4 + IMAP + Zend Optimizer 설치하기
작성자: 백명훈(Myeong-hun Baek)
E-mail: mhbaek@korea.com
My Home: http://www.kernel.tv
최종수정일: 2002년 11월9일
설치환경
Model: LG IBM eServer X200
CPU : Intel Pentium III 866Mhz
RAM: 256M
HDD: SCSI IBM 9G*2
OS: Redhat Linux 7.3
Kernel: 2.4.18
PHP Zend를 설치를 해보고 싶어하는 분들을 위해 이 글을 작성합니다.
가급적 초보분들을 위해 최대한 쉽게 설명하였으나 의문점이 있으면 저의 홈페이지 게시판 또는 메일을 이용하여 주세요.
그동안 이 글을 읽고 여러 가지 문제점을 지적해 주신 분들께 감사드립니다.
이 글을 위해 사용된 모든 소스는 2002년7월27일 현재 가장 최신버전을 사용하였습니다.
Apache는 'Chunked Encoding' 취약점으로 인하여 가급적 1.3.26버전 이상을 사용하시기를 권장합니다.
현재 출시되어 있는 RedHat 7.3에서 전체설치를 하면 php 4.1.2로 설치됩니다.
설치가 어렵게 느껴지는 분은 레드햇7.3의 기본 RPM패키지를 이용하셔도 무난할 것 같군요.
레드햇 이외의 배포판도 거의 비슷합니다.
RPM(Redhat Package Manager) 버전의 설치는 윈도우즈의 인스톨러처럼 자동으로 실행화일과 환경을 설정해주는 방법으로서 설치하는 시간과 방법이 아주 편리합니다.
여기서 설명하는 방법은 약간 번거로운 과정을 거쳐야 하지만 소스를 보거나 수정할 수 있고 자신의 시스템에 맞게 컴파일하여 성능을 높일 수 있습니다.
일반적인 소스컴파일의 순서는 다음과 같습니다. configure→ make→ make install
'configure'는 사용하는 OS또는 CPU 및 시스템 라이브러리, 그리고 컴파일시의 선택사항 등을 파악하여 그 결과를 컴파일(make)할 때 반영이 되도록 합니다.
'make install'은 컴파일된 파일들을 사용자가 원하는 위치에 복사하는 작업입니다.
설치순서
설치에 필요한 파일 다운받기
RPM으로 설치된 패키지 제거하기
IMAP, MySQL, Apache, PHP4, ZendOptimizer 바이너리 파일 압축풀기
IMAP 설치
MySQL 설치
Apache Configure(1)
PHP4설치
Apache Configure(2), 컴파일
환경설정 파일 편집
Test 하기
Zend Optimizer 설치
1. 설치에 필요한 파일 다운받기
설치에 필요한 파일들
imap-2001a.tar.Z (ftp://ftp.cac.washington.edu/imap)
mysql-3.23.51.tar.gz (http://www.mysql.com/downloads/mysql-3.23.html)
apache_1.3.26.tar.gz (http://www.apache.org/dist/httpd/)
php-4.2.2.tar.gz (http://www.php.net/downloads.php)
ZendOptimizer-1.3.2-Linux_glibc21-i386.tar.gz (https://www.zend.com/store/products/zend-optimizer.php)
해당 사이트 또는 미러사이트 등을 이용하여 파일을 다운로드 받습니다.
설치에 필요한 소스들의 경로는 조금씩 변경될 수도 있습니다. 직접 찾아보기 번거로우시면 저의 홈페이지(http://www.kernel.tv)에서 다운받으세요.
다운받은 파일들을 /usr/local/src/ 또는 적당한 위치에 저장을 합니다. root계정으로 로그온 되어 있고, 리눅스시스템에 익숙한 분은 어느곳에 두고 설치를 해도 상관없습니다.
하지만 소스파일들을 같은 디렉토리에 두세요.
2. RPM으로 설치된 패키지 제거하기
주의: 지금부터의 작업은 반드시 root의 권한으로 해야 합니다.
배포본 리눅스에 기본적으로 설치되어 있는 RPM 패키지를 제거.
[root@www root]# /etc/rc.d/init.d/httpd stop 아파치 데몬 종료.또는 killall httpd
[root@www root]# ps -ef | grep httpd httpd 데몬이 없는 것을 확인.
root 1395 1360 0 17:12 pts/1 00:00:00 grep httpd 아무 메세지가 안뜨거나 이런형식으로 뜨면 실행되고 있는 아파치 데몬이 없는겁니다.
[root@www root]# /etc/rc.d/init.d/mysqld stop mysql 데몬을 종료.
[root@www root]# ps -ef | grep mysqld MySQL 데몬이 없는 것을 확인
root 20246 20060 0 14:05 pts/0 00:00:00 grep mysqld
[root@www root]# rpm -qa | grep apache 설치된 아파치 패키지를 검색합니다.
apache-1.3.23-11
apache-devel-1.3.23-11
................................
[root@www root]# rpm -e apache
error: removing these packages would break defendencies:
webserver is needed by mod_perl-1.24-6
webserver is needed by mod_php-4.0.4pl1-1
webserver is needed by mod_ssl-2.7.1-3
webserver is needed by mod_dav-1.0.2-2
webserver is needed by mod_python-2.7.6-5
.............................
아파치를 제거합시다. 그런데 에러메시지가 뜨죠? 의존성이 있는 패키지를 먼저 제거합니다.
rpm -e --nodeps apache와 같이 의존성 검사를 무시하고 지울 수도 있으나 꼭 필요하지 않는 것을 남겨두면 공간만 차지하고 시스템효율성을 떨어뜨릴 수 있으므로 본인판단하에 사용하지 않는 것은 과감히 지우시고 다음에 필요하면 설치하세요.
그리고 배포판 또는 설치환경에 따라 다소 패키지별로 차이가 있습니다.
실수로 잘못 지운 것은 배포판 CD가 있으면 다시 설치하면 그대로 됩니다.(예: rpm -ivh apache-1.3.23-11.i386.rpm)
[root@www root]# rpm -e mod_perl
[root@www root]# rpm -e php (php를 지울 때 의존성 문제가 뜨는 패키지도 같은 방법으로 지웁니다)
[root@www root]# rpm -e mod_ssl
[root@www root]# rpm -e mod_dav
의존성이 있는 패키지를 제거하고 아파치도 제거합니다.
[root@www root]# rpm -e apache
[root@www root]# rpm -e apache-devel (처음 아파치의 패키지 검사시에 보였던 패키지를 모두 지운다)
나머지 php, mysql, imap관련 패키지도 위와 같은 방법으로 지웁니다
[root@www root]# rpm -qa | grep php 설치된 php패키지를 검색 후 삭제
php-devel-4.2.2-7
...............................
[root@www root]# rpm -qa | grep mysql 설치된 mysql 패키지를 검색 후 삭제 (참고: 배포판에 따라 대소문자가 달라서 MySQL로 검색해야 할 경우도 있음.)
mysql-3.23.49-3
..............................
[root@www root]# rpm -qa | grep imap 설치된 imap 패키지를 검색 후 삭제
imap-2001a-10
imap-devel-2001a-10
배포판이 생성시킨 MySQL 데이터에 추가된 것이 없을 경우 지웁니다.
[root@www root]# rm -rf /var/lib/mysql
/var/lib/mysql 은 MySQL을 RPM패키지로 설치했을 경우 DB파일이 저장되는 경로 입니다.
다시 한번 관련패키지를 덜 지운 것이 없는지 확인합니다. 많은 문제점 질문중 원인이 관련패키지가 남아 있는 상태에서 컴파일을 해서 생기는 문제입니다.
3. IMAP, MySQL, Apache, PHP4, Zend Optimizer 바이너리 파일 압축풀기
소스파일들이 /usr/local/src 디렉토리에 있다고 가정하고 설명합니다.
[root@www src]# tar zxvf imap-2001a.tar.Z
[root@www src]# tar zxvf mysql-3.23.51.tar.gz
[root@www src]# tar zxvf apache_1.3.26.tar.gz
[root@www src]# tar zxvf php-4.2.2.tar.gz
[root@www src]# tar zxvf ZendOptimizer-1.3.2-Linux_glibc21-i386.tar.gz
4. IMAP 설치
[root@www src]# cd imap-2001a
[root@www imap-2001a]# make slx imap을 컴파일 한다
컴파일이 완료되면 imapd 디렉토리에 imapd가 ipopd디렉토리에는 ipop2d, ipop3d가 생성된다.
ipop2d는 잘 쓰지 않으므로 복사하지 않아도 됩니다.
[root@www imap-2001a]# cp imapd/imapd /usr/sbin 생성된 실행화일들을 복사.
[root@www imap-2001a]# cp ipopd/ipop3d /usr/sbin
[root@www imap-2001a]# cp ipopd/ipop2d /usr/sbin
이들은 xinetd 슈퍼데몬에 의해서 실행되므로 클라이언트 쪽에서 접속하여 사용할 수 있도록 하려면 환경설정을 수정해 주어야 한다.
배포판 레드햇6.2이하에서는 inetd 슈퍼데몬에 의해 실행되므로 환경설정이 조금 다릅니다.
[root@www imap-2001a]# vi /etc/xinetd.d/imapd imapd 실행을 위한 환경설정화일을 생성.
service imap
{
disable = no
socket_type = stream
wait = no
user = root
server = /usr/sbin/imapd
log_on_success += HOST DURATION
log_on_failure += HOST
}
[root@www imap-2001a]# vi /etc/xinetd.d/ipop3d
service pop3
{
disable = no
socket_type = stream
wait = no
user = root
server = /usr/sbin/ipop3d
log_on_success += HOST DURATION
log_on_failure += HOST
}
[root@www imap-2001a]# vi /etc/services
......
pop3 110/tcp pop-3 # POP version 3
pop3 110/udp pop-3
......
imap 143/tcp imap2 # Interim Mail Access Proto v2
imap 143/udp imap2
......
보통 위의 내용이 있습니다. 찾아보고 있으면 주석처리가 되어 있지 않는지만 확인하고 그대로 두세요.
[root@www imap-2001a]# /etc/rc.d/init.d/xinetd restart 슈퍼데몬을 재가동.
Stopping xinetd: [ OK ]
Starting xinetd: [ OK ]
telnet을 이용하여 로컬호스트 110포트(pop3)로 접속하여 테스트 합니다.
[root@www imap-2001a]# telnet localhost 110
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
+OK POP3 localhost.localdomain v2001.78 server ready
user mhbaek
+OK User name accepted, password please
pass abc123
+OK Mailbox open, 0 messages
quit
+OK Sayonara
Connection closed by foreign host.
IMAP은 기본적으로 143 포트를 사용.
5. MySQL 설치
[root@www imap-2001a]# cd mysql-3.23.51
[root@www mysql-3.23.51]# ./configure --prefix=/usr/local/mysql --with-charset=euc_kr --localstatedir=/var/lib/mysql
옵션과 옵션사이는 공백 하나만 있으면 됩니다.
위 옵션은 설치디렉토리를 지정하고 한글을 지원하도록 하고, --localstatedir 옵션은 DB파일을 저장할 디렉토리를 지정합니다.
혹시 실수로 환경설정을 다시 해야할 경우 make distclean 명령을 하세요.
이외에도 필요한 옵션에 대하여 알고 싶으면 ./configure --help 명령으로 살펴보세요.
Thank you for choosing MySQL! 이라는 메시지가 나온다면 MySQL을 컴파일할 준비가 다 되었다는 말입니다.
[root@www mysql-3.23.51]# make 컴파일 시작.
시스템 사양에 따라 시간 차이가 있으므로 사양이 낮은 컴퓨터는 조금 기다리세요. ^^
[root@www mysql-3.23.51]# make install MySQL을 설치.
[root@www mysql-3.23.51]# scripts/mysql_install_db MySQL의 데이터를 관리할 기초적인 DB와 테이블을 생성
주의할 점은 mysql_install_db은 반드시 한번만 실행시켜야 합니다.
최근의 MySQL에서 달라진 점은 MySQL이 mysql사용자 권한으로 실행됩니다.
해당유저가 없어서 파일소유자가 root인 경우 에러가 발생합니다.
따라서 다음과 같이 mysql 유저와 그룹을 생성합니다. 배포판에 따라 설치되었던 RPM버전에 의해 이미 생성되어 있을 수도 있습니다.
[root@www mysql-3.23.51]# groupadd mysql
[root@www mysql-3.23.51]# useradd -g mysql mysql
[root@www mysql-3.23.51]# chown -R mysql /var/lib/mysql
[root@www mysql-3.23.51]# chgrp -R mysql /var/lib/mysql
[root@www mysql-3.23.51]# vipw 보안을 위해 새로 생성된 mysql유저가 로그인을 못하도록 수정.
mysql:x:500:500::/home/mysql:/bin/bash 라인을 찾아서 다음과 같이 수정.
mysql:x:500:500::/var/lib/mysql:/sbin/nologin
:x를 통해 저장후 종료,
You are using shadow passwords on this system.
Would you like to edit /etc/shadow now [y/n] 라고 물으면 n 라고 하면 됩니다.
저장후 초기 홈디렉토리인 /home/mysql를 삭제
[root@www mysql-3.23.51]# rm -rf /home/mysql 홈디텍토리는 사용자마다 다를 수도 있습니다.
[root@www mysql-3.23.51]# ls -al /var/lib/mysql MySQL DB디렉토리 확인
합계 16
drwx------ 4 mysql mysql 4096 7월 27 17:05 .
drwxr-xr-x 15 root root 4096 7월 27 17:05 ..
drwx------ 2 mysql mysql 4096 7월 27 17:05 mysql
drwx------ 2 mysql mysql 4096 7월 27 17:05 test
위와 같은 출력하면을 볼 수 있습니다. DB가 하나 추가될 때마다 디렉토리가 생깁니다.
mysql DB는 앞에서 생성시킨 MySQL을 관리할 DB입니다.
[root@www mysql-3.23.51]# cp support-files/my-medium.cnf /etc/my.cnf
[root@www mysql-3.23.51]# vi /usr/local/mysql/share/mysql/mysql.server
편집기로 열어서 safe_mysql이 실행되는 라인(107 line쯤)에 --language=korean 옵션을 추가.
참고로 mysql.server는 mysql이 정상적으로 실행되도록 짜여 있는 스크립트화일입니다.
$bindir/safe_mysqld --pid-file=$pid_file --datadir=$datadir --language=korean & 한글메세지를 띄우도록 해줍니다.
시스템 부팅시에 자동 실행되도록 해 줍니다.
[root@www /mysql-3.23.51]# cp -p /usr/local/mysql/share/mysql/mysql.server /etc/rc.d/init.d/mysqld
[root@www /mysql-3.23.51]# ln -s /etc/rc.d/init.d/mysqld /etc/rc.d/rc3.d/S90mysqld
만일 Xwindows로 부팅할 경우를 위해 /etc/rc.d/rc5.d/ 디텍토리에도 링크를 만듭니다
[root@www /mysql-3.23.51]# ln -s /etc/rc.d/init.d/mysqld /etc/rc.d/rc5.d/S90mysqld
이후에 ntsysv명령을 하면 시스템 부팅시에 자동실행될 데몬을 쉽게 지정할 수 있습니다.
[root@www /mysql-3.23.51]# ntsysv
mysql데몬의 시작과 종료 및 관련 명령어를 사용하기 편하게 하기위해서 시스템 부팅환경에 PATH를 지정해 둡니다.
[root@www /mysql-3.23.51]# vi /root/.bash_profile
# User specific environment and startup programs
PATH=$PATH:$HOME/bin:/usr/local/mysql/bin
BASH_ENV=$HOME/.bashrc
USERNAME="root"
시스템 부팅환경은 배포판마다 조금씩 다를 수 있으니 사용자의 환경에 맞게 적절히 설정하세요.
[root@www mysql-3.23.51]# /etc/rc.d/init.d/mysqld start
[root@www mysql-3.23.51]# ps -ef | grep mysql MySQL 프로세스 확인하기
[root@www mysql-3.23.51]# /etc/rc.d/init.d/mysqld stop MySQL 데몬 종료하기
6. Apache Configure(1)
[root@www mysql-3.23.51]# cd ../apache_1.3.26 초기에 아파치소스 압축을 풀어놓은 곳으로 이동.
[root@www apache_1.3.26]# ./configure --prefix=/usr/local/apache
7. PHP4설치
[root@www mod_python-2.7.8] cd ../php-4.2.2
[root@www php-4.2.2]# ./configure --with-config-file-path=/etc
--with-exec-prefix=/usr/bin
--with-imap=../imap-2001a
--with-mysql=/usr/local/mysql
--with-apache=../apache_1.3.26
--disable-debug
--enable-track-vars
--with-gd
--enable-safe-mode
(역슬래시) 표시는 입력할 내용이 많을 경우 다음줄에서 보기 좋게 입력하도록 해 줍니다.
기타옵션에 대한 추가 설명은 PHP메뉴얼을 참고하기 바랍니다.
만약 PostgeSQL이나 mSQL을 사용한다면 --with-pgsql=디렉토리경로 --with-msql=디렉토리 경로와 같이 옵션을 사용하면 됩니다.
--enable-track-vars 옵션은 HTTP_GET_VARS, HTTP_POST_VARS, HTTP_COOKIE_VARS 배열에 들어 있는 GET, POST, cookie 변수들이 어디서 왔는지 기억하도록 합니다. 꼭 설정해 두세요.
--disable-debug 옵션은 Zend Optimizer 를 위한 옵션입니다.
위 옵션외 기타 옵션들을 모두 설치하실 필요는 없습니다.
사용하지 않는 옵션은 시스템 성능만 떨어뜨립니다.
[root@www php-4.2.2]#make 컴파일
[root@www php-4.2.2]#make install 인스톨
8. Apache Configure(2), 컴파일
[root@www php-4.2.2]# cd ../apache_1.3.26
[root@www apache_1.3.26]# ./configure --prefix=/usr/local/apache
--activate-module=src/modules/php4/libphp4.a
--enable-module=so --enable-shared=max
--sysconfdir=/usr/local/apache/conf
--datadir=/home/httpd
--localstatedir=/var/httpd
--htdocsdir=/home/httpd/html
--logfiledir=/var/log/httpd
단골로 묻는 질문의 원인 중에 하나가 위의 옵션 때문입니다. 옵션을 줄 때 그냥 TAB key를 두드리지 말고 위 옵션을 잘 보고 입력하세요.
--sysconfdir=/usr/local/apache/conf 옵션은 사용하지 않아도 Default 로 설정되는 경로입니다. 설정변경을 하실분은 참고하세요.
[root@www apache_1.3.26]# make 아파치를 컴파일.
[root@www apache_1.3.26]# make install 아파치 인스톨
[root@www apache_1.3.26]# cp ../php-4.2.2/php.ini-dist /etc/php.ini php환경설정 파일 복사
시스템 부팅시 자동실행이 되도록 하기 위하여 설정을 합니다.
[root@www apache_1.3.26]# cp -p /usr/local/apache/bin/apachectl /etc/rc.d/init.d/httpd
[root@www apache_1.3.26]# vi /etc/rc.d/init.d/httpd
httpd를 편집기로 열어서 아래와 같이 "chkconfig: - 85 15" 를 추가합니다.
#!/bin/sh
#
# Startup script for the Apache Web Server
#
# chkconfig: - 85 15
# description: Apache is a World Wide Web server. It is used to serve
# HTML files and CGI.
# processname: httpd
위와 같이 설정을 하고 나면 레드햇의 경우 다음과 같이 데몬시작과 종료를 편리하게 할 수 있는 툴에서 시작설정이 가능합니다.
[root@www apache_1.3.26]# ntsysv
또는 다음과 같이 시작과 종료설정을 해도 됩니다.
[root@www apache_1.3.26]# ln -s /etc/rc.d/init.d/httpd /etc/rc.d/rc3.d/S85httpd
[root@www apache_1.3.26]# ln -s /etc/rc.d/init.d/httpd /etc/rc.d/rc5.d/S85httpd
시스템 종료 및 재부팅을 위하여....
[root@www apache_1.3.26]# ln -s /etc/rc.d/init.d/apachectl /etc/rc.d/rc0.d/K15httpd
[root@www apache_1.3.26]# ln -s /etc/rc.d/init.d/apachectl /etc/rc.d/rc1.d/K15httpd
[root@www apache_1.3.26]# ln -s /etc/rc.d/init.d/apachectl /etc/rc.d/rc6.d/K15httpd
9. 환경설정 파일 편집
아파치 환경설정화일을 열어서 다음과 같은 환경설정을 합니다.
[root@www apache_1.3.26]# vi /usr/local/apache/conf/httpd.conf
404 라인쯤에 Default 시작페이지 설정을 수정해 줍니다
<IfModule mod_dir.c>
DirectoryIndex index.php index.php3 index.html index.htm
</IfModule>
Section 2의 <IfModule mod_mime.c>단락에서 아래 내용을 추가합니다.
<IfModule mod_mime.c>
................................
# And for PHP 4.x, use:
AddType application/x-httpd-php .php .php3 .inc .ph .htm
AddType application/x-httpd-php-source .phps
.................................
</IfModule>
환경설정 수정후 저장을 합니다.
[root@www apache_1.3.26]# /usr/local/apache/bin/httpd -t 엔터를 두드리고 다음과 같은 메시지만 있으면 아파치 환경이 잘 설정되었습니다.
Syntax OK
만일 에러가 발생하였다면 몇 번째 라인에서 잘못되었다는 메시지를 보고 수정하세요.
[root@www apache_1.3.26]# /usr/local/apache/bin/apachectl start 아파치를 실행시킵니다. 중지는 stop 재시작은 restart 인수를 사용하면 됩니다.
아파치 관련 스크립트를 쉽게 실행하기 위한 환경설정을 합니다.
[root@www apache_1.3.26]# vi /root/.bash_profile
# User specific environment and startup programs
PATH=$PATH:$HOME/bin:/usr/local/mysql/bin:/usr/local/apache/bin
BASH_ENV=$HOME/.bashrc
USERNAME="root"
root 에서만 필요하므로 root의 PATH에 아파치의 디렉토리를 지정합니다. 다시 root로 로그인 하면 설정을 적용하여 사용할 수 있습니다.
10. Test 하기
테스트 화일을 만들어 확인을 해 보세요. 물론 홈페이지가 뜰 수 있는 디렉토리가 되어야 합니다.
메인 홈페이지 경로는 아파치 컴파일옵션(--htdocsdir=/home/httpd/html) 또는 아파치 환경설정파일 325라인 정도에서 DocumentRoot "/home/httpd/html"에 의해 설정된 경로입니다.
[root@www apache_1.3.26]# vi /home/httpd/html/phpinfo.php
에디터 창에서 다음내용을 입력합니다.
<?
phpinfo();
?>
저장을 하고 브라우저에서 http://localhost/test.php 또는 홈페이지URL/test.php를 입력하여 어떤 내용이 출력되는지 봅시다.
다음과 같은 내용이 출력된다면 정상적으로 설치가 잘 되었습니다.
PHP Version 4.2.2
System Linux linux.ctrclab.go.kr 2.4.18-3 #1 Thu Apr 18 07:37:53 EDT 2002 i686 unknown
Build Date Jul 23 2002
Configure Command './configure' '--with-config-file-path=/etc' '--with-exec-prefix=/usr/bin' '--with-imap=../imap-2001a' '--with-mysql=/usr/local/mysql' '--with-apache=../apache_1.3.26' '--disable-debug' '--enable-track-vars' '--with-gd' '--enable-safe-mode'
Server API Apache
Virtual Directory Support disabled
Configuration File (php.ini) Path /etc/php.ini
ZEND_DEBUG disabled
Thread Safety disabled
This program makes use of the Zend Scripting Language Engine:
Zend Engine v1.2.0, Copyright (c) 1998-2002 Zend Technologies
11. Zend Optimizer 설치
[root@www apache_1.3.26]# cd ../ZendOptimizer-1.3.2-Linux_glibc21-i386
[root@www ZendOptimizer-1.3.2-Linux_glibc21-i386]# ./Install.sh
다음과 같은 화면이 뜨면 Enter! 후 아래와 같은 간단한 내용의 질문을 읽고 환경에 맞게 입력해줍니다.
Welcome to the Zend Optimizer 1.3.2 Installation Script!
For more information on this script, see the Installation
section in the Zend Optimizer User Guide.
Specify the location where to install Zend Optimizer
/usr/local/Zend
Confirm the location of your php.ini file
/etc
Are you using the Apache web server?
Yes
Specify the location of your Apache root directory
/usr/local/apache
Install has detected PHP version 4.2.2
Does this look correct?
Yes
Your php.ini is relocated to the /usr/local/Zend/etc directory
and symbolic link from the former place /etc/httpd/php.ini is created.
The installation completed successfully and your Zend Optimizer
is setup for use.
You must RESTART your Apache web server for the modifications to take effect
설치 완료 메시지 지시대로 아파치를 재시작 해줍니다.
[root@www apache_1.3.26]# /usr/local/apache/bin/apachectl restart
아까 띄웠던 테스트 화면을 다시 Reload 해보면 다음과 내용을 볼 수 있습니다.
This program makes use of the Zend Scripting Language Engine:
Zend Engine v1.2.0, Copyright (c) 1998-2002 Zend Technologies
with Zend Optimizer v1.3.1, Copyright (c) 1998-2002, by Zend Technologies
속도 테스트
자신의 시스템에서 다음과 같은 PHP파일을 만들어 Optimizer 설치 전과 비교해 보세요.
<?
$start = time();
for ( $i = 1; $i <= 5000000; $i++ );
$t_time = time() - $start;
echo "Time : $t_time";
?>
참고로 저의 PC에서는 처음 7초가 나왔는데 Zend Optimizer를 설치하고 난후 3초가 나왔습니다.
성공적으로 설치가 끝나고 나면 설치를 위해 사용했던 /usr/local/src/ 디렉토리내의 설치화일 소스는 지워도 됩니다.
이상으로 MySQL+Apache+PHP4+IMAP+Zend Optimizer 의 설정을 모두 마쳤습니다.
부족한 내용이 많지만 이 글을 통해 리눅스와 PHP에 입문하는 분들께 많은 도움이 되기를 바랍니다.*^^*
2001. 1. 28 백명훈(mhbaek@korea.com)
작성자: 백명훈(Myeong-hun Baek)
E-mail: mhbaek@korea.com
My Home: http://www.kernel.tv
최종수정일: 2002년 11월9일
설치환경
Model: LG IBM eServer X200
CPU : Intel Pentium III 866Mhz
RAM: 256M
HDD: SCSI IBM 9G*2
OS: Redhat Linux 7.3
Kernel: 2.4.18
PHP Zend를 설치를 해보고 싶어하는 분들을 위해 이 글을 작성합니다.
가급적 초보분들을 위해 최대한 쉽게 설명하였으나 의문점이 있으면 저의 홈페이지 게시판 또는 메일을 이용하여 주세요.
그동안 이 글을 읽고 여러 가지 문제점을 지적해 주신 분들께 감사드립니다.
이 글을 위해 사용된 모든 소스는 2002년7월27일 현재 가장 최신버전을 사용하였습니다.
Apache는 'Chunked Encoding' 취약점으로 인하여 가급적 1.3.26버전 이상을 사용하시기를 권장합니다.
현재 출시되어 있는 RedHat 7.3에서 전체설치를 하면 php 4.1.2로 설치됩니다.
설치가 어렵게 느껴지는 분은 레드햇7.3의 기본 RPM패키지를 이용하셔도 무난할 것 같군요.
레드햇 이외의 배포판도 거의 비슷합니다.
RPM(Redhat Package Manager) 버전의 설치는 윈도우즈의 인스톨러처럼 자동으로 실행화일과 환경을 설정해주는 방법으로서 설치하는 시간과 방법이 아주 편리합니다.
여기서 설명하는 방법은 약간 번거로운 과정을 거쳐야 하지만 소스를 보거나 수정할 수 있고 자신의 시스템에 맞게 컴파일하여 성능을 높일 수 있습니다.
일반적인 소스컴파일의 순서는 다음과 같습니다. configure→ make→ make install
'configure'는 사용하는 OS또는 CPU 및 시스템 라이브러리, 그리고 컴파일시의 선택사항 등을 파악하여 그 결과를 컴파일(make)할 때 반영이 되도록 합니다.
'make install'은 컴파일된 파일들을 사용자가 원하는 위치에 복사하는 작업입니다.
설치순서
설치에 필요한 파일 다운받기
RPM으로 설치된 패키지 제거하기
IMAP, MySQL, Apache, PHP4, ZendOptimizer 바이너리 파일 압축풀기
IMAP 설치
MySQL 설치
Apache Configure(1)
PHP4설치
Apache Configure(2), 컴파일
환경설정 파일 편집
Test 하기
Zend Optimizer 설치
1. 설치에 필요한 파일 다운받기
설치에 필요한 파일들
imap-2001a.tar.Z (ftp://ftp.cac.washington.edu/imap)
mysql-3.23.51.tar.gz (http://www.mysql.com/downloads/mysql-3.23.html)
apache_1.3.26.tar.gz (http://www.apache.org/dist/httpd/)
php-4.2.2.tar.gz (http://www.php.net/downloads.php)
ZendOptimizer-1.3.2-Linux_glibc21-i386.tar.gz (https://www.zend.com/store/products/zend-optimizer.php)
해당 사이트 또는 미러사이트 등을 이용하여 파일을 다운로드 받습니다.
설치에 필요한 소스들의 경로는 조금씩 변경될 수도 있습니다. 직접 찾아보기 번거로우시면 저의 홈페이지(http://www.kernel.tv)에서 다운받으세요.
다운받은 파일들을 /usr/local/src/ 또는 적당한 위치에 저장을 합니다. root계정으로 로그온 되어 있고, 리눅스시스템에 익숙한 분은 어느곳에 두고 설치를 해도 상관없습니다.
하지만 소스파일들을 같은 디렉토리에 두세요.
2. RPM으로 설치된 패키지 제거하기
주의: 지금부터의 작업은 반드시 root의 권한으로 해야 합니다.
배포본 리눅스에 기본적으로 설치되어 있는 RPM 패키지를 제거.
[root@www root]# /etc/rc.d/init.d/httpd stop 아파치 데몬 종료.또는 killall httpd
[root@www root]# ps -ef | grep httpd httpd 데몬이 없는 것을 확인.
root 1395 1360 0 17:12 pts/1 00:00:00 grep httpd 아무 메세지가 안뜨거나 이런형식으로 뜨면 실행되고 있는 아파치 데몬이 없는겁니다.
[root@www root]# /etc/rc.d/init.d/mysqld stop mysql 데몬을 종료.
[root@www root]# ps -ef | grep mysqld MySQL 데몬이 없는 것을 확인
root 20246 20060 0 14:05 pts/0 00:00:00 grep mysqld
[root@www root]# rpm -qa | grep apache 설치된 아파치 패키지를 검색합니다.
apache-1.3.23-11
apache-devel-1.3.23-11
................................
[root@www root]# rpm -e apache
error: removing these packages would break defendencies:
webserver is needed by mod_perl-1.24-6
webserver is needed by mod_php-4.0.4pl1-1
webserver is needed by mod_ssl-2.7.1-3
webserver is needed by mod_dav-1.0.2-2
webserver is needed by mod_python-2.7.6-5
.............................
아파치를 제거합시다. 그런데 에러메시지가 뜨죠? 의존성이 있는 패키지를 먼저 제거합니다.
rpm -e --nodeps apache와 같이 의존성 검사를 무시하고 지울 수도 있으나 꼭 필요하지 않는 것을 남겨두면 공간만 차지하고 시스템효율성을 떨어뜨릴 수 있으므로 본인판단하에 사용하지 않는 것은 과감히 지우시고 다음에 필요하면 설치하세요.
그리고 배포판 또는 설치환경에 따라 다소 패키지별로 차이가 있습니다.
실수로 잘못 지운 것은 배포판 CD가 있으면 다시 설치하면 그대로 됩니다.(예: rpm -ivh apache-1.3.23-11.i386.rpm)
[root@www root]# rpm -e mod_perl
[root@www root]# rpm -e php (php를 지울 때 의존성 문제가 뜨는 패키지도 같은 방법으로 지웁니다)
[root@www root]# rpm -e mod_ssl
[root@www root]# rpm -e mod_dav
의존성이 있는 패키지를 제거하고 아파치도 제거합니다.
[root@www root]# rpm -e apache
[root@www root]# rpm -e apache-devel (처음 아파치의 패키지 검사시에 보였던 패키지를 모두 지운다)
나머지 php, mysql, imap관련 패키지도 위와 같은 방법으로 지웁니다
[root@www root]# rpm -qa | grep php 설치된 php패키지를 검색 후 삭제
php-devel-4.2.2-7
...............................
[root@www root]# rpm -qa | grep mysql 설치된 mysql 패키지를 검색 후 삭제 (참고: 배포판에 따라 대소문자가 달라서 MySQL로 검색해야 할 경우도 있음.)
mysql-3.23.49-3
..............................
[root@www root]# rpm -qa | grep imap 설치된 imap 패키지를 검색 후 삭제
imap-2001a-10
imap-devel-2001a-10
배포판이 생성시킨 MySQL 데이터에 추가된 것이 없을 경우 지웁니다.
[root@www root]# rm -rf /var/lib/mysql
/var/lib/mysql 은 MySQL을 RPM패키지로 설치했을 경우 DB파일이 저장되는 경로 입니다.
다시 한번 관련패키지를 덜 지운 것이 없는지 확인합니다. 많은 문제점 질문중 원인이 관련패키지가 남아 있는 상태에서 컴파일을 해서 생기는 문제입니다.
3. IMAP, MySQL, Apache, PHP4, Zend Optimizer 바이너리 파일 압축풀기
소스파일들이 /usr/local/src 디렉토리에 있다고 가정하고 설명합니다.
[root@www src]# tar zxvf imap-2001a.tar.Z
[root@www src]# tar zxvf mysql-3.23.51.tar.gz
[root@www src]# tar zxvf apache_1.3.26.tar.gz
[root@www src]# tar zxvf php-4.2.2.tar.gz
[root@www src]# tar zxvf ZendOptimizer-1.3.2-Linux_glibc21-i386.tar.gz
4. IMAP 설치
[root@www src]# cd imap-2001a
[root@www imap-2001a]# make slx imap을 컴파일 한다
컴파일이 완료되면 imapd 디렉토리에 imapd가 ipopd디렉토리에는 ipop2d, ipop3d가 생성된다.
ipop2d는 잘 쓰지 않으므로 복사하지 않아도 됩니다.
[root@www imap-2001a]# cp imapd/imapd /usr/sbin 생성된 실행화일들을 복사.
[root@www imap-2001a]# cp ipopd/ipop3d /usr/sbin
[root@www imap-2001a]# cp ipopd/ipop2d /usr/sbin
이들은 xinetd 슈퍼데몬에 의해서 실행되므로 클라이언트 쪽에서 접속하여 사용할 수 있도록 하려면 환경설정을 수정해 주어야 한다.
배포판 레드햇6.2이하에서는 inetd 슈퍼데몬에 의해 실행되므로 환경설정이 조금 다릅니다.
[root@www imap-2001a]# vi /etc/xinetd.d/imapd imapd 실행을 위한 환경설정화일을 생성.
service imap
{
disable = no
socket_type = stream
wait = no
user = root
server = /usr/sbin/imapd
log_on_success += HOST DURATION
log_on_failure += HOST
}
[root@www imap-2001a]# vi /etc/xinetd.d/ipop3d
service pop3
{
disable = no
socket_type = stream
wait = no
user = root
server = /usr/sbin/ipop3d
log_on_success += HOST DURATION
log_on_failure += HOST
}
[root@www imap-2001a]# vi /etc/services
......
pop3 110/tcp pop-3 # POP version 3
pop3 110/udp pop-3
......
imap 143/tcp imap2 # Interim Mail Access Proto v2
imap 143/udp imap2
......
보통 위의 내용이 있습니다. 찾아보고 있으면 주석처리가 되어 있지 않는지만 확인하고 그대로 두세요.
[root@www imap-2001a]# /etc/rc.d/init.d/xinetd restart 슈퍼데몬을 재가동.
Stopping xinetd: [ OK ]
Starting xinetd: [ OK ]
telnet을 이용하여 로컬호스트 110포트(pop3)로 접속하여 테스트 합니다.
[root@www imap-2001a]# telnet localhost 110
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
+OK POP3 localhost.localdomain v2001.78 server ready
user mhbaek
+OK User name accepted, password please
pass abc123
+OK Mailbox open, 0 messages
quit
+OK Sayonara
Connection closed by foreign host.
IMAP은 기본적으로 143 포트를 사용.
5. MySQL 설치
[root@www imap-2001a]# cd mysql-3.23.51
[root@www mysql-3.23.51]# ./configure --prefix=/usr/local/mysql --with-charset=euc_kr --localstatedir=/var/lib/mysql
옵션과 옵션사이는 공백 하나만 있으면 됩니다.
위 옵션은 설치디렉토리를 지정하고 한글을 지원하도록 하고, --localstatedir 옵션은 DB파일을 저장할 디렉토리를 지정합니다.
혹시 실수로 환경설정을 다시 해야할 경우 make distclean 명령을 하세요.
이외에도 필요한 옵션에 대하여 알고 싶으면 ./configure --help 명령으로 살펴보세요.
Thank you for choosing MySQL! 이라는 메시지가 나온다면 MySQL을 컴파일할 준비가 다 되었다는 말입니다.
[root@www mysql-3.23.51]# make 컴파일 시작.
시스템 사양에 따라 시간 차이가 있으므로 사양이 낮은 컴퓨터는 조금 기다리세요. ^^
[root@www mysql-3.23.51]# make install MySQL을 설치.
[root@www mysql-3.23.51]# scripts/mysql_install_db MySQL의 데이터를 관리할 기초적인 DB와 테이블을 생성
주의할 점은 mysql_install_db은 반드시 한번만 실행시켜야 합니다.
최근의 MySQL에서 달라진 점은 MySQL이 mysql사용자 권한으로 실행됩니다.
해당유저가 없어서 파일소유자가 root인 경우 에러가 발생합니다.
따라서 다음과 같이 mysql 유저와 그룹을 생성합니다. 배포판에 따라 설치되었던 RPM버전에 의해 이미 생성되어 있을 수도 있습니다.
[root@www mysql-3.23.51]# groupadd mysql
[root@www mysql-3.23.51]# useradd -g mysql mysql
[root@www mysql-3.23.51]# chown -R mysql /var/lib/mysql
[root@www mysql-3.23.51]# chgrp -R mysql /var/lib/mysql
[root@www mysql-3.23.51]# vipw 보안을 위해 새로 생성된 mysql유저가 로그인을 못하도록 수정.
mysql:x:500:500::/home/mysql:/bin/bash 라인을 찾아서 다음과 같이 수정.
mysql:x:500:500::/var/lib/mysql:/sbin/nologin
:x를 통해 저장후 종료,
You are using shadow passwords on this system.
Would you like to edit /etc/shadow now [y/n] 라고 물으면 n 라고 하면 됩니다.
저장후 초기 홈디렉토리인 /home/mysql를 삭제
[root@www mysql-3.23.51]# rm -rf /home/mysql 홈디텍토리는 사용자마다 다를 수도 있습니다.
[root@www mysql-3.23.51]# ls -al /var/lib/mysql MySQL DB디렉토리 확인
합계 16
drwx------ 4 mysql mysql 4096 7월 27 17:05 .
drwxr-xr-x 15 root root 4096 7월 27 17:05 ..
drwx------ 2 mysql mysql 4096 7월 27 17:05 mysql
drwx------ 2 mysql mysql 4096 7월 27 17:05 test
위와 같은 출력하면을 볼 수 있습니다. DB가 하나 추가될 때마다 디렉토리가 생깁니다.
mysql DB는 앞에서 생성시킨 MySQL을 관리할 DB입니다.
[root@www mysql-3.23.51]# cp support-files/my-medium.cnf /etc/my.cnf
[root@www mysql-3.23.51]# vi /usr/local/mysql/share/mysql/mysql.server
편집기로 열어서 safe_mysql이 실행되는 라인(107 line쯤)에 --language=korean 옵션을 추가.
참고로 mysql.server는 mysql이 정상적으로 실행되도록 짜여 있는 스크립트화일입니다.
$bindir/safe_mysqld --pid-file=$pid_file --datadir=$datadir --language=korean & 한글메세지를 띄우도록 해줍니다.
시스템 부팅시에 자동 실행되도록 해 줍니다.
[root@www /mysql-3.23.51]# cp -p /usr/local/mysql/share/mysql/mysql.server /etc/rc.d/init.d/mysqld
[root@www /mysql-3.23.51]# ln -s /etc/rc.d/init.d/mysqld /etc/rc.d/rc3.d/S90mysqld
만일 Xwindows로 부팅할 경우를 위해 /etc/rc.d/rc5.d/ 디텍토리에도 링크를 만듭니다
[root@www /mysql-3.23.51]# ln -s /etc/rc.d/init.d/mysqld /etc/rc.d/rc5.d/S90mysqld
이후에 ntsysv명령을 하면 시스템 부팅시에 자동실행될 데몬을 쉽게 지정할 수 있습니다.
[root@www /mysql-3.23.51]# ntsysv
mysql데몬의 시작과 종료 및 관련 명령어를 사용하기 편하게 하기위해서 시스템 부팅환경에 PATH를 지정해 둡니다.
[root@www /mysql-3.23.51]# vi /root/.bash_profile
# User specific environment and startup programs
PATH=$PATH:$HOME/bin:/usr/local/mysql/bin
BASH_ENV=$HOME/.bashrc
USERNAME="root"
시스템 부팅환경은 배포판마다 조금씩 다를 수 있으니 사용자의 환경에 맞게 적절히 설정하세요.
[root@www mysql-3.23.51]# /etc/rc.d/init.d/mysqld start
[root@www mysql-3.23.51]# ps -ef | grep mysql MySQL 프로세스 확인하기
[root@www mysql-3.23.51]# /etc/rc.d/init.d/mysqld stop MySQL 데몬 종료하기
6. Apache Configure(1)
[root@www mysql-3.23.51]# cd ../apache_1.3.26 초기에 아파치소스 압축을 풀어놓은 곳으로 이동.
[root@www apache_1.3.26]# ./configure --prefix=/usr/local/apache
7. PHP4설치
[root@www mod_python-2.7.8] cd ../php-4.2.2
[root@www php-4.2.2]# ./configure --with-config-file-path=/etc
--with-exec-prefix=/usr/bin
--with-imap=../imap-2001a
--with-mysql=/usr/local/mysql
--with-apache=../apache_1.3.26
--disable-debug
--enable-track-vars
--with-gd
--enable-safe-mode
(역슬래시) 표시는 입력할 내용이 많을 경우 다음줄에서 보기 좋게 입력하도록 해 줍니다.
기타옵션에 대한 추가 설명은 PHP메뉴얼을 참고하기 바랍니다.
만약 PostgeSQL이나 mSQL을 사용한다면 --with-pgsql=디렉토리경로 --with-msql=디렉토리 경로와 같이 옵션을 사용하면 됩니다.
--enable-track-vars 옵션은 HTTP_GET_VARS, HTTP_POST_VARS, HTTP_COOKIE_VARS 배열에 들어 있는 GET, POST, cookie 변수들이 어디서 왔는지 기억하도록 합니다. 꼭 설정해 두세요.
--disable-debug 옵션은 Zend Optimizer 를 위한 옵션입니다.
위 옵션외 기타 옵션들을 모두 설치하실 필요는 없습니다.
사용하지 않는 옵션은 시스템 성능만 떨어뜨립니다.
[root@www php-4.2.2]#make 컴파일
[root@www php-4.2.2]#make install 인스톨
8. Apache Configure(2), 컴파일
[root@www php-4.2.2]# cd ../apache_1.3.26
[root@www apache_1.3.26]# ./configure --prefix=/usr/local/apache
--activate-module=src/modules/php4/libphp4.a
--enable-module=so --enable-shared=max
--sysconfdir=/usr/local/apache/conf
--datadir=/home/httpd
--localstatedir=/var/httpd
--htdocsdir=/home/httpd/html
--logfiledir=/var/log/httpd
단골로 묻는 질문의 원인 중에 하나가 위의 옵션 때문입니다. 옵션을 줄 때 그냥 TAB key를 두드리지 말고 위 옵션을 잘 보고 입력하세요.
--sysconfdir=/usr/local/apache/conf 옵션은 사용하지 않아도 Default 로 설정되는 경로입니다. 설정변경을 하실분은 참고하세요.
[root@www apache_1.3.26]# make 아파치를 컴파일.
[root@www apache_1.3.26]# make install 아파치 인스톨
[root@www apache_1.3.26]# cp ../php-4.2.2/php.ini-dist /etc/php.ini php환경설정 파일 복사
시스템 부팅시 자동실행이 되도록 하기 위하여 설정을 합니다.
[root@www apache_1.3.26]# cp -p /usr/local/apache/bin/apachectl /etc/rc.d/init.d/httpd
[root@www apache_1.3.26]# vi /etc/rc.d/init.d/httpd
httpd를 편집기로 열어서 아래와 같이 "chkconfig: - 85 15" 를 추가합니다.
#!/bin/sh
#
# Startup script for the Apache Web Server
#
# chkconfig: - 85 15
# description: Apache is a World Wide Web server. It is used to serve
# HTML files and CGI.
# processname: httpd
위와 같이 설정을 하고 나면 레드햇의 경우 다음과 같이 데몬시작과 종료를 편리하게 할 수 있는 툴에서 시작설정이 가능합니다.
[root@www apache_1.3.26]# ntsysv
또는 다음과 같이 시작과 종료설정을 해도 됩니다.
[root@www apache_1.3.26]# ln -s /etc/rc.d/init.d/httpd /etc/rc.d/rc3.d/S85httpd
[root@www apache_1.3.26]# ln -s /etc/rc.d/init.d/httpd /etc/rc.d/rc5.d/S85httpd
시스템 종료 및 재부팅을 위하여....
[root@www apache_1.3.26]# ln -s /etc/rc.d/init.d/apachectl /etc/rc.d/rc0.d/K15httpd
[root@www apache_1.3.26]# ln -s /etc/rc.d/init.d/apachectl /etc/rc.d/rc1.d/K15httpd
[root@www apache_1.3.26]# ln -s /etc/rc.d/init.d/apachectl /etc/rc.d/rc6.d/K15httpd
9. 환경설정 파일 편집
아파치 환경설정화일을 열어서 다음과 같은 환경설정을 합니다.
[root@www apache_1.3.26]# vi /usr/local/apache/conf/httpd.conf
404 라인쯤에 Default 시작페이지 설정을 수정해 줍니다
<IfModule mod_dir.c>
DirectoryIndex index.php index.php3 index.html index.htm
</IfModule>
Section 2의 <IfModule mod_mime.c>단락에서 아래 내용을 추가합니다.
<IfModule mod_mime.c>
................................
# And for PHP 4.x, use:
AddType application/x-httpd-php .php .php3 .inc .ph .htm
AddType application/x-httpd-php-source .phps
.................................
</IfModule>
환경설정 수정후 저장을 합니다.
[root@www apache_1.3.26]# /usr/local/apache/bin/httpd -t 엔터를 두드리고 다음과 같은 메시지만 있으면 아파치 환경이 잘 설정되었습니다.
Syntax OK
만일 에러가 발생하였다면 몇 번째 라인에서 잘못되었다는 메시지를 보고 수정하세요.
[root@www apache_1.3.26]# /usr/local/apache/bin/apachectl start 아파치를 실행시킵니다. 중지는 stop 재시작은 restart 인수를 사용하면 됩니다.
아파치 관련 스크립트를 쉽게 실행하기 위한 환경설정을 합니다.
[root@www apache_1.3.26]# vi /root/.bash_profile
# User specific environment and startup programs
PATH=$PATH:$HOME/bin:/usr/local/mysql/bin:/usr/local/apache/bin
BASH_ENV=$HOME/.bashrc
USERNAME="root"
root 에서만 필요하므로 root의 PATH에 아파치의 디렉토리를 지정합니다. 다시 root로 로그인 하면 설정을 적용하여 사용할 수 있습니다.
10. Test 하기
테스트 화일을 만들어 확인을 해 보세요. 물론 홈페이지가 뜰 수 있는 디렉토리가 되어야 합니다.
메인 홈페이지 경로는 아파치 컴파일옵션(--htdocsdir=/home/httpd/html) 또는 아파치 환경설정파일 325라인 정도에서 DocumentRoot "/home/httpd/html"에 의해 설정된 경로입니다.
[root@www apache_1.3.26]# vi /home/httpd/html/phpinfo.php
에디터 창에서 다음내용을 입력합니다.
<?
phpinfo();
?>
저장을 하고 브라우저에서 http://localhost/test.php 또는 홈페이지URL/test.php를 입력하여 어떤 내용이 출력되는지 봅시다.
다음과 같은 내용이 출력된다면 정상적으로 설치가 잘 되었습니다.
PHP Version 4.2.2
System Linux linux.ctrclab.go.kr 2.4.18-3 #1 Thu Apr 18 07:37:53 EDT 2002 i686 unknown
Build Date Jul 23 2002
Configure Command './configure' '--with-config-file-path=/etc' '--with-exec-prefix=/usr/bin' '--with-imap=../imap-2001a' '--with-mysql=/usr/local/mysql' '--with-apache=../apache_1.3.26' '--disable-debug' '--enable-track-vars' '--with-gd' '--enable-safe-mode'
Server API Apache
Virtual Directory Support disabled
Configuration File (php.ini) Path /etc/php.ini
ZEND_DEBUG disabled
Thread Safety disabled
This program makes use of the Zend Scripting Language Engine:
Zend Engine v1.2.0, Copyright (c) 1998-2002 Zend Technologies
11. Zend Optimizer 설치
[root@www apache_1.3.26]# cd ../ZendOptimizer-1.3.2-Linux_glibc21-i386
[root@www ZendOptimizer-1.3.2-Linux_glibc21-i386]# ./Install.sh
다음과 같은 화면이 뜨면 Enter! 후 아래와 같은 간단한 내용의 질문을 읽고 환경에 맞게 입력해줍니다.
Welcome to the Zend Optimizer 1.3.2 Installation Script!
For more information on this script, see the Installation
section in the Zend Optimizer User Guide.
Specify the location where to install Zend Optimizer
/usr/local/Zend
Confirm the location of your php.ini file
/etc
Are you using the Apache web server?
Yes
Specify the location of your Apache root directory
/usr/local/apache
Install has detected PHP version 4.2.2
Does this look correct?
Yes
Your php.ini is relocated to the /usr/local/Zend/etc directory
and symbolic link from the former place /etc/httpd/php.ini is created.
The installation completed successfully and your Zend Optimizer
is setup for use.
You must RESTART your Apache web server for the modifications to take effect
설치 완료 메시지 지시대로 아파치를 재시작 해줍니다.
[root@www apache_1.3.26]# /usr/local/apache/bin/apachectl restart
아까 띄웠던 테스트 화면을 다시 Reload 해보면 다음과 내용을 볼 수 있습니다.
This program makes use of the Zend Scripting Language Engine:
Zend Engine v1.2.0, Copyright (c) 1998-2002 Zend Technologies
with Zend Optimizer v1.3.1, Copyright (c) 1998-2002, by Zend Technologies
속도 테스트
자신의 시스템에서 다음과 같은 PHP파일을 만들어 Optimizer 설치 전과 비교해 보세요.
<?
$start = time();
for ( $i = 1; $i <= 5000000; $i++ );
$t_time = time() - $start;
echo "Time : $t_time";
?>
참고로 저의 PC에서는 처음 7초가 나왔는데 Zend Optimizer를 설치하고 난후 3초가 나왔습니다.
성공적으로 설치가 끝나고 나면 설치를 위해 사용했던 /usr/local/src/ 디렉토리내의 설치화일 소스는 지워도 됩니다.
이상으로 MySQL+Apache+PHP4+IMAP+Zend Optimizer 의 설정을 모두 마쳤습니다.
부족한 내용이 많지만 이 글을 통해 리눅스와 PHP에 입문하는 분들께 많은 도움이 되기를 바랍니다.*^^*
2001. 1. 28 백명훈(mhbaek@korea.com)
댓글 0
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
공지 | 리눅스 서버에 관한 자료 모음집 | 文學 | 2024.10.05 | 3 |
31 | 폼메일 보내기... | 문학 | 2004.11.13 | 3772 |
30 | [re] bbs/script/script_zbLayer.php 의 소스 바꾸기 | 문학 | 2004.11.14 | 2551 |
29 | [re] mail.php3 | 문학 | 2004.11.14 | 2674 |
28 | [re] mail.php | 문학 | 2004.11.14 | 2644 |
27 | PHP활용하기...( http://kr.hancom.com/ )에서 배우고저 옮겨 옮 | 문학 | 2004.09.30 | 2905 |
26 | Zend Optimizer 설치하기 (3) | 문학 | 2004.06.16 | 3390 |
25 | Zend Optimizer 설치하기 (2) [2] | 문학 | 2004.06.16 | 3509 |
» | Zend Optimizer 설치하기 | 문학 | 2004.06.14 | 3240 |
23 | 리룩스 서버의 백업과 그 중요성에 대하여... | 문학 | 2004.06.04 | 3959 |
22 | 대원대학교 컴퓨터정보 처리과 게시판에... | 문학 | 2004.06.02 | 3001 |
21 | POP3 설정후 웹메일처럼 | 문학 | 2004.06.01 | 5398 |
20 | 아파치 웹서버 사용 시 무단 링크 방지법 | 문학 | 2004.05.27 | 2826 |
19 | 리룩스 홈페이지 백업의 중요성 | 문학 | 2004.05.26 | 3686 |
18 | 리룩스에서 네트워크의 구성 | 문학 | 2004.05.23 | 3758 |
17 | 리눅스 사용하기 | 문학 | 2004.05.24 | 6557 |
16 | 리룩스-윈도우 공유 | 문학 | 2004.05.23 | 4612 |
15 | 보내온 스펨메일(?) 중에... | 문학 | 2004.05.16 | 2796 |
14 | 메일서버를 새로 구축하다. | 문학 | 2004.05.16 | 2900 |
13 | [re] 새로운 서버에 메일서버를 구축하다. | 문학 | 2005.03.21 | 2758 |
12 | FTP 서버 구축하기에서 보내기가 안됩니다. | 문학 | 2004.05.15 | 2794 |