Apache+jdk+jserv+php+mysql 연동
최적의 개발환경을 위한 솔루션(?)을 발표한다는 느낌이 사뭇 쑥쑤럽기만하네요.
우선 소스는 다음과 같습니다.(2000.6.15일 기준)
jdk1_2_2-linux-i386.tar.gz
jsdk20-solaris2-sparc.tar.Z
mysql-3.22.32.tar.gz
apache_1.3.12.tar.gz
php-4.0.0.tar.gz
ZendOptimizer-Beta4-Linux-glibc2.1.tar.gz
ApacheJServ-1.1.1.tar.gz
squid-2.3.STABLE3-src.tar.gz
위의 내용을 보시면 아시겠지만 자바관련툴과 DBMS 인 MySQL, 웹서버인 Apache, Script
언어인 PHP,
Php 속도향상을 위한
Zend Optimizer, Servlet 구현을 위한 Apache Jserver, 속도향상을 위한 캐쉬 Squid 입니다.
우선 설치하는 순서는 개략적으로 다음과 같습니다.
* Jdk -> Jsdk -> MySQL -> Apache #1 -> Php -> Zend Optimizer
-> Apache Jserver -> Apache final -> Squid
복잡해 보이지만 제가 인도하는 대로 따라오시면 재미있고 신기한 리눅스환경이 만들어
집니다.
음.. 아!! 운영체제를 말씀을 안드렸네요…
얼마전에 세미나에 참석해서 얻은 Wow-Linux 입니다.
Kernel 은 2.3.14 더라구요.. 2.3.15 를 포함해서.. 하위버젼에 치명적인 버그가
있다지요??
암튼.. 그건 그거고.. 먼저 Jdk 를 깔아보겠습니다.
아 그리고.. 모든 소스는 /usr/local/src 디렉토리에 넣으세요!!
소스관리차원에서 한곳에 넣어두는 것이 최상입니다.
*****************
*** Jdk 1.2.2 ***
**************************************************************************
우선 압축을 풉니다.
> tar xvfz jdk1_2_2-linux-i386.tar.gz
그리고.. 이건 압축을 푼 디렉토리를 다른곳으로 옮깁니다.
> mv jdk1_2_2 /usr/local/
이렇게 하면 /usr/local/jdk1_2_2 가 생깁니다.
차후 jdk 업그레이드를 고려해서 소프트링크를 걸어놉니다.
> ln -s /usr/local/jdk1_2_2 java
이러면 /usr/local/jdk1_2_2 는 /usr/local/java 와 같게됩니다.
사실 같은것이 아니라 /usr/local/java 는 /usr/local/jdk1_2_2 의 링크가
되는 것입니다. 아시죠?? 윈도우즈의 단축아이콘.. 그런겁니다.
그리고.. 모든 사용자들의 공통적인 profile 인 /etc/profile 을 수정합니다.
> vi /etc/profile 하시고..
다음을 추가하세요…
어디에 추가하면요… PATH=”….” 어쩌구 하는 곳 다음줄입니다.
PATH=”$PATH:/usr/local/java/bin”
그리고 아래 문장은 export PATH … 어쩌구 하는 다음줄에 하시고요…
export JAVA_HOME=”/usr/local/java”
export CLASSPATH=”.”
(저장후 종료) 여기까지.. jdk 설치가 끝난겁니다.. 잘 되었는지 확인방법은 다시 로그인
하신후에..
java -version 해보세요..
잘되죠?? 그럼 ok!!!!!!!!!
다음 JSDK 입니다.
****************
*** Jsdk 2.0 ***
**************************************************************************
다시 /usr/local/src 로 디렉토리를 바꾸고..
> cd /usr/local/src
Jsdk 파일을 압축을 풉니다.. 어!! 그런데.. 이건 Sun Solaris 용이 아니냐구요??
상관없답니다. 이미 검증이 되었답니다. 지금도 2.1이 나왔긴 한데.. 리눅스에서는
아직 검증이 안되었답니다. 맞죠???
> tar xvfz jsdk20-solaris2-sparc.tar.Z
그리고.. 압축을 푼 디렉토리역시.. /usr/local 밑으로 옮깁니다.
> mv JSDK20 /usr/local/
그리고 또다시 업그레이드를 대비해서.. 소프트링크를 설정합니다.
> ln -s /usr/local/JSDK20 JSDK
그리고.. 또다시.. 모두에게 적용되는 /etc/profile 을 수정합니다.
> vi /etc/profile
하신후에.. 다음을 추가합니다. 어디냐구요?? 흠.. PATH=.. 어쩌구하는 부분 아래에..하시면
됩니다.
PATH=”$PATH:/usr/local/JSDK”
아래줄은 위의 jdk 를 설치할때 기술했던 부분인데.. 수정하시는 겁니다.
:/usr/local/JSDK/lib/jsdk.jar 가 추가되었죠..
export CLASSPATH=”.:/usr/local/JSDK/lib/jsdk.jar”
(저장후 종료)
여기까진 Jsdk 설치가 끝난것입니다. 그럼이젠 여러분은 JDK와 JSDK 툴을 사용하실 수
있을것입니다.
다음으로 공개용 DBMS인 MySQL 을 설치해보도록 하겠습니다.
*************
*** MySQL ***
**************************************************************************
다시 /usr/local/src 로 디렉토리를 바꾸고..
> cd /usr/local/src
압축을 풉니다.
> tar xvfz mysql-3.22.32.tar.gz
다음에 디렉토리를 이동합니다.
> cd mysql-3.22.32
글구.. 아래와 같이.. compile install 환경을 맞춥니다.
> ./configure \\
–prefix=/usr/local/mysql \\
–with-charset=euc_kr \\
–with-unix-socket-dir=/usr/local/mysql/sock/socket.mysql \\
–localstatedir=/mysqldb
위의 환경을 설명하자면..
–prefix=/usr/local/mysql : 설치되는 디렉토리는 /usr/local/mysql 이고..
–with-charset=euc_kr : 사용하는 언어환경은 한국어이고요..
–with-unix-socket-dir : 소켓정보파일을 /usr/local/mysql/sock/socket.mysql 로
지정생성하겠다는
것입니다.
이 부분을 기술하지 않으면.. 당연히 /tmp/(디폴트 소켓이름) 으로 사용됩니다.
(옵션!!!! 알죠???)
–localstatedir=/mysqldb : 이것은 데이타베이스파일을 어디에다가 생성할것인지
지정해주는
것입니다.
(옵션!!)
위의 환경이 잘 수행되었다면… 아래와 같이. 컴파일을 한후에.. 설치를 합니다.
> make
> make install
음.. 잘 끝났죠…
그리고.. 기본적인 데이타베이스와 테이블을 생성해야 합니다.
/usr/local/mysql 로 디렉토리를 이동하시고..
> cd /usr/local/mysql
기본 데이타베이스를 생성합니다.
> ./bin/mysql_install_db
그리고.. 데이타베이스를 구동합니다.
> ./bin/safe_mysqld –language=korean &
아주 잘되죠.. ^^
그리고.. 아래와 같이.. admin 암호를 지정합니다. 이거 한번 지정하면.. 고치기
여려우니깐..
신중하게 하세요.. 제가 고치는 방법을 몰라서.. 어려운 건가?? 암튼.. 이거 다쓰고.. 알아
볼거예요…
> ./bin/mysqladmin -u root password ‘rootpass’
잘되었는지.. 확인하는 방법은
> ./bin/mysql -u root -p
하시고.. password : 라고 나오면.. 지정한 암호를 입력한후에.. 엔터를 칩니다..
그러면..
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \\g.
Your MySQL connection id is 4 to server version: 3.22.32
Type ‘help’ for help.
mysql>
위와 같이 나옵니다.. 성공이죠..
mysql> show databases; 하면.. 2줄 나오죠??
mysql> use mysql;
mysql> show tables;
그럼 쭈욱 나옵니다..
잘 되었네요…. ^^ 그럼.. 이걸.. 편리하게.. 구동하고. 정지하는걸 알아볼까요???
> cp /usr/local/mysql/support-files/mysql.server /usr/bin/
이라고 한후..
> chmod 755 /usr/bin/mysql.server
> vi /usr/bin/mysql.server 라고 한후
$bindir/safe_mysqld –user=$mysql_daemon_user –pid-file=$pid_file
–datadir=$datadir &
위의 줄을 아래와 같이 바꿉니다. –language=korean 이 추가되었죠?? ^^
$bindir/safe_mysqld –language=korean –user=$mysql_daemon_user
–pid-file=$pid_file
–datadir=$datadir &
다음에 저장한고 나온후 테스트를 해봅니다.
> mysql.server stop (정지시)
> mysql.server start (구동시)
아주 쉽죠… ^^
그리고 다음은 이제.. Apache 설치 #1 입니다. 왜?? #1 이냐구요??? 나중에 또 본격설치를
하니깐요.. ^^
*****************
*** Apache #1 ***
**************************************************************************
다시 /usr/local/src 로 디렉토리를 바꾸고..
> cd /usr/local/src
압축을 풉니다.
> tar xvfz apache_1.3.12.tar.gz
디렉토리를 이동하고요..
> cd apache_1.3.12
아래와 같이 실행합니다.
> ./configure
이걸로 여기선 끝… ^^ 아~~~ 쉽다..
다음으론.. PHP를 설치해보도록 하겠습니다.
그런데 여기서 주의깊게 볼것은.. 아파치를 DSO 지원지원으로 설치하는 것이 아니라..
아파치와 함께 구동될 모듈들을 아예 아파치에 오브젝트를 포함시킬것입니다.
이유는 퍼포먼스입니다.. 이렇게 해서 설치할 것이.. PHP, Jserv 입니다.
***************
*** Php 4.0 ***
**************************************************************************
다시 /usr/local/src 로 디렉토리를 바꾸고..
> cd /usr/local/src
압축을 풉니다.
> tar xvfz php-4.0.0.tar.gz
다음에 디렉토리를 옮겨버립니다.
> mv php_4.0.0 /usr/local/php_4.0.0
다음은 소프트링크를 만듭니다. 왜냐면.. 업그레이드를 위해서죠.. ^^
> ln -s /usr/local/php_4.0.0 php
다음으로 디렉토리를 이동하고
> cd /usr/local/php
다음과 같이 설정합니다.
> ./configure \\
–with-apache=/usr/local/src/apache_1.3.12 \\
–with-mysql=/usr/local/mysql \\
–with-oracle=/oracle/8i \\
–with-oci8i=/oracle/8i \\
–with-track-vars \\
–enable-sigchild \\
–disable-debug
위의 설정을 해설하자면..
–with-apache=/usr/local/src/apache_1.3.12 : 아파치 컴파일설치시에
포함시킬것이기때문에
어디에 아파치 소스가 있는지 지정해준다.
–with-mysql=/usr/local/mysql : MySQL 이 설치된 디렉토리를 지정해준다. 이유는 MySQL
모듈을
포함하기 위해섭니다.
–with-oracle=/oracle/8i : 저는 Oracle 8i 를 설치해서 사용하고 있어서 써준것입니다.
–with-oci8i=/oracle/8i
–with-track-vars : track var 를 사용하는 것입니다.
–enable-sigchild : 나중에 오라클과 PHP 가 연동이 되었을때 좀비 프로세스 방지를 위한
조치입니다
–disable-debug : Zend Optiimizer 가 Debug 모드를 지원하지 않기때문에 설정합니다.
다음과 같이 해서 컴파일하고 설치합니다.
> make
> make install
그리고.. php 설정파일을 다음과 같이 복사합니다.
> cp php.ini-dist /usr/local/lib/php/ini
PHP 4.0 을 설치했으니.. 퍼포먼스좀 높여볼까요… 그럼.. Zend Optiomizer 를
설치하셔야죠..
**********************
*** Zend Optimizer ***
**************************************************************************
다시 /usr/local/src 로 디렉토리를 바꾸고..
> cd /usr/local/src
압축을 풉니다.
> tar xvfz ZendOptimizer-Beta4-Linux-glibc2.1.tar.gz
그리고 압축을 푼 디렉토리로 이동합니다.
> cd Zend*
설치할 디렉토리를 만듭니다.
> mkdir /usr/local/Zend
> mkdir /usr/local/Zend/lib
파일을 복사합니다.
> cp /usr/local/src/ZendOptimizer-Beta4-Linux-glibc2.1/ZendOptimizer.so
/usr/local/Zend/lib/
PHP 에 Zend Optimizer 모듈 인식을 위해..다음 파일을 편집합니다.
> vi /usr/local/lib/php.ini
다음을 추가합니다.
zend_optimizer.optimization_level=7
zend_extension=”/usr/local/Zend/lib/ZendOptimizer.so”
(저장후 종료)
여기까진.. 일단 끝이죠.. ^^
이젠 Apache Jserver 를 설치해볼까요…
***************
*** Jserver ***
**************************************************************************
다시 /usr/local/src 로 디렉토리를 바꾸고..
> cd /usr/local/src
압축을 풉니다.
> tar xvfz ApacheJServ-1.1.1.tar.gz
압축을 푼 디렉토리로 이동합니다.
> cd Apache*
자 그럼.. 아래와 같이 설정 파일을 셋팅합니다.
> ./configure \\
–prefix=/usr/local/jserv \\
–disable-debugging \\
–with-apache-src=/usr/local/src/apache_1.3.12
위의 설정 파일을 설명해볼까요..
–prefix=/usr/local/jserv : Jserver 를 설치할 디렉토리
–disable-debugging : 역시 debug 금지네요…
–with-apache-src=/usr/local/src/apache_1.3.12 : 이거역시..아파치설치시에
모듈을 포함시키기위해섭니다.
컴파일하고 설치합니다.
> make
> make install
다음 파일을 편집합니다.
> vi /usr/local/apache/conf/httpd.conf
아래를 추가합니다.
AddType application/x-httpd-php .phtml
AddType application/x-httpd-php .html
AddType application/x-httpd-php .htm
AddType application/x-httpd-php .php4
그리고 이 아래줄은 맨 아래에 추가합니다.
include /usr/local/apache/conf/jserv/jserv.conf
(저장후 완료)
음.. 그러면.. 이젠… 아파치를 완벽하게 설치해볼까요…
다시 /usr/local/src/apach* 로 이동합니다.
> cd /usr/local/src/apache*
그다음은 아래와 같이..
> ./configure \\
–prefix=/usr/local/apache \\
–activate-module=src/modules/php4/libphp4.a \\
–activate-module=src/modules/jserv/libjserv.a
위의 내용은
–prefix=/usr/local/apache : 설치할 디렉토리
–activate-module=src/modules/php4/libphp4.a : 포함할 모듈
–activate-module=src/modules/jserv/libjserv.a : 포함할 모듈
다음은 아래와 같이..
> make
> make install
> killall httpd
> cd /usr/local/apache
> ./bin/apachectl restart
> vi ./htdocs/test.php4
(저장후 종료)
–> PHP 확인 >>>>> Netscape 에서 http://(hostip)/test.php4 를
확인한다.
Zend Optimizer 는 Php 로고 그림 왼쪽에.. with Zend Optimizer 라는 글로 확인!!!
–> Jserv 확인 >>> Netscape 에서 http://(hostip)/servlets/Hello 를
확인한다.