svn+trac在ubuntu下配置比较简单(http://reedyan.blog.51cto.com/1705672/422886),什么依赖包都给你准备好了,可在redhat就没那么简单了,不过还是要配置啊,下面是蛋疼的配置过程:
-------------安装前准备(统一存放路径:/home/trac,要注意版本问题)--------------
1. apache:http-2.2.16.tar.gz
2. python:python 2.4.3(系统自带)
3. sqlite:sqlite 3.3.6(系统自带)
4. Genshi:Genshi-0.6.tar.gz(trac0.11版本以后代替了clearsilver)
5. Subversion:subversion-1.4.4.tar.gz
6. Pysqlite: pysqlite-2.5.5.tar.gz(python 2.5以上版本不需要)
7. Apr-util:Apr-util-1.2.7.tar.tar(支持Subversion)
8. Apr:Apr-1.2.7.tar.tar(支持Subversion)
9. Setuptools:setuptools-0.6c11.tar.gz(支持trac)
10. trac:Trac-0.12.tar.gz
-------------安装过程(以“#”开头的均为命令)------------------------------------------
A. 安装apache
- 如系统已安装httpd,最好先卸载掉重新安装
#rpm –e httpd - -nodeps
- 解压、编译、安装
trac#tar –zxvf http-2.2.16.tar.gz
trac#cd httpd-2.2.16
http-2.2.16# ./configure --enable-dav --enable-so --enable-ssl --enable-maintainer-mode --prefix=/usr/local/apache2 --enable-mods-shared=all
http-2.2.16#make
http-2.2.16#make install
- 安装完毕,启动httpd,输入“http://ip”能看到“it works”证明成功。
http-2.2.16# /usr/local/apache2/bin/apachectl start
B. 安装apr和apr-util
(apr 和apr-util 这两个软件是对后端服务软件进行优化的。因为apache作为前端web服务器软件,如果要整合一些后端的web服务器软件的话,如tomcat ,就要用到这两个软件了。这两个软件系统是自带的,也可以下载源码包安装。都市要编译进apache里面去的,以模块的形式。)
- 安装apr
trac# tar -xvf apr-1.2.7.tar.tar
trac# cd apr-1.2.7
apr-1.2.7# ./configure
apr-1.2.7#make
apr-1.2.7#make install
- 安装apr-util
trac# tar -xvf apr-util-1.2.7.tar.tar
trac# cd apr-util-1.2.7
apr-util-1.2.7#./configure --with-apr=/usr/local/apr/
apr-util-1.2.7#make
apr-util-1.2.7#make install
C. 安装subversion
- trac# tar -zvxf subversion-1.4.4.tar.gz
- trac# cd subversion-1.4.4
- subversion-1.4.4# ./configure --with-apxs=/usr/local/apache2/bin/apxs --with-apr=/usr/local/apache2/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config --prefix=/usr/local/sv
- subversion-1.4.4#make
- subversion-1.4.4#make install
- 安装成功的话,/usr/local/apache2/modules里应该有mod_dav_svn.so
和mod_authz_svn.so。如果没有就在httpd.conf中添加:
#vi /usr/local/apache2/conf/httpd.conf
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
- 配置svn(整合apache+svn)
1) 配置到第6步的时候,输入“svn”会提示“Type 'svn help' for usage.”,证明svn已经安装成功。
2)创建版本库
home#mkdir svn(我在home目录下建立一个svn目录来保存版本库)
home# svnadmin create /home/svn/s1(创建s1版本库,创建完之后用ls命令查看一下,如果生成很多文件就表示创建成功啦~)
3)导入文件到版本库
home# svn import /share/www file:///home/svn/s1 -m “注释”(把/share/www目录下的导入到当前版本库下,这个功能我没试过,不知道行不行,这一步不用也可以继续配置)
4)配置版本库目录安全性
#chmod –R 700 /home/svn(不让其他人有该目录的权限)
修改http.conf文件的:
#vi /usr/local/apache2/conf/httpd.conf(这个是我系统路径)
User daemon
Group daemon
把上述内容改成:
User apache
Group apache
(注意:我的系统在安装apache的时候,自动增加了apache用户和apache组,如果你系统没有这个用户和组,则请自己添加该用户和组)
5)修改svn版本库的所有者
#chown –R apache:apache /home/svn
6)配置apache支持svn
#vi /usr/local/apache2/conf/httpd.conf
在文件末尾添加以下内容:
DAV svn
SVNParentPath /home/svn #版本库的根目录,请查看第二步
AuthType Basic #连接类型设置 基本验证
AuthName "Hello welcome to here" #登录时提示对话框的内容
AuthUserFile /home/svn/passwd #访问版本库用户的文件,此处用apache的htpasswd命令生成
AuthzSVNAccessFile /home/svn/auth.conf #版本库权限文件爱你
Require valid-user #"Require valid-user"告诉apache在authfile中所有的用户都可以访问
保存退出,重启一下apache:
# /usr/local/apache2/bin/apachectl –k restart
到处,在浏览器访问http://ip/svn(svn是我的版本库目录)会提示用户名和密码,这是好事来的,继续配置。
7)配置svn权限管理(配置/home/svn/auth.conf)
7.1)添加用户
#/usr/local/apache2/bin/htpasswd –c /svn/passwd user1
第一次设置用户时使用-c表示新建一个用户文件。回车后输入用户密码,完成对用户的增加,第二次添加用户不需要带 –c 参数 如:
# /usr/local/apache/bin/htpasswd /svn/passwd user2
7.2)权限分配
#vi /home/svn/auth.conf
[groups] /*这个表示群组设置
Admin=usr1,user2 /*这个表示admin群组里的成员 user1,user2
Develop=u1, u2 /*这个表示Develop群组里的成员 u1,u2
[svn:/] /*这表示,仓库svn的根目录下的访问权限
user1 = rw /*www仓库user1用户具有读和写权限
user2 = r /* www仓库userl用户具只有读权限
@develop=rw /*这表示 群 develop的成员都具有读写权限
[/] /*这个表示在所有仓库的根目录下
* = rw /*这个表示对所有的用户都具有读写权限
注意:在编辑authz.conf文件时,所有行都必须要顶头写,不能有缩行出现,否则会报错:"Access denied: 'user1' ",里面的内容可以根据自己的需要自行添加,不必与我上面所写的相同!
8)重启apache
如果访问http://ip/svn/s1(s1是我刚才建的一个版本库)提示输入用户名密码,输入刚才创建的用户名和密码登录进去看到“Revision 0: /”之类的就表示成功啦!
9)apache+svn配置完成。