Posts Tagged ‘Ubuntu’

Trac FAQ

04.15.2010 by star - 0 Comment
Posted in Tech Tools

Issue: Trac如何限制只能将任务分配给已经存在的用户

默认设置情况下,在分配传票时,“分配用户”选项(“Assign to:”/“reassign to”)里使用的是一个编辑框输入一个接受该传票的用户的名字。我们希望通过一个已有的用户列表来选择一个目标用户。

修改配置文件:/var/www/trac/conf/trac.ini ,找到[ticket]段修改

# Original item
restrict_owner=false
# Updated item
restrict_owner=true

Issue: 为Trac的工作流程中增加测试流程

修改配置文件:/var/www/trac/conf/trac.ini ,找到[ticket-workflow]段添加

testing = new,accepted,needs_work -> testing
testing.name = Submit to reporter for testing
testing.permissions = TICKET_MODIFY
reject = testing -> needs_work
reject.name = Failed testing, return to developer
pass = testing -> closed
pass.name = Passes Testing
pass.operations = set_resolution
pass.set_resolution = fixed

注:Trac 配置修改后即时生效,无需重启服务。

Issue: 为Trac选择数据库

Database connection string [sqlite:db/trac.db]>
1. SQLite:
sqlite:db/project.db
2. Postgres:
postgres://user:pass@server/database?schema=yourschemaname
3. MySQL:
mysql://user:password@host:port/database
注:
登陆MySQL
#mysql mysql -u root -p
创建用户trac
mysql>GRANT ALL PRIVILEGES ON *.* TO trac@’%’ IDENTIFIED BY ‘password’ WITH GRANT OPTION;
创建数据库,注意:如果你想在Trac中使用中文,必须设定数据库编码是utf8,MySQL缺省编码方式是latin1
mysql>CREATE DATABASE IF NOT EXISTS trac_telecom default charset utf8 COLLATE utf8_general_ci;

Issue: 创建新的Trac/SVN项目

1. SVN
svnadmin create /path/to/svn/project
2. Trac
trac-admin /path/to/trac/project initenv
3. 修改配置 trac.ini
database = mysql://user:password@host:port/database
default_charset = utf-8
repository_dir = /path/to/svn/project
[project] name = project

Issue: 多项目Trac配置

修改 /etc/httpd/conf.d/trac.conf
PythonOption TracEnvParentDir /path/to/trac
PythonOption TracEnv /path/to/trac/project

SetHandler mod_python
PythonInterpreter main_interpreter
PythonHandler trac.web.modpython_frontend
PythonOption TracEnvParentDir /var/trac
PythonOption TracUriRoot /projects

Refer to: http://trac.edgewall.org/wiki/TracModPython

Issue: Trac installation for CentOS 5.2

1. Download the trac package
cd tools
wget http://ftp.edgewall.com/pub/trac/Trac-0.12.tar.gz
tar zxvf Trac-0.12.tar.gz

2. Prepare
cd tools
wget wget http://peak.telecommunity.com/dist/ez_setup.py
python ez_setup.py
easy_install Genshi

3. Installation
cd tools/Trac-0.12
python ./setup.py install

4. Create one trac
trac-admin /var/www/trac/callbay initenv

To be continued…

安装配置 SubVersion – 开放源代码的版本控制系统

04.14.2010 by star - 0 Comment
Posted in Tech Tools

SVN是一款开放源代码的版本控制系统,可以单独使用,也可以集成到Trac使用
SVN管理软件源代码;Trac进行缺陷追踪管理。

安装过程

$ sudo apt-get install subversion
$ sudo apt-get install libapache2-svn # 如果需要Apache2支持SVN

配置服务

创建 SVN 仓库

创建组和用户:

sudo addgroup subversion
sudo usermod -G subversion -a www-data

准备SVN仓库目录:

$ sudo mkdir /home/svn
$ cd /home/svn
$ sudo mkdir myproject
$ sudo chown -R root:subversion myproject
$ sudo chmod -R g+rws myproject

创建SVN仓库:

$ sudo svnadmin create /home/svn/myproject

直接访问SVN仓库(file://)

当客户端与服务端在同一台计算机上,可以直接访问SVN。
注:如果并不确定主机的名称,必须使用三个斜杠(///),而如果指定了主机的名称,则必须使用两个斜杠(//).

$ svn co file:///home/svn/myproject
$ svn co file://localhost/home/svn/myproject

注:SVN使用可以参考下面的文档
使用Subversion进行版本控制

通过 WebDAV 协议访问(http://)

加入下面的代码片段到 /etc/apache2/mods-available/dav_svn.conf
注:如果需要用户每次登录时都进行用户密码验证,请将<LimitExcept GET PROPFIND OPTIONS REPORT>与</LimitExcept>两行注释掉。
注:用户密码文件可以使用Trac配置的那个文件,这样可以统一通过Trac的web接口管理用户。

<Location /svn/myproject>
DAV svn
SVNPath /home/svn/myproject
AuthType Basic
AuthName “myproject subversion repository”
AuthUserFile /etc/subversion/passwd
<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>
</Location>

配置用户信息

$ sudo htpasswd -c /etc/subversion/passwd user_name # passwd file does not exist
$ sudo htpasswd /etc/subversion/passwd other_user_name # passwd file exist

重启服务

sudo /etc/init.d/apache2 restart

可以访问SVN

$ svn co http://hostname/svn/myproject myproject –username user_name

通过具有安全套接字(SSL)的 WebDAV 协议访问(https://)

方法同上,需要在 Apache 上先配置 SSL
Apache2上安装配置SSL
Create a Certificate

$ sudo apt-get install ssl-cert
$ sudo mkdir /etc/apache2/ssl
$ sudo make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/ssl/apache.pem

Install Module

$ sudo a2enmod ssl

Create virtualhost

$ sudo cp /etc/apache2/sites-available/default-ssl /etc/apache2/sites-available/ssl
$ sudo vi /etc/apache2/sites-available/ssl # Add the following

SSLEngine On
SSLCertificateFile /etc/apache2/ssl/apache.pem
ServerSignature On

Enable SSL virtualhost

$ sudo a2ensite ssl
$ sudo vi /etc/apache2/sites-available/default # update default config
<virtualhost *:80>

Restart Apache2

$ sudo /etc/init.d/apache2 restart

通过自带协议访问(svn://)

修改 /home/svn/myproject/conf/svnserve.conf 来配置其访问控制

# [general]
# password-db = passwd

修改 /home/svn/myproject/conf/passwd 来配置用户,明文密码

username = password

启动SVN服务,SVN 监听默认的端口(3690)

$ svnserve -d –foreground -r /home/svn

远程访问SVN

$ svn co svn://hostname/myproject myproject –username user_name

通过具被SSH隧道保护的自带协议访问(svn+ssh://)

注:SVN配置和服务器进程同上面
安装 SSH Server

$ sudo apt-get install ssh

svn+ssh:// 协议使用 SSH 加密来访问 SVN 文件仓库

$ svn co svn+ssh://hostname/home/svn/myproject myproject –username user_name

注:使用svn+ssh访问时需要SVN完整路径,例 /home/svn/myproject

Refer to

SubVersion服务安装设置
how to setup Subversion alias SVN on Ubuntu

安装 Trac 插件 – Account Manager Plugin

04.13.2010 by star - 0 Comment
Posted in Tech Tools

安装设置 Trac后,默认的用户使用的是 Apache2 自带的验证功能。用它来做用户管理不是很方便,推荐使用插件进行管理。
Homepage: Account Manager Plugin

安装过程

For Trac 0.10:
easy_install http://trac-hacks.org/svn/accountmanagerplugin/0.10
For Trac 0.11
easy_install http://trac-hacks.org/svn/accountmanagerplugin/0.11
For Trac 0.12:
easy_install http://trac-hacks.org/svn/accountmanagerplugin/trunk

配置插件

修改Apache配置

删除 Apache2 配置信息,/etc/apache2/sites-available/default

<LocationMatch “/[^/]+/login”>
AuthType Basic
AuthName “trac”
AuthUserFile /var/www/trac/.htpasswd
Require valid-user
<LocationMatch>

修改trac.ini配置

配置文件中增加,/var/www/trac/conf/trac.ini

[components]
trac.web.auth.LoginModule = disabled #禁用传统的登录模块插件
acct_mgr.web_ui.LoginModule = enabled
acct_mgr.web_ui.RegistrationModule = disabled
acct_mgr.htfile.HtPasswdStore = enabled

[account-manager]
password_format = htpasswd
password_store = HtPasswdStore
password_file = /var/www/trac/.htpasswd #这里配置密码文件的路径,根据实际情况修改

重启服务

$ sudo /etc/init.d/apache2 restart

Refer to:
为Trac安装基于Web表单登录验证界面的插件