技术宅,fat-man

增加语言的了解程度可以避免写出愚蠢的代码

导航

ubuntu安装svn manager

环境:系统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

 

posted on 2015-03-19 12:56  codestyle  阅读(463)  评论(0编辑  收藏  举报