Centos下配置svn
安装
#查看是否已经安装过 rpm -qa subversion #安装svn yum -y install subversion #apache安装svn模块 yum -y install mod_dav_svn #看是否安装成功 subversion -v #或者 svnserve --version
配置svn
#修改apache httpd配置
vi /etc/httpd/conf/httpd.conf
#将Listen 80改为Listen 81,然后重启
service httpd restart
#建立SVN库
mkdir /opt/svn
svnadmin create /opt/svn/repos
#执行上面的命令后,自动在repos下建立多个文件
#进入生成的conf目录
#其中authz 是权限控制,可以设置哪些用户可以访问哪些目录, passwd是设置用户和密码的, svnserve是设置svn相关的操作
cd /opt/svn/repos/conf
#添加用户名密码
vi passwd
user1=password1
#设置权限
vi authz
[/]
user1= rw
#设定配置文件
vi svnserve.conf
anon-access = none # 使非授权用户无法访问
auth-access = write # 使授权用户有写权限
password-db = passwd
authz-db = authz # 访问控制文件
realm = /opt/svn/repos # 认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字。
#采用默认配置. 以上语句都必须顶格写, 左侧不能留空格, 否则会出错.
#启动svn
svnserve -d -r /opt/svn/repos --listen-port 3391
#然后可以通过svn://127.0.0.1:3391来访问
----------------------------------------
#创建用户和用户组
groupadd httpd
useradd httpd -g httpd
passwd httpd
# 配置仓库目录
chown -R httpd:httpd /opt/svn
chmod -R g+w /opt/svn/repos
chmod g+s /opt/svn/repos/db
#编辑httpd.conf,添加配置项(在最后添加)
vi /etc/httpd/conf/httpd.conf
<Location /svn>
DAV svn
SVNListParentPath on # 允许在网页上显示svn父目录list
SVNParentPath /opt/svn/
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/svntrac.htpasswd
#<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
#</LimitExcept>
</Location>
#其中svntrac.htpasswd文件是通过htpasswd命令来创建的
htpasswd -c /etc/svntrac.htpasswd user1
#添加新用户
htpasswd /etc/svntrac.htpasswd zhuyc
#修改httpd访问svn的权限
vi /etc/httpd/conf/httpd.conf
User httpd
Group httpd
#然后在浏览器中打开看是否配置成功
service httpd restart
http://www.testdomain.com/svn/
#进入生成的conf目录
#其中authz 是权限控制,可以设置哪些用户可以访问哪些目录, passwd是设置用户和密码的, svnserve是设置svn相关的操作
cd /opt/svn/repos/conf
#添加用户名密码
vi passwd
user2=password2
#设置权限
vi authz
[/]#这边指定具体可以访问的哪个路径
user2= rw
#设定配置文件,这些配置项前面不能有空格
vi svnserve.conf
anon-access = none # 使非授权用户无法访问
auth-access = write # 使授权用户有写权限
password-db = password
authz-db = authz # 访问控制文件
realm = /opt/svn/repos # 认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字。
#采用默认配置. 以上语句都必须顶格写, 左侧不能留空格, 否则会出错.
#启动svn
svnserve -d -r /opt/svn/repos --listen-port 3391 --listen-host 0.0.0.0
#通过TortoiseSVN进行操作
svn://localhost:3391
#通过浏览器进行操作
http://localhost:81/svn/repos/
#如果报\'/opt/svn/repos/db/txn-current-lock\': Permission denied的解决方法
cd /opt/svn/repos/db
chown -R httpd:httpd txn-current
chown -R httpd:httpd current
#临时关闭SElinux
setenforce 0
Ubuntu下配置svn
安装
#首先得确保安装了apache2 sudo apt-get install apache2 sudo apt-get install apache2-utils #编辑配置文件 sudo vi /etc/apache2/apache2.conf #在配置文件顶部加上如下一行 ServerName 0.0.0.0 #打开端口配置文件,将端口监听修改为81 sudo vi /etc/apache2/ports.conf #重启apache sudo service apache2 restart #安装svn server sudo apt-get -y install subversion sudo apt-get -y install libapache2-svn
svn服务端配置
#添加用户和组 sudo addgroup subversion #将用户添加到组 sudo usermod -G subversion -a tsengdavid #创建文件夹 sudo mkdir /home/svn #创建项目目录 sudo mkdir /home/svn/myproject #修改权限 sudo chown -R root:subversion /home/svn/myproject #创建文件仓库 sudo svnadmin create /home/svn/myproject #赋予组成员对所有新加入文件仓库的文件拥有相应的权限 sudo chmod -R g+rws /home/svn/myproject #在浏览器中访问 file:///home/svn/myproject/ ------------------------------------------- #配置web访问方式 cd /etc/apache2/mods-available/ sudo vi dav_svn.conf #加入如下内容 <Location /svn/myproject> DAV svn SVNPath /home/svn/myproject AuthType Basic AuthName "myproject subversion repository" AuthUserFile /etc/subversion/passwd <LimitExcept GET PROPFIND OPTIONS REPORT> Require valid-user </LimitExcept> </Location> #如果需要用户每次登录时都进行用户密码验证,请将<LimitExcept GET PROPFIND OPTIONS REPORT>与</LimitExcept>两行注释掉!!! #重启apache服务器 sudo /etc/init.d/apache2 restart #然后就可以通过http来使用svn了 http://localhost:81/svn/myproject/ #创建新用户(会提示输入密码),如果提示htpasswd命令不存在就重新安装sudo apt-get install apache2-utils sudo htpasswd -c /etc/subversion/passwd user2 #创建SVN用户文件之后我们还想再添加SVN用户的话,我们就不需要添加-c选项了 sudo htpasswd /etc/subversion/passwd zhangsan #用户授权 sudo vi /etc/subversion/authz #加入如下内容 #用户组指令 [groups] #将用户liangzhichao添加到用户组subversion subversion = rdy #其他组 [myproject:/] #为用户组subversion添加读写权限 @subversion = rw #重启apache2 sudo /etc/init.d/apache2 restart #此时迁入的话有权限问题,修改权限 sudo chmod -R 777 /home/svn/myproject #然后就可以迁入迁出了,windows中也可 http://192.168.1.219:81/svn/myproject/
Unknown DAV provider: svn错误
这是因为系统没有安装mod_dav_svn,它是Subversion与Apache之间的接口(通过它,Apache就可以访问版本库,可以让客户端也使用HTTP的扩展协议 WebDAV/DeltaV进行访问) [root@cnn001 conf]# yum install mod_dav_svn [root@cnn001 conf]# ls /etc/httpd/modules/ | grep svn mod_authz_svn.so mod_dav_svn.so 使用本地文件系统把/ta_parser项目导入到svn [root@cnn001 ta_parser]# svn import /ta_parser http://svn/repos/tap/ta_parser -m "the tap parser project" Adding /ta_parser/HelloWorld.java Committed revision 1.
selinux中的配置--成功
#查看selinux中httpd用户的权限 getsebool -a|grep httpd #配置 chcon -R -t httpd_sys_content_rw_t /opt/svn/repos/ #这一句可不用设置,因为默认就是允许的 setsebool -P httpd_unified=1
相关推荐