1、安装
$ sudo apt-get install apache2
$ sudo vi /etc/apache2/ports.conf
$ sudo /etc/init.d/apache2 restart
$ sudo apt-get install subversion
$ sudo apt-get install libapache2-svn
3.1 增加组,并且把用户加到组里:
sudo addgroup subversion
sudo usermod -G subversion -a www-data
3.2 现在执行下面的命令:
$ sudo mkdir /home/svn
$ cd /home/svn
$ sudo mkdir myproject
$ sudo chown -R root:subversion myproject
3.3 下面的命令用于创建 SVN 文件仓库:
$ sudo svnadmin create /home/svn/myproject
3.4 赋予组成员对所有新加入文件仓库的文件拥有相应的权限:
$ sudo chmod -R g+rws myproject
4、Apache和Subversion的集成
查看/etc/apache2/mods-enabled/dav_svn.load文件,有mod_dav_svn.so这个动态库说明apache已经加载了Subversion的访问控制模块。如果没有,手动添加。
要通过 WebDAV 协议访问 SVN 文件仓库,您必须配置您的 Apache 2 Web 服务器。您必须加入下面的代码片段到您的 /etc/apache2/mods-available/dav_svn.conf中:
<Location /svn>
DAV svn
SVNPath /www/impkd.com/svn
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /www/impkd.com/svn/conf/passwd
<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>
</Location>
sudo /etc/init.d/apache2 restart
sudo htpasswd -c /home/svn/passwd user_name
它会提示您输入密码,当您输入了密码,该用户就建立了。“-c”选项表示创建新的/home/svn/passwd文件,所以user_name所指的用户将是文件中唯一的用户。如果要添加其他用户,则去掉“-c”选项即可:
sudo htpasswd /home/svn/passwd other_user_name
5、配置nginx
sudo vi /alidata/server/nginx/conf/nginx.conf
加入下面配置:
server {listen 80;
server_name www.domain.com;
location /svn {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:8099;
}
}
保存退出。
6.重启nginx
nginx -s reload
7.打开浏览器,输入http://www.domain.com/svn,就会弹出提示输入用户名,密码的对话框,用户名为第4步中htpasswd -c /home/svn/passwd user_name的user_name,密码为该user_name的密码,如果没有弹出什么错误,说明安装成功。
8.如果要用svn://domain.com/方式访问:可以添加到/etc/rc.local
svnserve -d -r /www/impkd.com/svn