centos7搭建svn服务器(附加 http访问)
0.防火墙永久开放3690端口
firewall-cmd --zone=public --add-port=3690/tcp --permanent
重启防火墙
firewall-cmd --reload
1.安装svn服务器
yum install subversion
2.创建放置项目project的地方
mkdir /var/svn
3.创建一个test项目
svnadmin create /var/svn/test/
4.配置svn服务的配置文件svnserver.conf文件
vi /var/svn/test/conf/svnserve.conf
[general]
anon-access = read
auth-access = write
password-db = /var/svn/test/conf/passwd #test改为自己相应项目
authz-db = /var/svn/test/conf/authz #test改为自己相应项目
realm = test #这是个提示信息
5.配置用户和密码
vi /var/svn/test/conf/passwd
[users]
pengzai = 123456 #用户名 = 密码
7.配置新用户的授权文件
vi /var/svn/test/conf/authz
[groups]
[/]
pengzai = rw
6.启动svn
svnserve -d -r /var/svn
7.设置开机自启svn
备注:subversion默认以/var/svn作为数据根目录,可以通过/etc/sysconfig/svnserve修改这个默认位置
sudo systemctl enable svnserve.service
sudo systemctl start svnserve.service
8.永久关闭SELinux
sudo vim /etc/sysconfig/selinux
SELINUX = disable #值修改为disab
9.重启服务器
shutdown -r now
10.http访问
(1)安装httpd相关依赖
yum --disableexcludes=all install -y httpd
yum install mod_dav_svn -y
(2)配置权限
chown -R apache:apache /var/svn/test
touch /var/svn/passwd
htpasswd /var/svn/passwd pengzai
cp /var/svn/test/conf/authz /var/svn/authz
(3)配置httpd
vim /etc/httpd/conf.d/subversion.conf
复制进去以下代码
<Location /svn>
DAV svn
SVNParentPath /var/svn
AuthType Basic
AuthName "Authorization SVN"
AuthzSVNAccessFile /var/svn/authz
AuthUserFile /var/svn/passwd
Require valid-user
</Location>
(4)修改httpd默认端口80,改为81,避免和nginx冲突
vim /etc/httpd/conf/httpd.conf
Listen 80 改成 81
(5)启动httpd
先关闭svn访问以及开机自启
sudo systemctl stop svnserve.service
sudo systemctl disable svnserve.service
再启动httpd以及开机自启
sudo systemctl enable httpd.service
sudo systemctl start httpd.service
(6)http://ip:81/svn/test 就可以访问了, nginx反向代理 就不介绍了