环境:系统ubuntu14.04
0. 更新软件库
sudo apt-get update sudo apt-get upgrade -y
1. 安装apache,svn,svn的apache模块
sudo apt-get install apache2 subversion libapache2-svn sudo apt-get install apache2-utils sudo a2enmod dav_svn
2. 创建svn版本库的服务器端路径和配置文件
sudo mkdir /var/svn/repos sudo touch /var/svn/repos/accessfile sudo touch /var/svn/repos/passwdfile sudo chmod 666 accessfile passwdfile
3. 映射到apache
配置 /etc/apache2/mods-available/dav_svn.conf 文件,追加下面的内容
<Location /svn> DAV svn SVNParentPath /var/svn/repos AuthType Basic AuthName "SVN Repositories" AuthUserFile /var/svn/repos/passwdfile # <IfModule mod_authz_svn.c> AuthzSVNAccessFile /var/svn/repos/accessfile # </IfModule> # <LimitExcept GET PROPFIND OPTIONS REPORT> Require valid-user # </LimitExcept> </Location>
编辑 /etc/apache2/sites-availables/000-default.conf 文件,指定文档根目录
DocumentRoot /var/www
4. 安装PHP,MYSQL数据库,创建svn manager所需要数据库
sudo apt-get install php5 php5-mysql php5-sqlite php-pear sudo apt-get install mysql-server # 密码设置为root mysql -uroot -proot; CREATE DATABASE svnmanager; grant all privileges on svnmanager.* to 'svnmanager'@'localhost' identified by '123456';
5. 安装svn manager
wget http://prdownloads.sourceforge.net/svnmanager/svnmanager-1.09.tar.gz sudo tar zxvf svnmanager-1.09.tar.gz -C /var/www/ sudo mv /var/www/svnmanager-1.09 /var/www/svnmanager wget http://kr.archive.ubuntu.com/ubuntu/pool/universe/p/php-versioncontrol-svn/php-versioncontrol-svn_0.3.1-1_all.deb dpkg -i php-versioncontrol-svn_0.3.1-1_all.deb
6. 配置svn manager
sudo cp /var/www/svnmanager/config.php.linux config.php vim /var/www/svnmanager/config.php
$svn_repos_loc = "/var/svn/repos"; $svn_passwd_file = "/var/svn/repos/passwdfile"; $svn_access_file = "/var/svn/repos/accessfile"; $smtp_server = "smtp.163.com"; $dsn = "mysqli://root:root@127.0.0.1/svnmanager";
7. 创建用户,版本库(写到之前建立的配置文件中去)
第一次登录时用config.php里定义的用户名密码(都是admin)
创建用户
用新用户登录
使用新用户创建版本库
创建普通用户(表单里需要登录者的密码)
8. 客户端从HTTP地址checkout(根据第3步做的映射)
svn co http://ip:port/svn/repos
注意的问题
ps aux | grep apache2 root 5513 0.0 0.9 104492 9956 ? Ss 06:56 0:01 /usr/sbin/apache2 -k start www-data 5517 0.0 0.6 121612 6260 ? S 06:56 0:00 /usr/sbin/apache2 -k start www-data 5518 0.0 0.8 122796 9160 ? S 06:56 0:00 /usr/sbin/apache2 -k start
权限,ubuntu的apache进程是www-data启动的因此版本库目录的属主也得是www-data
sudo chown -R www-data:www-data /var/svn/svnmanager/ sudo chown -R www-data:www-data /var/svn/repos/
svn manager需要version_control.deb因此需要安装
参考:
http://wuyaweiwude.iteye.com/blog/1915064
http://www.linuxidc.com/Linux/2012-06/62173.htm
http://blog.chinaunix.net/uid-20410459-id-172337.html