今天把以前配置svnmanager的文档上传上来,免得不小心被我弄丢了,如果哪位朋友不小心看了这个文章有问题的话可以给我留言~
一、环境
RHEL5.0+apache+subversion+mysql+php
Mysql、Php、subversion为RHEL5自带的RPM包;
SVNmanager为1.08版本.下载地址为www.svnmanager.org
对于RHEL的安装,这里就不描述了。
如果要支持中文,可以选择中文包。
安装过程中配置网络时,因为在后续安装VersionControl_SVN的时候需要外网,最好是可以联网,当然也可以直接下来包本地安装,这里采用联网的网上安装。
系统安装完毕,需要验证下如下包是否存在,如果不存在,采用RPM安装即可。
直接使用rpm命令安装如下的包:
glibc-headers-2.5-12.i386.rpm
glibc-devel-2.5-12.i386.rpm
gcc-4.1.1-52.el5.i386.rpm
apr-1.2.7-11.i386.rpm
apr-devel-1.2.7-11.i386.rpm
apr-docs-1.2.7-11.i386.rpm
apr-util-1.2.7-6.i386.rpm
apr-util-1.2.7-6.i386.rpm
apr-util-devel-1.2.7-6.i386.rpm
httpd-2.2.3-6.el5.i386.rpm
httpd-devel-2.2.3-6.el5.i386.rpm
httpd-manual-2.2.3-6.el5.i386.rpm
mod_dav_svn-1.4.2-2.el5.i386.rpm
php-pear-1.4.9-4
php-common-5.1.6-5.el5
php-5.1.6-5.el5
php-pdo-5.1.6-5.el5
php-cli-5.1.6-5.el5
php-mysql-5.1.6-5.el5
perl-DBD-MySQL-3.0007-1.fc6.i386.rpm
php-mbstring-5.1.6-5.el5.i386.rpm
mysql-server-5.0.22-2.1
mysql-5.0.22-2.1
由于要通过php访问mysql数据库,一定要保证系统中已经部署了php-mysql组件。执行下面的指令检查是否已经安装php-mysql组件,当然推荐最好把php组件都安装了,免得出现什么问题。
二、集成SVN和Apache
1、 创建仓库
#mkdir -p /var/svn/repos
#svnadmin create /var/svn/repos/test
#chown -R apache:apache /var/svn
2、 配置apache
在apache的配置文件httpd.conf中添加如下内容
LoadModule dav_svn_module modules
/
mod_dav_svn
.
so
LoadModule authz_svn_module modules
/
mod_authz_svn
.
so
#
svn
使用,顺序也要这样
<
Location
/
svn
/>
DAV svn
SVNListParentPath on
SVNParentPath
/
var
/
svn
/
repos #
仓库路径
AuthType Basic
AuthName
"ZGSM SVN"
AuthUserFile
/
var
/
svn
/
passwdfile
AuthzSVNAccessFile
/
var
/
svn
/
accessfile
Require valid
-
user
</
Location
>
3.
创建密码文件及访问文件
#touch /var/svn/passwdfile
#touch /var/svn/accessfile
#chown apache:apche passwdfile accessfile
4.启动apache并验证svn
#service httpd start
在浏览器里输入http://IP/svn/test,看数否有提示输入用户名密码,有的话则说明SVN正常。
三、安装盒配置svnmanager
1、 下载svnmanager,从www.svnmanager.org下svnmanager1.08
解压并放置到/var/www/html/下
#tar zxvf svnmanager-1.03.tgz
#mv svnmanager-1.03 svnmanager
#mv svnmanager /var/www/html/
2.安装VersionControl_SVN
最开始提到的php-pear包,安装这个包后会有/usr/bin/pear命令,我们使用它来安装VersionControl_SVN,最新的版本为0.3.2,输入下面的命令:
#pear install --alldeps VersionControl_SVN-0.3.2
如果安装正常会有正确的提示,否则为failed。
3.向http.conf文件添加新内容
#vi /etc/httpd/conf/httpd.conf 添加如下内容是为了更安全:
<Directory "/var/www/html/svnmanager/">
AllowOverride None
Order deny,allow
Deny from all
Allow from all
</Directory>
4.创建svnmanager使用的mysql数据库
#service mysqld start
#mysql –u root –p
mysql>create database svnmanager;
mysql>grant all on svnmanager.* to“ svnmanager@localhost” identified by “svnmanager”
;
这里建的数据库名字是
svnmanager
,密码也是
svnmanager
。
mysql>flush privileges;
mysql>quit;
5.更改svnmanager的配置文件
#cd /var/www/html/svnmanager/
#mv config.php.linux config.php
#vi config.php 改为如下内容:
<?php
$htpassword_cmd = "/usr/bin/htpasswd";
$svn_cmd = "/usr/bin/svn";
$svnadmin_cmd = "/usr/bin/svnadmin";
//Subversion locations
$svn_repos_loc = "/var/svn/repos";
$svn_passwd_file = "/var/svn/passwdfile";
$svn_access_file = "/var/svn/accessfile";
//If the following is set, removing a repository will cause it to be
//moved to this location rather than being deleted.
$svn_trash_loc = "";
//$svnserve_user_file = "/var/www/repos/svnserve_passwd_file";
$svnserve_user_file="";
//SMTP Server for outgoing mail
$smtp_server = "smtp.mailserver.net";
$dsn = "mysql://svnmanager:svnmanager@localhost/svnmanager";
$admin_name = "admin";
$admin_temp_password = "admin";
?>
表颜色的地方要把原配置文件的mysqli修改为mysql。报File does not exist:错误,php会报Undefined variable: svn_config_dir错误。
6.验证
另外,将$svn_config_dir = "/var/www/svnconfig";这一行生效,去掉前面的//,如果不去掉的话,apache日志会
启动Apache、Mysql,并访问http://172.30.4.52/svnmanager,出示用户名称为admin,密码为admin,创建管理员用户后该帐号失效。至此整个服务部署完毕。
在配置的过程中,当php页面空白,但是不能正常工作的时候,是因为php的错误信息被屏蔽掉了,可以通过修改php.ini文件,查找error_reporting = E_ERROR 改成 E_ALL,查找display_errors=Off 改成 ON。这样页面就会提示错误信息,结合apache的日志具体分原因。
对于svnmanager的具体使用方法,因为贴图太多,就不上传了,如果有需要的,请联系我哦。