实际系统环境
CentOS 6.3 64位(阿里云)
一、安装Apache
通常系统都已经装好了:
# yum install httpd
二、安装SVN
根据SVN官网指南使用yum进行安装:
# yum install subversion mod_dav_svn
安装完成后碰到了 Unknown DAV provider: svn的问题
通过修改Apache的配置文件 httpd.conf ,使用LoadModule来加载mod_dav_svn模块。
- LoadModule dav_svn_module "svn安装目录/bin/mod_dav_svn.so"
- LoadModule authz_svn_module "svn安装目录/bin/mod_authz_svn.so"
三、配置SVN
装完SVN后默认生成/etc/httpd/conf.d/subversion.conf文件
# 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>
四、创建SVN repo目录和权限信息目录
# mkdir /var/www/svn
# mkdir /var/www/svnconfig
五、创建SVN权限文件和密码文件
# touch /var/www/svnconfig/accessfile
# touch /var/www/svnconfig/passwdfile
六、安装php
CentOS5和CentOS6安装php有所区别,CentOS5使用yum最新只能安装php5.1,而可视化管理工具iF.SVNAdmin(http://svnadmin.insanefactory.com/ )要求要php5.3以上才行。
CentOS6安装php:
# yum install php
七、安装iF.SVnAdmin
# wget http://sourceforge.net/projects/ifsvnadmin/files/svnadmin-1.6.2.zip/download
# unzip svnadmin-1.6.2.zip
# cp -r iF.SVNAdmin-stable-1.6.2/ /var/www/html/svnadmin
# chmod -R 777 /var/www/html/svnadmin/data/
# chown -R apache:apache /var/www/html/svnadmin/
# chmod 777 /var/www/svnconfig/accessfile
# chmod 777 /var/www/svnconfig/passwdfile
八、启动apache服务
# service httpd restart
启动后浏览器输入http://192.168.109.144/svnadmin/ 后登录,默认用户名和密码都是admin,如下图:
登录后如下,输入各个配置文件的路径后点击Test进行测试是否成功,全部成功后保存配置Save configration:
基本管理:
1.版本库移动:
将A版本库下的a1 移动到B版本库下并改名为b3
将a1检出到/tmp/a1:svn checkout http://127.0.0.1/svn/A/a1 /tmp/a1
将a1导入到B版本库:svn import /tmp/a1 http://127.0.0.1/svn/B/b3
(导入过程中会自动跳过目录下的.svn隐藏文件)
2.忘记管理密码
使用htpasswd:
htpasswd -m 用户文件名 用户名 (新建用户也可用)
更多用法请看 # man htpasswd