采用了apache结合svn的方式。
首先安装apache、subversion、svn-apache
sudo apt-get install apache2
sudo apt-get install subversion
sudo apt-get install libapache2-svn
然后创建svn项目仓库
sudo mkdir /svn sudo cp /etc/apache2/mods-enabled/dav_svn.conf /etc/apache2/mods-enabled/dav_svn.conf.orig sudo vim /etc/apache2/mods-enabled/dav_svn.conf
编辑dav_svn.conf配置文件,内有注释,可以去掉前面的#使语句生效,内容如下
<Location /svn> DAV svn SVNParentPath /svn AuthType Basic AuthName "Subversion Repository" AuthUserFile /etc/apache2/dav_svn.passwd Require valid-user </Location>
添加用户,然后系统会提示输入密码并确认
#首次创建需要加-c选项,并且需要后面加-m参数,同时可以增加一个svn用户 #执行该命令会提示为新用户admin设置密码 sudo htpasswd -c /etc/subversion/passwd admin #以后添加新用户,需要去掉-c选项,否则以前的用户就被覆灭了 sudo htpasswd /etc/subversion/passwd kkrimen
创建版本库
cd /svn sudo svnadmin create firstrepo
确保你添加了/svn目录的读写权限给apache
sudo chown -R www-data:www-data /svn
重启apache2完成配置
sudo /etc/init.d/apache2 restart
如何要保证所有人的权限,则把前面conf文件下的SVNParentPath改成SVNPath
由于apache默认使用80端口,如果有别的应用也默认使用80端口,如nginx则会发生端口冲突
解决的办法是修改apache的监听端口
sudo vim /etc/apache2/ports.conf
NameVirtualHost *:80 Listen 3690 <IfModule mod_ssl.c> # If you add NameVirtualHost *:443 here, you will also have to change # the VirtualHost statement in /etc/apache2/sites-available/default-ssl # to <VirtualHost *:443> # Server Name Indication for SSL named virtual hosts is currently not # supported by MSIE on Windows XP. Listen 443 </IfModule> <IfModule mod_gnutls.c> Listen 443 </IfModule>
改变上面Listen后面的端口号为自己想要的端口,这里我是3690,然后在重新启动apache
sudo /etc/init.d/apache2 restart