이 글은 [Fedora 9] 간단하게 리눅스 서버 만들기의 일부로 작성된 글입니다.
"[Fedora 9] 간단하게 리눅스 서버 만들기" 글을 작성하는 동안 Fedora Core 10이 정식으로 릴리즈 되었습니다. 그리고 Subversion 과 Trac 설치 관련 내용은 참고 자료들이 많이 있기 때문에 여기에서는 간단하게 설정하는 방법과 로그형식으로 빠르게 넘어가도록 하겠습니다.
개별 기능들에 대한 내용은 전체적인 흐름과 환경에 영향을 받을 수 있다는 점을 참고하세요. 목표 시스템은 아래와 같습니다.
3차 목표 시스템 (Fedora Core 9 + Apache + PHP + MySQL + fastCGI + Textcube + Trac + Subversion + OpenSSL)
Linux : Linux reds 2.6.25.14 (Fedora Core 9)
Apache : httpd-2.2.9-1
PHP : php-5.2.6-2
MySQL : mysql-5.0.51
ProFTP :
fastCGI : mod_fcgid-2.2
Textcube : Textcube 1.7.5
Trac : trac-0.10.4
Subversion : subvresion-1.4.6
SSL을 이용해 Subversion과 Trac으로 전송되는 내용이 암호화 되도록 구성하고, 한번의 인증으로 Subversion과 Trac을 사용할 수 있도록 구성합니다.
예제로 사용되는 설정은 아래와 같습니다.
프로젝트명 : wiz Project
프로젝트 경로 : /var/local/wizp/
SVN Repo 경로 : /var/local/wizp/svn/wizp/
Trac 경로 : /var/local/wizp/trac/
SSL 인증서 경로 : /var/local/wizp/wizCK.key /var/local/wizp/wizCK.crt
계정정보 경로 : /var/local/wizp/users_passwd
SSL 설정 부분은 "OpenSSL 설치하기"를 참고하세요.
// yum 을 trac subversion python 모듈을 설치 합니다.
# yum install trac subversion mod_python
간단하게 yum을 이용해 Trac, Subversion, Python 모듈을 설치 해줍니다.
// 사용자 정보 생성 htpasswd : -c : 파일 생성하기. 처음 실행할 때 1번만 주면 된다. -m : MD5 암호화하기.
// 사용자 및 파일 생성 패스워드 파일 생성
# htpasswd -cm /var/local/wizp_set/users_passwd wiz
New password: ***** (암호 입력)
Re-type new password: ***** (암호 다시 입력)
Adding password for user wiz
별도의 계정파일을 사용하기 위해 htpasswd를 이용해 계정 정보를 생성해줍니다.
// 프로젝트 디렉토리 생성
# mkdir -p /var/local/wizp/svn/
// 디렉토리 권한 설정
# chmod 2770 /var/local/wizp/svn/wizp/
// 리포지터리(repository) 설정
# svnadmin create /var/local/wizp/svn/wizp/
// 파일 생성 확인
// Trac을 위한 프로젝트 구조 설정 (경로 앞에 file://localhost 를 붙여야한다.)
# svn mkdir file://localhost/var/local/wizp/svn/wizp/branches -m "initial structure branches"
# svn mkdir file://localhost/var/local/wizp/svn/wizp/tags -m "initial structure tags"
# svn mkdir file://localhost/var/local/wizp/svn/wizp/trunk -m "initial structure trunk"
좀 더 자세한 권한 설정 옵션은 http://svnbook.red-bean.com/en/1.0/ch06s04.html 참조하면 됩니다. 트랙 기본 구조설정은 일반적으로 사용하는 branches, tags, trunk로 구성했지만 해당 프로젝트에 적당하게 구성해주면 됩니다.
// 프로젝트 생성
# trac-admin /var/local/wizp/trac initenv
Creating a new Trac environment at /var/local/wizp/trac
<... 중략 ...>
Congratulations!
// 아파치 계정으로 소유를 변경한다.
# chown -R apache:apache ./trac/
// 관리자 권한 추가
# trac-admin /wiz_proj/dev.isblog/trac/ permission add wiz TRAC_ADMIN
// 아파치 계정으로 소유를 변경한다.
# chown -R apache:apache ./trac/
// webAdmin Plugin 설치
# yum install trac-webadmin
// webadmin 설치
# cd /usr/lib/python2.5/site-packages/webadmin
// trac 설정 파일 수정
# vi /var/local/wizp/trac/conf/trac.ini
// 설정 파일 수정
# vi trac.ini
[components]
webadmin.* = enabled
Trac의 기본적인 프로젝트 설정은 trac.ini 파일을 수정해서 변경이 가능합니다.
// 서브버전 설정을 수정 합니다.
# vi /etc/httpd/conf.d/sebversion.conf
// 모듈 추가
LoadModule dav_module modules/mod_dav.so
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
// httpd.conf 파일 수정
# vi /etc/httpd/conf/httpd.conf
// 별도 권한 파일을 사용하기 위해 authn_file_module 로딩
LoadModule authn_file_module modules/mod_authn_file.so
// 아파치 설정 - 가상호스트(virtual host) 설정
<VirtualHost *:443>
ServerName dev.isblog.joins.com
DocumentRoot /wiz_proj/dev.isblog/
SSLEngine On
SSLProtocol -all +TLSv1 +SSLv3
SSLCipherSuite HIGH:MEDIUM:!aNULL:+SHA1:+MD5:+HIGH:+MEDIUM
SSLOptions +StrictRequire
SSLVerifyClient none
SSLCertificateFile /wiz_proj/dev.isblog/wizCK.crt
SSLCertificateKeyFile /wiz_proj/dev.isblog/wizCK.key
<Location /svn>
DAV svn
#SVNParentPath /wiz_proj/dev.isblog/svn/
SVNPath /wiz_proj/dev.isblog/svn/
<LimitExcept GET PROPFIND OPTIONS REPORT>
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /wiz_proj/dev.isblog/user_passwd
#AuthzSVNAccessFile /wiz_proj/dev.isblog/svn/conf/authz
#SVNPath /wiz_proj/dev.isblog/svn
Require valid-user
</LimitExcept>
</Location>
<Location /trac>
SetHandler mod_python
PythonHandler trac.web.modpython_frontend
PythonOption TracEnv /wiz_proj/dev.isblog/trac/
<LimitExcept GET PROPFIND OPTIONS REPORT>
AuthType Basic
AuthName "Trac, Issue Tracking and Documenting"
AuthUserFile /wiz_proj/dev.isblog/user_passwd
Require valid-user
</LimitExcept>
</Location>
</VirtualHost>
// 아파치 재시작
이후에 작업할 Trac과 Subversion의 Virtual Host 설정에 인증서를 사용할 수 있도록 구성을 한 예제 입니다.
서비스 상황에 다라 적절히 수정해서 사용이 가능합니다.
실제 서비스에 사용할 경우 공인 인증 기관에서 인증을 받아야 합니다. 그렇지 않을 경우 신뢰 할 수 없는 인증서라는 경고가 뜨지만 그냥 무시하고 사용은 가능합니다.
* 간단하게 리눅스 서버 만들기
외부참고 링크
* Subversion, Trac, SSL 함께 설치하기.
* 프로젝트 관리 도구 trac 설치 방법(초안)
* Setting Up Subversion And Trac As Virtual Hosts On An Ubuntu Server
* Trac Installation Guide for 0.11
* Fedora Core 6(x86_32) + DNS + sendmail + dovecot + APM(RPM) + APM(SOURCE COMPILE)
* trac, subversion and apache on Fedora
* httpd, the Apache HTTP server
PHP 기본 문법 및 변수 (2) | 2008.12.31 |
---|---|
간단하게 리눅스 서버 만들기 (8) | 2008.12.24 |
[Fedora 9] Samba 로 윈도우와 네트워크 공유하기 (0) | 2008.12.11 |
[Fedora 9] OpenSSL 설치하기 (0) | 2008.12.01 |
[Fedora 9] fastCGI 설치 (0) | 2008.11.21 |
[Fedora9] Apache & PHP 설치 (0) | 2008.11.18 |
[Fedora 9] MySQL 설정 및 innoDB 설정 (0) | 2008.10.31 |
[Fedora9] FTP 설치 ProFTPD (2) | 2008.10.24 |