首页 > 代码库 > Ubuntu Server 12.04 LTS搭建SVN服务及修改端口

Ubuntu Server 12.04 LTS搭建SVN服务及修改端口

采用了apache结合svn的方式。

首先安装apache、subversion、svn-apache

sudo apt-get install apache2sudo apt-get install subversionsudo apt-get install libapache2-svn

然后创建svn项目仓库

sudo mkdir /svnsudo cp /etc/apache2/mods-enabled/dav_svn.conf /etc/apache2/mods-enabled/dav_svn.conf.origsudo vim /etc/apache2/mods-enabled/dav_svn.conf

编辑dav_svn.conf配置文件,内有注释,可以去掉前面的#使语句生效,内容如下

<Location /svn>DAV svnSVNParentPath /svnAuthType BasicAuthName "Subversion Repository"AuthUserFile /etc/apache2/dav_svn.passwdRequire valid-user</Location>

添加用户,然后系统会提示输入密码并确认

#首次创建需要加-c选项,并且需要后面加-m参数,同时可以增加一个svn用户#执行该命令会提示为新用户admin设置密码sudo htpasswd -c /etc/subversion/passwd admin #以后添加新用户,需要去掉-c选项,否则以前的用户就被覆灭了sudo htpasswd /etc/subversion/passwd kkrimen

创建版本库

cd /svnsudo 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 *:80Listen 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