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

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 0.0 0.9 ? Ss : : /usr/sbin/apache2 -k start
www-data 0.0 0.6 ? S : : /usr/sbin/apache2 -k start
www-data 0.0 0.8 ? S : : /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

ubuntu安装svn manager的更多相关文章

  1. Linux (Ubuntu)安装svn

    1 先查看是否已经安装了svn 如果没有安装svn则: ubuntu@ip----:~$ svn --version The program 'svn' is currently not instal ...

  2. Ubuntu安装Cloudera Manager以及CDH5.15.2

    一.机子分配 注意,本安装教程是在真机上进行,而非虚拟机.另,此次搭建主要的目的是搭建测试环境,让Hadoop各组件能够运作起来即可,完成搭建后,将用小数据量进行相关数据的计算与测试.线上环境将会使用 ...

  3. ubuntu安装svn

    安装svn # sudo apt-get install subversion 创建svn仓库 # cd /root # mkdir svn # cd svn # svnadmin create re ...

  4. ubuntu 安装 SVN 后的错误:Subversion Native Library Not Available & Incompatible JavaHL library loaded

    问题一 安装了SVN的eclipse插件,使用的时候就会弹出一个错误的提示框:  Subversion Native Library Not Available,加载不到JavaHL.   解决方法 ...

  5. Ubuntu安装Svn,提供http访问

    安装相关package sudo apt-get install subversion subversion-tools apache2 libapache2-svn apache2-utils 创建 ...

  6. ubuntu 安装 svn

    sudo apt-get install subversion

  7. Centos/ubuntu配置SVN服务

    Centos安装svn yum -y install subversion ubuntu安装svn apt-get install subversion Centos配置svn root@hello: ...

  8. ubuntu安装和配置SVN【转】

    ubuntu安装和配置SVN 转自:http://www.jb51.net/os/Ubuntu/56394.html 第一步:安装apache2  libapache2-svn subversion ...

  9. ubuntu下安装svn

    Ubuntu下使用SVN SVN作为日常开发中不可缺少的工具,今天终于开始在Ubuntu下使用了. 1.首先需要安装SVN.Ubuntu下的SVN安装十分简单,sudo apt-get install ...

随机推荐

  1. mapping 详解4(mapping setting)

    mapping type 映射设置一般发生在: 1. 增加新的 index 的时候,添加 mapping type,对 fields 的映射进行设置 PUT twitter { "mappi ...

  2. 关于Eclipse中配置产品启动的插件

    比较省事的是白哥给我一个配置文件(EE_CONF_TEST.launch),使用的方法白哥推荐我新建一个普通的java项目,然后拷贝到这个项目中. 拷贝到项目中之后在Run Configuration ...

  3. struts2的action从request获取参数值的几种方式

    使用jquery框架的ajax能够方便的向后台传递参数,以$.post为例,参数有2种方式字符串和键值对:$.post(url, "name=aty&age=25")和$. ...

  4. js Date.UTC() 与 php strtotime()生成的时间截不一样

    Difference in UTC date between PHP and Javascript 工作中,因使用highcharts显示数据,需要将PHP 将日期转换为UTC 时区的时间截,然后通过 ...

  5. [Laravel] 获取执行的Sql

    获取数据库操作记录 $queries = DB::getQueryLog(); //取最后一条是 $lastSql = end($queries); 不过这样输出的,不是真正的sql,输出的是类似PD ...

  6. mysql查找重复

    중복된 것 모두 찾기    SELECT 필드명, count(*) FROM 테이블명  GROUP BY 필드명   mysql> SELECT t1, count(*) FROM tes ...

  7. Apache 流媒体 拖动模块编译

    Windows使用apxs独立编译 Apache 模块 http://blog.sina.com.cn/s/blog_43b83d340100mdhl.html 安装 apxs 1.解压apxs.zi ...

  8. HW—字符串最后一个单词的长度,单词以空格隔开。

    描述 计算字符串最后一个单词的长度,单词以空格隔开. 知识点 字符串,循环 运行时间限制 0M 内存限制 0 输入 一行字符串,长度小于128. 输出 整数N,最后一个单词的长度. 样例输入 hell ...

  9. JavaScript高级程序设计(七):JavaScript中的in关键字

    in 使用点一: 在js中,for--in用于遍历一个对象的属性,把对象的属性名和属性值都提出来. var obj = { "key1":"value1", & ...

  10. ###《Machine Learning》by Andrew NG

    点击查看Evernote原文. #@author: gr #@date: 2014-10-17 #@email: forgerui@gmail.com Fundamental 一. 矩阵的迹.秩 矩阵 ...