记录下自己在Linux环境下(centos)安装Apache+subversion+svnmanager 其中遇到过奇怪的无法访问accessfile的问题 后按照下面步骤重新安装问题自动消失
1.下载相关的依赖工具 不过centos上基本上都已经自动安装了
yum install subversion httpd php mysql-server mod_dav_svn php-mysql php-pear php-mbstring
pear install --alldeps VersionControl_SVN-0.3.1
2.部署subversion
创建svn目录
mkdir -p /var/svn/repos
chown -R apache.apache /var/svn
修改svn配置 /etc/httpd/conf.d
<Location /svn>
DAV svn
SVNParentPath /var/svn/repos/
</Location>
3.安装SVNManager
#tar –xvzf svnmanager-1.0.9.tar.gz
#mv svnmanager-1.0.9 /var/www/html/
创建数据库
#mysql –u root –p
Mysql>create database svn;
Mysql>grant all privileges on svn.* to ‘svnmanager’@’localhost’ identified by ‘[访问用户密码]’;
Mysql>flush prifileges;
Mysql>quit;
增加权限配置
将先前配置的内容/etc/httpd/conf/httpd.conf中:
<Location /svn>
DAV svn
SVNParentPath /var/svn/repos/
</Location>
修改为:
<Location /svn>
DAV svn
SVNParentPath /var/svn/repos/
AuthType Basic
AuthName "Subversion realm"
AuthUserFile /var/svn/passwdfile
AuthzSVNAccessFile /var/svn/accessfile
Require valid-user
</Location>
为了加强权限控制也可以在配置文件中增加如下内容,以加强安全控制
<Directory "/var/www/html/svnmanager/">
AllowOverride None
Order deny,allow
Deny from all
Allow from all
</Directory>
在/var/svn目录下创建两个空文件passwdfile和accessfile。并执行下边的语句:
#chown –R apache.apache passwdfile
#chown –R apache.apache accessfile
$htpassword_cmd = "/usr/bin/htpasswd";
$svn_cmd = "/usr/bin/svn";
$svnadmin_cmd = "/usr/bin/svnadmin";
$svn_repos_loc = "/var/svn/repos";
$svn_passwd_file = "/var/svn/passwdfile";
$svn_access_file = "/var/svn/accessfile";
$smtp_server = "smtp.domain.org";
$dsn = "mysql://svnmanager:[password]@localhost/svn";
//Administrator account
$admin_name = "admin";
$admin_temp_password = "admin";
启动Apache、Mysql,并访问http://服务器地址/svnmanager,出示用户名称为admin,密码为admin,创建管理员用户后该帐号失效。至此整个服务部署完毕。