기존 문서에 제시되어져 있는 구버전의 경우 현재에 잘 맞지않아
직접 테스트하여 작성하였습니다.
OS: Linux Fedora 10 (x64)
환경설정만 잘 잡혀 있는 경우 JBoss는 문제없이 작동함.
#vi /etc/profile
export JAVA_HOME={JAVA_HOME}
export PATH=$PATH:$JAVA_HOME/bin
#source /etc/profile
Apache 2.2.10 (컴파일해서 사용)
$cd {아파치 다운 받은 폴더}
$./configure --prefix={APACHE_HOME} --enable-so --enable-expires \
--enable-headers --enable-proxy --enable-deflate --enable-rewrite \
--enable-ssl --enable-maintainer-mode --enable-dav --with-port=80
$make && make install
{APACHE_HOME}/conf/httpd.conf 수정
(자신의 환경에 맞게 설정 한 후 다음 작업)
Include conf/extra/httpd-info.conf //주석 제거
conf/extra/httpd-info.conf 파일 수정
<Location /server-status>
SetHandler server-status
Order deny,allow
Deny from all
Allow from {IP_ADDR}/{SUBNET_MASK} 127.0.0.1
//접근 허용할 IP내역 기입, 공백으로 구분
</Location>
Apache와 JBoss 연동을 위한 mod_jk
$cd {Tomcat-Connectors}/native
$./configure --with-apxs={APACHE_HOME}/bin/apxs
$make && make install
{APACHE_HOME}/conf/httpd.conf 수정
Include conf/mod-jk.conf //라인 추가
{APACHE_HOME}/conf/mod-jk.conf 파일 생성
LoadModule jk_module modules/mod_jk
JkWorkersFile conf/workers.properties
JkLogFile logs/mod_jk.log
JkLogLevel info
JkLogStamFormat "[%a %b %d %H:%M:%S %Y]"
JkOptions +ForwardKeySize +ForwardURICompatUnparsed -ForwardDirectories
JkRequestLogFormat "%w %V %T"
JkMountFile conf/uriworkermap.properties
{APACHE_HOME}/conf/workers.properties 파일 생성
worker.list={ANYNAME}
(worker 추가시 콤마(,)로 구분하여 추가 a,b,c)
worker.{ANYNAME}.port=8009
worker.{ANYNAME}.host=localhost
worker.{ANYNAME}.type=ajp13
{APACHE_HOME}/conf/uriworkermap.propertie 파일 생성
/jmx-console={ANYNAME}
/jmx-console/*={ANYNAME}
/web-console={ANYNAME}
/web-console/*={ANYNAME}
JBoss 5.x 설치
JBoss를 다운로드 받은 후 압축을 해제하여 나온 폴더를 {
JBOSS_HOME}으로 함.
{
JBOSS_HOME}/server/{
SERVER_NAME}/deploy/jbossweb.sar/server.xml을 수정
<Connector protovol="HTTP/1.1" prot="8080" address"${jboss.bind.adress}"
connectionTimeout="20000" redirectPort="8443"
URIEncoding="UTF-8"/>
<Connector port="8009" address="${jboss.bind.address}" protocol="AJP/1.3"
emptySessionPath="true" enableLookups="false" redirectPort="8443" />
<Engine name="jboss.web" defaultHost="localhost" jvmRoute="{ANYNAME}" >
JBoss 5.0 MySQL설정
{JBOSS_HOME}/docs/examples/jca/안에 각종 DB설정 XML파일들이 존재함.
사용하고자 하는 DB의 xml파일을 사용하는 서버의 deploy폴더에 복사한다.
{JBOSS_HOME}/server/{SERVER_NAME}/deploy/
MySQL-DS.xml을 수정한다.
<connection-url>jdbc:mysql://mysql-hostname:3306/jbossdb</connection-url>
<user-name>x</user-name>
<password>y</password>
connection-url, user-name과 password 세부분의 정보를 알맞게 수정.
Subversion 1.5.6 설치
(default로 설치할 경우 /usr/{local|share} 사용하기 때문에 root 권한 필요, 혹은 /usr/{local|share} 소유자 변경)
$cd {SVN 다운 받은 폴더}
$./configure --prefix={SVN_HOME} --with-apxs={APACHE_HOME}/bin/apxs --with-apr={APACHE_HOME} --with-apr-util={APACHE_HOME}
$make && make install
$cd {SVN_HOME}
$./bin/svnadmin create {SVN_REPO} --fs-type fsfs
#chown -R {APACHE_USER}.{APACHE_GROUP} {SVN_REPO}
(사용할 SVN 저장소 생성하고 apache 유저/그룹에게 권한 부여)
svn을 사용할 httpd의 계정 {USER_ID} 생성
$cd {APACHE_HOME}/conf
$./../bin/htpasswd -c passwd {USER_ID}
New Password:
Re-type new pasword:
(위 과정인 {APACHE_HOME}/conf 폴더 밑에 passwd 파일 생성 추후에 svn을 사용할 httpd 계정 생성때에는 -c 옵션 불필요,
※주의 {APACHE_HOME}/conf 폴더 밑에서 htpasswd 파일 수행, htpasswd를 수행한 폴더에 passwd 파일 생성)
Subversion과 Apache 연동위한 httpd.conf 수정
<Location /{SVN_REPO}>
DAV svn
SVNPath {SVN_HOME}/{SVN_REPO}
AuthType Basic
AuthName "blablabla"
AuthUserFile {APACHE_HOME}/conf/passwd
Require valid-user
</Location>
Trac 설치 및 설정
Trac의 경우 python으로 작성되었기에 파이썬이 없으면 사용 못함 (but 리눅스에는 python 2.4이상이 친절히 깔려있다.)
mod_python이 설치되어 있어야 하지만.. 크게 문제 없었음.
#python setup.py build
#python setup.py install
(python으로 생성하는 경우 /usr/{local|share}에 trac 폴더가 생성된다. 추후에 /usr/share/trac 밑의 폴더를 사용하게 되는데
TRAC_SHARE=/usr/share/trac/htdocs, 시스템마다 이 기본 위치는 바뀔 수 있다.)
trac.cgi 파일 복사
/usr/share/trac/cgi-bin/trac.cgi 파일을 {APACHE_HOME}/cgi-bin/ 밑으로 복사
trac home폴더 및 trac에서 사용할 저장소 생성
$mkdir {TRAC_HOME}
$cd {TRAC_HOME}
$trac-admin {TRAC_HOME}/{REPO_NAME} initenv
({REPO_NAME}과 {SVN_REPO}의 이름은 달라도 상관없음)
설치 과정에 필요한 정보를 묻는 과정은 엔터로 패스
마지막 부분에 [Path to Repository] 에서 {SVN_HOME}/{SVN_REPO} 입력
#chown -R {APACHE_USER}.{APACHE_GROUP} {TRAC_HOME}
trac와 아파치 연동을 위한 httpd.conf 수정
<Location /cgi-bin/trac.cgi>
SetEnv TRAC_ENV "{TRAC_HOME}/{REPO_NAME}"
</Location>
<Location /cgi-bin/trac.cgi/login>
AuthType Basic
AuthName "blablabla"
AuthUserFile {APACHE_HOME}/conf/passwd
Require valid-user
</Location>
<Directory {TRAC_SHARE}>
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
Trac 사용중 소스 코드에 한글이 포함되는 경우 깨져서 보일 것이다.
그냥 ini파일 수정 하면 된다.
{TRAC_HOME}/conf/trac.ini
#default_charset=iso-blablabla을
default_charset=utf-8 으로 수정