Apache与SVN整合

2022-06-13 08:38:04 浏览数 (1)

整合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

0 人点赞