CentOS7.6搭建SVN+Apache+iF.SVNAdmin实现web管理SVN

一、安装Apache和PHP

由于iF.SVNAdmin使用php写的,因此我们需要安装php

  1. yum install httpd
  1. yum install php

二、安装SVN服务器(其中,mod_dav_svn是Apache服务器访问SVN的一个模块)

  1. yum install subversion mod_dav_svn

三、安装完成后可以通过如下命令查看是否安装成功

  1. httpd -version
  2. svnserve --version
  3. ls /etc/httpd/modules/ | grep svn

四、在Apache下配置 SVN

  1. vim /etc/httpd/conf.d/subversion.conf

# 复制下面的配置,粘贴

  1. LoadModule dav_svn_module modules/mod_dav_svn.so
  2. LoadModule authz_svn_module modules/mod_authz_svn.so
  3. <Location /svn>
  4. DAV svn
  5. #svn的根目录
  6. SVNParentPath /var/www/svn
  7. #SSL访问权限
  8. #SSLRequireSSL
  9. #Basic认证方式
  10. AuthType Basic
  11. #认证时显示的信息
  12. AuthName "Authorization SVN"
  13. #用户文件&密码
  14. AuthUserFile /var/www/svnconfig/passwd
  15. #访问权限控制文件
  16. AuthzSVNAccessFile /var/www/svnconfig/authz
  17. #要求真实用户,不能匿名
  18. Require valid-user
  19. </Location>

保存退出!

五、创建SVN 仓库目录和权限信息目录

  1. mkdir /var/www/svn
  2. mkdir /var/www/svnconfig

六、创建SVN权限文件和密码文件

  1. touch /var/www/svnconfig/authz
  2. touch /var/www/svnconfig/passwd

七、安装iF.SVnAdmin

# 下载:svnadmin-1.6.2.zip文件(http://sourceforge.net/projects/ifsvnadmin/files/svnadmin-1.6.2.zip/download

  1. wget https://jaist.dl.sourceforge.net/project/ifsvnadmin/svnadmin-1.6.2.zip

# 解压:

  1. unzip svnadmin-1.6.2.zip

# 把解压后的文件 iF.SVNAdmin-stable-1.6.2 拷贝到 /var/www/html/svnadmin

  1. cp -r iF.SVNAdmin-stable-1.6.2/ /var/www/html/svnadmin

# 更改data目录的读写模式

  1. chmod -R 777 /var/www/html/svnadmin/data/

# 更改 /var/www/html/svnadmin/ 权属

  1. chown -R apache:apache /var/www/html/svnadmin/

# 更改 /var/www/svn 的读写模式

  1. chmod -R 777 /var/www/svn

# 更改下列两个文件的读写模式

  1. chmod 777 /var/www/svnconfig/authz
  2. chmod 777 /var/www/svnconfig/passwd

八、启动Apache服务

  1. systemctl start httpd

加入开机自启动

  1. systemctl enable httpd

如果开启了防火墙, 需要开启httpd访问权限

  1. firewall-cmd --permanent --add-service=http
  2. firewall-cmd --zone=public --add-port=80/tcp --permanent
  3. firewall-cmd --reload

通过查看文件/usr/lib/systemd/system/svnserve.service,了解到svnserve的配置文件是/etc/sysconfig/svnserve

修改/etc/sysconfig/svnserve

  1. vim /etc/sysconfig/svnserve
  1. OPTIONS="-r /var/svn"     //修改成
  2. OPTIONS="-r /var/www/svn"

启动后浏览器输入http://服务器地址:端口(92.168.18.6/svnadmin/ 后登录,报错

Error: Could not copy configuration file template. Require write permission (777) to "data" folder and all containing files.”

关闭SELinux后正常。

修改selinux的配置文件

  1. vim /etc/selinux/config
  1. 将 “SELINUX=enforcing” 修改为 “SELINUX=disabled”

登录后如下图,输入各个配置文件的路径后点击Test进行测试是否成功,全部成功后保存配置,单击Save configuration按钮

保存后,会在 /var/www/svnconfig/passwd 文件中自动生成默认用户名和密码,都是admin

再次访问:http://192.168.18.6/svnadmin/,输入刚生成的用户名和密码

登录后如下图,可以看到软件版本信息、代码仓库、用户、组、访问路径等

添加新的仓库

完成后则会在“代码仓库”中看到新创建的wwh仓库

新建用户

分配权限

客户端安装后按下图测试权限

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: