>> Edit article
이름
제목
패스워드
: contact me... plz.. : goplace@magicn.com : : MySQL + Apache + PHP4 + IMAP + Zend Optimizer 설치하기 : : 1. A+P+M이 RPM으로 깔려 있으면 무조껀 삭제...... 깨끗해야 합니다.. : 2. 아래와 같은 버전을 구하도록 하십시요.. : : 안정버전 : : MySQL 3.22.32 : Apache 1.3.12 : PHP Version 4.0.2 : IMAP 4.1 : Zend Optimizer v0.99 : : 최종수정일: 2001년 4월16일 : : 설치환경 : CPU : Intel Pentium III : model name : Pentium III (Coppermine) 701.601 : cache size : 256 KB : : RAM: 256M : HDD: IBM 40G : OS: Redhat Linux 7.0 : Kernel: 2.2.16 : : 설치순서 : 1. 설치에 필요한 파일 다운받기 : 2. RPM으로 설치된 패키지 제거하기 : 3. IMAP, MySQL, Apache, PHP4 바이너리 파일 압축풀기 : 4. IMAP 설치 : 5. MySQL 설치 : 6. Apache Configure(1) : 7. PHP4설치 : 8. Apache Configure(2), 컴파일 : 9. Zend Optimizer 설치 : 10. 환경설정화일 편집 : 11. Test 하기 : 12. 시스템 부팅시 자동으로 아파치 데몬과 MySQL데몬 실행하기 : : : 1. 설치에 필요한 파일 다운받기 : : imap (ftp://ftp.cac.washington.edu/imap) : mysql ( http://www.mysql.com/downloads/mysql-3.23.html) : apache ( http://www.apache.org/mirrors/ ) : php ( http://www.php.net/downloads.php) : ZendOptimizer (http://www.zend.com/download.php) : : 해당 사이트 또는 미러사이트 등을 이용하여 파일을 다운로드 받는다. : 아니면 저의 홈페이지에서 받으셔도 됩니다. http://linux.ks.ac.kr : : 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@www /root]#/etc/rc.d/init.d/mysqld stop mysql 데몬을 종료시킨다. : [root@www /root]#ps -ef | grep mysqld : : [root@www /root]#rpm -qa | grep apache 설치된 아파치 패키지를 검색한다. : apache-1.3.14-3 : apache-devel-1.3.14-3 : ................................ : : [root@www /root]#rpm -qa | grep php 설치된 php패키지를 검색한다. : ............................... : : [root@www /root]#rpm -qa | grep mysql 설치된 mysql 패키지를 검색한다. (참고: 배포판에 따라 MySQL로 검색해야 할 경우도 있음.) : .............................. : : [root@www /root]#rpm -qa | grep imapl 설치된 imap 패키지를 검색한다. : imap-2000-3 : imap-devel-2000-3 : : [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 : : 아파치를 제거합시다. 그런데 에러메시지가 뜨죠? 의존성이 있는 패키지를 먼저 제거합니다. : [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관련 패키지도 위와 같은 방법으로 지웁니다. : : 배포판이 생성시킨 MySQL 데이터도 지웁니다. : [root@www /root]# rm -rf /var/lib/mysql : : 3. IMAP, MySQL, Apache, PHP4 바이너리 파일 압축풀기 : : : 소스화일들이 tmp 디렉토리에 있다고 가정하고 설명한다. root계정으로 로그온 되어 있으면 설치화일이 어디에 있어도 상관은 없다. : [root@www /tmp]# tar zxvf imap-2000b.tar.Z : [root@www /tmp]# tar zxvf mysql-3.23.32.tar.gz : [root@www /tmp]# tar zxvf apache_1.3.14.tar.gz : [root@www /tmp]# tar zxvf php-4.0.4pl1.tar.gz : : 4. IMAP 설치 : [root@www /tmp]# mv imap-2000b /usr/local/imap : [root@www /tmp]# cd /usr/local/imap : [root@www /imap]# make slx imap을 컴파일 한다 : : 컴파일이 완료되면 imapd 디렉토리에 imapd가 ipopd디렉토리에는 ipop2d, ipop3d가 생성된다. : ipop2d는 잘 쓰지 않으므로 복사하지 않아도 된다. : : : [root@www imap]# cp imapd/imapd /usr/sbin 생성된 실행화일들을 복사한다. : [root@www imap]# cp ipopd/ipop3d /usr/sbin : : 이들은 xinetd 슈퍼데몬에 의해서 실행되므로 클라이언트 쪽에서 접속하여 사용할 수 있도록 하려면 환경설정을 수정해 주어야 한다. : 배포판 레드햇6.2이하에서는 inetd 슈퍼데몬에 의해 실행되므로 환경설정이 조금 다르다. : : : [root@www imap]# cd /etc/xinetd.d : [root@www xinetd.d]# vim imapd imapd 실행을 위한 환경설정화일을 생성시킨다. : : service imap : { : disable = no : socket_type = stream : wait = no : user = root : server = /usr/sbin/imapd : log_on_success += DURATION USERID : log_on_failure += USERID : } : : [root@www xinetd.d]# vim ipop3d : : service pop3 : { : disable = no : socket_type = stream : wait = no : user = root : server = /usr/sbin/ipop3d : log_on_success += USERID : log_on_failure += USERID : } : : [root@www xinetd.d]# vim /etc/services : ...... : pop3 110/tcp pop-3 # POP version 3 : pop3 110/udp pop-3 : ...... : imap2 143/tcp imap # Interim Mail Access Proto v2 : imap2 143/udp imap : ...... : : [root@www xinetd.d]# /etc/rc.d/init.d/xinetd restart 슈퍼데몬을 재가동한다. : 이거 저두 안됬습니다... 무시하시고 아래 텔넷 테스트... : : Stopping xinetd: [ OK ] : Starting xinetd: [ OK ] : : telnet을 이용하여 로컬호스트 110포트(pop3)로 접속하여 테스트한다. : : [root@www xinetd.d]# telnet localhost 110 : : Trying 127.0.0.1... : Connected to localhost.localdomain. : Escape character is '^]'. : +OK POP3 localhost.localdomain v2000.70 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 /tmp]#cd mysql-3.23.32 : [root@www /mysql-3.23.32]#./configure --prefix=/usr/local/mysql : --with-charset=euc_kr : : (역슬래시) 표시는 입력할 내용이 많을 경우 다음줄에서 보기 좋게 입력하도록 해준다. : 옵션과 옵션사이는 공백 하나만 있으면 된다. : 위 옵션은 설치디렉토리를 지정하고 한글을 지원하도록 하는 옵션이다. : DB 데이터를 저장할 디렉토리를 지정을 하려면 --localstatedir=/usr/local/mysql/data 와 같이 해 준다. : 혹시 실수로 환경설정을 다시 해야할 경우 make distclean 명령을 한다. : : 이외에도 필요한 옵션에 대하여 알고 싶으면 ./configure --help 명령으로 살펴보세요. : : Thank you for choosing MySQL! 이라는 메시지가 뜰것이다. : : [root@www /mysql-3.23.32]#make 컴파일을 한다. : 시스템 사양에 따라 시간 차이가 있으므로 사양이 낮은 컴퓨터는 조금 기다리세요. ^^ : : : [root@www /mysql-3.23.32]#make install MySQL을 설치한다. : : [root@www /mysql-3.23.32]#cd /usr/local/mysql/bin MySQL이 설치된 디렉토리로 이동한다. : [root@www /bin]#./mysql_install_db MySQL의 데이터를 관리할 기초정인 테이블 6개를 생성시킨다. : : 주의할 점은 mysql_install_db은 반드시 한번만 실행시켜야 한다. : : [root@www /bin]#cd /usr/local/mysql/share/mysql : [root@www /mysql]#vi mysql.server : : 편집기로 열어서 safe_mysql이 실행되는 라인(78 line)에 --language=korean 옵션을 추가한다. : : $bindir/safe_mysqld --user=$mysql_daemon_user --pid-file=$pid_file --datadir=$datadir --language=korean & : : [root@www /mysql]#chmod 755 mysql.server 실행권한을 준다. : : mysql데몬의 시작과 종료 및 관련 명령어를 사용하기 편하게 하기위해서 시스템 부팅환경에 PATH를 지정해둔다. : [root@www /mysql]# cp -p ./mysql.server /usr/local/mysql/bin : [root@www /mysql]# vim /etc/profile : : # /etc/profile : # System wide environment and startup programs : # Functions and aliases go in /etc/bashrc : : PATH="$PATH:/usr/X11R6/bin:/usr/local/mysql/bin" : : [root@www /mysql]#mysql.server start MySQL 데몬 시작하기, 엔터를 한번 두드리세요. : 참고로 mysql.server는 mysql이 정상적으로 실행되도록 짜여 있는 스크립트화일이다. : : [root@www /mysql]#ps -ef | grep mysql MySQL 프로세스 확인하기 : [root@www /mysql]#mysql.server stop MySQL 데몬 종료하기 : : : 6. Apache Configure(1) : : [root@www /mysql]#cd /tmp/apache_1.3.14 초기에 아파치소스 압축을 풀어놓은 곳으로 이동. : [root@www /apache_1.3.14]#./configure --prefix=/usr/local/apache : : : : 7. PHP4설치 : : [root@www /apache_1.3.14]#cd .. : [root@www /tmp]#cd php-4.0.4pl1 : [root@www /php-4.0.4pl1]#./configure --with-config-file-path=/etc/httpd --disable-debug : --with-imap=/usr/local/imap --with-mysql=/usr/local/mysql --with-apache=../apache_1.3.14 : --enable-track-vars --prefix=/usr --with-regex=system --with-gettext --with-gd=shared : --with-jpeg-dir=/usr --with-png --with-zlib --enable-pic --with-db2 --with-db3 --with-gdbm : --enable-debugger --enable-magic-quotes --enable-safe-mode --enable-sysvsem : --enable-sysvshm --with-exec-dir=/usr/bin --enable-ftp --enable-inline-optimization : --with-xml --with-ldap --enable-shared --enable-yp : : 옵션에 대한 추가 설명은 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.0.4pl1]#make 컴파일을 하고, : [root@www /php-4.0.4pl1]#make install 인스톨을 한다. : : : : 8. Apache Configure(2), 컴파일 : : [root@www /php-4.0.4pl1]#cd /tmp/apache_1.3.14 : [root@www /apache_1.3.14]#./configure --prefix=/usr/local/apache : --activate-module=src/modules/php4/libphp4.a : : 단골로 묻는 질문의 원인 중에 하나가 위의 옵션 때문입니다. 옵션을 줄 때 그냥 TAB key를 두르리지 말고 위 옵션을 잘 보고 입력하세요. : : [root@www /apache_1.3.14]#make 아파치를 컴파일한다. : [root@www /apache_1.3.14]#make install 아파치 인스톨 : : : 9. Zend Optimizer 설치 : : [root@www /apache_1.3.14]#cd /tmp : [root@www /tmp]#tar zvxf ZendOptimizer-1.0.0-PHP_4.0.4-Linux_glibc21-i386.tar.gz : [root@www /tmp]#mkdir /usr/local/Zend : [root@www /tmp]#mv ZendOptimizer-1.0.0-PHP_4.0.4-Linux_glibc21-i386 /usr/local/Zend/lib : : : : : 10. 환경설정 파일 편집 : : [root@www /tmp]# cp /tmp/php-4.0.4pl1/php.ini-dist /usr/local/lib/php.ini : : [root@www /tmp]#vim /usr/local/lib/php.ini php.ini 파일을 열어서 맨 마지막에 다음과 같이 Optimizer를 위한 설정을 추가한다. : : zend_optimizer.optimization_level=15 : zend_extension="/usr/local/Zend/lib/ZendOptimizer.so" : : [root@www /tmp]#vim /usr/local/apache/conf/httpd.conf 아파치의 환경설정 파일을 열어서 다음과 같은 설정을 한다. : : 360라인쯤에 Default 시작페이지 설정을 해 준다 : <IfModule mod_dir.c> : DirectoryIndex index.php index.php3 index.php4 index.html index.htm : </IfModule> : : 720라인 정도에서 다음 내용의 주석을 풀고 원하는 환경으로 설정을 한다. : : AddType application/x-httpd-php .php .php3 .ph : AddType application/x-httpd-php-source .phps : : apache 데몬의 시작, 종료, 재시작을 편하게 하기 위하여 다음 작업을 한다. : [root@www /tmp]#cd /root : [root@www /root]#vim .bash_profile : : PATH=/usr/local/sbin:/usr/sbin:/sbin:$PATH:$HOME/bin:/usr/local/apache/bin : : root 에서만 필요하므로 root의 PATH에 아파치의 디렉토리를 지정한다. 다시 root로 로그인 하면 설정을 적용하여 사용할 수 있다. : : [root@www /root]# /usr/local/apache/httpd -t 엔터를 두드리고 다음과 같은 메시지만 있으면 아파치 환경이 잘 설정되었다. : : Syntex OK : : 만일 에러가 발생하면 몇 번째 라인에서 잘못되었다는 메시지를 잘 보고 수정하기 바랍니다. : : [root@www root]# /usr/local/apache/apachectl start : /usr/bin/apachectl start: httpd started 이런 메세지가 보인다면 아파치가 정상적인 실행이 된 것이다. : : : : 11. Test 하기 : : 테스트 화일을 만들어 확인을 해 보세요. 물론 홈페이지가 뜰 수 있는 디렉토리가 되어야 합니다. : 메인 홈페이지 경로는 아파치 환경설정파일 281라인 정도에서 DocumentRoot "/usr/local/apache/htdocs"에 의해 설정된 경로입니다. : : [root@www /root]#vim /usr/local/apache/htdocs/test.php : : 에디터 창에서 다음내용을 입력합니다. : : <? : phpinfo(); : ?> : : 저장을 하고 브라우저에서 http://localhost/test.php 또는 홈페이지URL/test.php를 입력하여 어떤 내용이 출력되는지 봅시다. : : 다음과 같은 내용이 출력된다면 정상적으로 설치가 잘 되었습니다. : : PHP Version 4.0.4pl1 : : : : System Linux linux.kyungsung.ac.kr 2.2.16-22smp #1 SMP Tue Aug 22 16:39:21 EDT 2000 i686 unknown : Build Date Nov 27 2000 : Configure Command './configure' '--with-config-file-path=/etc/httpd' '--disable-debug' '--with-imap=/usr/local/imap' '--with-mysql=/usr/local/mysql' '--with-apache=../apache_1.3.14' '--enable-track-vars' '--prefix=/usr' '--with-regex=system' '--with-gettext' '--with-gd=shared' '--with-jpeg-dir=/usr' '--with-png' '--with-zlib' '--enable-pic' '--with-db2' '--with-db3' '--with-gdbm' '--enable-debugger' '--enable-magic-quotes' '--enable-safe-mode' '--enable-sysvsem' '--enable-sysvshm' '--with-exec-dir=/usr/bin' '--enable-ftp' '--enable-inline-optimization' '--with-xml' '--with-ldap' '--enable-shared' '--enable-yp' : : Server API Apache : Virtual Directory Support disabled : Configuration File (php.ini) Path /etc/httpd : ZEND_DEBUG disabled : Thread Safety disabled : : : : This program makes use of the Zend scripting language engine: : Zend Engine v1.0.3, Copyright (c) 1998-2000 Zend Technologies : with Zend Optimizer v1.0.0, Copyright (c) 1998-2000, by Zend Technologies : : : : : : 속도 테스트 : : 자신의 시스템에서 다음과 같은 프로그래밍으로 Optimizer하기전과 비교해 보세요. : : <? : $start = time(); : for ( $i = 1; $i <= 5000000; $i++ ); : $t_time = time() - $start; : echo "Time : $t_time"; : ?> : : 참고로 저의 PC에서는 처음 14초가 나왔는데 Optimizer를 하고난후 7초가 나왔습니다. : : : 12. 시스템 부팅시 자동으로 아파치 데몬과 MySQL데몬 실행하기 : : /etc/rc.d/rc.local 파일을 열어서 마지막 줄에 다음 명령을 입력한다. : : [root@www /root]#vim /etc/rc.d/rc.local : : /usr/local/apache/bin/apachectl start : /usr/local/mysql/bin/mysql.server & : : 또는 다음과 같이 배포판처럼 부팅시 실행과정을 확인하도록 만들 수도 있다. : : [root@www root]# cp -p /usr/local/apache/bin/apachectl /etc/rc.d/init.d/httpd : [root@www root]# cp -p /usr/local/mysql/bin/mysql.server /etc/rc.d/init.d/mysqld : [root@www root]# cd /etc/rc.d/rc3.d : [root@www rc3.d]# ln -s /etc/rc.d/init.d/httpd S85httpd : [root@www rc3.d]# ln -s /etc/rc.d/init.d/mysqld S85mysqld : : 혹시 서버를 xwindow로 부팅되도록 해두었다면 /etc/rc.d/rc5.d 디렉토리에 같은 방법으로 설정해 두면 된다 : : [root@www2 rc3.d]#reboot 리부팅을 시켜 잘 실행이 되는지 확인하자. : : : 이상으로 MySQL+Apache+PHP4+IMAP+Zend Optimizer 의 설정을 모두 마쳤습니다. : 부족한 내용이 많지만 이 글을 통해 리눅스에 입문하는 분들께 많은 도움이 되기를 바랍니다. : : : : sign.. : go places!! ^^
Copyleft
1999-2026 by
JSBoard Open Project
Theme Designed by
IDOO
All right reserved