设为首页 收藏本站
查看: 1158|回复: 0

[经验分享] apache+svn+trac安装及配置1

[复制链接]

尚未签到

发表于 2018-11-27 13:14:43 | 显示全部楼层 |阅读模式
apache+svn+trac安装及配置
svn简介:
Subversion是新一代的版本控制工具,它是一个自由、开放源码的版本控制系统。它是一个通用系统,可用来管理任何类型的文件,其中包括程序源码。Subversion是近年来崛起的版本管理工具,被誉为是cvs的接班人
trac简介:
Trac是一个为软件开发项目需要而集成了Wiki和问题跟踪管理系统的应用平台,是一个开源软件应用。Trac以简单的方式建立了一个软件项目管理的Web应用,以帮助开发人员更好地写出高质量的软件;Trac应用力求不影响现有团队的开发过程。
软件环境:
操作系统:  

Suse10  sp2  x_86

软件包:
httpd-2.2.8.tar.bz2                          
pysqlite-2.5.5.tar.gz                          
subversion-1.4.6.tar.gz
subversion-deps-1.4.6.tar.gz
Trac-0.11.2.1.tar.gz
Genshi-0.5.1.tar.gz
swig-2.0.0.tar.gz
python-devel-2.4.2-18.13.i586.rpm
python-xml-2.4.2-18.13.i586.rpm
sqlite-3.2.8-15.2.i586.rpm
sqlite-devel-3.2.8-15.2.i586.rpm

注意:在搭建此环境时,要特别注意各种软件对应版本,可能一个软件的版本不对,都会导致环境搭建的失败.
编译安装Apache
# tar zxvf httpd-2.2.8.tar.gz
# cd httpd-2.2.8
# ./configure --enable-dav --enable-so --enable-ssl --enable-maintainer-mode       --prefix=/usr/local/apache2 --enable-mods-shared=all --enable-rewrite
# make
# make install
#cp support/apachectl  /etc/init.d/httpd

#vi /etc/init.d/httpd

加入一下的代码,是apache可以用chkconfig方式启动:

# Startup script for the Apache Web Server
# chkconfig: - 85 15
# description: Apache is a World Wide Web server. It
  is used to serve
# HTML files and CGI.
# processname: httpd        
# pidfile: /usr/local/apache2/log/httpd.pid
# config: /usr/local/apache2/conf/httpd.conf

#chmod 755 /etc/init.d/httpd
#chkconfig --add httpd
#chkconfig --level 3 httpd on
#service httpd start

打开浏览器http://IP/,如果出现Apache的测试页面,可以看到It works!说明apache已经可以正常工作了.
编译安装Subversion:
注意:在安装之前先确认你的OS上已经安装了python和swig,如果没有安装的话可以下载source code或rpm包来安装,因为我的OS上只装了python,所以下面还要装下swig.

# tar zxvf swig-2.0.0.tar.gz
# cd swig-2.0.0
# ./configure
# make && make install

# tar zxvf subversion-1.4.6.tar.gz
# cd subversion-1.4.6
#./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 --without-berkeley-db PYTHON=/usr/bin/python --with-swig=/usr/local/bin/swig --enable-shared --enable-static --enable-swig-binding=python
# make
# make install


经过上面的步骤mod_dav_svn.so and mod_authz_svn.so将会被copy到/usr/local/apache2/modules/下,

同时在 /usr/local/apache2/conf/httpd.conf下,添加如下2行
LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so


检查一下是否都正确,如果没有的话可能就要手动加进去
同时执行了上面的make && make install后还要编译安装Subversion SWIG Python bindings


#cd subversion-1.4.6
#make swig-py
#make install-swig-py

可以看到swig-py的install目录是/usr/local/subversion/lib/svn-python.用如下命令讲这个扩展包扩展到python:

# echo  /usr/local/subversion/lib/svn-python >/usr/lib/python2.3/site-packages/subversion.pth

剩下的就是测试svn的swig-py包是不是正常

#python >>import svn.repos            //按ctrl+d退出

如果不报错,那就说明OK了.
如果报错,那么检查如下问题:

I. subversion的configure是不是enable了shared和static,是不是带--with-swig;
II. libsvn_swig_py-x.so是否存在于/usr/local/subversion/lib目录;
III. /usr/local/subversion/lib是否已经增加到ld.so.conf文件 (/etc/ld.so.conf)
IV. 请使用ldconfig -v |grep swig来检查是否有swig的下列动态库
libsvn_swig_py-1.so.0 -> libsvn_swig_py-1.so.0.0.0

如果一切正常,这个安装就完成了
安装完成后,运行svnserver --version确认版本为1.4.6
配置svn
最好不要让root用户参与到svn的权限管理和日常的运行和维护工作中来,所以我们建立一个用户(如svn)同时为了处理好权限的问题,我们可以建立一个组(如svnrw),其他希望使用svn的用户加入这个组

在root权限下用下面的命令创建用户和组:

#groupadd svnrw
#useradd svn -g svnrw
#passwd svn



然后切换到用户svn来创建svn仓库,对svn进行配置

选择一个目录位置作为svn仓库的存放位置,在这里用/home/svn作为存放位置
//创建版本库"my_project",默认指定仓库的文件格式为fsfs

svnadmin create /home/svn/my_project
chown -R svn:svnrw /home/svn
chmod -R g+w home/svn/my_project
chmod g+s home/svn/my_project/db

# vi /usr/local/apache2/conf/httpd.conf


### svn settings
#


    DAV svn
    SVNListParentPath on          //
允许在网页上显示svn父目录list
    SVNParentPath /home/svn       // /home/svn是我这边的SVN的父目录
    AuthType Basic                //  连接类型设置
    AuthName "Subversion Repository"        // 连接框提示
    AuthUserFile /etc/svntrac.htpasswd      // 用户配置文件
   
        Require valid-user
   


这里设置SVNParentPath而不是SVNPath的好处是可以几个svn仓库同时访问
加了LimitExcept这样匿名用户可以浏览,check out代码,但是不能commit, 认证用户有commit权限,其中svntrac.htpasswd文件是通过htpasswd命令来创建的,第一次设置用户时使用-c表示新建一个用户文件


# /usr/local/apache2/bin/htpasswd -c /etc/svntrac.htpasswd   admin
New password: xxxxxx
Re-type new password: xxxxxx
Adding password for user admin


另外要修改 apache进程的权限:因为所有跟版本库传输的操作都是通过apache进程进行的,所以即使你给svn用户设置了很大的权限,但是apache进程没 有访问版本库或者相关文件的权限也没有用,apache进程的权限设置在 /usr/local/apache2/conf/httpd.conf 文件中配置,找到文件中的这两行:

User daemon    //将daemon用户改为svn,让apache进程以svn身份运行
Group daemon   //将daemon组改为svnrw


# service httpd restart

打开浏览器访问http://localhost/svn,如果有东西显示就说明成功
测试SVN是否可以正常使用
到svn仓库文件夹里,进入conf目录,这里需要修改3个配置文件.

#  vi  svnserve.conf

anon-access = read       //取消这行前面的#
anon-access = neno       //添加这行
auth-access = write     //取消这行前面的#
password-db = passwd    //取消这行前面的#
authz-db = authz        //取消这行前面的#

# vi  authz

[groups]
admin = admin                 // =号前面是组名,后面是用户名,用户名之间用逗号隔开

[my_project:/]               // :号前面是svn库的名字
@admin = rw                  //  给admin组设置读写权限

# vi passwd

[users]
admin = admin                    // =号前面是用户,后面是用户的密码

启动svn服务

# svnserve  -d --listen-port 6000 --listen-host 10.10.1.3  -r /home/svn/
// -d表示在后台运行  --listen-port是监控的端口  --listen-host是svn服务器的IP地址  -r是svn仓库的路径.

在一台windows服务器安装svn客户端,我这里使用的是TortoiseSVN,
鼠标右击选择SVN检出,出现一个对话框,上面的url输
svn://10.10.1.3:6000/my_project,下面任意选择一个当前磁盘
路径,然后点击确定,如果没有问题,就不报任何的错误,我们还可以
在检出的文件夹创建一个文件,然后进行提交,看有没有问题,要是没
有问题,就说明svn配置是正常的.





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-640356-1-1.html 上篇帖子: centos 5.5 +apache2.2.4+mysql5.1.47+php5.3.2 下篇帖子: apache支持中文下载,mod_encoding-20021209.tar.gz下载
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表