環境:系統ubuntu14.04php
0. 更新軟件庫html
sudo apt-get update sudo apt-get upgrade -y
1. 安裝apache,svn,svn的apache模塊mysql
sudo apt-get install apache2 subversion libapache2-svn sudo apt-get install apache2-utils sudo a2enmod dav_svn
2. 建立svn版本庫的服務器端路徑和配置文件linux
sudo mkdir /var/svn/repos sudo touch /var/svn/repos/accessfile sudo touch /var/svn/repos/passwdfile sudo chmod 666 accessfile passwdfile
3. 映射到apachesql
配置 /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 文件,指定文檔根目錄apache
DocumentRoot /var/www
4. 安裝PHP,MYSQL數據庫,建立svn manager所須要數據庫ubuntu
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 managervim
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