ref/WEB

Apache+PHP+jServ DSO 컴파일

민성아빠 2003. 8. 4. 16:26
* Apache1.3.9+jdk1.2.2+jsdk2.0+PHP4B3+JServ1.1b3



1. 프로그램소스 다운로드



Apache 1.3.9 -> http://www.apache.org

PHP 4.0 Beta 3 -> http://www.php.net

ApacheJServ-1.1b3 -> http://java.apache.org

JDK1.2.2 for Linux -> http://www.blackdown.org or http://java.sun.com

JSDK2.0 for Linux -> http://www.blackdown.org or http://java.sun.com



* 전체 디렉토리 구조



apache_1.3.9.tar

jdk-1.2.2-RC3-linux-i386.tar.bz2

jdk-debug-1.2.2-RC3-linux-i386.tar.bz2

jsdk20-solaris2-sparc.tar ====> jsdk2_1-solsparc.tar는 에러 발생.

php-4.0b3.tar

ApacheJServ-1.1b3.tar



모두 /usr/local/src 밑에 풀어줍니다. (아무 디렉토리나 풀어도 상관없어여. 인스톨이 끝나면 지울거니깐.)



오라클은 먼저 인스톨이 되어 있어야합니당.

/apache_1.3.9 -----------------------> 아파치 디렉토리

/php-4.0b3 --------------------------> php4 디렉토리

/jsdk2.0 ----------------------------> jsdk 디렉토리

/jdk1.2.2 -----------------------------> jdk 디렉토리

/ApacheJServ-1.1b3 ------------------> J-Serv 디렉토리



* 차후에 jsdk 와 jdk 는 /usr/local 로 옮겨야겠죠? (싫음말구. 편한대로 지정하면 되여..)



2. 전체 설치과정

① JDK1.2 설치

② JSDK2.0 설치

③ Apache DSO 지원가능하게 컴파일

④ PHP4 컴파일

⑤ J-Serv 컴파일

⑥ 전체 conf 파일 수정



3. JDK1.2 설치



① JDK1.2.2 의 압축을 풀어야합니다. (대소문자 조심)



]# tar xvfI jdk-1.2.2-RC3-linux-i386.tar.bz2

]# tar xvfI jdk-debug-1.2.2-RC3-linux-i386.tar.bz2



jdk1.2.2 라는 디렉토리가 생기면서 파일이 풀릴 것입니다.



③ /usr/local/ 로 jdk1.2.2 디렉토리를 옮기고, /usr/local/jdk로 변경한다.



]# mv /usr/local/jdk1.2.2 /usr/local/jdk



④ path를 지정해줘야합니다.



]# cd <-- root의 홈디렉토리로

]# vi .bash_profile



# User specific environment and startup programs

# 사용자별 환경 변수, 시작 프로그램 설정



PATH=$PATH:$HOME/bin

ENV=$HOME/.bashrc

USERNAME="root"



아래를 추가해줍니다.

export PATH=/usr/local/jdk/bin:$PATH



]# . .bash_profile 혹은

]# source .bash_profile 하여 환경변수 내용을 업데이트한다. (아니면 새로 로긴…)



]# echo $PATH



4. JSDK2.0 설치



① jsdk20-solaris2-sparc.tar 라는 파일을 해제 해야합니다.

다시 한번 야그하지만, jsdk2_1-solsparc.tar는 에러 발생



]# tar xvf jsdk20-solaris2-sparc.tar



② jsdk2.0 이라는 디렉토리가 생깁니다. 이 디렉토리를 jdk와 같이 옮기고, JSDK로 바꿉니다.



]# mv /usr/local/JSDKk2.0 /usr/local/JSDK



③ Servletrunner에 path를 지정해 주어야합니다.



]# cd <-- root의 홈디렉토리로

]# vi .bash_profile



# User specific environment and startup programs

# 사용자별 환경 변수, 시작 프로그램 설정



PATH=$PATH:$HOME/bin

ENV=$HOME/.bashrc

USERNAME="root"



아래를 추가해줍니다.



export PATH=/usr/local/JSDK/bin:$PATH



]# . .bash_profile 혹은

]# source .bash_profile 하여 환경변수 내용을 업데이트한다. (아니면 새로 로긴…)



echo $PATH



5. Apache 1.3.9 DSO 지원 컴파일



① 아파치 압축풀기



]# tar xvf apache_1.3.9.tar



② cd apache_1.3.9



]# ./configure \\

> --prefix=/www \\

> --enable-rule=SHARED_CORE \\

> --enable-module=so



]# make; make install



③ 이렇게 하시면 /www 에 아파치가 설치됩니다.



6. PHP 4.0 Beta 3

① php 4.0 압축풀기



]# tar xvf php-4.0b3.tar



② cd php-4.0b3



]# ./configure \\

> --prefix=/usr/local/php \\

> --with-apxs=/www/bin/apxs \\

> --with-mysql=/usr/local/mysql \\ =======================> mysql 을 쓸 때

> --with-oracle=/home/oracle/app/oracle/product/8.0.5 \\            =====>oracle함수를 쓸때

> --with-oci8=/home/oracle/app/oracle/product/8.0.5 \\            =====>oci8함수를 쓸때

> --with-apache-install=/www \\

> --enable-modules=so



]# make; make install



③ 이렇게 하시면 httpd.conf 파일 수정까지 해서 완료시켜줍니다.



하나 더….php를 사용하기위해 httpd.conf 파일을 수정하는데 …전 요렇게 했어여..

AddType application/x-httpd-php .php3

AddType application/x-httpd-php .php

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

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

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


하고 보니까 *.php, *.php3, *.php4 파일을 그대로 읽더군요.


그리고 아파치 새로 가동 시키시구요...

그리고 test.php4(또는 php3) 만들어서


<?

echo phpinfo();

?>


브라우저에서 확인 php4(?) 정보 확인...


7. Apache J-Serv 설치

① J-Serv 압축풀기



]# tar xvf ApacheJServ-1.1b3.tar



② cd ApacheJServ-1.1b3



]# ./configure \\

> --prefix=/usr/local/jserv \\

> --with-apxs=/www/bin/apxs \\

> --with-jdk-home=/usr/local/jdk \\

> --with-JSDK=/usr/local/JSDK/jsdk.jar \\

> --disable-debugging



]# make; make install



③ httpd.conf 파일의 맨 밑에



include /www/conf/jserv/jserv.conf를 적어줍니다. 기타 설정은 제 경우엔 별로 수정한것이 없습니다.



④ 그리고 아파치 새로 가동 시키시구요...



/www/bin/apachectl restart



웹브라우져에서 http://localhost/servlets/Hello 하셔서 화면이 뜨면 성공하신 것입니다.



마지막 작업은 자신이 작성한 서블릿을 띄워야 하는데, 제가 한 것을 예로 들어서 설명해드리겠습니다.



먼저, zone.properties 파일을 카피하여 servlet.properties 파일을 편집합니다.



jserv.properties 파일을 설정하는데….중간 쯤에 보시고,



root.properties=/www/htdocs/main/servlet.properties

(main 은 임의 디렉토리입니다. 뭐 이런거까지 …. servlet.properties가 있는 곳을 설정해주는거쥐여…알죠?)

이렇게 변경하시고, (자신에게 맞도록…)



/www/htdocs/main/ 밑에 있는

servlet.properties 파일에

repositories=/www/htdocs/main 이라고 편집합니다.



Httpd.conf -> jserv.conf -> jserv.properties -> example.properties 순으로 인식을 합니다.



이것이 제가 한 내용이구요…

여기서 Tip하나 저는 이렇게 하니 안되더라구여. 뭐냐하면, jdbc와 제가 작성한 서블릿이 연결이 안되서 DB에서 불러오질 못하더군여. 그래서, 한가지를 더 추가해주었습니다.



/www/conf/jserv/jserv.properties 파일에 다음을 추가해주었습니다.



wrapper.classpath=/usr/local/JSDK/lib/classes111.zip



물론, classes111.zip는

]# cp $ORACLE_HOME/jdbc/lib/classes111.zip /usr/local/JSDK/lib



이상이 제가 그간 고생해서 성공한 케이스입니다.

아무쪼록 여러분들에게 도움이 되었으면 합니다