Archlinux下搭建SVN服务器

Archlinux是本人最喜欢的一个发行版,轻量、灵活、wiki文档众多,最重要的是用着非常顺手。下面介绍在Archlinux下搭建SVN服务器的过程。

一、准备工作
本文前提是已经安装好apache并且正常运作。接下来安装subversion:

pacman -S subversion

建立svn目录:

mkdir -p /home/svn/repositories

二、修改配置文件
在/etc/httpd/conf/httpd.conf,确定下列4行没有被注释掉,并且是如下次序排列:

LoadModule dav_module           modules/mod_dav.so
LoadModule dav_fs_module        modules/mod_dav_fs.so
LoadModule dav_svn_module       modules/mod_dav_svn.so
LoadModule authz_svn_module     modules/mod_authz_svn.so

SSL设置之生成密钥对:

cd /etc/httpd/conf/; openssl req -new -x509 -keyout server.key -out server.crt -days 365 -nodes

接着设置/etc/httpd/conf/extra/httpd-ssl.conf:

   DAV svn
   SVNParentPath /home/svn/repositories
   AuthzSVNAccessFile /home/svn/.svn-policy-file
   AuthName "SVN Repositories"
   AuthType Basic
   AuthUserFile /home/svn/.svn-auth-file
   Satisfy Any
   Require valid-user

确认在/etc/httpd/conf/httpd.conf里将下列配置取消注释:

Include /etc/httpd/conf/extra/httpd-ssl.conf

创建/home/svn/.svn-policy-file,并且加入如下配置:

[/]
* = r

[YOUR_REPO_NAME:/]
YOUR_USER_NAME = rw

其中,YOUR_REPO_NAME是你要创建的SVN目录;YOUR_USER_NAME是你自定义的访问SVN的用户名。
上面配置的意思是允许所有人的读权限,但是只允许特定人在YOUR_REPO_NAME里的写权限。

接着,创建/home/svn/.svn-auth-file文件:

htpasswd -cs /home/svn/.svn-auth-file YOUR_USER_NAME

三、创建目录
创建SVN目录,并设定Apache的读写权限(Archlinux里Apache的用户名和组名都为http)

svnadmin create /home/svn/repositories/YOUR_REPO_NAME
chown -R http.http /home/svn/repositories/YOUR_REPO_NAME

OK,一个简单而功能完整的SVN服务器就搭建完成了。你可以用Tortoise(Windows)或者svn(Linux)来Checkout和操作这个SVN了。

本文为悠然居(https://wordpress.youran.me/)的原创文章,转载请注明出处!

3 thoughts on “Archlinux下搭建SVN服务器”

  1. 最近空间快到期,也想换个空间,请问博主这个wordpress的博客主机空间,包年多少,在国内速度如何、

    Google Chrome 13.0.782.107 Google Chrome 13.0.782.107 Windows XP Windows XP
    1. 我这个是kiloserve的,速度挺不错,ping值一般在190-260之间吧。
      具体请见https://kiloserve.com/cheapvps

      Google Chrome 18.0.1025.151 Google Chrome 18.0.1025.151 Windows 7 x64 Edition Windows 7 x64 Edition

Leave a Reply

Your email address will not be published. Required fields are marked *