一、安装Apache和PHP
由于iF.SVNAdmin使用php写的,因此我们需要安装php
yum install httpd php
二、安装SVN服务器(其中,mod_dav_svn是Apache服务器访问SVN的一个模块)
yum install subversion mod_dav_svn
三、安装完成后可以通过如下命令查看是否安装成功
httpd -version
svnserve --version
ls /etc/httpd/modules/ | grep svn
四、在Apache下配置 SVN
vim /etc/httpd/conf.d/subversion.conf
# 复制下面的配置,粘贴
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
DAV svn
#svn的根目录
SVNParentPath /var/www/svn
#SSL访问权限
#SSLRequireSSL
#Basic认证方式
AuthType Basic
#认证时显示的信息
AuthName "Authorization SVN"
#用户文件&密码
AuthUserFile /var/www/svnconfig/passwd
#访问权限控制文件
AuthzSVNAccessFile /var/www/svnconfig/authz
#要求真实用户,不能匿名
Require valid-user
保存退出!
五、创建SVN 仓库目录和权限信息目录
mkdir /var/www/svn
mkdir /var/www/svnconfig
六、创建SVN权限文件和密码文件
touch /var/www/svnconfig/authz
touch /var/www/svnconfig/passwd
七、安装iF.SVnAdmin
wget https://jaist.dl.sourceforge.net/project/ifsvnadmin/svnadmin-1.6.2.zip
# 解压:
unzip svnadmin-1.6.2.zip
# 把解压后的文件 iF.SVNAdmin-stable-1.6.2 拷贝到 /var/www/html/svnadmin
cp -r iF.SVNAdmin-stable-1.6.2/ /var/www/html/svnadmin
# 更改data目录的读写模式
chmod -R 777 /var/www/html/svnadmin/data/
# 更改 /var/www/html/svnadmin/ 权属
chown -R apache:apache /var/www/html/svnadmin/
# 更改 /var/www/svn 的读写模式
chmod -R 777 /var/www/svn
# 更改下列两个文件的读写模式
chmod 777 /var/www/svnconfig/authz
chmod 777 /var/www/svnconfig/passwd
八、启动Apache服务
systemctl start httpd(注意:这里我把Apache的端口改成了90,默认是80端口)
加入开机自启动
systemctl enable httpd
如果开启了防火墙, 需要开启httpd访问权限
firewall-cmd --permanent --add-service=http
firewall-cmd --zone=public --add-port=90/tcp --permanent
firewall-cmd --reload
通过查看文件/usr/lib/systemd/system/svnserve.service,了解到svnserve的配置文件是/etc/sysconfig/svnserve
修改/etc/sysconfig/svnserve
vim /etc/sysconfig/svnserve
OPTIONS="-r /var/svn"
修改成:OPTIONS="-r /var/www/svn"
启动后浏览器输入http://服务器地址:端口(192.168.5.100:90)/svnadmin/ 后登录,登录后如下图,输入各个配置文件的路径后点击Test进行测试是否成功,全部成功后保存配置,单击Save configuration按钮
保存后,会在 /var/www/svnconfig/passwd 文件中自动生成默认用户名和密码,都是admin
再次访问:http://192.168.5.100:90/svnadmin/,输入刚生成的用户名和密码
登录后如下图,可以看到软件版本信息、代码仓库、用户、组、访问路径等
添加新的仓库
添加新的仓库时可能出现如下情况
出现此现象,可使用命令方式完成新仓库的创建:
svnadmin create /var/www/svn/test
chown -R apache:apache /var/www/svn/test/
完成后则会在“代码仓库”中看到新创建的test仓库
组成员添加