打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Centos上架设SVNServer服务器
介绍
Apache Subversion(http://subversion.apache.org/):不用说太多,Apache基金会下的一个开源项目,很多企业用subversion作为项目代码的版本管理。虽然不像git那样可以真正的离线使用(主要还是架构设计的问题),但是贵在免费,哦不,是贵在开源,所以现在还是很多人都在用的。
iF.SVNAdmin(http://svnadmin.insanefactory.com/):一个基于WEB GUI的方式管理SVN,包括:repos管理、用户管理、用户组管理、权限管理等多种功能,底层也很简单,是通过修改Subversion authorization 和 user authorization 两个文件完成其管理功能(现不支持数据库user authorization的那种),整体使用下来给我的感觉就是两个字简单,从安装到配置到使用到架构,都很简单。
准备
操作系统:CentOS-6.5-64bit
版本管理:Subversion-1.6.11
管理软件:iF.SVNAdmin-1.6.2-stable
安装
1. 安装Apache
[plain] view plaincopyprint?
[root@developbase ~]# yum install httpd
2. 安装SVN
[plain] view plaincopyprint?
[root@developbase ~]# yum install mod_dav_svn subversion
3. 配置SVN
[plain] view plaincopyprint?
[root@developbase ~]# vim /etc/httpd/conf.d/subversion.conf
<Location /svn>
DAV svn
SVNParentPath /var/www/svn
AuthType Basic
AuthName "Restricted Access"
#File will be created by SVNManager, keep location in mind!
AuthUserFile /var/www/svnconfig/passwdfile
Require valid-user
#SSLRequireSSL
#File will be created by SVNManager, keep location in mind
AuthzSVNAccessFile /var/www/svnconfig/accessfile
# Limit write permission to list of valid users.
#<LimitExcept GET PROPFIND OPTIONS REPORT>
#   # Require SSL connection for password protection.
#   # SSLRequireSSL
#   AuthType Basic
#   AuthName "Authorization Realm"
#   AuthUserFile /path/to/passwdfile
#   Require valid-user
#</LimitExcept>
</Location>
4. 创建存放repo目录和权限信息目录
[plain] view plaincopyprint?
[root@developbase ~]# mkdir -p /var/www/svn /var/www/svnconfig
5. 创建SVN权限信息文件
[plain] view plaincopyprint?
[root@developbase ~]# touch /var/www/svnconfig/accessfile /var/www/svnconfig/passwdfile
/var/www/svnconfig/accessfile:控制用户&用户组读写(r/w)权限使用
/var/www/svnconfig/passwdfile:控制用户信息
6. 安装php
iF.SVNAdmin是用php写的,所以php必须安装。
[plain] view plaincopyprint?
[root@developbase conf.d]# yum install php
7. 下载SVNAdmin
地址:http://sourceforge.net/projects/ifsvnadmin/files/svnadmin-1.6.2.zip/download
8. 解压SVNAdmin
[plain] view plaincopyprint?
[root@developbase ~]# unzip svnadmin-1.6.2.zip
[root@developbase ~]# cd iF.SVNAdmin-stable-1.6.2/
[root@developbase iF.SVNAdmin-stable-1.6.2]# ll
总用量 168
-rw-r--r--.  1 root root  1482 8月  29 2013 accesspathcreate.php
-rw-r--r--.  1 root root  2518 8月  29 2013 accesspathslist.php
-rw-r--r--.  1 root root  2521 8月  29 2013 accesspathview.php
drwxr-xr-x.  2 root root  4096 8月  29 2013 actions
drwxr-xr-x.  5 root root  4096 8月  29 2013 classes
-rw-r--r--.  1 root root  2557 8月  29 2013 cli.php
drwxr-xr-x.  2 root root  4096 8月  29 2013 data
-rw-r--r--.  1 root root  1280 8月  29 2013 error.php
-rw-r--r--.  1 root root  1061 8月  29 2013 groupcreate.php
-rw-r--r--.  1 root root  1250 8月  29 2013 grouplist.php
-rw-r--r--.  1 root root  2828 8月  29 2013 groupview.php
drwxr-xr-x.  3 root root  4096 8月  29 2013 include
-rw-r--r--.  1 root root  1193 8月  29 2013 index.php
-rw-r--r--.  1 root root 18092 8月  29 2013 license.txt
-rw-r--r--.  1 root root  1324 8月  29 2013 login.php
-rw-r--r--.  1 root root   991 8月  29 2013 logout.php
drwxr-xr-x. 10 root root  4096 8月  29 2013 pages
-rw-r--r--.  1 root root  2541 8月  29 2013 permissionassign.php
-rw-r--r--.  1 root root   735 8月  29 2013 readme.md
-rw-r--r--.  1 root root  1259 8月  29 2013 repositorycreate.php
-rw-r--r--.  1 root root  2362 8月  29 2013 repositorylist.php
-rw-r--r--.  1 root root  3306 8月  29 2013 repositoryview.php
-rw-r--r--.  1 root root   402 8月  29 2013 rolelist.php
-rw-r--r--.  1 root root 21318 8月  29 2013 settings.php
drwxr-xr-x.  5 root root  4096 8月  29 2013 templates
drwxr-xr-x.  5 root root  4096 8月  29 2013 translations
-rw-r--r--.  1 root root  1173 8月  29 2013 update.php
-rw-r--r--.  1 root root   815 8月  29 2013 userchangepass.php
-rw-r--r--.  1 root root  1076 8月  29 2013 usercreate.php
-rw-r--r--.  1 root root  1937 8月  29 2013 usergroupassign.php
-rw-r--r--.  1 root root  1733 8月  29 2013 userlist.php
-rw-r--r--.  1 root root  4806 8月  29 2013 userview.php
9. 拷贝项目到WebServer目录中
[plain] view plaincopyprint?
[root@developbase ~]# cp -r iF.SVNAdmin-stable-1.6.2/ /var/www/html/svnadmin
10. 赋权
赋给web server用户读写项目权限
[plain] view plaincopyprint?
[root@developbase ~]# chmod -R 777 /var/www/html/svnadmin/data/
[root@developbase ~]# chown -R apache:apache /var/www/html/svnadmin/
11. 启动WebServer服务
[plain] view plaincopyprint?
[root@developbase ~]# service httpd restart
启动webserver服务后,浏览器地址输入http://servername/svnadmin出现配置界面,输入下图中配置信息,输入每个配置信息可以点击旁边的Test测试是否输入正确
输入完成后点击Save configuration。提示默认账户admin/admin
使用默认账户admin登录后,可以查看版本信息等。
点击Repositories并选择Add,创建一个repo
输入需要创建的repo名称,其他默认即可,然后点击Create,创建完成repo后,点击Access-Paths添加权限
赋予admin 读写权限
通过http://servername/svn/reponame,使用admin账户进入刚刚建立完成的repo
之后就可以通过svn客户端checkout或者import代码进行版本管理了。谢谢大家
转载请注明出处:http://write.blog.csdn.net/postedit/22666981 谢谢
参考资料:
http://wiki.centos.org/HowTos/Subversion
http://svnadmin.insanefactory.com/documentation/
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
SVN服务的搭建、配置、导出与导入
Mac OSX 搭建 svn服务器
SVN版本库合并
ubuntu安装和配置SVN
SVN安装
Windows下svnmanager安装和使用 - Svn中文网
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服