Linux环境下搭建Apache+subversion+svnmanager

做完系统搭建已经好久了,运行还是很不错的,写个大概的步骤和大家分享.有什么问题大家可以交流奥.

Linux主要以CentOS和REDHAT为主,基本上都是用的5,现在用老版本的少了,当然老系统用的还是不少的.

先说说安装的前提条件 

Apache/Mysql/PHP这些在安装系统的时候安装上就OK了,如果没安装在系统里rpm安装上就可以了.

1.Subversion部署

首先先来部署Subversion,网络上很多地方介绍要编译安装,其实没有必要.系统安装光盘里有相应的安装介质,如果没有安装,RPM手工安装就好了.

接下来是要做Subversion的系统配置了,在/etc/httpd/conf.d下配置subversion.conf,里边有例子也有说明

<Location /repos>
DAV svn
SVNParentPath /var/svn/repos/
</Location>

这是我的一个配置文件(不带权限控制的,带控制的在后边),大家参考吧.既然在配置文件里边给出了SVNParentPath,那就得创建这个目录.创建后,注意:要更改相关的权限  #chown –R apache:apache /var/svn/
  又由于RHEL5中引入了SELinux来加安全控制,因此需要对该路径进行赋权。#chcon -R -h -t httpd_sys_content_t /var/svn

为了验证配置的正确性,我们创建一个版本库,若通过Apache可以访问到则证明Apache与Subversion的结合配置正确。
创建版本库:
#svnadmin create /var/svn/repos/testrepos
#chown –R apache.apache /var/svn/repos/testrepos
启动Apache服务:
#service httpd start
访问http://127.0.0.1/repos/testrepos,若有显示则证明配置通过。

2.安装SVNManager

准备SVNManager源代码包(v0.38):
下载地址:
http://nchc.dl.sourceforge.net/sourceforge/svnmanager/svnmanager-0.38.tar.gz
将文件解压至/var/www/html下:
#tar –xvzf svnmanager-0.38.tar.gz
#mv svnmanager-0.38 /var/www/html/

(最好下最新的SVNManager,老版本还是有bug的)

3.安装SVNManager需要的组件

该模块SVNManager需要通过php-pear安装。执行下面的指令检查是否已经安装php-pear组件。
# rpm -qa|grep php-pear
若安装了组件,将显示组件名称。当未安装时,请从安装光盘中找出php-pear的rpm包,利用以下指令进行安装:
#rpm –ivh xxxx.rpm
在完成php-pear的安装后,将机器连接至互联网,执行以下指令安装VersionControl_SVN模块,当前VersionControl_SVN的最新版本为VersionControl_SVN-0.3.0alpha1。
#pear install --alldeps VersionControl_SVN-0.3.0alpha1

由于要通过php访问mysql数据库,一定要保证系统中已经部署了php-mysql组件。执行下面的指令检查是否已经安装php-mysql组件。
# rpm -qa|grep php-mysql
若安装了组件,将显示组件名称。当未安装时,请从安装光盘中找出php-mysql的rpm包,利用以下指令进行安装:
#rpm –ivh xxxx.rpm

4.为SVNManager创建数据库

为SVNManager创建访问用户及数据库:
#mysql –u root –p
Mysql>create database svnmanager;
Mysql>grant all privileges on svnmanager.* to ‘svnmanager’@’localhost’ identified by ‘[访问用户密码]’;
Mysql>flush prifileges;
Mysql>quit;
在SVNManager目录下利用脚本创建数据库:
mysql -u svnmanager -p svnmanager < createtables.sql

5.增加权限配置
将先前配置的内容/etc/httpd/conf/httpd.conf中:
<Location /repos>
  DAV svn
  SVNParentPath /var/svn/repos/
</Location>
修改为:
<Location /repos>
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

6.配置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/svnmanager";
//Administrator account
$admin_name = "admin";
$admin_temp_password = "admin";
启动Apache、Mysql,并访问http://127.0.0.1/svnmanager,出示用户名称为admin,密码为admin,创建管理员用户后该帐号失效。至此整个服务部署完毕。

 上边的内容比较零乱,大家完全可以参考安装说明进行部署.

 

 

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值