欢迎指正
1查看是否已安装
rpm -qa subversion
2安装
yum install subversion
svnadmin -version 检查版本
yum install httpd
httpd -version 查看hppd版本
2.1.httpd默认端口为80,打开配置文件 /etc/httpd/conf/httpd.conf ,找到"Listen 80",修改端口,
2.2如果启动了防火墙,需要将修改的端口通过防火墙。
2.3.服务设置开机启动 chkconfig httpd on 。可通过 chkconfig --list ,查看
httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
(2-5为on),表示设置成功
3启动httpd服务 /etc/init.d/httpd start | restart
本地或局域网内访问"http://ip:port",显示“Apache 2 Test Page”,则表示安装成功, 报错查看端口是否被占用
hpptd:目录结构:
配置文件:/etc/httpd/conf/httpd.conf
其他配置:/etc/httpd/conf.d --其他程序的配置文件,例如Subversion.conf
程序目录:/var/www/html
日志目录:/vder/log/httpd
4.yum install mod_dav_svn
svnadmin -version (安装依赖插件)
前往 /etc/httpd/modules/ 下,检查是否包含mod_dav_svn.so和mod_authz_svn.so,如果有,mod_dav_svn安装成功。
5使用
1.创建仓库,自己指定
#创建仓库目录
mkdir -p /var/www/svn
#创建svn版本库
svnadmin create /var/www/svn/project
#配置改当前仓库的配置文件 vim /var/www/svn/project/conf/svnserve.conf
#禁用匿名用户并开启验证用户权限。
anon-access = none #关闭匿名访问
auth-access = write #验证用户可写
password-db = passwd #指向验证用户名密码的数据文件 passwd
auth-db=authz #指向验证用户的权限配置文件 authz
2.svn整合apache,将svn关联到apache上
修改配置 文件 vim /etc/httpd/conf.d/subversion.conf
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
DAV svn
SVNPath /var/www/svn/project #svn根目录
AuthType Basic
AuthName "hi,SVN user!"
AuthUserFile /var/www/svn/project/conf/passwd #pass文件所在位置
AuthzSVNAccessFile /var/www/svn/project/conf/authz #authz文件所在
Require valid-user
#创建多个仓库
DAV svn
SVNPath /var/www/svn/project
AuthType Basic
AuthName "hi,SVN user!"
AuthUserFile /var/www/svn/passwd
AuthzSVNAccessFile /var/www/svn/authz
Require valid-user
3.权限修改
#修改 /var/www/svn 权限
chown apache.apache /var/www/svn -R #给apache用户组下的apache用户,赋予目录/var/www/svn,的所有权
chmod 777 /var/www/svn -R
# 表示对该档案的拥有者,与该档案的拥有者属于同一个group者,其他以外的用户赋予可读,可写,可运行的权限
#关闭SELinux
setenforce 0
#重启apache服务
service httpd restart
(重启时如果显示 Could not reliably determine the server's fully qualified domain name,
则 vim /etc/httpd/conf/httpd.conf , 加入 ServerName localhost:80)
#使用htpasswd创建用户,首次创建用户。位置和subversion.conf里的一样,给第一个用户添加密码时要加c,意思是创建这个文件,以后就不用加了
cd /var/www/svn/project/conf
( 执行添加用户命令必须在passwd文件所在的目录下执行,否则会另外创建一个passwd文件,之前的passwd文件和配置会失效)
htpasswd -cb passwd 设置用户名 设置密码 (在命令行直接创建,改指令会在 /var/www/svn/passwd自动添加svn账号和加密的密码)
#添加用户
htpasswd -b passwd 设置用户名 设置密码
#删除用户
htpasswd -D passwd user
#修改用户密码
htpasswd passwd user
总结:1,svn默认通过svn://访问,如果想要其通过http访问则需要依赖apache-httpd
2,apache提供了mod_dav_svn组件,该组件可以让svn和apache关联
3,当mod_dav_svn 安装后会自动在apache的 /httpd/modules/下添加关联文件mod_dav_svn.so和mod_authz_svn.so
4,这时候只需在 httpd/conf.d/subversion.conf配置文件中关联这两个文件就可以了,具体如下:
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
5,关联好apache后,需要配置需要代理的svn的基本信息,具体体现在sunversion.config 的
标签中
6,htpasswd是apache的一个工具,该工具主要用于建立和更新存储用户名、密码的文本文件,主要用于对基于http用户的认证。
htpasswd的安装很简单,它是随apache的安装而生成。使用该命令会在svn的config目录下的passwd中生成加密的账户密码数据