Apache와 PHP, MySQL ...Tomcat
작성자 정보
- Tuner 작성
- 작성일
컨텐츠 정보
- 2,421 조회
- 0 추천
- 목록
본문
콤캣 설정부분에서 설치 후에 톰캣은 실행되나 아파치 서버는 문법오류를 일으키면서
실행되지 않습니다. 설치 절차나 구성부분에 오류가 있는지 고수님들의 조언 ㅂ랍니다.
리눅스 서버를 운영하려고 하다보니까 톰캣과의 조율이 안되는 것 같아서 질문올립니다.
사양
- 리눅스 커널 2.4.9 터보리눅스 서버 7, KDE 2.2.1
- Apache Server 1.3.23
- MySQL 3.23.49
- PHP 4.1.0, Freetype 2.1.1, GD Library -> libpng(1.0.12-1), libpng-devel(1.0.12-1)
jpeg-6b, zlib-1.1.3-4, zlib-devel-1.1.3-4,
- J2SDK-1.4.0_01, Kakarta_tomcat-3.3.1
설치 순서(다음과 같이 했습니다)
1. 주로 바이너리로 컴파일 설치합니다.
<다운 받은 아파치 소스 압축 풀고 컴파일, 설치하기>
/usr/local# tar xvzf apache_1.3.23.tar.gz
# cd apache-1.3.23
# ./configure --prefix=/usr/local/apache
# make
# make install
<MySQL 설치하기>
#groupadd mysql
#useradd -g mysql mysql
# tar zxvf mysql_3.23.49.tar.gz
# cd mysql*
/path_to_mysql-3.23.49# ./configure --prefix=/usr/local/mysql --localstatedir
=/usr/local/mysql/data --with-charset=euc_kr
#make; make install
<- DB Script Execution ->
# cd ../mysql
# ./bin/mysql_install_db
<- MySQL Server Daemon 구동(background) ->
# ./bin/safe_mysqld &
<- 기타 부가적인 한경 설정 ->
- 시스템 부팅시에 서버데몬의 자동실행
# vi /etc/rc.d/rc.local
~~
cd /usr/local/mysql // 추가되는 줄
./bin/safe_mysqld & // 추가되는 줄
:wq
- 디렉토리 권한 설정
# chmod 755 -R /usr/local/mysql
# chown mysql.mysql /usr/local/mysql/ -R
# chgrp -R mysql /usr/local/mysql/data
# chgrp -R mysql /usr/local/mysql
# chown -R root /usr/local/mysql/bin
<- PHP 설치, 그래픽 라이브러리 설치 ->
가. freetype 설치
# tar xvzf freetype*.tar.gz
# cd freetype*
# configure --prefix=/usr/local/freetype
# make
# make install
나. jpeg-6b 설치
/usr/local# tar zxvf jpegsrc.v6b.tar.gz
# cd jpeg-6b
# ./configure
# make
# make install
다. gd-1.8.4 설치
/usr/local# tar xvzf gd_1.8.4.tar.gz
# cd gd-1.8.4
# vi Makefile
# If you don't have FreeType, libjpeg and/or Xpm installed, including the
header files, uncomment this(default).
CFLAGS=-O -DHAVE_JPEG // 추가
...
LIBS=-lgd -lpng -lz -lm -ljpeg // 추가
...
: wq
# make
# make install
라. PHP 설치하기
/usr/local# tar xvzf php-4.1.0.tar.gz
# cd php*
/usr/local/php-4.1.0# ./configure --with-apache=/usr/local/apache_1.3.23
> --with-mysql=/usr/local/mysql --with-config-file-path=/usr/local/apache/conf
> --with-exec-dir=/usr/local/apache/bin --enable-track-vars=yes
> --with-gd=/usr/local --with-jpeg-dir=/usr/local
> --with-ttf=/usr/local --enable-ftp --enable-calendar --enable-sockets
> --with-mod-charset --with-language=korean --with-charset=euc_kr
# make
# make install
<- 아파치에서 php를 모듈로 사용하기 위해 아파치 컴파일 ->
/usr/local/apache_1.3.23 # ./configure --prefix=/usr/local/apache
> --activate-module=src/modules/php4/libphp4.a
# make
# make install
# cd ../apache/conf
# cp /usr/local/php-4.1.0/php.ini-dist php.ini
<- 아파치 설정 파일 httpd.conf 를 알맞게 수정 ->
- 브라우저에서 http://localhost/test.php를 정상적으로 확인
<- 여기까지는 JSDK와 Tomcat을 설치하기 전으로 사실상 웹 서버를 운영하고 기타
추가로 DNS 서버 및 메일 서버를 운영할 수도 있겠으나 문제는 지금부터임 ->
2. <- Apache와 Tomcat을 연동시킨다는 매뉴얼을 보고 나도 하기로 결심 ->
가. JSDK 설치
<- 톰캣 설치시에 자바는 cut이라는 명령얼르 사용한다는 시중의 여론에 따라
다음과 같이 심볼릭 링크 시켰다. ->
# ln -s /bin/cut /usr/bin/cut
다운받은 j2sdk-1.4.0_01-linux-i586.bin 에 755 실행권한 부여
# chmod 755 j2sdk*.bin
# ./j2sdk-1.4.0_01-linux-i586.bin
... Agree to License (Yes/No) -> y
<- /usr/local/j2sdk1.4.0_01/에 설치가 된 후 /usr/local/java 로 심볼릭 링크 ->
# ln -s /usr/local/j2sdk1.4.0_01 /usr/local/java
<- /usr/local/java/bin 파일들을 편리하게 사용하기 위해 PATH 환경변수에
이 경로를 추가하고, source 명령으로 프로파일 파일 실행 ->
# vi /etc/profile
...
export PATH=$PATH:/usr/local/java/bin
export JAVA_HOME=/usr/local/java
export CLASSPATH=$JAVA_HOME/lib
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib/dt.jar
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib/tools.jar
...
: wq
# source /etc/profile
<- java가 제대로 설치되었는지 버전을 확인해 본다. ->
# java -version
java version "1.4.0_01"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0_01-b03)
Java HotSpot(TM) Client VM (build 1.4.0_01-b03, mixed mode)
<- Apache를 DSO 모드로 컴파일 ->
/usr/local/apache_1.3.23 # ./configure --enable-shared=max
> --prefix=/usr/local/apache
# make
# make install
<- Jakarta Tomcat 설치 ->
http://jakarta.apache.org 에서 jakarta-tomcat-3.3.1.tar.gz를 다운받다.
/usr/local # tar -xvzf jakarta-tomcat-3.3.1.tar.gz
<- /usr/local/jakarta-tomcat-3.3.1/에 설치가 된 후 /usr/local/tomcat 으로
심볼릭 링크 ->
# ln -s /usr/local/jakarta-tomcat-3.3.1 /usr/local/tomcat
<- PATH 환경변수에 이 경로를 추가하고, source 명령으로 프로파일 파일 실행 ->
# vi /etc/profile
...
export TOMCAT_HOME=/usr/local/tomcat
export CLASSPATH=$CLASSPATH:$TOMCAT_HOME/lib/jasper.jar
export CLASSPATH=$CLASSPATH:$TOMCAT_HOME/lib/servlet.jar
...
: wq
# source /etc/profile
<- Tomcat을 실행하고 브라우저에서 확인 ->
# /usr/local/tomcat/bin/startup.sh
<- http:IP of Host:8080 을 확인하면 장하게도 톰캣 고양이 그림과 함께 잘 나옴
사실 톰캣 서버와 아파치 서버는 별개의 서버이므로 톰캣 서버가 제공해 주는
페이지는 브라우저에서 확인할 수 있었음. 그러나 이 상태에서 아파치 데몬을
실행시키면 다음과 같은 에러 메시지를 내면서 httpd가 구동되지 않았다. ->
# /usr/local/apache/bin/apachectl start
Syntax error on line 329 of /usr/local/apache/conf/httpd.conf:
Invalid command 'Order', perhaps mis-spelled or defined by a module not
included in the server configuration
/usr/local/apache/bin/apachectl start: httpd could not be started
[root@www /etc]#
문법을 조사하기 위해서
[root@www local]# /usr/local/apache/bin/apachectl configtest를 실행하면...,
Syntax error on line 329 of /usr/local/apache/conf/httpd.conf:
Invalid command 'Order', perhaps mis-spelled or defined by a module not
included in the server configuration
<- 역시 같은 메시지를 내는 것으로 보아 아파치 컴파일 시에 포함하는 모듈에서
있어야 할 것이 빠지거나 빠져야 할 것이 포함된 것으로 추정된다. ->
<- 참고로 line 329(httpd.conf)의 내용은 아파치의 디렉토리 설정부분인데,
# vi /usr/local/apache/conf/httpd.conf
... 이 부분이다.
<Directory "/usr/local/apache/htdocs">
#
# This may also be "None", "All", or any combination of "Indexes",
# "Includes", "FollowSymLinks", "ExecCGI", or "MultiViews".
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
Options FollowSymLinks MultiViews
#
# This controls which options the .htaccess files in directories can
# override. Can also be "All", or any combination of "Options", "FileInfo",
# "AuthConfig", and "Limit"
#
AllowOverride None
#
# Controls who can get stuff from this server.
#
Order allow,deny <--- Syntax Error 발생 부분 ->
Allow from all
</Directory>
...
어떤 조치가 필요할까요...?
관련자료
-
이전
-
다음