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