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

采用了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
posted @ 2014-07-23 14:48  kkrimen  阅读(874)  评论(0编辑  收藏  举报