apache_1.3.14 + mysql-3.22.27 + php-4.0.3.pl1 + gd_5 + jdk-1_2_2 +
ZendOptimizer + freetype-1.2 + jakarta-tomcat3.1 설치 메뉴얼
본가이드는 리눅스에 php와 jsp를 구동시키기 위해 작성한 것입으로 php만
하고픈 분은 jdk와tomcat을 설치 않하셔도 되며, 그부분을 생략하며, 따라하
십시오. 본 문서를 읽은 독자분의 리눅스 환경이 위 프로그램을 모두 삭제
한 상태라 생각되며 혹! 그렇지 않은분은 rpm을 모두 제거해주시고 소스설치
를 하셨다면 모두 삭제 해 주십시오.
PHP:SSI방식의스크립트언로서 모든 플랫폼에서 작동하는 언어지만 유닉스
계열 프랫폼에서 가장 뛰어난 성능 보입니다. PHP와 함께 ZEND를 합께 탑재
하면 더욱더 빠른 속도를 내며 ASP,JSP보다 속도면에서는 가장 빠르다는 평
을 듣고 있습니다.
JSP:썬마이크로시스템즈에서 자바를 파생시켜 만든 언어서 자바 기반임으
로 확장성이 아주 뛰어나며, 속도는 PHP보다 느리지만 엄청난 데이터처리를
하는 엔터프라이즈급 서버에서의 데이터처리는 매우 안정적이며 빠른 수행속
도는 낸다고 합니다.
TOMCAT:톰켓은 JSP와 SERVLET을 위한 엔진으로 RESHIN과 더불어 아주 많이
쓰이는 엔진입니다. APACHE 개발자들이 JAKARTA라는 프로젝트로 개발하고 있
는만큼 가장많이 쓰이는 아파치와
같이 연동하여 JSP와 SERVLET서비스를 해주는 엔진입니다.
(rpm 설치시 : rpm -qa | more 하면 설치된 모든 rpm출력, 출력되는 파일중
위 파일과 같은게 있으면 rpm -e "rpm명"으로 삭제, 혹! 의존성 때문에 삭제
할 수 없다면 의존성을 갖는 패키지가 출력되는데 그것부터 제거해주고 삭제
해 주거나 -nodeps 옵션으로 의존성무시후 삭제
소스설치시 : make clean하고 configure clean, make distclean, make
uninstall을 차례로 해주면서 지워지지 않는건 찾아서 삭제 해주세요. 아주
깨끗한 상태에서 시작하자구요.. ^^ 위 명령들은 저두 잘 모르는 명령들인
데, 저렇게 해주면 된다고들 하네요.. 근데 저는, 저렇게 해서 그 어떤 이상
도 없었습니다.)
리눅스는 windowsNT나 windows2000과 달리 설치계획을 잘 수립하고 설치하는
게 좋습니다(물론 windows도 설치계획이 필요하긴 하지만.)
마구 아무거나 설치했다간 다 망침니다. 모두 덜 서로 연관성이 있기 때문이
죠..(지금 설치하는 것들이 대부분 아파치와 관련이 많기 때문에 아파치에
잘 올려만 주기만 하면 되요.. 별거아녀요)
설치하는 방법은
rpm : 패키지 설치
바이너리 : 이미 컴파일된 바이너리 버전
소스 : 사용자가 직접 컴파일 하며 설치(제가 사용할 방법)
1. 설치환경
OS : 알짜리눅스 6.1 (Kernerl 2.2.12-20kr on an i586)
CPU : 펜티엄120MHZ
RAM : 49MB(swap=100 ^^)
HDD : 1G (많이 빈약하져? 근데 아주 잘 돌아가여.. 역쉬 리눅스야.. ^^)
필자는 직접 설치하면서 설치계획을 적으며 계획되로 되지 않는 시행착오는
수정하며 이 문서 를 작성하고 있습니다.. ^^ 각 버전을 꼭 확인하세요
설치 프로그램은 각 사이트에서 최신버전을 받는게 좋습니다.
혹! 찾기 힘드신 분은 제 홈에서 다운받아가세요..
http://www.webnicsoft.co.kr/~phpzone/ 2. 설치순서
mysql(db부터 설치하는게 좋습니다.) : 다들 아시죠? APM의 M에 해당하는 DB
입니다.
freetype, GD Graphic Library : 나중에 해도 상관 없을 것 같은데..
jdk : JAVA를 컴파일하고 실행을 할수 있는 툴킷입니다.
apache : 웹서버입니다. 최신번전인데.. 설치가 잘 되려나(아직은 검증이 않
됬는데..)
php4 : 이것두 최신입니다. 잘 붙을려나.. 저도 궁금
apache : 다시 한번 더 php4의 모듈을 뛰우고 실행을 해야 되죠.. 낭중에
또 tomcat을..
zend optimizer : 이놈은 php4의 실행속도를 아주 많이 증가 시켜준다는 군
요..
tomcat3.1 : 이넘은 jsp서버입니다. 상업용도 공짜니깐. 난 공짜가 조아~~
3. 먼저 이넘들을 /tmp로 옴겨서 압축을 풉니다.
압축은 여기에서 풀고 설치는 /usr/local에 설치 할겁니다.(임시파일을 모아
두는 곳이니깐 여기 에서 푸는 겁니다.)
직접 /usr/local에 풀어도 상관 없습니다.
tar xvfz mysql-3.22.27.tar.gz
tar xvfz apache_1.3.14.tar.gz
tar xvfz php-4.0.3.pl1.tar.gz
tar xvfz jakarta-tomcat_tar.tar
tar xvfz jdk-1_2_2_006-linux-i386.tar.gz
tar xvfz ZendOptimizer-Beta4-Linux-glibc2[1].0.tar.gz
tar xvfz freetype-1.2.tar.gz
tar xvfz gd_5.tar.gz
이러면 주루룩.. 생기겠죠? ^^ /usr/local로 직접옮겨서 압축을 풀었다면 소
스가 남아있는데 지우거나 디렉토리 하나 만드셔셔 모아두세요.. 그대로 놓
우셔도 되고요
tmp에 풀으셨다면 옮겨야죠.
mv /mysql*/ /usr/local/mysql(기타등등)
3. 설 치 : 압축을 풀면서 생성된 디렉토리에서 소스를 컴파일 해야함
mysql설치 : mysql디렉토리(혹! 디렉토리명을 따로 정해주지 않았다
면 /mysql-3.33.27형 식으로 디렉토리가 생성됨)
./configure --prefix=/usr/local/mysql --with-charset=euc_kr
make
make install
make_install_db
: 환경설정 첫 번째옵션은 설치될 디렉토리지정 두 번째는 한글사용 가능
제 서버에서는 넘 늦네요... 시간이 좀 걸리네요.. ㅠㅠ
freetypet설치 : ./configure, make, make install 차례로수행
X-Window를 설치하지 않고 콘솔이나 network으로 인스톨할 경우 make에서 에
러가 발생 할수 있는데 X-Window에서 실행 가능한 테스트용 프로그램을 컴파
일하는 과정에서 발생한 에러이다(해결 : /freetype-
1.2/test/arch/unix/Makefile.in 파일속의 PROGRAMS부분과 SRC 에서
ftview, fttimer, ftzoom, ftstring을 삭제(혹! 주석처리))
그런후 make distclean, ./configure, make make install을 차례로 수행
GD Graphic Library설치 : make, make install만 수행 간단하져? ^^
이렇게 한후~~~~~~~~~~~~~~~
libgd.a는 /usr/local/lib에 넣구요
*.h는 /usr/local/include에 복사하면 끝.
jdk 설치 : jdk는 환경설정만 해주면 됩니다.(다운받아 압축만 풀면 설치
끝! 바이너리제공)
대부분 자바를 응용 하는 프로그램들은 /usr/local/java라는 디렉토리를 자
바 기본 디렉토리로 쓰고 있는데 jdk1.2.2 디렉토리를 그쪽으로 디렉토리 명
을 바꾸어서 옮 기시거나 아니면 심볼릭 링크를 하시면 됩니다.
# ln -s /jdk1.2.2 /usr/local/java
/jdk1.2.2 디렉토리를 /usr/local/java 디렉토리로 심볼릭링크
다음은 자바 가상머신 명령(java)이나 컴파일 명령(javac)등이 아무 디렉토
리 에서 실행 할 수 있도록 패스를 걸어 두는 작업을 하면 됩니다. 대부분
래드햇 배보판은 본어겐스트쉘(bash)를 많이 쓰므로 그 기준으로 설명을 드
리면 /etc/profile 파일을
열어서 다음의 패스를 추가 하세요
export PATH="$PATH:/usr/X11R6/bin:/usr/local/java/bin"
export JAVA_HOME="/usr/local/java"
exprot CLASSPATH="."
CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/jpda.jar:$JAVA_HOME/lib/
tools.jar:
$JAVA_HOME/lib/servlet.jar
/usr/local/java/bin 디렉토리에 javac, java명령들이 있으므로 그 디렉토리
를 패스
에 추가 하였습니다.
자바의 기본 디렉토리를 /usr/local/java로 설정하고 CLASSPATH 파일을 현
재 디
렉토리를 나타내는 "."를 추가 하였습니다.
유닉스/리눅스 환경에서는 현재 디렉토리에서 작업한다고 해도 자신의 현재
디렉 토리 조차를 모르므로 "."을 추가해서 클래스패스에 자신의 현재 디렉
토리를 추가
시켜 줘야 됩니다. 그래야 자신이 만들은 클래스 파일이 그 디렉토리에 같
이 있 다고 하면 클래스 파일의존이 생기는 경우에 클래스 패스를 걸지 않고
서도 찾을
수 있습니다
각 계정에 있는 .bash_profile에 다음을 추가
PATH="$PATH:$HOME/bin:/usr/local/java/bin"
export JAVA_HOME="/usr/local/java"
CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/jpda.jar:$JAVA_HOME/lib/
tools.jar
설정한 다음 # source .bash_profile을 한번 해주거나 다시 로그인후 아무
런 디렉토리에서나 java를 실행시켜 보십시오.. 되면은 ok(옵션은 모라구 나
올 거예여)
apache 설치 : 아주 중요합니다. 잘 따라하세요
./configure --prefix=/usr/local/apache_1.3.14
한번 이렇게 설치 디렉토리만 지정해주고 설정해준다음에는 php설치로 잠시
넘어가겠습니다.
php 설치 :
./configure --with-mysql=/usr/local/mysql --with-
apache=/usr/local/apache_1.3.14
--with-gd=/usr/local --enable-track-vars=yes --disable-debug
옵션이 많죠? 다 필요한 옵션입니다.
--with-mysql=/usr/local/mysql : mysql을 사용하기 위하여 위치지정
--with-apache=/usr/local/apache_1.3.14 : 아파치 모듈에 적재 되어야 하니
깐
--with-gd=/usr/local : gb라이브러리를 사용하기 위해(다른 문서는 gd디렉
토리까지 지정해 주던데 전 이미 함수를 다 lib와 include에 넣었기 땜시..
이렇게 했습니다.
--disable-debug : zend를 사용하기위해
--enable-track-vars=yes : 잘 모름
위 옵션들은 한줄에 다 입력하세요.
한줄에 다 쓰는게 너무 길어 한줄 밑으로 하고 싶으시다면 역슬레쉬""를 사
용하시구요
""하구 엔터키 처서 한줄 밑에 써주면 됩니다. 또하고 싶다면 또... 그렇
게..
make
make install 까지 하면 설치끝~
apache 다시 설치
./configure --prefix=/usr/local/apache_1.3.14 --activate-
module=src/modules/php4
/libphp4.a --enable-modules=so --enable-rule=SHARED_CORE
--prefix=/usr/local/apache_1.3.14 : 아파치 설치 디렉토리
--activate-module=src/modules/php4/libphp4.a : php4실행 모듈 위치지정
--enable-modules=so
--enable-rule=SHARED_CORE
위 둘은 DSO방식으로 설치하겠다는 옵션인데 JSP사용을 위한 옵션입니다.
PHP만 사용하실 분은 필요없습니다. jsp와servlet을 사용하고자 하신 다면
꼭 추가해야 할 옵션
make
make install
이렇게 해서 /usr/local/apache_1.3.14/conf/httpd.conf를 열어서 다음(빨
강)을 추가해줍니다.
apache_1.3.14버전에서 정확히 741라인입니다(다른건 어떻게 되는지 몰라여
^^)
AddType application/x-http-php .php .php4 .php3 .htm .html .inc
AddType application/x-http-php-source .phps
주석("#")을 제거 해주시는거 잊지 마시구요
다음은 젠드를 설치해야하는데 먼저 /usr/local/Zend/lib를 만드시고 이곳
에 zend디렉토리안
에 있는 ZendOptimizer.so라는 파일을 copy하세요
그리고, /usr/local/php디렉토리에 있는 php.ini-dist파일을 찾
아 /usr/local/lib에 php.ini라는 이름으로 카피해주세요
그리고 php.ini를 vi로 편집.....
맨 마지막 줄에 다음을 추가
zend_optimizer.optimization_level=15 (이전버전은 7입니다.)
zend_extension="/usr/local/Zend/lib/ZendOptimizer.so
이렇게 해주고 아파치를 기동후 <? phpinfo ?>를 만든후 첫 화면 우하단에
Zend라는 글자 가 보이면 성공!! 감축드립니다.!!
참! extension을 어떤문서는 extention이라 적었는데 "extension"이 맞는 겁
니다.
zend는 버전을 잘 체크 하시고 설치하여야 합니다.
zend에서는 php의 각 버전마다 zendoptimizer를 제공하고 있습니다.
php버번에 맞게 zend를 다운받은후 설치하십시오
This program makes use of the Zend scripting language engine:
Zend Engine v1.0.3, Copyright (c) 1998-2000 Zend Technologies
with Zend Optimizer v0.99, Copyright (c) 1998-2000, by Zend
Technologies
이렇게 3줄이 나오면 성공입니다.
참고로, 오라클8i사용시 --with-oci8-
/home/oracle/app/oracle/product/8.0.5
이런 형식으로 주어야 합니다.
tomcat 설치 : tomcat은 컴파일이된 바이너리로 제공이 되기 때문에 다운 받
은후 따로 컴파 일 하지 않아도 됩니다.
먼저 다운받은 mod_jserv.so를 /usr/apache_1.3.14/libexec/에 넣으세요
혹! mode_jserv.so를 직접 컴파일하려면 Tomcat source를 받아서 아무 디렉
토리에서나 압축 을 풀고, jakarta-tomcat/src/native/apache/jserv/로 이동
하여 다음 명령을 수행하면 됩니다.
$ apxs -c -o mod_jserv.so *.c
만일 apxs를 찾지 못한다면 아파치를 설치한 곳의 bin디렉토리에 있으므로
경로를 모두 써 주 어 실행시키면 되여
아파치는 DSO를 지원하도록 컴파일되어야 mod_jserv.so을 동적으로 로드할
수 있다. 배포본 에 포함된 것이라면 대부분 DSO를 지원하도록 되어 있으므
로 문제가 없으나 저는 직접 컴파 일을 했으므로 configure 실행시 --
enable-module=so 옵션을 주었습니다.
기억 하시죠? ^^
Tomcat과 아파치가 서로 통신할 수 있도록 해 주는 모듈이 mod_jserv.so입니
다. 그렇게 때문 에 아파치 동적 모듈인 libexec에 넣은 겁니다. 왜? apache
와 tomcat이 서로 통신하려고..
http는 80포느 tomcat은 8080포트를 사용하죠, 우리가 흔히
http://kr.yahoo.com이라고 처도 실제적인 명령은 http://kr.yahoo.com:80이 라는 명령입니다. jsp나 serv
let을 쓰려고 8080만 치며 귀찮으니깐 같게..해 주는 역할을 하죠
이제 아파치의 httpd.conf에 다음을 맨 마지막에 추가합니다.
(vi에서 "Esc"누르고 ":"누르고 "$"하고 엔터하면 맨 마지막으로 갑니다.)
Include /usr/local/jakarta/jakarta-tomcat/conf/tomcat.conf 추가
이렇게 하면 servlet과jsp실행환경이 마련 되었습니다.
이제 테스트만이...
먼저 http://localhost:8080을 해보세요.. 고양이 보이나여? 보이면 1차 성
공
http://hostname/examples/를 했을 때 브라으저에 예제가 뜨면 "성공"
안되는분은 환경변수설정을 이렇게 함 해주세요(etc/profile)
export TOMCAT_HOME=/usr/local/jakarta-tomcat
export TOMCAT_LIB=$TOMCAT_HOME/lib
참 고
아파치 기동/종료
/usr/local/apache_1.3.14/bin/apachectl start or httpd start
/usr/local/apache_1.3.14/bin/apachectl stop or httpd stop
톰켓 기동/종료
/usr/local/jakarta-tomcat/bin/startup.sh -f
/usr/local/jakarta-tomcat/bin/shutdown.sh -f
본 글은 여러 문서를 참고했으나 그 문서들을 기재하지 못하였습을 알아주시
기 바랍니다.