'아파치'에 해당되는 글 2건

  1. 2008/05/27 우분투 8.04에서 톰캣을 설치해 보아요.
  2. 2008/05/25 우분투 8.04에서 트랙(trac)을 설치해 보아요.
2008/05/27 00:41

우분투 8.04에서 톰캣을 설치해 보아요.

자바부터 설치해야죠.

오픈 소스 기반인 OpenJDK를 한번 써보아요.
JDK 6.0 버전이기는 한데.. 나중에 잘 안 되면 sun 자바로 바꾸면 되죠. ^^

sudo apt-get install openjdk-6-jdk

오오.. 앤트(ant)까지 깔리는군요. +_+

톰캣 5.5를 설치해 보아요.

JAVA_HOME 환경변수가 필요하네요.

export JAVA_HOME=/usr/lib/jvm/java-6-openjdk/

다음 패키지들을 설치하면 돼요.

sudo apt-get install tomcat5.5 tomcat5.5-admin tomcat5.5-webapps

만약 다음과 같은 메시지가 중간에 나오면서 에러가 나면..

* no JDK found - please set JAVA_HOME

이렇게 해야 해요.

sudo -E apt-get install tomcat5.5 tomcat5.5-admin tomcat5.5-webapps

-E 옵션을 사용하면 현재 쉘의 환경변수를 넘겨주네요.

톰캣이 시작될 때에도 JAVA_HOME 환경변수가 필요하므로, 실행스크립트를 수정해야 해요.

vi /etc/init.d/tomcat5.5

앞부분에 다음 라인을 추가하면 돼요.

JAVA_HOME=/usr/lib/jvm/java-6-openjdk/

아파치 2.2와 톰캣을 연동해 보자.

우선 아파치 2.2의 mod_jk 모듈부터 설치해야 해요.

sudo apt-get install libapache2-mod-jk

mod_jk의 설정 파일을 만들어 주어야 해요.

sudo vi /etc/apache2/mods-available/jk.conf

<ifmodule jk_module>
	JkWorkersFile /etc/apache2/jk/workers.properties
	JkShmFile /var/log/apache2/jk.shm
	JkLogFile /var/log/apache2/jk.log
	JkLogLevel info
	JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
	JkRequestLogFormat "%w %V %T"
</ifmodule>


mod_jk의 worker 설정 파일도 만들어 주어요.

sudo mkdir /etc/apache2/jk
sudo vi /etc/apache2/jk/workers.properties

다음 내용을 넣어 주어요.

worker.list=worker1

worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009
worker.worker1.lbfactor=50
worker.worker1.socket_keepalive=1
worker.worker1.socket_timeout=300

mod_jk 설정 파일과 worker의 이름이 같아야 해요.

mod_jk 모듈을 사용 가능하게 해 주어야 해요.

sudo a2enmod jk

혹시 이미 mod_jk 모듈이 사용 가능한 상태라면 다음과 같이 해줘야 해요.

sudo a2dismod jk
sudo a2enmod jk

아파치 설정도 수정해야겠죠.

sudo vi /etc/apache2/sites-available/ssl

/etc/apache2/sites-available/ssl은 기존에 존재하지 않는 파일이에요.
저는 모든 접속을 https://로 접근하게 하려고 ssl 사이트를 따로 만들어 주었어요.
아파치 설정에 의문점이 있다면 "우분투 8.04에서 아파치 2.2를 설치해 보아요."를 참고하세요.

다음 내용을 적당한 곳에 추가해 주어요.

<ifmodule jk_module>
	DocumentRoot /usr/share/tomcat5.5-webapps/ROOT/
	
	<directory /usr/share/tomcat5.5-webapps/root>
		AllowOverride None
		Order allow,deny
		allow from all
	</directory>
	
	JkMount / worker1
	JkMount /index.jsp worker1
	JkMount /manager/* worker1
	JkUnMount /*.gif worker1
	JkUnMount /*.jpg worker1
	JkUnMount /*.png worker1
	JkUnMount /*.xml worker1
	JkUnMount /*.xsd worker1
	JkUnMount /*.xsl worker1
	
	Alias /manager "/usr/share/tomcat5.5/server/webapps/manager"
	Alias /tomcat-docs "/usr/share/tomcat5.5-webapps/tomcat-docs"
	
	<directory /usr/share/tomcat5.5/server/webapps/manager>
		AllowOverride None
		Order allow,deny
		Allow from all
	</directory>
	
	<directory /usr/share/tomcat5.5-webapps/tomcat-docs>
		AllowOverride None
		Order allow,deny
		Allow from all
	</directory>
</ifmodule>


DocumentRoot가 이미 선언되어 있으면 그 뒤에 붙여넣어야 제대로 동작하겠죠?

그리고 ROOT 웹 어플리케이션을 연결해 주기위해 "/""/index.jsp" 에 대해서도 설정해 주었는데요.. ROOT 웹 어플리케이션의 내용이 바뀌게 되면 바꿔주어야 할 것 같아요. 임시방편일 뿐이죠.

결국 왠만하면 / 디렉토리는 톰캣으로 넘기지 않는 것이 상책인 것 같아요.

톰캣과 아파치를 재시작해 주면 끝이에요. ^^

sudo /etc/init.d/tomcat5.5 restart
sudo apache2ctl restart

아직 아파치와 mod_jk에 대하여 자세하게 알지 못해서 미흡하네요.
앞으로 천천히 내용을 보강해 나가야 겠어요.

환경:
    Ubuntu 8.04 Hardy Heron Server Edition - x86


Trackback 0 Comment 0
2008/05/25 09:31

우분투 8.04에서 트랙(trac)을 설치해 보아요.

일단 트랙을 설치해야겠네요.

기본적으로 python-setuptoolstrac 패키지가 필요하구요.
아파치와 파이썬을 연동하기 위해 libapache2-mod-pyhon 패키지도 필요하네요.

sudo apt-get install libapache2-mod-python python-setuptools trac

아파치로 트랙을 실행하도록 해요.

저는 HTTPS로만 접근하도록 하려고 해요. 그래서 다음과 같이..

sudo vi /etc/apache2/sites-available/ssl

기본적으로 /etc/apache2/sites-available/ssl 파일은 존재하지 않아요.
"우분투 8.04에서 아파치 2.2를 설치해 보아요."을 참고세요.

적당한 곳에 다음 내용을 넣어 주면 되요.

Alias /trac "/project/repository/issue"
<directory /project/repository/issue>
	AllowOverride None
	Options Indexes +ExecCGI MultiViews FollowSymLinks
	AddHandler cgi-script .cgi
	Order allow,deny
	Allow from all


<locationmatch /trac/[[:alnum:]]+/login>
	AuthType Basic
	AuthName "trac"
	AuthUserFile /etc/apache2/passwd
	Require valid-user
</locationmatch>

<location /trac>
	SetHandler mod_python
	PythonInterpreter main_interpreter
	PythonHandler trac.web.modpython_frontend
	PythonOption TracEnvParentDir /project/repository/issue
	PythonOption TracUriRoot /trac
</location>


트랙의 저장소를 만들어요.

/project/repository/issue 에 trac 프로젝트를 저장하기로 하죠.
일단 디렉토리를 만들구요.

sudo mkdir /project/repository/issue

새로운 프로젝트를 만들어 보아요.

저장소 위치에서 trac-admin을 사용해서 만들 수 있어요.
project라는 이름으로 저장소를 만든다고 하죠.

cd /project/repository/issue/
sudo trac-admin project initenv

트랙에 접근 가능한 사용자 그룹을 만들도록 해요.

trac 이라는 그룹을 사용하도록 하죠.
trac 그룹을 만들어 주어요.

sudo groupadd trac

/etc/group 파일을 수정해요.

sudo vi /etc/group

다음과 같이 /etc/group 파일에서 trac 그룹에 서브버전을 사용할 사용자 아이디를 추가하면 돼요.
아파치에서 접근할 수 있도록 www-data 사용자는 반드시 추가하도록 해요.

trac:x:1002:kjunine,www-data

trac 저장소의 권한을 trac 그룹에게 주고, 쓰기 권한도 주도록 해요.

sudo chgrp trac /project/repository/issue -R
sudo chmod g+w /project/repository/issue -R

마지막으로 아파치를 재시작 하면 돼요.

sudo apache2ctl restart

환경:
    Ubuntu 8.04 Hardy Heron Server Edition - x86

Trackback 0 Comment 0