DevOn-CI 의 hudson 플러그인에 간결하게 잘 나온 설명이 있어서 발췌한다.

Users
    사용자 계정을 관리합니다.
    한글 이름을 사용할 수 있습니다.
    비밀번호에는 한글을 사용할 수 없습니다



Groups
    계정을 그룹으로 묶어서 관리합니다.
    아래와 같은 양식으로 작성합니다.

    group = user1, user2, ...

Authz
    접근권한을 설정합니다. 다음과 같은 형태로 권한을 설정할 수 있습니다.
      - 단일 사용자                                   
      - [groups] 섹션에서 정의된 그룹 사용자         
      - 와일드크드 '☆' 는 모든 사용자를 의미함 
      - 롤 앞에 '~' 를 붙이면 반전을 의미함        

    접근권한 설정은 다음 3가지로 할 수 있습니다.
      - 'r' 읽기    
      - 'rw' 읽기/쓰기
      - '' 권한없음 

    예) 아래와 같이 작성하면 다음의 접근권한 제어가 발생한다.
      - sysadmin 계정은 모든 경로에 읽기/쓰기 가능
      - sys 그룹은 모든 경로에 읽기/쓰기 가능
      - adm 그룹은 tags, branches, trunk 경로에 읽기/쓰기 가능
      - dev 그룹은 trunk 경로에만 읽기/쓰기 가능
      - 계정이 없는 사용자도 읽기는 가능

        [/]
        @sys = rw
        * = r
        
        [/tags]
        @sys = rw
        @adm = rw
        * = r
        
        [/branches]
        @sys = rw
        @adm = rw
        * = r
        
        [/trunk]
        @sys = rw
        @adm = rw
        @dev = rw
        * = r


심플하다.~

반응형
블로그 이미지

Good Joon

IT Professionalist Since 1999

,
1. 백업

svnadmin dump %REPODIR% > %REPOBACKUP%

2. 복원

svnadmin load %REPODIR% < %REPOBACKUP%

반응형
블로그 이미지

Good Joon

IT Professionalist Since 1999

,

SVN 은 CVS 와 다르게, 기본 설정이, Anonymous 사용자에게 모든 권한이 주어진다.
아래 방법대로 계정을 추가하고, 인증 방식을 설정한다

1. 계정 추가하기

계정은 <CVS REPOSITORY>/conf/passwd 파일에 쓰면 된다.
 [users]
 # harry = harryssecre
 # sally = sallyssecre
user1 = password1
user2 = password2

와 같이, 계정 = 패스워드 방식으로 [users] 섹션에 선언하면 된다.

2. 인증 사용하도록 설정

위와같이 계정만 추가한다고 인증이 실행되는게 아니라, <CVS REPOSITORY>/conf/svnserve.conf 파일을 수정해줘야 한다

[general]
anon-access = none
auth-access = write
..
password-db = passwd
..
realm = Study Codes Repository for Joon
..


위와 같이 설정하도록 한다.
다 이해 갈 것이고, realm 은 인증 시에 사용자에게 보여질 인증 메세지 이다
보통, 현재 Repository 의 설명 정도를 넣어주면 되겠다.




반응형
블로그 이미지

Good Joon

IT Professionalist Since 1999

,
 First of all, there are good link collection page on the internet, so that you can refer to those linked pages for installation of CVS and CVS Server Daemon on each Linux Machines.

CASE 1 : Install CVS using apt-get and xInetd

1. Use apt-get to install CVS.
$ apt-get install cvs

2. Make an account for cvs repository management if possible.
$ useradd -m -G dev srcmanager
$ passwd srcmanager
$ su - srcmanager

3. make a directory for cvs repository and initialize it to serve as cvs repository
$ mkdir cvs_repository
$ chmod g+s cvs_repository
$ cvs -d :local:/home/srcmanager/cvs_repository init

4. Create a xinetd service file as follow and name it to "cvs_pserver". (do this under su privilege)
service cvspserver
{
        socket_type     = stream
        wait            = no
        user            = root
        group           = cvsuser
        env             = HOME=/home/srcmanager/cvs_repository
        server          = /usr/bin/cvs
        server_args     = -f --allow-root=/home/srcmanager/cvs_repository pserver
        disable         = no
}

5. restart xinetd
$ invoke-rc.d xinetd restart

6. check if cvspserver service port (2401) is listening well
$ netstat -an | grep 2401

반응형
블로그 이미지

Good Joon

IT Professionalist Since 1999

,
htpasswd 기반의 사용자 생성은, AccountManager 플러그인을 사용해서 쉽게 할 수 있다 치고, 권한을 사용자에게 할당해야하는 부분이 남아있다.

Trac 의 권한 설정은 처음에는 좀 낮설었지만, 조금 하다 보니 어느정도 이해가 간다. (그렇지만 아직 사용자를 그룹핑하는 방법을 몰라서 조금 아쉬운데..)

우선, admin 권한의 사용자로, Admin>Permissions 메뉴로 들어가면 아래와 같은 화면이 나온다.


그러면 위에서와 같이, 우측에 Grant Permission: 과 Add Subject to Group 이라고 나온다.

우선, Grant Permission에서,
Subject 에는, 권한그룹명을 써준다. 여기서는, "리더" 라는 권한그룹명(그룹명)을 써준다.
그리고, Action 에서, 해당 권한을 골라서 하나씩 추가해줄 수 있다.

Add Subject to Group: 에서는, 사용자에게, 권한그룹을 할당할 수 있다.
혹은, 권한그룹에 다른 권한그룹을 할당할 수 있다. (즉, 여러 권한들을 모아서 하나의 권한집합 생성도 가능)
여기서는, korean44 라는 사용자에게, "리더" 라는 권한그룹을 할당 한 것이다.

복수개의 권한이 적용 가능하며(아직 안해봤지만 그리 되겠지), 권한그룹이 다른 권한그룹을 포함할 수 있다.
단, 권한그룹에 사용자를 추가하는 방법은 불가하다. 사용자가 권한그룹을 갖는것은 가능하지만 말이다.
반응형
블로그 이미지

Good Joon

IT Professionalist Since 1999

,

Trac 의 기본 textarea 기반의 에디터는 정말.. 말이 안나온다.

어느정도 기본적인 기능을 갖춘 WYSIWYG 에디터 플러그인을 설치해서 사용하도록 한다.

[다운로드]


그런데 왜 그 흔한 색상지원이 안되는건지 모르겠다. 다른 플러그인이 또 있으려나..

반응형
블로그 이미지

Good Joon

IT Professionalist Since 1999

,

Ticket 삭제는 내부에 기능이 없고, 별도의 플러그인을 설치해야 한다.

TicketDeletePlugin 을 다운로드 해서 설치해준다.

그러면 Admin 메뉴에 Ticket Sysems> delete, delete Change 와 같은 메뉴가 생긴다.


삭제 시에는, Ticket 의 ID (티켓 번호 #100 --> 100) 가 필요하다.
선택이 아니라, 직접 입력해야 한다.


왜 직접 ID를 적게 하고, Again 에서, 같은 ID 를 또한번 넣게 하는지 모르겠다.. 두번 입력하는것 좋은데, 선택할 수 없는게 약간 답답하기는 하다.


반응형
블로그 이미지

Good Joon

IT Professionalist Since 1999

,

Trac 에는, 많은 플러그인들이 있고, 많은 3rd Party 프로그램 통합플러그인 (Eclipse Mylyn Connector 포함), 매크로, 플러그인, 패치(Trac 소스를 수정한 것), 스크립트, 테마, Ticket Workflows 들을,

Trac-Hacks 사이트에서 다운로드 받을 수 있다.

1. IniAdmin 플러그인

Trac 의 설정파일인 <trac설치디렉토리>/conf/trac.ini 파일을 웹으로 관리할 수 있도록 해주는 플러그인.
trac.ini 에는, DB 를 비롯한 각종 설정이 존재한다. IniAdmin 플러그인 설치해서 쉽게 설정하도록 하자.

가. trac 0.11 용 zip 파일을 다운로드 받는다.
나. 다운로드 받은 파일 압축을 푼다.
다. 아래와 같이 설치한다.

python setup.py install

자동으로 설치가 완료된다.

라. Apache 를 Restart 하고, trac 프로젝트 사이트에 Admin 메뉴로 들어가면 아래와 같이 플러그인이 설치되었음을 확인한다


마. "Apply Chages" 버튼을 눌러서 적용한다. 그러면, Administration 메뉴에, trac.ini 메뉴가 추가되는 것을 확인할 수 있다.


2. AccountManager 플러그인

기본적으로, Trac 에서는, Http Authentication 을 사용한 로그인방식을 사용하고, 관리자가 수동으로 htpasswd 에 계정 등록 하고, trac 에 해당 계정을 다시 한번 설정해준다. (이전 #2 에서 설정한 방법)

AccountManager 플러그인으로, 웹화면 기반의 로그인과 웹을 통한 사용자 계정 관리가 가능해진다.

다운로드 버전과, ez_install 을 사용하는 방법이 있는데, ez_install 사용시에, 내부적으로 svn 을 사용하므로, 아직 svn 을 설치하지 않았으므로, 다운로드 버전으로 설치한다.

다운로드 압축 푼 디렉토리에서,

python setup.py install

을 실행하면 설치된다.


Apache 를 Restart 한 후에, Adminitration 메뉴에서, 위와 같이, tracaccountmanager 가 나오면 성공이다.

AccountManager 플러그인 내에는 많은 기능들을 Enable 시킬 수 있는데, 이중
- AccountManagerAdminPage
- AccountManager
- HtpasswdStore
- AccountModule
등을 포함하여 선택하면 된다.

Enable 을 완료했으면, Admin 메뉴에 "Account" 메뉴가 추가된 것을 볼 수 있다.
Configuration 을 눌러, htpasswd 경로 등을 설정한다.


설정이 제대로 되었으면, Users 메뉴에서, 사용자를 추가/삭제 할 수 있다.


3. Timing & Estimation 플러그인

일정 예측과 작업시간 관리하는 기능의 플러그인이다. Must-Have 플러그인이므로 반드시 설치한다.

1. trac-hacks.org 사이트에서 trac 0.11 용 TimingAndEstimation 플러그인을 다운로드 받는다
2. 압축을 풀고,
python setup.py install
명령을 실행시켜 설치한다.
3. <python home>/Scripts/trac-admin.exe <trac 환경 디렉토리> upgrade 를 실행하여, DB 스키마를 업그레이드 해야한다.
trac-admin E:\TeamBuild\trac_project\teamjoon upgrade
* 만약, no upgrade necessary 나오면, 그냥 다음 진행하고, 플러그인 enable 시킬 때 에러가 나면 그때 다시한 번 한다.
4. Apache 를 재시작 한다
5. admin 화면에서 플러그인을 Enable 시킨다.

최종 완료하면, 메뉴 상단 탭에 "Management" 라는 탭이 새로 생성된다.



여기까지, 아주 기본적인 플러그인을 설치해봤다. 이외에도, 엄청나게 많은 플러그인들이 존재하므로, 향후 하나씩 사용해보도록 하자.
반응형
블로그 이미지

Good Joon

IT Professionalist Since 1999

,
 trac 설치 과정이 좀 복잡했다. 무려 7가지나 되는것들을 설치해줘야 한다. 그것도 Windows Installer 를 사용하니 그나마
과정이 조금 단순화 된 것이다.

 지금부터는 trac 을 처음 사용하기 위해 관련한 설정을 해보도록 한다.
 여기서는 teamjoon이라는 이름의 테스트 프로젝트를 신규 프로젝트로 한다.


1. 새 Trac 프로젝트 생성

 <python디렉토리>\Scripts\trac-admin.exe 를 통하여 신규 프로젝트를 생성할 수 있다.

 그 전에, trac 환경 디렉토리(projenv)를 생성해야 한다.
 E:\TeamBuild\trac_project 디렉토리를 trac 프로젝트 루트 디렉토리로 사용하겠다.
 그리고, 하위 디렉토리에, 프로젝트 이름으로 teamjoon 이라는 디렉토리를 만든다.

E:\TeamBuild\python2.5.4\Scripts\trac-admin.exe  E:\TeamBuild\trac_project\teamjoon initenv

그럼 이때부터 여러가지를 물어온다.

Project Name [My Project]> teamjoon
...
Database connection string [sqlite:db/trac.db]> (그냥 엔터)
...
Repository type [svn]> (SVN 사용할 것임. 그냥 엔터)
...
Path to repository [/path/to/repos]> E:\TeamBuild\repository\teamjoon
...

모두 끝내면 다음과 같이 메세지 나온다.

---------------------------------------------------------------------
Warning: couldn't index the repository.

This can happen for a variety of reasons: wrong repository type,
no appropriate third party library for this repository type,
no actual repository at the specified repository path...

You can nevertheless start using your Trac environment, but
you'll need to check again your trac.ini file and the [trac]
repository_type and repository_path settings in order to enable
the Trac repository browser.

---------------------------------------------------------------------
Project environment for 'teamjoon' created.

You may now configure the environment by editing the file:

  E:\TeamBuild\trac_project\teamjoon\conf\trac.ini

If you'd like to take this new project environment for a test drive,
try running the Trac standalone web server `tracd`:

  tracd --port 8000 E:\TeamBuild\trac_project\teamjoon

Then point your browser to http://localhost:8000/teamjoon.
There you can also browse the documentation for your installed
version of Trac, including information on further setup (such as
deploying Trac to a real web server).

The latest documentation can also always be found on the project
website:

  http://trac.edgewall.org/

Congratulations!

위 메세지 중, Warning 은 우선 무시하자. SVN Repository 에 아무런 내용이 없어서 그런다.
이는 나중에 SVN 설정하면서 해결한다.

모두 끝나면, E:\TeamBuild\trac_project\teamjoon 디렉토리에 디렉토리와 파일들이 생성되었는지 확인한다.


2. Apache 에 VirtualHost 추가

Apache 에 Virtual Host 를 추가해서, <ContextRoot>/trac 이하의 URI에 대하여, trac 이 핸들링하도록 한다.

아래 예에서는, tractest.mrjoon.com 도메인을 추가해서, 해당 도메인 밑의 /trac 이하의 URI (Location) 은,
trac 이 처리하도록 하고, /trac/<아무거나>/login 에 대해서는, 사용자 인증을 htpasswd 파일을 이용하여 하도록 설정한다.

 <VirtualHost *:80>
  ServerAdmin korean44@empal.com
    ServerName tractest.mrjoon.com
    ErrorLog "logs/dummy-host.mrjoon.com-error.log"
    CustomLog "logs/dummy-host.mrjoon.com-access.log" common

  #--- URL 에 /trac 있으면, mod_python 이 처리하도록 함
  #--- E:\TeamBuild\trac_project 디렉토리가 기본 디렉토리가 됨
  <Location /trac>
   SetHandler mod_python
   PythonHandler trac.web.modpython_frontend
   PythonOption TracEnvParentDir E:\TeamBuild\trac_project
   PythonOption TracUtiRoot /trac
  </Location>
  
  #--- trac/XXX/login 요청 시 인증 필요함
  <LocationMatch "/trac/[^/]+/login">
   AuthType basic
   AuthName "Trac"
   AuthUserFile E:\TeamBuild\repository\teamjoon\htpasswd
   Require valid-user
  </locationmatch>
</VirtualHost>

위 설정 중에, <VirtualHost > 의 속성 중에, DocumentRoot 가 지정되어있지 않는것에 주의하자.
DocumentRoot 를 지정하면, Location 지정한 것들이 동작하지 않는다~!


3. Admin 계정 추가

위에서, E:\TeamBuild\repository\teamjoon\htpasswd 파일 에 사용자 계정이 등록된다라고 설정을 했다.
아직 htpasswd 파일이 없으므로, 만들어 넣어야 한다.

Apache 의 bin 디렉토리에서 아래 명령을 실행한다.
htpasswd.exe -c E:\TeamBuild\repository\teamjoon\htpasswd admin

명령을 실행하면, 패스워드를 물어보고, 위 디렉토리의 htpasswd 파일에 admin 계정을 생성한다.

다음으로, 위에서 추가한 admin 계정을 Trac 의 admin 권한의 계정으로 등록해야 한다.
아래와 같은 명령을 <trac설치디렉토리>/Scripts 디렉토리에서 실행한다.

trac-admin.exe E:\TeamBuild\trac_project\teamjoon permission add admin TRAC_ADMIN

trac-admin 의 명령형식은,
trac-admin <trac 환경디렉토리> <command> ... 이다.

permission 추가 명령은,
permission add <User> <Rule> 이다.
TRAC_ADMIN 은, 관리자 룰이다. 이외의 다양한 룰은, http://trac.edgewall.org/wiki/TracPermissions 에서 Help 를 참고할 수 있다.

설정 완료한 후에, http://tractest.mrjoon.com/trac/teamjoon 으로 접속하여, login 을 admin 으로 하면, 화면 상단 메뉴에, Admin 메뉴가 보일 것이다.

반응형
블로그 이미지

Good Joon

IT Professionalist Since 1999

,

Trac 은, 이슈 관리 + 심플한 프로젝트 관리 시스템으로, Eclipse 의 Mylyn 플러그인과 함께 사용하여
더욱 강력한 기능을 발휘한다.

자세한 것은 향후 사용하면서 논해보도록 하고, 우선 trac 설치하기 작업부터 시작한다.

Trac 을 설치하기 위해서는, 먼저 설치되어야 할 것들이 있다.

1. Apache HTTPD 설치

[사이트] http://httpd.apache.org/ 

HTTPD 서버를 다운로드 받아 설치한다


설치를 완료하고 나서, Windows Service 에 등록되고,  apache 가 동작하는것을 확인한다.


위와 같이 localhost 접속해서, It works! 나오면, apache 동작하는것임.

2. python 설치

Trac 이 Python 으로 만들어졌으므로, Python 을 설치해줘야 한다. 2.5 버전대 받으면 된다.
최신 버전은 2.6 버전과 3.x 버전이 있으나, 아래의 mod_python 이 Windows 용 바이너리의 경우
Python 2.5 용 밖에 없어서, 2.5 용으로 다운로드 받는다.

[다운로드] http://www.python.org/download/

3. mod_python 설치

Apache 에서 Python 실행하기 위한 모듈을 설치한다. 3.3 대 버전 받으면 된다.
HTTPD 2.0 과 2.2 는 mod_python 3.3 버전대를, HTTPD 1.3 은 2.7 버전대를 받는다.

Windows 용 바이너리는, Python 버전과 Apache 버전에 맞는 mod_python 을 다운받아야 한다.

[사이트] http://www.modpython.org/

설치 완료 후에,
Apache 설치 디렉토리의 conf/httpd.conf 파일에서

LoadModule python_module modules/mod_python.so
라인을 추가해준다. 그리고, Apache 를 재시작 시켜서 정상적으로 뜨면, 모듈 설치가 된것이다.

4.Genshi 설치
Python 을 지원하는 Velocity 나 Freemarker 와 같은 템플릿 엔진이다. Trac 설치 시에 필요하다.

[사이트] http://genshi.edgewall.org/
[다운로드] http://genshi.edgewall.org/wiki/Download

Genshi 0.5 에, Python 2.5 용으로 다운로드 받아 설치한다.

5.pysqlite 섩치
Trac 은 SQLite DB 를 사용한다. pysqlite는 Python 으로 sqlite DB 에 접근하기 위한 라이브러리 이다.
MySQL 과 MariaDB 를 지원하지만 아직 실험적 단계라고 한다.  MySQL 을 사용할때는, http://sf.net/projects/mysql-python 에서 MySQLDb 를 다운받아서 진행한다.

SQLite 는, Python 설치 시에 함께 설치되므로, 별도 설치할 필요는 없다.

[사이트] http://trac.edgewall.org/wiki/PySqlite
[다운로드] http://oss.itsystementwicklung.de/trac/pysqlite/wiki

Python 2.5 용으로 다운로드 받으면 된다. 현재, pysqlite 2.5.5 버전을 설치하였다.

6.setuptools 설치
Python 으로 만든 프로그램을 자동 다운 로드 및 설치 지원하는 툴이다.
Trac 의 플러그인을 설치할 때 유용하게 사용할 수 있다.

"egg" 확장자를 가지는 Python 패키지를 설치할 수 있다.

[사이트] http://peak.telecommunity.com/DevCenter/setuptools
[다운로드] http://peak.telecommunity.com/dist/ez_setup.py

python 으로 작성된 프로그램으로, Installer 가 있는게 아니다. 다운받은 파일을
특정 디렉토리에 저장한다.

그리고, python 디렉토리를 Path 에 추가하고,
>python ez_setup.py
하여, 실행시킨다.

그러면, setuptools egg를 자동으로 다운로드 하고, 설치해준다.

7.trac 설치
trac 을 설치한다. Windows 용 Installer 다운받아서 설치하면 된다. 현재 최신버전은 1.11.5 버전이다.

[사이트] http://trac.edgewall.org/
[다운로드] http://trac.edgewall.org/wiki/TracDownload

8.SVN 설치 및 Repository 생성

SVN 은 1.6.5 버전을 설치한다.

설치했으면, E:\TeamBuild\repository\teamjoon 디렉토리 만들고, Repository 초기화 한다

9.SVN-python 모듈 설치

Python 용 SVN 모듈을 설치한다. Python 을 2.5 버전 설치했으므로, 2.5 용으로 다운로드 한다

------------

이렇게 해서, trac 의 설치를 완료한다.
다음은 trac 의 신규 프로젝트를 생성하고 본격적으로 사용해 본다.
반응형
블로그 이미지

Good Joon

IT Professionalist Since 1999

,