Apache, Tomcat, JDK 연동 및 리눅스 서버 구축
3일간의 노가다 끝에.. 설치 완료..
- 설치 환경 : Fedora 12 i386
- 설치 목록 : Apache 2.2.16, Tomcat 6.0.29, JDK 1.5.0_11, RabbitVCS, Ant, PostgreSQL
1. Apache 설치
- 소스 컴파일로 설치를 진행.
- 먼저 yum 으로 gcc 를 설치
- 아파치 파일 다운
- /usr/local/apache2 에 압축을 풀고
- ./configure --with-layout=apache --prefix=/usr/local/apache2 --enable-module=so --enable-so -enable-rewrite 실행
- make
- make install
- apachectl 파일을 /etc/init.d/httpd 로 복사 후 시작프로그램 등록
- yum install httpd-devel
2. Proftp 설치
- yum install proftpd
3. Tomcat 설치
- 소스 컴파일로 설치를 진행
- 톰켓 파일 다운
- /usr/local/tomcat 에 압축을 푼다
4. JDK 설치
- http://sybd.tistory.com/48 참조
- 설치후 yum list jdk 로 리스트를 검색 후 1.6 버전의 open jdk* 를 삭제해야만 1.5로 쓸수있음
5. /etc/profile 수정
- /etc/profile 파일을 열어 아래 내용을 하단 부분에 추가
export JAVA_HOME=/usr/java/jdk1.5.0_11
export CATALINA_HOME=/usr/local/tomcat
export PATH=$PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin
export CLASSPATH=.:JAVA_HOME/jre/lib/ext:$JAVA_HOME/lib/tools.jar:$CATALINA_HOME/common/lib/jsp-api.jar:$CATALINA_HOME/common/lib/servlet-api.jar
export TOMCAT_HOME=/usr/local/tomcat
6. /root/.bashrc 수정
- /root/.bashrc 를 열어 Alias를 수정해준다.
alias tomcat='cd /usr/local/tomcat'
alias tstart='/usr/local/tomcat/bin/startup.sh'
alias tstop='/usr/local/tomcat/bin/shutdown.sh;pst'
alias tlog='tail -f /usr/local/tomcat/logs/catalina.out'
alias apache='cd /usr/local/apache2'
alias arestart='/etc/init.d/httpd restart'
alias astart='/etc/init.d/httpd start'
alias astop='/etc/init.d/httpd stop'
alias aalog='tail -f /usr/local/apache2/logs/access_log'
alias aelog='tail -f /usr/local/apache2/logs/error_log'
alias amlog='tail -f /usr/local/apache2/logs/mod_jk.log'
alias asslog='tail -f /usr/local/apache2/logs/ssl_access_log'
alias aselog='tail -f /usr/local/apache2/logs/ssl_error_log'
alias psj='ps -ef | grep java'
alias pst='export COLUMNS=200;ps -ef | grep java|grep tomcat'
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
alias vi='vim'
7. mod_jk 설치
- 파일 다운
- 압축을 풀어준 후
- ./buildconf.sh
- ./configure --with-apxs=/usr/local/web/apache/bin/apxs
- make
- make install
- 위 과정까지 완료하면 mod_jk.so 파일이 apache-2.0 폴더 안에 생성된다
- 생성된 파일을 /usr/local/apache2/modules/ 폴더 안에 복사해준다
8. httpd.conf 수정
- LoadModule jk_module modules/mod_jk.so 추가
- workers.properties 파일 연동
<IfModule mod_jk.c>
# Where to find workers.properties
JkWorkersFile conf/workers.properties
# Where to put jk logs
JkLogFile logs/tbook_mod_jk.log
# Set the jk log level [debug/error/info]
JkLogLevel info
# Select the log format
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
# JkOptions indicate to send SSL KEY SIZE,
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
# JkRequestLogFormat set the request format
JkRequestLogFormat "%w %V %T"
</IfModule>
- ServerName 해당서버의IP:80
- DocumentRoot, Directory 를 실제 웹 파일이 존재할 폴더의 경로로 수정
- WEB-INF 폴더의 접근 제한
<Directory "실제 웹 파일이 존재할 폴더의 경로/WEB-INF">
Order allow,deny
Deny from all
</Directory>
- #Include conf/extra/httpd-vhosts.conf 부분의 주석을 해제
9. httpd-vhosts.conf 수정
- /usr/local/apache2/conf/extra/ 폴더에 존재
- 기존의 <VirtualHost> 부분을 삭제한 후 아래 내용 삽입
<VirtualHost *:80>
ServerAdmin your@emailhere
DocumentRoot "실제 웹 파일이 존재할 폴더의 경로"
ServerName 해당서버의IP:80
RewriteCond %{REQUEST_FILENAME} \.(htm|html|xhtml|js|css|jpg|gif|png|swf)$
RewriteEngine On
RewriteRule (.*) - [L]
RewriteRule (.*) ajp://localhost:8009$1 [P]
JkMountFile conf/uriworkermaps.properties
ErrorLog logs/tbook-error_log
CustomLog logs/tbook-access_log common
</VirtualHost>
10. uriworkermaps.properties 파일 생성
- /usr/local/apache2/conf/ 폴더에 생성하여 준다.
- 아래 내용 삽입
/*.jsp = tomcat
/*.do = tomcat
/*.json = tomcat
11. workers.properties 파일 생성
- /usr/local/apache2/conf/ 폴더에 생성하여 준다.
- 아래 내용 삽입
worker.list=tomcat
worker.tomcat.type=ajp13
worker.tomcat.host=해당서버의IP
worker.tomcat.port=8009
worker.tomcat.lbfactor=1
12. tomcat 의 server.xml 수정
- /usr/loca/tomcat/conf/ 폴더에 존재
- 아래 내용 수정 및 삽입
<Host name="해당서버IP" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context docBase="실제 웹 파일이 존재할 폴더의 경로" path=""
debug="0" crossContext="true" reloadable="true"/>
13. Ant 설치
- yum install ant
14. RabbitVCS(SVN Client) 설치
- yum install rabbitvcs*
15. PostgreSQL 설치
- http://sybd.tistory.com/29 참조
16. 권한 설정
- 실제 웹 파일이 존재할 폴더에 권한을 711로 설정해준다.
17. 방화벽 설정
20, 21, 22, 80, 161(UDP),5432, 8080 포트 개방