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,文件内容如下:
DAV svn SVNParentPath /srv/svn/repos AuthType Basic AuthName "SVN Repositories" AuthUserFile /srv/svn/passwdfile # AuthzSVNAccessFile /srv/svn/accessfile # #Require valid-user #
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