一、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