'아파치2.2'에 해당되는 글 3건

  1. 2008/05/27 우분투 8.04에서 톰캣을 설치해 보아요.
  2. 2008/05/25 우분투 8.04에서 트랙(trac)을 설치해 보아요.
  3. 2008/05/25 우분투 8.04에서 아파치 2.2를 설치해 보아요.
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
2008/05/25 00:34

우분투 8.04에서 아파치 2.2를 설치해 보아요.

몇일을 여기저기 뒤져보면서 힘들게 배웠는데..
결국 우분투 서버 가이드에 다 나와 있었네요. ㅠ_ㅠ
앞으로 우분투 서버 가이드를 잘 살펴 보아야겠어요. ^^

먼저 아파치를 설치해 보아요.

역시 설치가 매우 간단하네요. 이런 게 우분투의 매력이겠죠? ^^;

sudo apt-get install apache2

아파치 2.2 버전이 깔리네요.
서브버전이나 파이썬 연동을 위해서 앞으로 다른 패키지들을 설치할 필요가 있겠지만, 지금은 딱 여기까지만 하면 돼요.

개인키와 공개키(인증서)를 만들어 보아요.

처음에 기본으로만 설치를 했더니 openssl도 설치되어 있지 않네요.
설치해 보죠.

sudo apt-get install openssl

개인키 파일과 인증서 파일을 만들죠.
다음에 나오는 3가지 방법 중 아무거나 해도 되네요.
(파일 이름은 kjunine.key, kjunine.crt로 만들께요.)

openssl genrsa -des3 -out kjunine.key 1024 openssl req -new -key kjunine.key -out kjunine.csr
openssl x509 -req -days 1825 -in kjunine.csr -signkey kjunine.key -out kjunine.crt

openssl genrsa -des3 -out kjunine.key 1024 openssl req -new -x509 -nodes -sha1 -days 1825 -key kjunine.key -out kjunine.crt

openssl req -new -x509 -keyout kjunine.key -out kjunine.crt -days 1825

어떤 식으로 하든 결국 필요한 것은 개인키 파일(key 파일)과 인증서 파일(crt 파일)이구요.
중간에 입력하는 개인키의 비밀번호를 반드시 기억해야 해요.
그리고 가능하면 csr 생성 시에 Common Name에는 서버의 도메인 네임을 입력해야 해요.

다음 위치에 복사하도록 하죠. (굳이 어디에 있든 별로 상관은 없어 보이지만..)

sudo cp kjunine.crt /etc/ssl/certs/ sudo cp kjunine.key /etc/ssl/private/

아파치에서 SSL을 사용해 보아요.

우선 다음 명령어로 SSL 모듈을 가능하게 하죠.

sudo a2enmod ssl

위 명령어는 /etc/apache2/mods-available/ssl 파일을 /etc/apache2/mods-enable/ssl 파일에 링크시켜주는 것과 동일한 효과를 내어요.

그리고 default 사이트를 수정하죠.

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

NameVirtualHost *:80
<virtualhost *:80>
	ServerAdmin kjunine@kjunine.net
	ServerName dev.kjunine.net
	DocumentRoot /var/www/

	ServerSignature On

	<directory>
		Options -Indexes -FollowSymLinks
		AllowOverride None
		Order deny,allow
		Deny from all
	</directory>

	<directory /var/www>
		AllowOverride None
		Order allow,deny
		allow from all
	</directory>

	ErrorLog /var/log/apache2/error.log
	LogLevel warn

	CustomLog /var/log/apache2/access.log combined
</virtualhost>


그리고 ssl 사이트를 만들어 주어요.

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

<ifmodule ssl_module>

	NameVirtualHost *:443
	<virtualhost *:443>
		ServerAdmin kjunine@kjunine.net
		ServerName dev.kjunine.net
		DocumentRoot /var/www/

		ServerSignature On

		SSLEngine on
		SSLCertificateFile /etc/ssl/certs/kjunine.crt
		SSLCertificateKeyFile /etc/ssl/private/kjunine.key

		<directory>
			Options -Indexes -FollowSymLinks
			AllowOverride None
			Order deny,allow
			Deny from all
		</directory>

		<directory /var/www>
			AllowOverride None
			Order allow,deny
			allow from all
		</directory>

		<location /server-status>
			SetHandler server-status
			Order deny,allow
			Deny from all
			Allow from localhost ip6-localhost
			Allow from 192.168.10.
		</location>

		ErrorLog /var/log/apache2/error.log
		LogLevel warn

		CustomLog /var/log/apache2/access.log combined
		CustomLog /var/log/apache2/ssl_access.log "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
	</virtualhost>

</ifmodule>


ssl 사이트를 사용 가능하게 하죠.

sudo a2ensite ssl

위 명령어는 /etc/apache2/sites-available/ssl 파일을 /etc/apache2/sites-enable/ssl 파일에 링크시키는 것과 동일한 효과를 내어요.

a2enmod, a2dismod, a2ensite, a2dissite 명령어는 우분투에서 모듈과 사이트를 사용 가능/불가능하게 변경하는 명령어에요.
Apache 설정 파일에 대해서는 여기서 설명하기는 힘드네요. 아파치 문서를 참고하세요.

아파치를 다시 시작해야 해요.

개인키 파일을 루트 권한으로만 읽을 수 있기 때문에 sudo 명령어를 사용해야 하네요.

sudo apache2ctl restart

리스타트가 잘 안 되면 일단 정지시켰다가 새로 시작하도록 해보아요.

sudo apache2ctl stop
sudo apache2ctl start

다시 시작할 때 개인키 파일의 비밀번호를 입력해야 해요.

그러나..

서버를 재시작(reboot)할 때 비밀번호를 입력해야 하는데 불가능하다는 문제점이 있네요.

비밀번호가 안 걸려 있는 키 파일을 하나 만들어야 겠네요.

openssl rsa -in kjunine.key -out kjunine.key.for.apache2

새로 만든 키 파일을 /etc/ssl/private 디렉토리에 복사해 주어요.

sudo cp kjunine.key.for.apache2 /etc/ssl/private/

아시겠지만 /etc/ssl/private 폴더는 오직 루트 권한으로만 접근이 가능하답니다.

그리고 /etc/apache2/sites-available/ssl 파일을 수정해야죠.

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

아래 부분을..

SSLCertificateKeyFile /etc/ssl/private/kjunine.key

다음과 같이 고쳐 주세요.

SSLCertificateKeyFile /etc/ssl/private/kjunine.key.for.apache2

마지막으로 다시 서버를 재시작하면 되겠네요.

sudo apache2ctl restart

환경:
    Ubuntu 8.04 Hardy Heron Server Edition - x86

Trackback 0 Comment 0