2013년 7월 22일 월요일

아파치 설치

Apache 설치



  1. 계정 생성
계정 설정은 반드시 해야 할 필요는 없다.
groupadd -g 3324 haproxy
useradd -m -d /usr/local/apache -s /bin/bash -u 3324 -g 3324 apache

  1. 프로그램 설치
현재 최신 release는 2.4.4 이며 아래 사이트에서 다운로드 받을 수 있다.
http://httpd.apache.org/download.cgi#apache24

프로그램을 설치하기 전에 dependency 패키지를 설치해준다.
apt-get install gcc

다음을 실행하여 컴파일과 파일 설치를 완료한다. (아래의 경우는 리눅스 64비트에 설치 예임)
make TARGET=linux2628 ARCH=-m64
sudo make install



  1. 설정
설치된 디렉토리 conf/httpd.conf
apt-get으로 설치한 경우에는 /etc/apache2/apache2.conf 를 확인
아래는 default로 설정되어 있는 내용의 설명이며, 기본적인 사용을 한다면 따로 수정할 필요없음
# 서버 루트 디렉토리
ServerRoot "/usr/local/apache2"
# 서비스포트 설정
Listen 80

#서비스모듈 추가
# ex) LoadModule authn_file_module modules/mod_authn_file.so
# 없으면 그냥 두면 됨
# 웹서버의 웹문서 위치 디렉토리
DocumentRoot "/usr/local/apache2/htdocs"
# 웹서버의 문서 디렉토리를 설정
<Directory "/usr/local/apache2/htdocs">
   #        ↓ Indexes 옵션이 없으면 index.html파일이 없을 때, 디렉토리 목록을 뱉음
   Options Indexes FollowSymLinks
   #                     ↑ 디렉토리 밑에 설정된 디렉토리이외의 경로를 link할 수 있음.
# 디렉토리별로 아파치 설정을 할 수 있게 함
   # All, None로 설정하거나 다음과 같이 몇몇 키워드의 조합으로도 설정
   # AllowOverride FileInfo  AuthConfig  Limit
   # FileInfo를 사용하는경우 .htaccess 파일작성 필요 .htaccess는 디렉토리마다 설정가능
   # 하고, 여러 디렉토리를 설정하는경우 디렉토리마다 해당 파일이 있어야 함
   AllowOverride None

# 서버에 접근 가능한 사용자 설정
   Require all granted
</Directory>

# 디렉토리 요청 시 기본적으로 읽는 파일 명
<IfModule dir_module>
   DirectoryIndex index.html
</IfModule>
# 웹 클라이언트가 .htaccess나 .htpasswd에 접근하지 못하게 함
# 아래 태그는 어느 디렉토리건 접근하는 디렉토리에 .ht* 파일이 있으면 접근불가함.
<Files ".ht*">
   Require all denied
</Files>

# 에러로그
# 위에 설정한 서버루트/logs/error_log 에 에러로그가 생성된다.
ErrorLog "logs/error_log"



  1. 실행
기동
$bin/apachectl start

정지
$bin/apachectl stop

재기동
$bin/apachectl restart



  1. Tomcat과의 연동
    1. Tomcat Connector 설치
아래 사이트에서 tomcat connector 다운로드

설치
$ tar xvf tomcat-connectors-x.x.xx-src.tar.gz
$ cd tomcat-connectors-x.x.xx-src/native
$ ./buildconf.sh
$ ./configure –with-apxs=/usr/local/apache2/bin/apxs
$ make
$ sudo make install



    1. Apache 환경설정
Apache의 conf디렉토리에 httpd.conf 혹은 apache2.conf 파일 확인
LoadModule jk_module modules/mod_jk.so
  <ifModule jk_module>
       JkWorkersFile conf/workers.properties
       JkShmFile logs/mod_jk.shm
       JkLogFile logs/mod_jk.log
       JkLogLevel info
       JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
</ifModule>

JkMount /*.jsp ajp13    
# virturehost로 설정시 아래 참조
<Directory />
  Options FollowSymLinks
  AllowOverride None
</Directory>

Worker.properties 파일 생성 및 설정
$ vi woerkers.properties
worker.list=ajp13
worker.ajp13.type=ajp13
worker.ajp13.host=localhost
worker.ajp13.port=8009
worker.ajp13.lbfactor=1
worker.ajp13.connection_pool_timeout=600
worker.ajp13.socket_keepalive=1

    1. 연동 확인
Apache와 tomcat 재기동 후, apache접속 (ex> localhost/index.jsp)
아래 화면처럼 접속화면이 나타나면 성공


댓글 없음:

댓글 쓰기