svnmaia简介
vnMaia是一套基于PHP+MYSQL运行环境的web程序,用于管理subversion的用户、权限信息。该程序大量应用js技术,使得操作简便、快速。
部署svnMaia后,svn普通用户可通过web界面自助进行注册用户、权限申请、修改密码、重置密码、查看自己的权限、查看目录的权限设置。
超级用户可以为各个目录设置svn管理员分担权限审批责任,可以通过web界面删除用户、进行权限变更、修改用户名等。
通过使用svnMaia可以较大幅度提升配置管理员的工作效率。
1、 安装subversion包
Yum install subversion
2、 初始化版本仓库
安装完subversion后,需要初始化一个版本库,用于管理代码。
(1) 新建仓库目录
Mkdir /svn
(2) 在新建仓库目录上创建仓库
Svnadmin create /svn/project1
创建版本库之后,会在版本库目录内生成如下文件:
3、 用户管理权限设置
Svn服务器的配置文件主要有三个,
Passwd �C用户名及密码管理
Authz �C权限配置
Svnserve �Csvn全局配置文件
添加用户
在passwd文件中添加一行如“user = password”条目即可。如:
用户访问策略,在authz文件中[groups]内添加如 groupname = user1,user2的一行,添加权限组用户,添加[/path/to/svn_directory],在它下一行添加组的权限类似@groupname = Privilege的一行,privilege为r或w或rw
修改全局配置文件
去掉如下行的注释,注意前面不要留空格。
4、 启动svn服务器,测试
Svn客户端连接测试:
登录没问题,添加http支持
(1) 安装apahche和mod_dav_svn模块
安装mod_dav_svn模块之后会在/etc/httpd/con.d/下生成subversion.conf文件。
(2) 编辑/etc/httpd/con.d/subversion.conf文件,做如下修改:
(3) 为svn添加虚拟主机,在/etc/httpd/con.d/下创建一个svn虚拟主机的配置文件,写入如下内容:
(4) 基于重启http测试。
访问成功,你可能发现不需要验证就可以访问,这可能不是我们想要的,下面就添加验证设置,注意这里的验证和svn独立服务的验证文件完全没有关系,因为这里的用户和密码文件是有htpasswd创建的。
(5) 添加验证配置。
在svn.conf中添加验证设置,改变后的文件如下:
创建用户文件:
可以查看一下
第一创建的时候加-c,第二次就不要加了,添加后覆盖以前的文件
创建权限控制文件,内容格式和svn独立服务的权限控制文件格式一样,可以用同意哥文件的,如:
(6) 重启httpd测试
出现登录会话框,输入帐号密码登录成功。
Svnmaia是php程序,依赖与php和mysql,所以要安装php和mysql。
(1) 安装mysql-server、php、php-mysql
(2) 下载svnmaia至版本库目录
(3) 浏览器访问安装,访问10.0.3.34/project/2.2.4(因为没有做dns域名解析,这里我们用ip来访问),安装界面如下:
(4) 启动mysql,创建svnmaia用户和数据库,并授权(创建用户后,该程序也可以自动创建数据库)。
(5) 填写相关参数,确定。
在此步骤中,本系统将试图创建数据库、数据表,并将信息保存到config.inc文件中(请确保此文件无法通过http访问)。
(7)填写好上述参数后,点击【确定】按钮。通常情况下会提示如下错误:
Fatal Error:不能写入到文件 /home/apache/htdocs/config.inc ! 保存失败!原因可能是此程序owner没有足够权限修改此目录文件,请修复!
这是个致命错误,建议您手工创建此文件,并包含如下内容:
cd /var/www/
touch config.inc
vi config.inc
<?php
define("SERVER","localhost:3306");
define("USERNAME2","root");
define("PASSWORD2","123456");
define("DBNAME","svnMaia");
define("SECRET_KEY","8f83ce83ad9dca82d9e85f38aedcbb98");
?>
遇到此情况时,你可以按其提示操作即可。创建完config.inc文件后,点击【下一步】。
(8)点击【下一步】后进入系统设置界面。如图:
(9)善后工作
上述设置完成后,svnMaia就可以正常使用了。但为安全起见,你还应:
・ 删除 setup/setup.php文件。
・ 拷贝/default.htm为index.php(即覆盖掉原来的index.php)
(10)之后你就可以通过10.0.3.34/svn/2.2.4访问登录svnmaia。
注:因为没有做dns域名解析,所以本实验都是用ip来访问的,有域名解析后,也可以通过域名来访问。