当前位置:文档之家› Apache+APR+SVN+Trac搭建配置流程

Apache+APR+SVN+Trac搭建配置流程

Apache+APR+SVN+Trac搭建配置流程

一、搭建前准备

1. 环境需求

这里所用的环境是干净的CentOS5.3机器,不需要额外安装其他的东西,下述环境笔者已测试通过。

CentOS5.3λ

x86_64λ

python2.4.3λ

sqlite3λ

2. 基本安装包

安装所需要用到的包都放在Tools.zip里面了,如果某个模块使用的是其他版本有可能导致版本间不兼容而发生异常。这里只是把几个大的系统列在这里方便查询。这里需要注意

的是Bitten的master和slave版本必须统一,否则会报错。

Apache:λ httpd-2.2.21.tar.gz

Apr、Apr-Util:λ apr-1.2.7.tar.gz、apr-util-1.2.7.tar.gz

Subversion:λ subversion-1.6.12.tar.gz、subversion-deps-1.6.12.tar.gz

Trac:λ Trac-0.12.2.tar.gz

Bitten:λ Bitten-0.6.tar.gz

3. 准备工作

由于环境是64位机器,需要准备一些lib文件。λ

理论上32位的机器不需要做这步。

执行命令:cp /usr/lib64/libexpat.* /usr/lib/;

清空安装过程中需要的路径,防止历史文件影响。λ

执行命令:rm -rf /usr/local/apache*;

执行命令:rm -rf /usr/local/apr*;

执行命令:rm -rf /usr/local/http*;

执行命令:rm -rf /usr/local/subversion*;

执行命令:rm -rf /usr/local/svn;

二、安装APR

Apr和Apr-util在Apache和Subversion中都有,为了避免引用的时候发生不兼容的问题,笔者下载了这两个包,单独安装在系统中,通过路径的配置将Apace和Subversion指向这两

个包所在的位置。

1. 解压安装包

执行命令:cd /usr/local;tar -zxf /root/Tools/apr-1.2.7.tar.gz;

2. 配置Apr

执行命令:cd /usr/local/apr-1.2.7;./configure --with-apr=/usr/local/apr/

--with-expat=builtin --prefix=/usr/local/apr;

正确结果:config.status: executing default commands

3. 安装Apr

执行命令:cd /usr/local/apr-1.2.7;make clean;make;make install;

正确结果:/usr/bin/install -c -m 755 apr-config.out

/usr/local/apr/bin/apr-1-config

三、安装APR-Util

1. 解压安装包

执行命令:cd /usr/local;tar -zxf /root/Tools/apr-util-1.2.7.tar.gz;

2. 配置Apr-util

执行命令:cd /usr/local/apr-util-1.2.7;./configure --prefix=/usr/local/apr

--with-apr=/usr/local/apr/bin/apr-1-config --with-apr-

util=/usr/local/apr/bin/apu-1-config --enable-modules=so --enable-dav

--with-ldap;

正确结果:config.status: executing default commands

3. 安装Apr-util

执行命令:cd /usr/local/apr-util-1.2.7;make clean;make;make install;

正确结果:/usr/bin/install -c -m 755 apu-config.out

/usr/local/apr/bin/apu-1-config

四、安装Apache

Apache在安装的时候有几个地方需要注意。

首先--enable-dav --enable-so是后面安装其他引用包的前提,后续安装的包需要引入.so 文件需要这两个参数的支持。

--with-config-file-path=/usr/local/apache/conf/httpd.conf

--with-apr=/usr/local/apr

--with-apr-util=/usr/local/apr

这三个参数是Apache对于配置文件的定义和指向,与其他包的安装有密切的联系。

--enable-authnz-ldap --enable-ldap

这两个参数是打开Apache对于LDAP的支持,理论上使用了这两个参数就不需要安装LDAP 模块,如果发现加上参数仍不能启用LDAP的话可以手动将Tools.zip内的LDAP模块引入安装

环境中。

1. 解压安装包

执行命令:cd /usr/local;tar -zxf /root/Tools/httpd-2.2.21.tar.gz;

2. 配置Apache

执行命令:cd /usr/local/httpd-2.2.21;./configure --prefix=/usr/local/apache

--enable-track-vars --enable-cgi --enable-dav --enable-so -enable-maintainer- mode -enable-rewrite --with-config-file-path=/usr/local/apache/conf/httpd.conf --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr --enable-authnz-ldap --enable-ldap;

正确结果:config.status: executing default commands

3. 安装Apache

执行命令:cd /usr/local/httpd-2.2.21;make clean;make;

正确结果:make[1]: Leaving directory /usr/local/httpd-2.2.21

执行命令:cd /usr/local/httpd-2.2.21;make install;

正确结果:make[1]: Leaving directory /usr/local/httpd-2.2.21

4. 设置Apache

执行命令:sed -i 's/#ServerName https://www.doczj.com/doc/d95524785.html,:80/ServerName

###.###.###.###:80/g' /usr/local/apache/conf/httpd.conf

执行命令:rm -rf /usr/sbin/httpd;cp /usr/local/apache/bin/httpd /usr/sbin/;

5. Apache测试

执行命令:httpd -k restart;

打开浏览器输入http://###.###.###.###:80如果能打开页面,提示如下内容则表示成功:

五、安装Subversion

Subversion的两个安装包解压后会放到同一个文件夹。

-with-apxs=/usr/local/apache/bin/apxs

-with-apr=/usr/local/apr/bin/apr-1-config

-with-apr-util=/usr/local/apr/bin/apu-1-config

配置过程中的三个参数是对Apache和Apr、Apr-util的引用,和其他模块关联密切。

1. 解压安装包

执行命令:cd /usr/local;tar -zxf /root/Tools/subversion-1.6.12.tar.gz;

执行命令:cd /usr/local;tar -zxf /root/Tools/subversion-deps-1.6.12.tar.gz;

2. 配置Subversion

执行命令:cd /usr/local/subversion-1.6.12;./configure

-prefix=/usr/local/subversion -with-apxs=/usr/local/apache/bin/apxs

-with-apr=/usr/local/apr/bin/apr-

1-config -with-apr-util=/usr/local/apr/bin/apu-1-config --with-ssl

--enable-maintainer-mode --without-berkeley-db PYTHON=/usr/bin/python --with- swig=/usr/bin/swig --enable-shared --enable-static --enable-swig-binding=python; 正确结果:

3. 安装Subversion

执行命令:cd /usr/local/subversion-1.6.12;make clean;make;

正确结果:/usr/bin/msgfmt -c -o subversion/po/zh_TW.mo subversion/po/zh_TW.po 执行命令:cd /usr/local/subversion-1.6.12;make install;

正确结果:subversion/svnversion/svnversion . /repos/svn/trunk >

/usr/local/svn/include/subversion-1/svn-revision.txt

执行命令:cd /usr/local/subversion-1.6.12;make swig-py;

正确结果:mkdir

/usr/local/subversion-1.6.12/subversion/bindings/swig/python/libsvn

执行命令:cd /usr/local/subversion-1.6.12;make install-swig-py;

正确结果:Compiling /usr/local/subversion/lib/svn-python/svn/wc.py

4. 设置Subversion

执行命令:echo /usr/local/subversion/lib/svn-python >

/usr/lib/python2.4/site-packages/subversion.pth

执行命令:rm -rf /usr/sbin/svn;cp /usr/local/subversion/bin/svn /usr/sbin/

5. 检查安装结果

安装成功的话,/usr/local/apache/modules 里应该有mod_dav_svn.so和

mod_authz_svn.so。并且在/usr/local/apache/conf/httpd.conf能够检索到下列内容:

六、设置Subversion仓库

1. 准备工作

需要一个新的用户用来管理Subversion。特别需要说明的是这个用户将会成为Subversion 和Trac两个系统的属主。

执行命令:useradd pocsvn

2. 设置仓库环境

执行命令:rm -rf /home/pocsvn

执行命令:mkdir /home/pocsvn

执行命令:mkdir /home/pocsvn/project

执行命令:/usr/local/subversion/bin/svnadmin create /home/pocsvn/project/poc 3. 导入初始文件

/root/Tools/SVNTest为自己选择的初始导入内容,这一内容的SVN号为1

执行命令:/usr/local/subversion/bin/svn import /root/Tools/SVNTest

file:///home/pocsvn/project/poc -m "my note"

4. 进阶配置

更改仓库路径属主。

执行命令:chown -R pocsvn:pocsvn /home/pocsvn/project

执行命令:chmod -R 700 /home/pocsvn/project

变更配置文件属主用户

执行命令:sed -i 's/User daemon/User pocsvn/g' /usr/local/apache/conf/httpd.conf 执行命令:sed -i 's/Group daemon/Group pocsvn/g' /usr/local/apache/conf/httpd.conf 为Apache添加连接

执行命令:echo \n DAV svn\n SVNParentPath /home/pocsvn/project\n AuthType Basic\n AuthName \"Welcome BWBuilder SVN system! \"\n AuthUserFile

/home/pocsvn/project/passwd\n AuthzSVNAccessFile

/home/pocsvn/project/poc/conf/authz\n Require valid-user\n >>

/usr/local/apache/conf/httpd.conf

执行命令:httpd -k restart

执行命令:touch /home/pocsvn/project/passwd

5. 登录及权限配置

SVN默认方式λ

执行命令:/usr/local/apache/bin/htpasswd -c /home/pocsvn/project/passwd ASer(手动设置SVN用户ASer的密码)

执行命令:vim /home/pocsvn/project/poc/conf/authz

在[groups]后添加下列内容

admin = ASer

[poc:/]

ASer = rw

@admin = rw

[/]

* = r

LDAP方式λ

在/usr/local/apache/conf/httpd.conf文件结尾填写如下内容:

DAV svn

SVNPath /home/pocsvn/project/repo

AuthBasicProvider ldap

AuthzLDAPAuthoritative off

AuthType Basic

AuthName "Welcome BWBuilder SVN system!"

AuthLDAPURL "ldap://10.10.1.28/ou=people,dc=ict,dc=ac,dc=cn?uid"

Require valid-user

这里步骤应放在最后执行。

6. 测试Subversion

打开浏览器输入http://###.###.###.###:80/svn/poc/

如果打开的页面显示的是之前手动导入的文档,则SVN配置成功。

七、安装Trac

1. 环境检查

Setuptoolsλ

Setuptools是一个基于python软件的下载安装工具。以下在安装Trac过程中会使用setuptools中的easy_install。

检验Setuptools是否已经安装:

如果有如图显示,说明setuptools已经安装。

如果没有安装可以如下安装:

python ez_setup.py

Genshiλ

执行命令:easy_install Genshi;

PySQLiteλ

SQLite3的python访问接口。

以下的命令可以检验PySQLite是否已经安装:

如上图所示,表示PySQLite已经安装。

如果没有安装,可以如下安装:

执行命令:cd pysqlite-2.6.0; python setup.py install

注:此处最好手动安装一次,否则有可能在后面配置的时候失败。

SWIGλ

可以用以下命令确定SWIG是否已经安装:

如果如上图所示,表示SWIG已经安装。

如果没有,则表示第五步执行异常。需跳回第五步重新安装。

Subversionλ with SWIG python bindings

Subversion可以用svn –version确定是否已经安装:

Subversion的SWIG python binding可以用以下命令确定是否已经安装:

没有报错就说明已经安装了。

同样,如果没有,则表示第五步执行异常。需跳回第五步重新安装。

2. 安装Trac

3. 配置Trac项目

执行命令:mkdir /data;mkdir /data/myproject;trac-admin /data/myproject/bwfs initenv;

注:笔者这里安装的是trac 0.12版本,安装的过程会提示输入项目名,这里以BWFS为例,第二项会要求选择数据,这里直接按回车使用默认的sqlite数据库就可以。

4. 独立运行Trac

配置完成后Trac就可以独立运行了:

tracd –port 8000 /subversion/trac/bwfs

http://###.###.###.###/bwfs

5. 配置TRAC_ADMIN权限

执行命令:trac-admin /data/myproject/bwfs permission add #### TRAC_ADMIN

6. 配置Trac挂接SVN

将mv post-commit.tmpl post-commit文件复制到/data/myproject/bwfs下。

执行命令:mv post-commit.tmpl post-commit

执行命令:chmod 755 post-commit

然后在编辑post-commit脚本:

REPOS="$1"

REV="$2"

TRAC_ENV="/data/myproject/bwfs"

/usr/bin/python /usr/local/bin/trac-post-commit-hook -p "$TRAC_ENV" -r "$REV" 最后复制trac-post-commit-hook文件到/usr/local/bin目录。

八、在Apache中运行Trac

1. 配置mod_python

执行命令:cd /usr/local/; tar -zxf /root/Tools/mod_python-3.3.1.tgz;

执行命令:cd /usr/local/mod_python-3.3.1;./configure

--with-apxs=/usr/local/apache/bin/apxs --with-python=/usr/bin/python;

正确结果:config.status: creating dist/Makefile

执行命令:cd /usr/local/mod_python-3.3.1;make;make install;

2. 配置Apache

执行命令:vim /usr/local/apache/conf/httpd.conf

在文件中间位置

# Example:

# LoadModule foo_module modules/mod_foo.so

下方添加如下内容:

LoadModule python_module modules/mod_python.so

为了使用Apache打开Trac系统,需要在配置文件中添加下列配置文件。其中“”对应的是打开http连接时的地址路径,/trac/login对应的是使用LDAP登录Trac 的权限管理。

在文件结尾处添加如下内容:

SetHandler mod_python

PythonHandler trac.web.modpython_frontend

PythonOption TracEnv "/data/myproject/bwfs"

PythonOption TracUriRoot "/trac"

SetEnv PYTHON_EGG_CACHE /tmp/trac-eggs

AuthType Basic

AuthName "Please Login"

AuthBasicProvider ldap

AuthLDAPURL "ldap://10.10.1.28/ou=people,dc=ict,dc=ac,dc=cn?uid"

AuthzLDAPAuthoritative off

require valid-user

执行命令:chown –R pocsvn:pocsvn /data/myproject/bwfs;

3. 整体测试

注:测试前执行ps aux | grep httpd,kill 掉root执行的httpd进程。

执行命令:httpd –k restart

打开浏览器,输入http://###.###.###.###/trac/

九、安装Bitten Master

1. 解压安装包

执行命令:cd /usr/local;tar -zxvf /root/Tools/Bitten-0.6.tar.gz;

2. 安装Bitten

执行命令:cd /usr/local/ Bitten-0.6; python setup.py install;

正确结果:Finished processing dependencies for Bitten==0.6

安全起见可以运行一次单元测试已确保代码正确:

执行命令:python setup.py test

正确结果:OK

3. 开放Bitten

执行命令:vim /data/myproject/bwfs/conf/trac.ini;

在文件内添加下列内容:

[bitten]

adjust_timestamps = False

build_all = False

logs_dir = log/bitten

quick_status = yes

slave_timeout = 100000

stabilize_wait = 0

[components]

bitten.* = enabled

在文件中找到repository_dir =

在这里填写所需的SVN仓库路径,如:/home/pocsvn/project/release

4. 更新Trac数据库

执行命令:trac-admin /data/myproject/bwfs upgrade;

5. 赋予Bitten的权限

执行命令:trac-admin /data/myproject/bwfs permission add ### BUILD_ADMIN

6. 整体测试

注:测试前执行ps aux | grep httpd,kill 掉root执行的httpd进程。

执行命令:httpd –k restart

打开浏览器,输入http://###.###.###.###/trac/build

配置成功的界面如下图所示:

其中Admin是用户拥有Trac_ADMIN权限,Build Status是正确安装Bitten的结果。

7. 还原Trac Build

当执行还原Trac数据库和SVN仓库时,首先配置好trac.ini文件。

执行命令:trac-admin /data/myproject/bwfs/ repository resync '(default)'

伴随数据库的更新同样需要执行下列命令:

执行命令:trac-admin /data/myproject/bwfs permission add #### TRAC_ADMIN

执行命令:trac-admin /data/myproject/bwfs permission add #### BUILD_ADMIN

执行命令:trac-admin /data/myproject/bwfs upgrade;

十、安装viewvc

ViewVC (前身是ViewCVS)是CVS和SVN版本控制系统的Web浏览界面,使用 ViewVC可以浏览版本库中的目录/文件、以及每个文件的历史版本记录等,同时还可以显示和下载文件等操作。

1. 解压安装包

执行命令:cd /usr/local/;tar –zxvf /root/Tools/viewvc-1.1.12.tar.gz

2. 安装viewvc

执行命令:cd /usr/local/viewvc-1.1.12;python viewvc-install

3. 复制cgi到svn根目录

执行命令:cp /usr/local/viewvc-1.1.12/bin/cgi/*.cgi /home/pocsvn/project/ 4. 修改viewvc的conf

执行命令:vim /usr/local/viewvc-1.1.12/viewvc.conf

修改genneral段:

svn_roots = svnrepos: /home/pocsvn/project/

root_parents = /home/pocsvn/project: svn

mime_types_files = mimetypes.conf

修改[utilities]

svn = /usr/sbin/svn

diff = /usr/bin/diff

5. 修改apache的conf文件

执行命令:vim /usr/local/apache/conf/httpd.conf

在对应位置增加:

ScriptAlias /viewvc /usr/local/viewvc-1.1.12/bin/cgi/viewvc.cgi

ScriptAlias /query /usr/local/viewvc-1.1.12/bin/cgi/query.cgi

AllowOverride None

Options None

Order allow,deny

Allow from all

6. 重启apache

执行命令:httpd –k restart

7. 在页面访问svn:

http://10.10.170.15/viewvc/

至此整个搭建过程到此结束。

本文相关资料出自:https://www.doczj.com/doc/d95524785.html,/gongju/1388.html。

相关主题
文本预览
相关文档 最新文档