SVN:集中式版本控制工具
iF.svnadmin:版本控制SVN可视化管理工具,用来管理SVN用户、用户组以及权限分配。
环境:centos6.6
IP:192.168.31.10
首先:yum -y update #更新全部软件包
yum -y install httpd # 安装Apache
apachectl -v #查看Apache版本
yum -y install mod_dav_svn subversion #安装SVN加载模块以及SVN
svn --version #查看SVN版本
yum -y install php # 安装PHP(iF.svnadmin是用PHP编写开发的工具)
php -v #查看PHP版本
wget https://sourceforge.net/projects/ifsvnadmin/files/svnadmin-1.6.2.zip/download #下载 iF.svnadmin压缩包
unzip download #解压压缩包
cp -r iF.svnadmin.1.6.2/ /var/www/html/svnadmin #把压缩包复制到http默认路径下
vi /etc/httpd/conf.d/subversion #修改SVN模块配置文件
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so #这两行判断Apache是否加载了SVN模块
<Location /svn> #标签
DAV svn #DAV加载SVN
SVNParentPath /var/www/svn #这是版本库的根目录,用户不允许访问
AuthType Basic #访问方式为basic
AuthName "please login" #登录时的提示信息
AuthUserFile /var/www/svn/passwd #用户以及口令的配置文件
AuthzSVNAcessFile /var/www/svn/authz #保存用户权限的文件
Require valid-user #允许用户访问
</Location>
#保存退出
vi /etc/httpd/conf/httpd.con
ServerName 192.168.31.10 #保存退出
iptables -I INPUT -p tcp --dport 80 -j ACCEPT #设置防火墙
通过网页访问服务器Apache:http://192.168.31.10查看是否出现Apache页面
mkdir /var/www/svn
touch /var/www/svn/authz
touch /var/www/svn/passwd
chown -R apache:apache /var/www/html/svnadmin/
chmod -R 777 /var/www/html/svnadmin/data
chown -R apache:apache /var/www/svn
cp /var/www/html/svnadmin/data/config.tpl.ini /var/www/html/svnadmin/data/config.ini #将样例文件复制为配置文件
vi /var/www/html/svnadmin/data/config.ini
[Common]
FirstStart=1
BackupFolder=./data/backup/
[Translation]
Directory=./translations/
[Engine:Providers]
AuthenticationStatus=basic
UserViewProviderType=passwd
UserEditProviderType=passwd
GroupViewProviderType=svnauthfile
GroupEditProviderType=svnauthfile
AccessPathViewProviderType=svnauthfile
AccessPathEditProviderType=svnauthfile
RepositoryViewProviderType=svnclient
RepositoryEditProviderType=svnclient
[ACLManager] #管理员用户配置文件
UserRoleAssignmentFile=./data/userroleassignments.ini #配置文件路径
[Subversion]
SVNAuthFile=/var/www/svn/authz #subversion用户权限文件路径
[Repositories:svnclient]
SVNParentPath=/var/www/svn #版本库根目录,后面没有/符号
SvnExecutable=/usr/bin/svn #SVN执行命令变量路径,可以在命令行通过whereis svn查看
SvnAdminExecutable=/usr/bin/svnadmin #SVNadmin命令变量路径,同上
[Users:passwd]
SVNUserFile=/var/www/svn/passwd #用户口令配置文件
[Users:digest]
SVNUserDigestFile=
SVNDigestRealm=SVN Privat
[Ldap]
HostAddress=ldap://192.168.136.130:389/
ProtocolVersion=3
BindDN=CN=Manuel Freiholz,CN=Users,DC=insanefactory,DC=com
BindPassword=root
CacheEnabled=false
CacheFile=./data/ldap.cache.json
[Users:ldap]
BaseDN=DC=insanefactory,DC=com
SearchFilter=(&(objectClass=person)(objectClass=user))
Attributes=sAMAccountName
[Groups:ldap]
BaseDN=DC=insanefactory,DC=com
SearchFilter=(objectClass=group)
Attributes=sAMAccountName
GroupsToUserAttribute=member
GroupsToUserAttributeValue=distinguishedName
[Update:ldap]
AutoRemoveUsers=true
AutoRemoveGroups=true
[GUI]
RepositoryDeleteEnabled=false #可以通过网页删除版本库,默认是禁止,如果允许,修改成true 即可
RepositoryDumpEnabled=false #默认即可
AllowUpdateByGui=true #默认即可
#保存退出
启动Apache:service httpd start
访问页面:http://192.168.31.10/svnadmin
点击左下角save configuration提交,之前在配置文件 /var/www/html/svnadmin/data/config.ini 设置过,默认即可
初始用户密码为admin,admin,登录进行操作即可
可以选择中文语言,admin是初始系统管理员,修改密码,然后进行用户、用户组以及权限分配操作。
svn 访问路径需要管理员指定,才能进行登录访问。
此文章仅做个人笔记使用