Ubuntu系统搭建SVN服务器
参考地址:http://git.devzeng.com/blog/aliyun-ubuntu-svn-server.html
安装软件
依次在终端中执行下面的命令安装如下三个软件包:
(1)sudo apt-get install subversion
(2)sudo apt-get install apache2
(3)sudo apt-get install libapache2-svn
其中subversion是SVN必须的,apache2和libapache2-svn是为了配置SVN服务器支持通过HTTP访问
SVN服务器配置
相关用户、组的设定
sudo addgroup subversion
sudo usermod -G subversion -a www-data
创建项目的目录
sudo mkdir /home/svn
配置Subversion
- 配置dav_svn.conf文件
vim /etc/apache2/mods-available/dav_svn.conf
按照下面的步骤进行配置即可
删除<Location /svn>和DAV svn这两行前面的注释
删除SVNParentPath ...前面的注释,并且把后面的路径替换成创建的SVN的项目路径/home/svn
删除AuthType Basic、AuthName “Subversion Repository”前面的注释,
去掉AuthUserFile所在行前面的注释,并且修改后面的路径为/etc/subversion/dav_svn.passwd,
去掉AuthzSVNAccessFile所在行前面的注释,并且修改后面的路径为/etc/subversion/dav_svn.authz,
删除Require valid-user和前面的注释,具体如下所示:
其中:
/etc/subversion/dav_svn.passwd文件是SVN用户名和密码的配置,指定基本用户验证的密码文件存放的位置
/etc/subversion/dav_svn.authz文件是访问权限配置
重启Apache 2 WEB服务器
sudo /etc/init.d/apache2 restart
创建SVN文件仓库
-
创建指定的项目存放路径
cd /home/svn mkdir project1
-
更改版本库所示的用户、组
sudo chown -R root:subversion project1
-
创建SVN仓库
sudo svnadmin create /home/svn/project1
-
赋予组成员对所有新加入文件仓库的文件拥有相应的权限
sudo chmod -R g+rws project1
-
用户和权限配置
创建dav_svn.passwd文件并添加用户admin001,执行命令后会提示要输入密码sudo htpasswd -c /etc/subversion/dav_svn.passwd admin001
继续添加新用户,去掉-c,否则会覆盖本文件
sudo htpasswd /etc/subversion/dav_svn.passwd admin002
-
创建授权文件
vim /etc/subversion/dav_svn.authz
里面加入project1的权限配置,如
[groups] administrator=admin001,admin001 [project1:/] @administrator=rw
-
重启SVN服务器
killall svnserve
svnserve -d -r /home/svn/
至此SVN服务器搭建完成,可以在终端执行
svn checkout http://hostname/svn/project1 project1 --username 用户名 --password 密码 来checkout项目了
相关问题
1、Apache和Tomcat端口号冲突
修改/etc/apache2/ports.conf文件将Listen 80改成Listen 8080表示监听8080端口或者其他可用端口
修改/etc/apache2/sites-enabled/000-default文件,修改<VirtualHost*:80>改成<VirtualHost*:8080>
2、关闭和启动Tomcat服务器
(1)关闭:sudo /etc/init.d/tomcat stop
(2)启动:sudo /etc/init.d/tomcat start