Ubuntu14.04下svn+svnmanager搭建

apt-getupdate

apt-get-yupgrade

apt-getinstallapache2subversionapache2-utilslibapache2-svn-y

apt-getinstallmysql-servermysql-client

apt-getinstallphp5php5-mysqlphp5-sqlitephp-pear

pearinstallVersionControl_SVN-0.3.4

创建仓库主文件夹

mkdir-p/svn/repos

创建仓库配置文件夹

mkdir-p/svn/svnconfig

添加subversion组

groupaddsubversion

将www-data用户加入subversion组

gpasswd-awww-datasubversion

创建密码文件和访问控制文件

touch/svn/passwdfile/svn/accessfile

赋予文件仓库访问权限

chown-Rwww-data:subversion/svn

chmod-Rg+rwx/svn

下载svnmanager

wgethttp://prdownloads.sourceforge.net/svnmanager/svnmanager-1.09.tar.gz

tar-xvfsvnmanager-1.09.tar.gz

mvsvnmanager-1.09/var/www/

配置apache支持svn

vim/etc/apache2/mods-available/dav_svn.conf

#写入如下内容

<Location/svn>

DAVsvn

SVNParentPath/svn/repos

AuthTypeBasic

AuthName"SVNRepositories"

AuthUserFile/svn/passwdfile

AuthzSVNAccessFile/svn/accessfile

Requirevalid-user

</Location>

配置mysql

#创建svnmanager数据库并添加svnmanager用户和密码123456

mysql-uroot-p

mysql>CREATEDATABASEsvnmanager;

mysql>GRANTallprivilegesonsvnmanager.*to'svnmanager'@'localhost'identifiedby'123456';

mysql>FLUSHPRIVILEGES;

mysql>exit

配置svnmanager

cp/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/svn/svnconfig";

$svn_config_dir="/svn/svnconfig";

$svn_repos_loc="/svn/repos";

$svn_passwd_file="/svn/passwdfile";

$svn_access_file="/svn/accessfile";

$smtp_server="smtp.163.com";

$dsn="mysqli://svnmanager:123456@localhost/svnmanager"

$admin_name="admin";

$admin_temp_password="admin";

vim/etc/apache2/mods-available/dav_svn.load添加

#LoadModuledav_module/usr/lib/apache2/modules/mod_dav.so

#LoadModuledav_fs_module/usr/lib/apache2/modules/mod_dav_fs.so

LoadModuledav_svn_module/usr/lib/apache2/modules/mod_dav_svn.so

LoadModuleauthz_svn_module/usr/lib/apache2/modules/mod_authz_svn.so

配置中文路径支持

#使SVNManager的web页面支持中文路径

vim/usr/share/php/VersionControl/SVN.php

#将下行

exec("{$this->prepend_cmd}$cmd2>&1",$out,$ret_var);

#改为:

exec("LANG=zh_CN.UTF-8;{$this->prepend_cmd}$cmd2>&1",$out,$ret_var);

配置svnmanager可访问

vim/etc/apache2/sites-available/000-default.conf

#设置svnmanager根目录

DocumentRoot/var/www/

重启apache

使用用户名admin,密码admin登录;

第一次访问时会提示没有数据库,然后自动帮你建表,再访问一次就可以正常访问初始界面

注意这是临时账户只能登录一次,所以在登录成功后第一件事就是添加一个管理员账户;如果忘记创建了那么你就需要清空数据库重新访问url

添加svn用户

htpasswd/svn/passwdfilelz