[服务器_Apache]Apache2+SVN搭建代码版本控制系统

1 安裝Apache2服务器

1.1 安装

#sudo  apt-get install apache2

1.2 重启

#sudo service apache2 restart

1.3 设置字符编码

#sudo gedit etc/apache2/conf.d/charset

找到#AddDefaultCharset UTF-8,将前面的#去掉(使用UTF-8编码).

1.4 确认安装成功

通过浏览器访问http://127.0.0.1 或者 http://localhost/会出现如下提示:

It works!

This is the default web page for this server.

The web server software is running but no content has been added, yet.

2 SVN配置

2.1 创建SVN的版本仓库

#sudo mkdir /home/svn

#sudo mkdir /home/svn/myproject

2.2 单独给用户(Apache2)创建权限

# sudo chown -R www-data:www-data /home/svn/myproject

2.2 创建文件仓库

#sudo svnadmin create /home/svn/myproject

3 Apache配置

#sudo gedit /etc/apache2/mods-available/dav_svn.conf

在文件中添加以下内容:

<Location /svn/myproject>

DAV svn

SVNPath /home/svn/myproject

AuthType Basic

AuthName "Subversion Repository"

AuthUserFile /etc/subversion/passwd

<LimitExcept GET PROPFIND OPTIONS REPORT>(如果想每次登陆都输入密码请把这个引掉)

Require valid-user

</LimitExcept>

</Location>

添加好上述内容后保存退出,然后重启Apache.(注:网上有的地方AuthName后面为“myproject subversion repository”,会导致重启Apache失败。)

#sudo /etc/init.d/apache2 restart

接下来,创建 /etc/subversion/passwd 文件,该文件包含了用户授权的详细信息。

#sudo htpasswd -c /etc/subversion/passwd zhaoxiao

它会提示输入密码,输入两次密码之后,该用户就建立完成。

此时,在浏览器里面输入http://localhost/svn/myproject就可以看见自己创建的版本了。

P.S:

大部分内容来自网络,自己将这些过程实践了一遍,初衷是为了方便自己本地的代码版本控制,显然Apache2+SVN有点大才小用了,搭建完成后当然也可作为服务器使用,此处服务器和客户端都在自己本机上,另外,推荐一款ubuntu下的图形化svn客户端rapidsvn,有兴趣可以尝试一下。