搭建过程参考:http://www.linuxidc.com/Linux/2016-07/133280.htm
Ubuntu下SVN+SVNManager搭建
SVNManager是一个基于Web的Subversion图形化管理工具。利用这个工具,用户可以远程创建配置库、删除和加载配置库、设置用户访问权限、邀请创建账号等功能。 下面说说在Ubuntu下SVN+SVNManager搭建过程。 1、准备1.1、安装基础库apt-get update apt-get upgrade -y apt-get install apache2 subversion apache2-utils libapache2-svn apt-get install mysql-server mysql-client apt-get install php5 php5-mysql php5-sqlite php-pear pear install VersionControl_SVN-0.3.4 ##使apche2模块生效 a2enmod dav_svn authz_svn 1.2、创建基础目录#创建仓库主文件夹 mkdir -p /var/svn/repos #创建仓库配置文件夹 mkdir -p /var/svn/svnconfig #添加subversion组 groupadd subversion #将www-data用户加入subversion组 gpasswd -a www-data subversion #创建密码文件和访问控制文件并赋权(这两个文件由SVNManager维护) touch /var/svn/passwdfile /var/svn/accessfile #赋于文件仓库的访问权限 chown -R www-data:subversion /srv/svn chmod -R g+rws /srv/svn 1.3、下载svnmanagerwget http://prdownloads.sourceforge.net/svnmanager/svnmanager-1.09.tar.gz tar -xvf svnmanager-1.09.tar.gz mv svnmanager-1.09 /var/www/ 2、配置2.1、配置apache支持svnvim /etc/apache2/mods-available/dav_svn.conf #写入如下内容 <Location /svn> DAV svn SVNParentPath /var/svn/repos AuthType Basic AuthName "SVN Repositories" AuthUserFile /var/svn/passwdfile AuthzSVNAccessFile /var/svn/accessfile Require valid-user </Location> #使配置文件生效 ln -s /etc/apache2/mods-available/dav_svn.conf /etc/apache2/mods-enabled/dav_svn.conf 2.2、配置mysql#创建svnmanager数据库并添加svnmanager用户和密码123456 mysql -u root -p mysql> CREATE DATABASE svnmanager; mysql> GRANT all privileges on svnmanager.* to 'svnmanager'@'localhost' identified by '123456'; mysql> FLUSH PRIVILEGES; mysql> exit 2.3、配置svnmanagercp /var/www/svnmanager/config.php.linux /var/www/svnmanager/config.php vim /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 /var/svn/svnconfig"; $svn_config_dir = "/var/svn/svnconfig"; $svn_repos_loc = "/var/svn/repos"; $svn_passwd_file = "/var/svn/passwdfile"; $svn_access_file = "/var/svn/accessfile"; $smtp_server = "smtp.163.com"; $dsn = "mysqli://svnmanager:123456@localhost/svnmanager" $admin_name = "admin"; $admin_temp_password = "admin"; 2.4、配置中文路径支持#使SVNManager的web页面支持中文路径 vim /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); 2.5、使svnmanager可访问vim /etc/apache2/sites-available/000-default.conf #设置svnmanager根目录 DocumentRoot /var/www/svnmanager-1.09 2.6、重启apacheservice apache2 restart 3、使用服务3.1、访问首页http://localhost 使用用户名admin,密码admin登录; 第一次访问时会提示没有数据库,然后自动帮你建表,再访问一次就可以正常访问初始界面 注意这是临时账户只能登录一次,所以在登录成功后第一件事就是添加一个管理员账户;如果忘记创建了那么你就需要清空数据库重新访问url 3.2、添加用户:3.3、添加仓库3.4、添加权限3.5、访问仓库http://localhost/svn/sendbox 注意:这里要添加一个svn路径前缀,后面加仓库名;这里仓库名必须全部小写,即使你创建的时候用到了大写 输入你有权限访问改仓库的账号和密码 |
其中一处有一些纰漏需要注意:
#赋于文件仓库的访问权限 chown -R www-data:subversion /srv/svn chmod -R g+rws /srv/svn
这一句应改为
chown -R www-data:subversion /srv/svn chmod -R g+rws /var/svn
chmod -R g+rws /var/svn