Subversion with HTTPS/Trac. on Ubuntu 12.04 LTS

Dev./Sec. Study/참고자료 2012.09.19 17:43

손이 많이 가네요;


삽질 끝에 성공하고 정리하는 거라서,


마지막에 안될 수도 있지만.. 그쪽은 각자 센스로 커버합시다.



설정 파일들 건드리기 전에 준비부터 다 해봅시다.


1. apt 관리자를 이용해 필요한 패키지 설치

subversion python libapache2-svn libapache2-mod-python python-setuptools python-genshi python-sqlite


2. openssl로 인증서 만들기

<SSL 인증서 넣어둘 경로에서> # openssl req -new  -x509 -nodes -out server.crt -keyout server.key


3. python easy_install을 이용해 필요한 모듈 설치

easy_install babel

easy_install Pygments

easy_install docutils

easy_install epydoc

easy_install textile


4. trac 및 trac plugin 설치

# trac 설치

svn co http://svn.edgewall.org/repos/trac/branches/0.12-stable trac

cd trac

./setup.py compile_catalog --use-fuzzy

./setup.py install


# trac plugin

http://trac-hacks.org/wiki/HackIndex

# 들어가서 필요한 플러그인 받아서 설치

# 우선 주요 플러그인만..

# AccountManagerPlugin, SvnAuthzAdminPlugin, TracIniAdminPanelPlugin, PermRedirectPlugin




이제 필요한건 대충 설치 한 것 같으니, 설정하러 가봅니다.


1. 우선 apache2부터 합니다.

# /etc/apache2/sites-enabled 디렉터리에서

cp ../sites-available/default-ssl ./ssl



# /etc/apache2/sites-enabled/ssl 파일을 열어서

SSLCertificateFile    <2번의 SSL 인증서 넣어둘 경로에서>/server.crt

SSLCertificateKeyFile <2번의 SSL 인증서 넣어둘 경로에서>/server.key


2. https를 위한 apache2 configuration

# /etc/apache2/sites-enabled/ssl 파일을 열어서 VirtualHost *:443 으로 바꿔주고,

# 기본 root url로 접속할 디렉터리를 각자 맞게 지정해줍니다.

# (내비둬도 되고요. 바꾸시면 default http 도 바꿔주시는게 좋을 듯?)


# 그리고 전 제가 관리하는 디렉터리에서 직접 trac/svn 경로 설정 파일을 두려고 .vhost 라는 파일을 만들었어요.

# sites-enabled/ssl 파일에는 제일 밑에 아래처럼 해두었어요

include <VIRTUAL_HOST_PATH>/.vhost


# 이렇다 보니, apache2도 제 계정으로 동작하는게 편해서 데몬 계정을 제 계정으로 바꿨어요

# /etc/apache2/envvars에서 이렇게.

export APACHE_RUN_USER=<USERNAME>

export APACHE_RUN_GROUP=<GROUPNAME>


# ssl 설정이 끝났다면, apache2에 ssl 모듈을 enable 시켜줍니다.

sudo a2enmod ssl


# 참고로 작업이 끝난 후의 .vhost 파일 내용은 이래요.

<Location /trac>

    SetHandler mod_python

    SetEnv PYTHON_EGG_CACHE /home/repository/trac/.cache

    PythonHandler trac.web.modpython_frontend

    PythonOption TracEnvParentDir /home/repository/trac

    PythonOption TracUriRoot /trac

</Location>


<Location /svn>

    DAV svn

    SVNParentPath /home/repository/svn

    AuthType Basic

    AuthName "cheroxy"

    AuthUserFile /home/repository/.passwd

    AuthzSVNAccessFile /home/repository/svn/authz

    <LimitExcept GET PROPFIND OPTIONS REPORT>

        Require valid-user

    </LimitExcept>

</Location>

# <LimitExcept>는 권한이 필요 할 때만 인증하도록 해줍니다


# 계정 관리는 아래에서 따로 합니다.


# 만약 설치 후 첫 접속에서, 관리자 권한으로 trac에 접속하지 못하면,

# trac에서 http-basic-authentication 으로 접속하고 설정 후에 복구하시면 될거 같네요



이제 svn과 trac 설정을 해보죠


1. svn repository 및 trac 초기 설정

# 전 /home/repository 에 svn 디렉터리와 trac 디렉터리를 만들어 두고, 각각을 따로 작업했습니다.

# trac은 밑에 .cache 라는 캐시 디렉터리도 만들어줬고요.

# 설명을 위한 프로젝트 명은 cheroxy 예요 :)


# subversion

# svn 명령어 뒤 쪽에 -m 옵션은 changeset 메시지니까 바꾸셔도 됩니다.

svnadmin create /home/repository/svn/cheroxy

svn mkdir file://localhost/home/repository/svn/cheroxy/branches -m "initial structure1"

svn mkdir file://localhost/home/repository/svn/cheroxy/tags -m "initial structure2"

svn mkdir file://localhost/home/repository/svn/cheroxy/trunk -m "initial structure3"


# trac 생성 및 관리자 권한 주기

trac-admin /home/repository/trac/cheroxy initenv

trac-admin /home/repository/trac/cheroxy permission add <USERNAME> TRAC_ADMIN


# 계정 파일 생성 해 줘야해요. 전 .passwd라는 파일로 만들었습니다

htpasswd -c .passwd <USERNAME>


# authz 파일도 만들어요

# 대문자로 된 것들이 직접 써주면 됩니다

# 그룹 지정도 가능하고 프로젝트 하위의 특정 경로에 권한을 주는 것도 가능해요

# 아래 예제는 프로젝트에 GROUP1은 읽기/쓰기, USER3은 읽기만, 그 이외에는 아무 권한도 없도록 설정한 것이에요

[groups]

GROUP1=USER1,USER2


[/]

*=

USER1=r


[PROJECT:/]

*=

@GROUP1=rw

USER3=r


...


2. trac 설정. <trac-project>/conf/trac.ini

# svn 경로 입력

# 보통 설치하면 다 연동되는 거 처럼 기재된 내용들이 많았는데, 전 안되서 한참 고민하다가 해결했네요.

# apache2 restart 하고 접속 했더니, 소스보기도 되고 잘되는거 같다 ! 하시면 안해도 될 듯.

# 이건 있는 내용이니 repository_dir 만 수정하시면 됩니다.

[trac]

...

authz_file = /home/repository/svn/authz

authz_module_name = cheroxy

...

repository_dir = /home/repository/svn/cheroxy


# tab-width 조정

# 있는거에서

[mimeviewer]

...

tab_width = 4


# trac 로그인 페이지 사용하기

# 없으면 추가하시면 되요.

[components]

trac.web.auth.loginmodule = disabled


# PermRedirectPlugin

# 없으면 추가하시면되요.

# 참고로 자동으로 설정되면 기본으론 이렇게 나옵니다.

# permredirect.filter.permredirectmodule = enabled

[components]

permredirect.* = enabled


# account-manager plugin

# 없으면 추가하시면 되요.

#  password_store 설정 안했더니, trac에서 계정 조회 할 때 이런 오류가 나더라구요.

# This password store does not support listing users.

[account-manager]

...

password_file = /home/repository/.passwd

password_store = HtPasswdStore



Trouble-Shoot


# Unsupported version control system "svn"

# 이 처럼 나오는 경우, trac admin page 에서 SubversionConnector 를 enable 시키거나,

# trac.ini 에서 다음과 같이 입력합니다.

tracopt.versioncontrol.svn.svn_fs.subversionconnector = enabled


# 이랬는데 No module named 라는 오류가 뜬다면, 다음 패키지를 설치하세요

python-subversion


# python 에서 import svn 해보시고 오류 메시지가 안나타나면 되는 것 같네요.


Invalid command 'AuthzSVNAccessFile', perhaps misspelled or defined by a module not included in the server configuration

# 이렇게 나오면,

/etc/apache2/mods-available/authz_svn.load

# 이 아이를

/etc/apache2/mods-enabled/authz_svn.load

# 로 symbolic-link 해줍니다


기억을 더듬고 자료를 검색해 가면서 정리하면 이정도 인 것 같네요.


https://<domain>/trac


접속 해서 로그인하고 설정은 각자 알아서 해봅시다.


위 과정이 다 되면 이렇게 됩니다.




설정

트랙백

댓글

[SQLite3] improve performance for transaction

Dev./Sec. Study/참고자료 2012.06.13 11:05

database에 변화가 생기는 작업은 자동적으로 트랜잭션이 발생하며,

쿼리 수행 시에 트랜잭션이 시작 및 완료된답니다.


begin/commit 을 이용해 매뉴얼로 트랜잭션을 지정해주면,

그 안에서 일어났던 작업들을 commit 될 때 모두 적용 한다네요.


http://www.sqlite.org/lang_transaction.html



간단한 technical-article도 있었는데, 괜찮네요

http://stackoverflow.com/questions/1711631/how-do-i-improve-the-performance-of-sqlite



설정

트랙백

댓글

links for programming

Dev./Sec. Study/참고자료 2012.01.10 16:08
http://www.acme.com/
http://www.boost.org/

http://visualstudiogallery.msdn.microsoft.com/


http://www.computerhope.com/unix/uld.htm

설정

트랙백

댓글

mysql에서 동일한 환경 및 encoding을 사용한 db 이전 시 한글 깨질 때

Dev./Sec. Study/참고자료 2009.12.30 07:37
교수님 홈페이지를 이전할 때 마다 고생이군요.

LAMP 서버에서 APMSETUP6 under Windows 2008 R2 로 갈아탈 때 상래(http://hacking4u.tistory.com) 고생하고

어젠 서버가 죽어서 새로 설치하고 백업한거 이전 시켰더니 개박살 나더군요.

Windows 2008 R2 로 다시 설치하고 APMSETUP6 설치했는데..


kldp(http://kldp.org/node/95722)에 좋은 글 들이 많았으나... 해결 못하고..

결국..

제작사 홈페이지가 짱이군요.


설정

트랙백

댓글

IPv6 정보

Dev./Sec. Study/참고자료 2009.06.28 03:14

ipv6의 개요, 특징, 구조, 확장헤더

출처: http://tong.nate.com/ssabro/27489295

IPv6 헤더 구조


출처: http://ryujeen.tistory.com/132

설정

트랙백

댓글

[펌] Visual C++ 6.0 에서 "열기" 시에 오류

Dev./Sec. Study/참고자료 2009.04.07 21:43
예전에 노트북에서 이랬었는데 (지금은 ubuntu intrepid 써서 신경껐지만요)
1년 넘게 쓴 PC에서도 이러는 줄 몰랐네요..

백경호 교수님께서 직접 하드를 밀고 새로 실험해본 결과..
ms office 2k7 때문이라는군요 -ㅅ-;
(정말 그것 때문인지는 모르겠습니다만..)

filetool 이라는 add-in 을 쓰는 방법도 있었는데, 그런건 싫어서 좀 더 찾아보니
vbdream님께서 좋은 글을 올려주셨기에 실어봅니다.

보기



출처 : http://vbdream.tistory.com/

좋은글이 상당히 많네요 ^^;


설정

트랙백

댓글

특수문자 명칭.

Dev./Sec. Study/참고자료 2007.08.11 00:33

출처 : http://blog.paran.com/windmoon/19555581

! → Exclamation Point(wow, hey)=느낌표, 감탄부, 감탄 부호
" → Quotation Mark(double quote)=큰따옴표
# → Crosshatch, Sharp, Pound Sign=망상선, 올림표, 중량 단위
$ → Dollar Sign(currency symbol)=달러 기호 
% → Percent Sign(double-oh-seven, grapes)=퍼센트 기호
@ → At Sign(At Mark), Commercial At(each, rose)=골뱅이
& → Ampersand, short and=앤드 마크, 앤드
` → (enter 바로 옆) Apostrophe=아포스트로피, 생략 또는 소유격 기호
* → Asterisk(star, spider, times, wildcard)=별표
- → Hyphen, Dash=연자 부호, 줄표
. → Period, Full Stop(dot, decimal point)=마침표, 종지부
/ → Slash, Virgule(spare, divided-by)=사선(빗줄, 빗금), 분할선
\ → Back Slash=한글 윈도에서는 \(원 사인)으로 표시됨.
\ → Won sign=원
→ Colon=콜론, 쌍점
; → Semicolon=세미콜론, 쌍반점
^ → Circumflex(carrot, hat, cap)=모자, 위 꺾쇠
` → (숫자 1 키 바로 옆) Grave(accent, back quote)=강세표
{ → Left Brace=중괄호 열기, 꽃잎묶음표(북한어)
} → Right Brace(unbrace)=중괄호 닫기
[ → Left Bracket=대괄호 열기, 꺾쇠표, 각괄호, 꺾괄호, 꺾쇠괄호
] → Right Bracket(unbracket)=대괄호 닫기. 꺾쇠표, 각괄호, 꺾괄호, 꺾쇠괄호
( → Left Parenthesis(so, sad)=소괄호 열기
) → Right Parenthesis(paren, happy)=소괄호 닫기
| → Vertical Bar(pipe, vertical line, broken line)=곧추선
~ → Tilde(swung dash)=물결표
= → Equal Sign(gets, becomes)=같음표, 등호
+ → Plus Sign(add, cross, and)=덧셈표, 더하기표, 덧셈 부호, 보탬표, 플러스
- → Minus Sign(dash, option)=뺄셈표, 감법 기호, 감산 부호, 마이너스, 빼기표, 뺄셈 부호
_ → Underscore, Underline, underbar=밑줄, 하선, 언더라인
< → Less Than Sign(Left Angle Bracket)=꺾음 괄호 열기
> → Greater Than Sign(Right Angle Bracket)=꺾음 괄호 닫기
? → Question Mark(query, what mark, what)=물음표

설정

트랙백

댓글

mysql 명령어

Dev./Sec. Study/참고자료 2007.07.09 19:50

퍼왔음.

보기 편하게 잘 정리되어 있길래 ~_~;

수고하셨습니다 (_ _)


출처는 항상 링크로 !

출처 없음 때린다 !!

설정

트랙백

댓글

IIS 윈도우 퍼미션 설정

Dev./Sec. Study/참고자료 2006.11.10 18:55

&gt;&gt; 펌

IIS

설정

트랙백

댓글