Ubuntu Apache+SubVersion+Trac 配置

来源:互联网 发布:工商局网络与合同监管 编辑:程序博客网 时间:2024/05/21 15:48

参考:http://wiki.ubuntu.org.cn/index.php?title=SubVersion&variant=zh-hant

http://trac.edgewall.org/wiki/Ubuntu-11.04-Subversion

http://linux.chinaitlab.com/administer/735888.html



第一步:安装 Apache 服务器,

$sudo apt-get install apache2

Apache 默认使用的是80端口。打开浏览器 输入 http://localhost/,打开页面显示it works!

第二步:安装SubVersion

$sudo apt-get install subversion
$sudo apt-get install libapache2-svn
增加用户组subversion,并把 登录用户和‘www-data’(Apache用户)加入到新增加的用户组subsersion

$sudo addgroup subversion
$sudo usermod -G subversion -a www-data
$sudo usermod -G subversion -a current_user
查看增加结果,类似于下面结果

$cat /etc/group|grep subversion
subversion:x:1001:www-data,current_user

创建svn版本库根目录,root:subversion,必须用root,用登录用户时使用webdav访问时,报500 内部错误

$sudo mkdir /home/SVNRepositories
$cd /home/SVNRepositories
$sudo mkdir myproject
$sudo chown -R root:subversion myproject
创建版本库

$sudo svnadmin create /home/SVNRepositories/myproject
赋予组成员对所有新加入文件仓库的文件拥有相应的权限

$sudo chmod -R g+rws myproject
查看txn-current-lock文件的的权限和用户以及组信息,应该类似于

$ls -l /home/svn/myproject/db/txn-current-lock
-rw-rwSr-- 1 root subversion  0  2009-06-18  15:33  txn-current-lock
除了根权限外,用户及用户组不对时,则再次运行下面命令

$sudo chown -R root:subversion myproject

第三步:WebDAV 访问

修改配置文件 /etc/apache2/mods-available/dav_svn.conf

<Location /svn/myproject>DAV svnSVNParentPath /home/SVNRepositoriesAuthType BasicAuthName "Subversion RepositoryAuthUserFile /etc/subversion/passwdAuthzSVNAccessFile /etc/subversion/dav_svn.authz#<LimitExcept GET PROPFIND OPTIONS REPORT>Require valid-user#</LimitExcept></Location>

重启apache2

$sudo /etc/init.d/apache2 restart
增加svn用户及密码

$sudo htpasswd -c /etc/subversion/passwd user_name
-c 创建新的密码文件,去掉-c 是在现有文件中增加用户及密码

$sudo htpasswd /etc/subversion/passwd another_user_name
编辑 /etc/subversion/dav_svn.authz 

配置版本库访问权限,类似于下面

[groups]
administrator=admin,yuan
tester=test1,test2,test3

[vod:/]
@administrator=rw
tester=r

[ThinkPHP:/]
@administrator=rw
tester=r

[ftpuserms:/test]
@administrator=rw
*=
test3=r


第四步:安装 trac

sudo apt-get install libapache2-mod-python python-setuptools python-genshi mysql-server python-mysqldb
sudo apt-get install trac 

第五步:配置mysql

mysql -u root -p
CREATE DATABASE trac DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;
GRANT ALL ON trac.* TO trac@localhost IDENTIFIED BY 'yourpassword';
第六步:配置trac

sudo mkdir /home/TracEnvironment
创建版本库路径

sudo mkdir /home/TracEnvironment/myproject
sudo chown -R www-data:www-data /home/TracEnvironment/myproject
sudo chmod -R g+rsw /home/TracEnvironment/myproject
sudo trac-admin /home/TracEnvironment/myproject initenv
依次输入【project name】 数据库 
mysql://trac:yourpassword@localhost/trac

输入 svn 帮本库位置  

/home/SVNRepositories/myproject

在 mysql中 默认引擎不是 InnoDB ,需要修改 trac 中所有表的默认引擎 为 InnoDB

USE trac; ALTER TABLE `attachment` ENGINE = InnoDB; ALTER TABLE `auth_cookie` ENGINE = InnoDB; ALTER TABLE `cache` ENGINE = InnoDB; ALTER TABLE `component` ENGINE = InnoDB; ALTER TABLE `enum` ENGINE = InnoDB; ALTER TABLE `milestone` ENGINE = InnoDB; ALTER TABLE `node_change` ENGINE = InnoDB; ALTER TABLE `permission` ENGINE = InnoDB; ALTER TABLE `report` ENGINE = InnoDB; ALTER TABLE `repository` ENGINE = InnoDB; ALTER TABLE `revision` ENGINE = InnoDB; ALTER TABLE `session` ENGINE = InnoDB; ALTER TABLE `session_attribute` ENGINE = InnoDB; ALTER TABLE `system` ENGINE = InnoDB; ALTER TABLE `ticket` ENGINE = InnoDB; ALTER TABLE `ticket_change` ENGINE = InnoDB; ALTER TABLE `ticket_custom` ENGINE = InnoDB; ALTER TABLE `version` ENGINE = InnoDB; ALTER TABLE `wiki` ENGINE = InnoDB;


sudo a2enmod python(启用python)
$ tracd -p 8000 /home/TracEnvironment (测试 trac 是否安装成功)

第七步:trac 与 apache 集成

编辑 /etc/apache2/sites-available/default 文件

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

增加下面的部分,红字部分必须保持一致

......</Directory><Location /trac/myproject>SetHandler mod_pythonPythonHandler trac.web.modpython_frontendPythonOption TracEnvParentDir /home/TracEnvironment/PythonOption TracUriRoot /tracAuthType BasicAuthName "Walnut.EWB Trac-Server"AuthUserFile /home/TracEnvironment/myproject/conf/htpasswdRequire valid-user</Location>ErrorLog ${APACHE_LOG_DIR}/error.log   ........


重启 apache

sudo /etc/init.d/apache2 restart
输入 http://localhost/trac/myproject/ 输入用户名及密码 即可访问 trac

为用户绑定 管理员权限

trac-admin /var/lib/trac/YourProject permission add admin TRAC_ADMIN
trac-admin /home/trac/ permission add www-data admin(为www-data 绑定 与 admin 一致的权限)











原创粉丝点击