因为公司其他人员需要,需要在服务器上搭建svn服务,途中遇到不少问题,做下记录 第一步,安装svn 默认centos7是已经安装了svn即subversion 检查是否安装 rpm -qa subversion 没有安装的可以通过 yum install subversion 第二步,创建svn版本库 mkdir /home/svn svnadmin create /home/svn/test 此处库名为test可以根据需要替换 第三步,配置代码库 3.1用户密码配置 vim /home/svn/test/conf/passwd [users] # harry = harryssecret # sally = sallyssecret 用户名=密码 3.2权限控制配置 vim /home/svn/test/conf/authz 最后一行插入 [/] admin=rw 可以根据需要配置其他的组 3.3服务配置 vim /home/svn/test/conf/svnserve.conf 在[general]下插入 #匿名访问的权限,可以是read,write,none,默认为read anon-access=none #使授权用户有写权限 auth-access=write #密码数据库的路径 password-db=passwd #访问控制文件 authz-db=authz 第四步,编辑svnserver配置文件 vim /etc/sysconfig/svnserve OPTIONS="-r /home/svn" 默认实在/var/svn的位置 第五步,启动svn systemctl start svnserve netstat -tulnp 查看3690端口是否开放 ps aux|grep svn 查看服务是否开启 测试 svn://ip 输入用户名密码 有可能会遇到selinux阻挡了文件访问 setenforce 0 看下是否成功连接 如果是,就是selinux搞的鬼 cat /var/log/message 查看里面selinux中提供的帮助,照着其中做即可 最后setenforce 1恢复selinux 配置apache支持http方式访问 第一步,先安装apache以及apache对svn的支持 yum install httpd yum install mod_dav_svn 第二步,修改配置文件 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 <Location /svn/test> DAV svn SVNListParentPath on SVNPath /home/svn/test AuthType Basic Satisfy Any AuthName "Subversion repos" AuthUserFile /home/svn/test/conf/accesspwd AuthzSVNAccessFile /home/svn/test/conf/authz Require valid-user </Location> 第三步,创建accesspwd文件 htpasswd -c -m /home/svn/test/conf/accesspwd admin 接着输入密码 第四步,修改库的拥有者为apache chown -R apache /home/svn/ 第五步,开启httpd服务 systemctl start httpd 到这里连接可以成功,但是上传有可能失败,可能是selinux的问题,也是 cat /var/log/message根据建议修改即可 |
|