整合svn与apache配置
安装软件
[root@localhost ~]# yum install httpd mod_dav_svn
修改apache配置文件,在最后添加
[root@localhost ~]# vim /etc/httpd/conf/httpd.conf
<Location /svn> (apache下的位置)
DAV svn
SVNPath /home/svn/repos (版本库的主目录)
</Location>
启动httpd服务
[root@localhost ~]# service httpd restart
在网页输入http://ip地址/svn
创建通过网页访问版本库的密码访问,
修改http配置文件,添加如下行
[root@localhost ~]# vim /etc/httpd/conf/httpd.conf
<Location /svn> (apache下的位置)
DAV svn
SVNPath /home/svn/repos (版本库的主目录)
AuthType Basic (认证类型为基本认证)
AuthName "wellcome" (认证名称,将在IE界面弹出一个对话框,其标题)
AuthUserFile /home/svn/apache_passwd (apache认证密码文件)
#AuthzSVNAccessFile /home/svn/apache_authz (svn目录权限文件)#可选
Require valid-user (要求验证用户,即不能匿名访问)
</Location>
创建apache用户
[root@localhost ~]# htpasswd -c /home/svn/apache_passwd www
-c创建密码文件apache_passwd,只需首次创建用,其余不用-c
单独安装svn
安装软件
[root@localhost ~]# yum install subversion
创建根目录
[root@localhost ~]# mkdir -p /home/svn
创建版本库repos
[root@localhost ~]# svnadmin create/home/svn/repos
查看是否安装成功,出现版本信息为成功
[root@localhost ]# svnserve --version
进入测试库,会看到有文件生成
[root@localhost ~]# cd /home/svn/repos/
[root@localhost repos]# ls
conf db format hooks locks README.txt
修改svnserve.conf配置文件
[root@localhost ~]# vim/home/svn/repos/conf/svnserve.conf
[general]
anon-access = none # 使非授权用户无法访问
auth-access = write # 使授权用户有写权限
password-db = passwd # 指明密码文件路径
authz-db = authz # 访问控制文件
realm = /home/svn/repos # 认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字。
各语句都必须顶格写, 左侧不能留空格, 否则会出错.
修改passwd文件
[root@localhost ~]# vim /home/svn/repos/conf/passwd
[users]
# harry = harryssecret
# sally = sallyssecret
hello = 123
aaa = 123
用户名 = 密码
各语句都必须顶格写, 左侧不能留空格, 否则会出错.
修改authz认证文件
[root@localhost ~]# vim /home/svn/repos/conf/authz
[groups]
admin = hello
[repos:/]
@admin = rw
aaa = r
将用户添加到组,可以添加多个用户,用户之间用逗号分开
各语句都必须顶格写, 左侧不能留空格, 否则会出错.
使用import导入文件
/这条语句将把路径/root下的文件导入到创建的 Subversion 仓库中去,-m后面是解释
[root@localhost ~]# svn import /root/file:///home/svn/repos/ -m "/root"
启动svn服务,指定根目录,而不是repos版本库
[root@localhost ~]# svnserve -d -r /home/svn/
测试版本库是否能成功取出版本
[root@localhost ~]# svn checkout svn://127.0.0.1/repos
输入用户名/密码
杀死svn
[root@localhost ~]# killall -9 svnserve
查看svn进程是否存在
[root@localhost ~]# netstat -anpl |grep svnserve