这是一个好几年前的存稿笔记
CentOS7搭建IF.svnadmin
1.安装apache
yum install httpd -y
2.安装svn服务器(其中,mod_dav_svn是apache服务器访问svn的一个模块)
yum install mod_dav_svn subversion -y
3.安装完成后可以通过如下命令查看是否安装成功
httpd -version
svnserve --version
ls /etc/httpd/modules/ | grep svn
mod_authz_svn.so
mod_dav_svn.so
3.在apache下配置svn vi /etc/httpd/conf.d/subversion.conf
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
<Location /svn>
DAV svn
SVNParentPath /var/www/svn #svn的根目录SSLRequireSSL
#SSL访问权限
AuthType Basic #Basic认证方式
AuthName "Authorization SVN" #认证时显示的信息
AuthUserFile /var/www/svn/passwd #用户文件&密码
AuthzSVNAccessFile /var/www/svn/authz #访问权限控制文件
Require valid-user #要求真实用户,不能匿名
</Location>
3. 建立SVN Server仓库
通过如下命令建立svn仓库
其中/var/www/svn是准备放仓库的目录,这个目录可以放置多个代码仓库
mkdir /var/www/svn
svnadmin create /var/www/svn/仓库名字
chown -R apache.apache /var/www/svn
创建用户文件passwd和权限控制文件authz
touch /var/www/svn/{passwd,authz}
chmod -R 777 passwd authz
4. 配置安装PHP&IF.SVNadmin
yum -y install wget php unzip && wget http://sourceforge.net/projects/ifsvnadmin/files/svnadmin-1.6.2.zip
mkdir -p /var/www/html/svnadmin
unzip svnadmin-1.6.2.zip && cd iF.SVNAdmin-stable-1.6.2
mv * /var/www/html/svnadmin && rm -rf /root/iF.SVNAdmin-stable-1.6.2
cd /var/www/html && chown -R apache.apache svnadmin && cd svnadmin && chmod -R 777 data
5.启动服务关闭防火墙
systemctl disable firewalld
systemctl stop firewalld
setenforce 0
vi /etc/sysconfig/selinux 修改为 selinux=disabled
systemctl enable httpd
systemctl restart httpd
通过查看文件/usr/lib/systemd/system/svnserve.service,
了解到svnserver的配置文件是/etc/sysconfig/svnserve 修改 /etc/sysconfig/svnserve
vim /etc/sysconfig/svnserve
OPTIONS="-r /var/svn"
修改为
OPTIONS="-r /var/www/svn"
最后一步 http://ip/svnadmin
Subversion 设置相关
Subversion 授权文件
样例:/var/www/svn/authz
用户身份验证文件 (SVNUserFile)
样例:/var/www/svn/passwd
代码仓库的父目录 (SVNParentPath)
样例:/var/www/svn
'svn.exe' 或 'svn'可执行文件:
样例:/usr/bin/svn
'svnadmin.exe' 或 'svnadmin' 可执行文件:
样例:/usr/bin/svnadmin
Save configuration
Client连接测试
创建账号 以及分配账户权限
创建访问路径 把用户权限添加进去
http://ip/仓库名字
输入账号密码