svn,apache,svnmanager版本控制系统部署

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介:

Subversion部署

首先先来部署Subversion,我直接下载了一个RPM包,subversion-1.4.6-1.i386.rpm,运行如下命令即可安装:

1
yum -y install subversion

部署LAMP环境,这里选择yum方式安装:

1
yum -y install http* php-* mysql-*

安装http,dav_svn,authz_svn模块:

1
yum -y  install  dav_svn* authz_svn*


配置apache的httpd.conf
打开apache的conf/httpd.conf,安装subversion后,apache的conf/httpd.conf文件会自动增加了模块
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so

相应的so文件也自动copy到了apache/modules。这些工作就不用自己动手了。

创建svn仓库目录:


1
2
3
mkdir  -p  /var/svn/repos
touch  /var/svn/repos/dav_svn . passwd
touch  /var/svn/repos/dan_svn .authz



配置apache的httpd.conf
打开apache的conf/httpd.conf,安装subversion后,apache的conf/httpd.conf文件会自动增加了模块
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so


需要自己动手修改apache下的httpd.conf最后增加以下内容

1
2
3
4
5
6
7
8
9
<Location  /svn >
DAV svn
SVNParentPath  /var/svn/repos
AuthType Basic
AuthName  "Subversion Repository"
AuthUserFile  /var/svn/repos/dav_svn . passwd
AuthzSVNAccessFile  /var/svn/repos/dav_svn .authz
Require valid-user
< /Location >
1
2
3
4
5
6
<Directory  "/var/www/html/svnmanager/" >
    AllowOverride None
    Order deny,allow
    Deny from all
    Allow from all
< /Directory >


重启httpd:


1
service httpd start


为了验证你的subversion与apache是否可以正常工作,在配置好svnmanager之前,先用subversion带的工具创建一个版本库,命令如下:


1
2
svnadmin create  /var/svn/repos/testrepos
chown  –R apache.apache  /var/svn/repos/testrepos


用本机的浏览器访问http://127.0.0.1/repos/testrepos,若通过Apache可以访问到则证明Apache与Subversion的结合配置正确。



安装SVNManager


准备SVNManager源代码包(v1.05):下载地址:http://nchc.dl.sourceforge.net/sourceforge/svnmanager/svnmanager-1.05.tar.gz


将文件解压至/var/www/html下:

1
2
tar  –xvzf svnmanager-1.05. tar .gz
mv  svnmanager-1.05  /var/www/html/svnmanager


SVNManager需要通过php-pear安装一个叫VersionControl_SVN的。你的机器必须连接上互联网,并执行如下命令:


1
pear  install  --alldeps VersionControl_SVN-0.3.1.tgz


注意,我在我的AS4系统上执行上面的指令总是不成功,报告如下错误:

HTTP error, got response: HTTP/1.1 410 Gone

Didn't receive 200 OK from remote server. (HTTP/1.1 410 Gone)

这就说明可能是机器上的pear工具版本太低了,与服务器之间的网络协议不匹配,所以如果出现上述错误,请先升级pear工具本身,方法如下:



1
2
3
4
pear upgrade --force http: //pear .php.net /get/PEAR-1 .3.3
pear upgrade --force http: //pear .php.net /get/Archive_Tar  http: //pear .php.net /get/XML_Parser  http: //pear .php.net /get/Console_Getopt-1 .2.2
pear upgrade --force http: //pear .php.net /get/PEAR-1 .4.3. tar
pear upgrade PEAR


然后再执行VersionControl_SVN-0.3.1的安装:


1
pear  install  --alldeps VersionControl_SVN-0.3.1.tgz


为SVNManager创建数据库

为SVNManager创建访问用户及数据库:



1
2
3
4
5
mysql –u root –p
Mysql>create database svnmanager;
Mysql>grant all privileges on svnmanager.* to svnmanager@localhost identified by ‘[访问用户密码]’;
Mysql>flush prifileges;
Mysql>quit;


全部执行成功后,svn数据库svnmanager创建成功,用户名是svnmanager。


增加权限配置

这一段我就不写了,实际就是在/etc/httpd/conf.d/subversion.conf中的那些内容,不过这里还需要你来手动的创建用户密码文件和访问控制文件,这里我们假定svn代码库的根目录是/svn/repos,密码文件dav_svn.passwd以及访问控制文件dav_svn.authz


1
2
3
#cd /var/svn/repos
#chown –R apache.apache dav_svn.passwd
#chown –R apache.apache dav_svn.authz


配置svnmanager

svnmanager的配置文件在/var/www/html/svnmanager目录下,有一个config.php.linux和config.php.win,分别针对Linux和Windows操作系统下的配置模板,请将config.php.linux拷贝一份,并重命名为config.php。

下面是我的/var/www/html/svnmanager/config.php文件中的全部配置信息,如下:


1
2
3
4
5
6
7
8
9
10
11
$htpassword_cmd =  "/usr/bin/htpasswd" ;
$svn_cmd =  "/usr/bin/svn" ;
$svnadmin_cmd =  "/usr/bin/svnadmin" ;
$svn_repos_loc =  "/svn/repos" ;
$svn_passwd_file =  "/var/svn/repos/dav_svn.passwd" ;
$svn_access_file =  "/var/repos/dav_svn.authz" ;
$smtp_server =  "smtp.domain.org" ;
$dsn =  "mysql://svnmanager:[password]@localhost/svnmanager" ;
//Administrator  account
$admin_name =  "admin" ;
$admin_temp_password =  "admin" ;


启动Apache、Mysql,并访问http://localhost/svnmanager,初始用户名称为admin,密码为admin,此时你必须创建一个系统管理员,否则是看不到版本库管理菜单的。创建管理员用户后admin帐号失效。至此整个服务部署完毕。








     本文转自ljl_19880709 51CTO博客,原文链接:http://blog.51cto.com/luojianlong/1367694,如需转载请自行联系原作者






相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
消息中间件 监控 数据挖掘
基于RabbitMQ与Apache Flink构建实时分析系统
【8月更文第28天】本文将介绍如何利用RabbitMQ作为数据源,结合Apache Flink进行实时数据分析。我们将构建一个简单的实时分析系统,该系统能够接收来自不同来源的数据,对数据进行实时处理,并将结果输出到另一个队列或存储系统中。
108 2
|
2月前
|
存储 消息中间件 人工智能
AI大模型独角兽 MiniMax 基于阿里云数据库 SelectDB 版内核 Apache Doris 升级日志系统,PB 数据秒级查询响应
早期 MiniMax 基于 Grafana Loki 构建了日志系统,在资源消耗、写入性能及系统稳定性上都面临巨大的挑战。为此 MiniMax 开始寻找全新的日志系统方案,并基于阿里云数据库 SelectDB 版内核 Apache Doris 升级了日志系统,新系统已接入 MiniMax 内部所有业务线日志数据,数据规模为 PB 级, 整体可用性达到 99.9% 以上,10 亿级日志数据的检索速度可实现秒级响应。
AI大模型独角兽 MiniMax 基于阿里云数据库 SelectDB 版内核 Apache Doris 升级日志系统,PB 数据秒级查询响应
|
2月前
|
关系型数据库 MySQL 应用服务中间件
win7系统搭建PHP+Mysql+Apache环境+部署ecshop项目
这篇文章介绍了如何在Windows 7系统上搭建PHP、MySQL和Apache环境,并部署ECShop项目,包括安装配置步骤、解决常见问题以及使用XAMPP集成环境的替代方案。
42 1
win7系统搭建PHP+Mysql+Apache环境+部署ecshop项目
|
1月前
|
Linux Apache 数据安全/隐私保护
kali向Apache上部署网页
kali向Apache上部署网页
57 5
|
2月前
|
存储 开发工具 数据安全/隐私保护
Git 与 SVN:版本控制领域的双星对比
【8月更文挑战第27天】
52 6
|
2月前
|
存储 Ubuntu 应用服务中间件
如何在 Ubuntu 14.04 上使用 Passenger 和 Apache 部署 Rails 应用
如何在 Ubuntu 14.04 上使用 Passenger 和 Apache 部署 Rails 应用
17 0
|
2月前
|
关系型数据库 Linux 网络安全
"Linux系统实战:从零开始部署Apache+PHP Web项目,轻松搭建您的在线应用"
【8月更文挑战第9天】Linux作为服务器操作系统,凭借其稳定性和安全性成为部署Web项目的优选平台。本文以Apache Web服务器和PHP项目为例,介绍部署流程。首先,通过包管理器安装Apache与PHP;接着创建项目目录,并上传项目文件至该目录;根据需要配置Apache虚拟主机;最后重启Apache服务并测试项目。确保防火墙允许HTTP流量,正确配置数据库连接,并定期更新系统以维持安全。随着项目复杂度提升,进一步学习高级配置将变得必要。
140 0
|
4月前
|
消息中间件 存储 Java
深度探索:使用Apache Kafka构建高效Java消息队列处理系统
【6月更文挑战第30天】Apache Kafka是分布式消息系统,用于高吞吐量的发布订阅。在Java中,开发者使用Kafka的客户端库创建生产者和消费者。生产者发送序列化消息到主题,消费者通过订阅和跟踪偏移量消费消息。Kafka以持久化、容灾和顺序写入优化I/O。Java示例代码展示了如何创建并发送/接收消息。通过分区、消费者组和压缩等策略,Kafka在高并发场景下可被优化。
107 1
|
4月前
|
Java 应用服务中间件 Apache
安装和配置Apache Tomcat是部署Java Web应用程序的常见任务
安装和配置Apache Tomcat是部署Java Web应用程序的常见任务
123 7
|
3月前
|
消息中间件 存储 Java
Apache Kafka是分布式消息系统,用于高吞吐量的发布订阅
【7月更文挑战第1天】Apache Kafka是分布式消息系统,用于高吞吐量的发布订阅。在Java中,开发者使用Kafka的客户端库创建生产者和消费者。生产者发送消息到主题,消费者订阅并消费。Kafka提供消息持久化、容灾机制,支持分区和复制以确保高可用性。通过优化如分区、批处理和消费者策略,可适应高并发场景。简单的Java示例展示了如何创建和交互消息。
47 0