您的位置:首页 > 运维架构 > Apache

Linux环境下搭建Apache+subversion+svnmanager

2012-09-14 11:41 363 查看
记录下自己在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

配置svnmanager
在/var/www/html/svnmanager/config.php文件中,配置相关信息,如下

$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,创建管理员用户后该帐号失效。至此整个服务部署完毕。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息