MySQL + Apache + PHP4 + Zend Optimizer + Perl + mod_perl 설치하기


설치환경


CPU : Intel 300Mhz

RAM: 32M

HDD: 3.6G

OS: 한글 Redhat Linux 6.2

Kernel: 2.2.16

gcc : 2.8.1.x 이상( C compiler ) - RedHat 6.0 이상권장




설치순서


1. 설치에 필요한 파일 다운받기

2. RPM으로 설치된 패키지 제거하기

3. MySQL, Apache, PHP4 바이너리 파일 압축풀기

4. MySQL 설치

5. Apache Configure(1)

6. PHP4설치

7. Apache Configure(2), 컴파일

8. Zend Optimizer 설치

9. 환경설정화일 편집

10. PHP 및 Apache 웹서버 구동 시험

11. 시스템 부팅시 자동으로 아파치 데몬과 MySQL데몬 실행하기



1. 설치에 필요한 파일 다운받기


mysql-3.22.32.tar.gz (http://www.mysql.com/downloads/mysql-3.22.html)

apache_1.3.27.tar.gz (http://www.apache.org/mirrors/)

php-4.0.1pl2.tar.gz (http://www.php.net/downloads.php)

ZendOptimizer-RC1-Linux-glibc2.1.tar.gz (http://www.zend.com/download.php)

ZendOptimizer-RC1-Linux-glibc2.1.tar.gz는 회원가입시 다운받을 수 있다.

회원ID - "ganzi00" 비밀번호 - "dino104"


해당 사이트 또는 미러사이트 등을 이용하여 파일을 다운로드받는다.



2. 이미 설치된 패키지(RPM) 제거하기


지금부터의 작업은 반드시 root의 권한으로 한다.


배포본 리눅스에 기본적으로 설치되어 있는 RPM 패키지를 제거한다.

또는 타인의 실습에 의해 이미 설치한 프로그램을 삭제한다.


2.1 RPM으로 아파치/MySQL등이 설치된 경우 RPM 삭제 과정


아파지의 설치 여부를 확인하고 설치된 경우에는 rpm을 이용하여 기 설치된 파일을 삭제한다. 주의할 점은 기존의 환경 설정 파일 등을 저장하도록 한다. rpm으로 설치되었다면 /etc/httpd/conf/ 디렉토리에 위치한다. 여기의 *.conf 파일을 저장하도록 한다.


-. apache/mysql rpm 설치 여부 확인

# rpm -qa | grep apache

# rpm -qa | grep mysql


-. 기존 RPM 환경 파일 저장

# cd // root 홈디렉토리에 파일 저장

# tar cvfz old_apache_conf.tgz /etc/httpd/conf


-. 아파치/MySQL 데몬 종료 및 확인

# ps -aex | grep apache

# ps -aex | grep mysql

# /etc/rc.d/init.d/httpd stop

# /etc/rc.d/init.d/mysql stop

# ps -aex | grep apache

# ps -aex | grep mysql


-. 아파치/MySQL 삭제

# rpm -q apache // 설치된 아파치 패키지를 검색한다.

apache-1.3.12.2

# rpm -e apache // 설치된 아파치 패키지 삭제한다.

error: removing these packages would break defendencies:

webserver is needed by mod_perl-1.21-10

webserver is needed by mod_php-3.0.15-2


위와 같이 에러메시지가 뜨는 것은 모듈의 의존성에 의한 것이므로 하위에 나타난 mod_perl mod_php 등을 삭제한 후 아파치를 제거한다. 의존 관계가 다 많은 경우는 모든 모듈을 삭제한다.


# rpm -e mod_perl

# rpm -e mod_php

# rpm -e apache


2.2 rpm이 아닌 소스버전으로 설치된 경우 삭제


-. 아파치/MySQL 데몬 종료 및 확인

# ps -aex | grep apache

# ps -aex | grep mysql

# /usr/local/apache/apachectl stop

# /usr/local/mysql/share/mysql/mysql.server stop

# ps -aex | grep apache

# ps -aex | grep mysql


-. 아파치/MySQL/PHP 등의 소스파일 삭제

/usr/local/mysql /usr/local/apache /usr/local/php4등을 삭제한다.


# cd /usr/local

# rm -rf mysql apache php4




3. MySQL, Apache, PHP4 바이너리 파일 압축풀기


root 계정으로 작업을 해야하며, 소스파일들이 /usr/local/src 디렉토리에 있다고 가정하고 설명한다.


-. 소스 파일 풀기

# tar zxvf mysql-3.22.32.tar.gz

# tar zxvf apache_1.3.27.tar.gz

# tar zxvf php-4.0.1pl2.tar.gz

# tar zvxf ZendOptimizer-RC1-Linux-glibc2.1.tar.gz


-. 설치할 디렉토리 생성

우리는 /usr/local 디렉토리에 apache, php4, mysql, Zend를 각각 설치할 것이다.

# cd /usr/local

# mkdir mysql apache php4 Zend



4. MySQL 설치


-. 설치

# cd /tpm/mysql-3.22.32

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

>--with-unix-socket-path=/usr/local/mysql/tmp \

>--localstatedir=/usr/local/mysql/data \

>--with-charset=euc_kr

....

....

....

Thank you for choosing MySQL!

#


\(역슬래시) 표시는 입력할 내용이 많을 경우 다음 줄에서 명령어를 입력하도록 한다. 이때 반드시 \(역슬래시) 앞에 공백이 추가되어야 한다. 그리고 옵션과 옵션 사이에도 공백을 위치시킨다.


[option] 설명

--prefix=/usr/local/mysql // MySQL이 설치될 디렉토리 경로

--with-unix-socket-path=/usr/local/mysql/tmp // MySQL 소켓 디렉토리 경로

--localstatedir=/usr/local/mysql/data // 생성된 DB/Table이 기록되는 디렉토리 경로

--with-charset=euc_kr // 한글로 메시지를 출력하도록 한다.


- 환경설정을 다시 해야할 경우

혹시 설치진행 중에 잘못된 명령이나 옵션설정 등으로 하여 문제가 발생했을 때, 기존 설정 내용을 가지고 있는 config.cache을 지우지 않고 진행하면 수정된 내용이 반영되지 않으므로 아래의 명령을 수행 후 환경 설정을 새로이 하고 재 설치하도록 한다.


# rm config.cache

# make clean


또는


# make distclean // 위의 두 명령과 동일하다


-. 컴파일 및 설치

# make // 컴파일을 한다. 시스템 사양에 따라 10-20분 소요

# make install // MySQL을 설치한다.


-. MySQL 관리 테이블 생성

# cd /usr/local/mysql/bin // mysql 실행 파일이 위치해 있다.

# ./mysql_install_db // MySQL의 데이터를 관리할 기초 테이블 생성


!주의할 점은 mysql_install_db은 반드시 한번만 실행시켜야 한다.


-.기본설정하기
# chown -R root  /usr/local/mysql
#  chown -R mysql /usr/local/mysql/data
#  chgrp -R mysql /usr/local/mysql
#  chown -R root /usr/local/mysql/bin




-. mysql 시작 스크립트 수정

# cd /usr/local/mysql/share/mysql

# vi mysql.server


편집기로 열어서 safe_mysql이 실행되는 라인에 --language=korean 옵션을 추가한다.


$bindir/safe_mysqld --user=$mysql_daemon_user --pid-file=$pid_file \

--datadir=$datadir --language=korean &


# chmod 755 mysql.server // 실행모드로 전환한다.


-. mysql 데몬의 시작과 종료

mysql 데몬의 시작과 종료를 시스템 관리자 PATH가 설정된 디렉토리에 복사해두고 사용하면 어느 위치에서나 명령을 인식 가능하게 한다.


# cp -p ./mysql.server /usr/bin // 관리자 실행 디렉토리에 복사

# mysql.server start // mysql 데몬 시작하기

# ps -ef | grep mysql // 프로세스 확인하기.

# mysql.server stop // 데몬 종료하기.


-. test

# /usr/local/mysql/share/mysql/mysql.server start

// /usr/bin에 복사했다면

# mysql.server start

# mysql


Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL ....


Type 'help' for help.

mysql>


-. root 암호 변경하기

mysql>use mysql

mysql>update user set password=password("your_password") where user='root';

mysql> quit // 종료하기


-. 암호 변경 후 mysql 시작하기

# mysql -uroot -p

Password : your_password

mysql>


**** 설치 순서를 지키세요 *****

** ApacheJserv를 같이 설치하고자 할 경우 다음 부분을 참고한다**

설치전 gcc 및 gcc-make 가 설치되어 있어야 되고, path가 연결되어 있어야 한다.
Jserv 소스의 압축을 푼다.

#> gzip  –d  ApacheJServ-1.1.tar.gz
#> tar  xvf  ApacheJServ-1.1.tar

그 다음 Jserv 설치 소스 디렉토리로 이동한 뒤 환경을 설정하여 make 파일을 생성한다.

#> ./configure \
[blank]--prefix=/usr/local/jserv \ (Jserv 가 설치될 위치)
[blank]--with-apache-src=/usr/local/Apache_Install/apache-1.3 \ (아파치 설치소스)
[blank]--with-jdk-home=/usr/j2se \
[blank]--with-java=/usr/j2se/bin/java \
[blank]--with-jar=/usr/j2se/bin/jar \
[blank]--with-JSDK=/usr/local/jsdk/lib/jsdk.jar \ (jsdk.jar 파일이 있는 위치)
[blank]--disable-debugging

위와 같은 명령을 실행하면 make파일이 생성된다. 그리고 나서 인스톨하면 된다.

#> make
#> make install
************************************


5. Apache Configure(1)

  **** 보안이나 mod_perl등을 위해서라도 2.0.44 버전 이상을 구해 설치하는 것이 좋다 *****

1차적인 웹 설정 구성을 먼저 수행한다.


# cd /usr/local/src/apache_1.3.27

# ./configure --prefix=/usr/local/apache


 

6. PHP4 설치


-. 환경 구성

# cd /usr/local/src/php-4.0.1pl2

# ./configure --prefix=/usr/local/php4  --enable-track-vars \

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

>--with-apache=/usr/local/src/apache_1.3.27 \  (이 옵션은 Apache 2.x 대에서는 빼야함)

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

>--with-mod-charset --with-language=korean \

>--with-charset=euc_kr --disable-debug \

>--with-xml --enable-magic-quotes


옵션에 대한 설명은 PHP 메뉴얼을 참고하기 바랍니다. 만약 PostgeSQL이나 mSQL을 사용한다면 --with-pgsql='디렉토리경로' --with-msql='디렉토리경로'와 같이 옵션을 사용한다.

--enable-track-vars 옵션은 HTTP_GET_VARS, HTTP_POST_VARS, HTTP_COOKIE_VARS 배열에 들어 있는 GET, POST, Cookie 변수들의 출처를 기억한다. 반드시 설정한다.


-. 컴파일 & 설치

# make

# make install


7. Perl 설치하기

일반적으로 리눅스일 경우 defalt로 설치하는 것을 권장한다.

# tar -xzvf stable.tar.gz

# cd perl-5.6.0

# rm -f config.sh Policy.sh <------ 이전에 생성된 설정파일을 삭제함.

# sh Configure -Uuselargefiles -de

# make

# make test

# make install


make test를 실행해서 "All tests successful"이라는 메세지가 나오지 않으면 다음을 실행하라.

# make test-notty

실제로 필자는 make test에서 여러번 에러가 발생해서 make test-notty로 설치를 했다.

test-notty의 역활은 백그운드작업이 불가능할 경우 강제적으로 작업이 이루어지게 한다.

그러나 이 경우에 tty가 필요한 test부분에는 이를 무시할 수 있다.

그리고 또한 더 자세한 test환경을 얻기위해서는 다음을 실행하는 것을 권장한다.

# cd t

# ./perl harness

설치 확인하기
Perl이 설치가 제대로 되었는지 버전을 확인해보자.

# perl -version

This is perl, v5.6.0 built for i686-linux
.



8. mod_perl 설치하기

  $ cd mod_perl-1.26    

  $ perl Makefile.PL APACHE_SRC=../apache_1.3.27/src \

      NO_HTTPD=1  USE_APACI=1  PREP_HTTPD=1  EVERYTHING=1


  $ make

  $ make install





9. Apache Configure(2), 컴파일


PHP 설치 후 아파치 설치를 마무리한다.


-. 환경 구성

# cd /usr/local/src/apache_1.3.27

# ./configure --prefix=/usr/local/apache --enable-shared=max --activate-module=src/modules/php4/libphp4.a

*** ApacheJserv를 설치할 경우 위의 문장에 --activate-module=src/modules/jserv/libjserv.a  추가한다 ***

*** Apache 1.3.x 에서 mod_perl을 추가할 경우 위에 --activate-module=src/modules/perl/libperl.a 추가한다 ***



-. 컴파일 & 설치

make를 하기전에 Makefile을 수정해서 다음의 부분을 적당곳에 추가한다.

# vi Makefile

>> CFLAGS = "-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BIT=64"


# make

# make install



8. Zend Optimizer 설치

# cp /usr/local/php4/php.ini-dist /usr/local/apache/conf/php.ini

# cd /usr/local/src

# mv ZendOptimizer-RC1-Linux-glibc2.1 /usr/local/Zend/lib

또는 ZendOptimizer 소스디렉토리에 있는 install 명령을 실행한다

나타나는 설명에 따라 진행하면서 조정한다.


-. 환경 설정 파일 복사 및 수정


# cp /usr/local/php4/php.ini-dist /usr/local/apache/conf/php.ini

# vi /usr/local/apache/conf/php.ini


zend_optimizer.optimization_level=7

zend_extension="/usr/local/Zend/lib/ZendOptimizer.so"



11. 환경설정 파일 편집

-. 환경 설정 파일 복사 및 수정

# vi /usr/local/apache/conf/httpd.conf // 아파치 환경설정 파일


<IfModule mod_dir.c>

DirectoryIndex index.php index.php3 index.html index.htm

</IfModule>

...

...

AddType application/x-httpd-php .php .php3 .ph

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

AddType application/x-httpd-php .php

AddType application/x-httpd-php .phtml

AddType application/x-httpd-php .php4  


*** ApacheJserv를 설치할 경우 맨 마지막에    Include "/usr/local/jserv/etc/jserv.conf" 문장 삽입 후 저장 ****

*** mod_perl 기능을 사용하기 위해서는 다음 추가 ***


AddHandler cgi-script .cgi .pl


Alias /perl/ /home/apache/perl/

  PerlModule Apache::Registry


  <Location /perl>

    SetHandler perl-script

    PerlHandler Apache::Registry

    Options ExecCGI

    allow from all

    PerlSendHeader On

  </Location>



12. PHP 및 Apache 웹서버 구동 시험


테스트 파일(phpinfo.php)을 만들어 웹서버의 홈디렉토리(/usr/local/apache/htdocs)에 만들고 웹브라우저에서 확인한다.


# cat > /usr/local/apache/htdocs/phpinfo.php

<?

phpinfo();

?>

^D

# netscape http://localhost/phpinfo.php



또는 http://해당URL/phpinfo.php ( http://IP/phpinfo.php )를 입력하여 출력내용 확인.



13. 시스템 부팅시 자동으로 아파치 데몬과 MySQL 데몬 실행하기


두 가지 방법 중 하나를 택한다.


-. 방법 1 : 권장

/etc/rc.d/rc.local 파일을 열어서 마지막 줄에 다음 명령을 입력한다.

또는 /etc/rc.d/rc.local.mine 파일이 있을 경우 rc.local.mine 파일에 입력해도 된다.


if [ -x /usr/local/apache/bin/apachectl ] then

echo "Apache Web Server Starting..."

/usr/local/apache/bin/apachectl start

fi


if [ -x /usr/local/mysql/share/mysql/mysql.server ] then

echo "MySQL Server Starting..."

/usr/local/mysql/share/mysql/mysql.server &

fi


-. 방법 2

# cp -p /usr/bin/apachectl /etc/rc.d/init.d/httpd

# cp -p /usr/bin/mysql.server /etc/rc.d/init.d/mysql


// 실행모드( run level ) 3일 경우

# cd /etc/rc.d/rc3.d

# ln -s /etc/rc.d/init.d/httpd S85httpd

# ln -s /etc/rc.d/init.d/mysql S90mysql


// 실행모드( run level ) 5일 경우

# cd /etc/rc.d/rc5.d

# ln -s /etc/rc.d/init.d/httpd S85httpd

# ln -s /etc/rc.d/init.d/mysql S90mysql


* itislord님에 의해서 게시물 복사되었습니다 (2005-04-24 14:18)

+ Recent posts