ubuntu安装部署SVN+SVNManager

一、SVN 安装配置

1、更新系统:
 apt-get update
 apt-get upgrade -y

2、安装相关软件:
 apt-get install apache2 subversion libapache2-svn

安装完subversion后,ubuntu会自动配置apache加载subversion模块,若未自动加载可运行下面命令加载:
 sudo a2enmod dav_svn

3、环境准备:用户、组、文件夹的创建和赋权
 #创建仓库文件夹
 mkdir -p /srv/svn/repos
 #将www-data用户加入subversion组
 groupadd subversion
 gpasswd -a www-data subversion
 #赋于文件仓库的访问权限
 chown -R www-data:subversion /srv/svn/repos
 chmod -R g+rws /srv/svn/repos
 #创建密码文件和访问控制文件并赋权(这两个文件由SVNManager维护)
 touch /srv/svn/passwdfile /srv/svn/accessfile
 chown www-data:subversion /srv/svn/passwdfile /srv/svn/accessfile
 a2enmod dav_svn authz_svn

4、在apache2中配置SVN:
vi /etc/apache2/mods-available/dav_svn.conf,文件内容如下:
<Location /svn>
   DAV svn                                                        
   SVNParentPath /srv/svn/repos
   AuthType Basic                                                  
   AuthName "SVN Repositories"                                     
   AuthUserFile /srv/svn/passwdfile

#   <IfModule mod_authz_svn.c>
       AuthzSVNAccessFile /srv/svn/accessfile
#   </IfModule>                        

#   <LimitExcept GET PROPFIND OPTIONS REPORT>           
       Require valid-user    
#   </LimitExcept>                                                  

</Location>

5、SVN配置完毕,重启服务:
 service apache2 restart

二、SVNManager安装配置

1、安装mysql,root密码:root1234
apt-get install mysql-server mysql-client

2、创建SVNManager数据库
mysql -u root -proot1234

mysql> CREATE DATABASE svnmanager;
mysql> GRANT all privileges on svnmanager.* to 'svnmanager'@'localhost' identified by 'root1234';
mysql> FLUSH PRIVILEGES;
mysql> exit

3、安装PHP_5
apt-get install php5 php5-mysql php5-sqlite php-pear

4、安装Pear模块:VersionControl_SVN
 pear install VersionControl_SVN-0.3.4

若不指定版本安装:pear install -f -o VersionControl_SVN,在页面进行赋权操作的时候有问题,可能是软件bug。

5、下载SVNManager
wget http://prdownloads.sourceforge.net/svnmanager/svnmanager-1.09.tar.gz

6、部署SVNManager:
tar zxvf svnmanager-1.09.tar.gz -C /var/www

ln -s /var/www/svnmanager-1.09 /var/www/svnmanager

7、配置SVNManager
mkdir -p /srv/svn/svnconfig
chown -R www-data:subversion  /srv/svn 
chmod -R g+rws /srv/svn 

8、修改配置文件:
 cp /var/www/svnmanager/config.php.linux /var/www/svnmanager/config.php
 vi /var/www/svnmanager/config.php

修改config.php如下配置项:
$lang = "en_US.utf8";
$htpassword_cmd = "/usr/bin/htpasswd";
$svn_cmd = "/usr/bin/svn";
$svnadmin_cmd = "/usr/bin/svnadmin --config-dir /srv/svn/svnconfig";

$svn_config_dir	 =	"/srv/svn/svnconfig";
$svn_repos_loc	 =      "/srv/svn/repos";
$svn_passwd_file =      "/srv/svn/passwdfile";
$svn_access_file =      "/srv/svn/accessfile";

$smtp_server = "smtp.163.com";
$dsn  = "mysqli://root:root1234@localhost/svnmanager"

$admin_name	 =	"admin";
$admin_temp_password	=	"admin";

9、使SVNManager的web页面支持中文路径:
 vi /usr/share/php/VersionControl/SVN.php
将下行
exec("{$this->prepend_cmd}$cmd 2>&1", $out, $ret_var);
改为:
exec("LANG=zh_CN.UTF-8; {$this->prepend_cmd}$cmd 2>&1", $out, $ret_var);

10、SVNManager配置完毕,重启服务:
 service apache2 restart

11、进行一次访问:http://svn-ip/svnmanager/  会提示创建SVNManager数据表,刷新页面,出现登录页面。

三、配置及使用信息:

1)SVNManager登陆地址:http://svn-ip/svnmanager/
2)SVNManager初始管理员帐号和密码:admin/admin(创建一个管理员账户后该帐号失效)
3)使用管理员帐号登录SVNManager后进行用户、组、仓库的创建并进行赋权操作,
svnmanager使用教程参见:
http://wenku.baidu.com/view/7ca281e2524de518964b7d7c.html

SVN管理员或许需要如下信息:
1)SVN库的存放位置:/srv/svn/repos
2)SVN用户和权限控制文件:/srv/svn/passwdfile /srv/svn/accessfile
3)Apache中SVN的配置文件:/etc/apache2/mods-available/dav_svn.conf
4)缺省SVNManager使用的MySQL的root密码:root1234

你可能感兴趣的:(SVN,ubuntu,subversion,svnmanager)