CentOS6安装subversion 可视化管理工具iF.SVNAdmin

作者:Chris

windows下的TortoiseSVN服务端是相当好用的,界面管理方便,增删改查用户和库都比较好用,但是linux下的svn就比较折腾人。

之前安装过apache整合svn,虽然有web界面可以看,但是也不是那么好管理,昨天晚上受朋友所托,需要通过可视化工具来增删改查用户和库。

试了一圈以后最后找到了这个svnadmin。是使用php写的。他吸引我的主要是安装和配置都非常简单和人性化。而且也有强大的功能。

支持repo管理、用户管理、用户组管理、权限管理、LDAP等,界面可以算是中规中矩。

  • 操作系统:CentOS-6.5-64bit
  • 版本管理:Subversion-1.6.11
  • 管理软件:F.SVNAdmin-stable-1.6.2
  • web引擎: Apache/2.2.3 (端口8888) & nginx/1.4.4 (端口80) & PHP 5.4.0
  • ip地址: 192.168.1.2

源码编译安装lnmp #

git clone https://git.coding.net/svip/lnamp.git
sh lnmp/lnmp.sh

这里使用源码编译lnmp环境主要是后面需要yum安装httpd和svn(这样子的好处是,默认会整合好apache和svn无需手动在整合配置),apache只服务于svn,而nginx+php则是为了跑svnadmin

yum安装apache+svn #

yum -y install httpd subversion mod_dav_svn

配置apache的svn #

装完SVN后默认生成/etc/httpd/conf.d/subversion.conf文件

[root@iZ setup]# cat /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 /project/>
            DAV svn
            SVNListParentPath on
            SVNParentPath /var/www/svn
            AuthType Basic
            AuthName "Subversion repository"
            AuthUserFile /var/www/svnconfig/passwdfile
            AuthzSVNAccessFile /var/www/svnconfig/accessfile
            Require valid-user
</Location>

创建SVN repo目录和权限信息目录 #

mkdir /var/www/svn
mkdir /var/www/svnconfig

创建SVN权限文件和密码文件 #

创建权限控制文件

[root@iZ]# cat /var/www/svnconfig/accessfile

[aliases]
[groups]

[/]
*=rw

[qa_project:/]

创建用户密码文件,注意这里的密码必须是加密的,需要使用 htpasswd -c 123 user1生成

[root@iZ]# cat /var/www/svnconfig/passwdfile

[users]
# harry = harryssecret
# sally = sallyssecret
user1:aWW1oIsRihOHc

安装iF.SVnAdmin #

wget http://sourceforge.net/projects/ifsvnadmin/files/svnadmin-1.6.2.zip
unzip svnadmin-1.6.2.zip
mv iF.SVNAdmin-stable-1.6.2 /home/wwwroot/svnadmin
chmod 777 -R /home/wwwroot/svnadmin/data

配置nginx,配置apache,注意2个web引擎的端口不要冲突,并开启相应端口到防火墙

初始化iF.SVnAdmin #

浏览器输入http://192.168.1.2/svnadmin/index.php

使用刚才生成的密码登陆进去可以看到下面的配置页面


选择Test提示没有写入权限的话chmod一下,

登录后如下,可以看到软件版本信息、已有的仓库、用户、组、权限路径等

投入使用 #

svn管理地址 http://192.168.1.2/svnadmin/index.php
svn项目地址 http://192.168.1.2:8888/project/project_name/

您的评论

Build by Loppo 0.6.14