질문&답변
클라우드/리눅스에 관한 질문과 답변을 주고 받는 곳입니다.
리눅스 분류

Apache와 PHP, MySQL ...Tomcat

작성자 정보

  • Tuner 작성
  • 작성일

컨텐츠 정보

본문

콤캣 설정부분에서 설치 후에 톰캣은 실행되나 아파치 서버는 문법오류를 일으키면서

실행되지 않습니다. 설치 절차나 구성부분에 오류가 있는지 고수님들의 조언 ㅂ랍니다.

리눅스 서버를 운영하려고 하다보니까 톰캣과의 조율이 안되는 것 같아서 질문올립니다.
사양
  - 리눅스 커널 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>
        ...


        어떤 조치가 필요할까요...?  
    

 

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,294 명
  • 현재 강좌수 :  36,960 개
  • 현재 접속자 :  372 명