首先先把基础环境搭建好,既然是httpd作为发布的服务器,那就少不了mod_dav_svn
大家可以添加常用的安装源直接进行yum方法安装。详情见:配置多个yum安装源。
1.安装基础环境
yum install subversion httpd mod_dav_svn
2.建立svn项目目录
- #mkdir /data/svn(创建svn库存放的根目录,可以随便选择目录)
#svnadmin create /data/svn/project
#svnadmin create /data/svn/其他项目 - 设置目录的权限:#chmod 775 /data/svn/project // #chown apache.apache /data/svn/project
- 因为我们不采用svn协议的方式后台直接运行subversion,所以我们不会继续使用前面svnserve方式下的那三个文件了,而是使用httpd.conf文件里面配置的.svnpasswd和.svnaccess两个文件来配置,当然这两个文件的名字和路径你都可以根据自己喜好修改。首先是配置.svpasswd文件,这个文件其实就是标准Apache的.htpasswd文件,弄过http方式验证的都知道咋回事。运行下面的命令创建三个用户
#htpasswd -c /data/svn/.svnpasswd jim
#输入口令
#htpasswd /data/svn/.svnpasswd foo (注意这里不在需要-c参数,它是用来第一次创建文件用的,以后要是再加上,就是清除所有的帐号,不要后悔哦)
#输入foo用户的口令.svnpasswd文件搞定接下来开始搞.svnaccess文件, 运行 vi /data/svn/.svnaccess 编辑文件,加入下面的东西
[groups]
g_w = jim,xx
g_r = foo[project:/]
@g_w= rw
@g_r=rw[其他项目:/xx/]
michael=rw
foo=r
@g_r=r[其他项目:/xxx/]
@g_w=rw
@g_r=w
2.vim打开/etc/httpd/conf.d/subversion.conf配置文件,在尾部加入
<Directory “/data/svn”>
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
Listen 8000
NameVirtualHost *:8000
<VirtualHost *:8000>
ServerAdmin mail@codeeel.com
DocumentRoot /data/web
ServerName wallin.codeeel.com
<Location /svn/>
DAV svn
SVNListParentPath on
SVNParentPath /data/svn
AuthType Basic
AuthName “svn login”
AuthUserFile /data/svn/.svnpasswd
AuthzSVNAccessFile /data/svn/.svnaccess
Require valid-user
</Location>
ErrorLog “/data/logs/svn-error_log”
CustomLog “/data/logs/svn-access_log” common
</VirtualHost>
其实最前面两行 加入mod_svn.so,apache安装好后基本上默认就有了,不用管,但是你要确定一下是不是真的有了,没有的话不行,检查/usr/local/libexe/apache22/下是否有相应so或者重新编译安装apache,并且激活相应的选项。
后面那一堆 的部分是关键,大概意思就是调用.svnpasswd文件进行用户验证,调用.svnaccess文件进行权限判断,根据目录不同自己改改就行。
这样你就可以用 http://xxx:8000/svn/project 进行项目版本管理啦。
如该需要ssl证书的方式就需要生成一下。
发表评论
沙发空缺中,还不快抢~