我将这个系统搭建分为两部分:
1、版本控制子系统搭建(apache2+subversion+viewvc)
2、jira子系统搭建(jira4.4+mysql5.1 )
(没有特殊说明,所有操作均在root用户下操作)
一、版本控制子系统搭建(apache2+subversion+viewCvs)
1、安装apache2
下载apache2包解压
# tar -xvzf httpd-2.***.tar.gz
切换到解压目录
# ./configure --enable-dav --enable-so --prefix=/usr/local/apache2/ /*安装目录*/
# make
# make install
2、安装subversion
为subversion建立单独的用户和组
# groupadd svn
# useradd svnroot -g svn
# passwd svnroot
下载subversion源码包,解压,切换到解压目录
# ./configure --with-apxs=/usr/local/apache2/bin/apxs --prefix=/usr/local/subversion --with-apr=/usr/local/apache2 --with-apr-util=/usr/local/apache2 --with-ssl --with-zlib --enable-maintainer-mode
# make
# make install
查看subversion安装是否成功
# /usr/local/subversion/bin/svnadmin --version
-----------一下操作以svnroot用户进行-----------------
创建版本库所在目录
# mkdir /home/svnroot/repos
创建一个版本库
# /usr/local/subversion/bin/svnadmin create /home/svnroot/repos/test
设置版本库的访问权限
# chmod 700 /home/svnroot/repos
-----------svnroot用户操作结束-----------------
3、配置apache,使可以以web方式访问subversion
1)、修改apache配置文件httpd.conf
# vi /usr/local/apache2/conf/httpd.conf
在里面添加如下内容:(note:开始安装的apache里面没有这两个.so文件,在安装subversion后会在 /usr/local/apache2/modules 下载自动添加这两个文件)
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
<Location /svn>
DAV svn
SVNParentPath /home/svnroot/repository/ //版本库目录
AuthzSVNAccessFile /home/svnroot/repository/authz.conf //权限配置文件
AuthType Basic //连接类型设置
AuthName "Subversion.zoneyump" //连接提示框
AuthUserFile /home/svnroot/repository/authfile //用户配置文件
Require valid-user //采用认证方式
</Location>
重新启动apache
# /usr/local/apache2/bin/apachectl restart
访问 http://localhost/svn/test,如果有东西显示说明成功。
2)、权限管理
a、增加用户
# /usr/local/apache2/bin/htpasswd -c /home/svnroot/repository/authfile <username> (第一次添加的时候使用 -c 表示创建文件)
#/usr/local/apache2/bin/htpasswd /home/svnroot/repository/authfile <username> (过后加入新用户不用 -c 参数)
b、分配权限
# vi /home/svnroot/repository/authz.conf
加入以下内容:
[groups]
admin=useradmin
devteamcs=svnuser
[/]
@admin = rw
* = r
[test:/]
@devteamcs = rw
保存退出;
修改apache配置文件httpd.conf
# vi /usr/local/apache2/conf/httpd.conf
找到下面两行
User daemon
Group daemon
修改成
User svnroot
Group svn
重启apache。访问 http://localhost/svn/test,现在回出现身份验证,输入你刚才在权限管理里面创建的用户和密码,
通过验证后就可以看到 test 版本库里面的信息了。
但是这个时候你看到的只能是 test 版本库里面最新版本,现在需要使用 viewvc 支持,让我们可以看到版本库里所有的历史变化记录。
4、安装viewvc
viewvc需要python的支持,python的版本在2.0以上(我这里使用的2.7版本);viewvc同时还需要swig的支持。
1)、安装python(如果没有安装)
# ./configure --prefix=/usr/local/python
# make
# make install
2)、安装swig
下载解压swig源文件,转到解压目录里面
# ./configure --with-python=/usr/local/python /* python 安装目录 */
# make && make install
将swig绑定到subversion:
转到subversion源码目录
# ./configure --with-apxs=/usr/local/apache2/bin/apxs --prefix=/usr/local/subversion --with-apr=/usr/local/apache2 --with-apr-util=/usr/local/apache2 --with-ssl --with-zlib --enable-maintainer-mode
# make swig-py
# make install-swig-py
检验安装是否正确:
运行python,在命令行输入 import svn.repos,如果没有错误说明安装正确。
如果出错的话,需要添加subversion的python building安装路径到PYTHONPATH中,
subversion的python building安装路径在:$your-subversion-path$/lib/svn-python(我的/usr/local/subversion/lib/svn-python)
#echo /usr/local/subversion/lib/svn-python > /usr/local/python/site-packages/subversion.pth
note:$your-subversion-path$/lib/svn-python 下面会有两个目录svn和libsvn,最好也把这两个目录也添加到PYTHONPATH中,如下:
#echo /usr/local/subversion/lib/svn-python/svn >> /usr/local/python/site-packages/subversion.pth
#echo /usr/local/subversion/lib/svn-python/svnlib >> /usr/local/python/site-packages/subversion.pth
3)、安装viewvc
下载解压,切换到源码目录
# ./viewvc-install
安装时会后两个提示,第一个提示是viewvc的安装目,(我的是 /usr/local/viewvc);第一个提示直接enter建跳过就可以了。
简单配置viewvc.conf
# vi /usr/local/viewvc.conf
修改一下内容
svn_roots = //在svn_roots = 后面不要添加目录让他为空
root_parents = /home/svnroot/repos: svn //添加库文件所在的目录
4)、配置apache使apache和viewvc协同工作
# vi /usr/local/apache2/conf/httpd.conf
加入如下内容:
1:
ScriptAlias /viewvc /usr/local/viewvc/bin/cgi/viewvc.cgi
ScriptAlias /query /usr/local/viewvc/bin/cgi/query.cgi
2:
<Directory "/usr/local/viewvc/bin/cgi">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
1和2两块内容分别放在什么地方就不用我说了吧!-:)
note:在httpd.conf 中找到 AddHandler cgi-script .cgi,如果配注视掉了,就放开;如果没有找到就在相应的位置加上(具体在<IfModule mime_module>里面)。
重新启动apache。访问 http://localhost/viewvc 这个地址就能看到你的版本库了,里面可以看到你版本库的所有历史记录哟!-:)
至此,subversion所需要的至此环境已经搭建完毕。我会在第二部分里面详细讲解jira的安装(这里的jira版本为4.4.4),以及如何配置jira使其和svn协同工作。
最后附上文中涉及到的软件下载地址:
httpd :http://www.apache.org/
subversion :http://subversion.apache.org/
python :http://www.python.org/
swig :http://www.swig.org/
viewvc :http://www.viewvc.org/
注:在安装的时候还有可能遇到库不全的情况,这时需要你自己现在相应库安装上,然后继续我们安装。(需要的库有:prce、zlib、sqlite。这个是根据你系统原有库情况而定的)