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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:

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,如需转载请自行联系原作者






相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1月前
|
消息中间件 存储 大数据
Apache Kafka: 强大消息队列系统的介绍与使用
Apache Kafka: 强大消息队列系统的介绍与使用
|
1月前
|
Ubuntu 安全 网络安全
百度搜索:蓝易云【Ubuntu系统SVN服务器搭建教程】
现在,你已经成功在Ubuntu系统上搭建了SVN服务器。其他用户可以通过SVN客户端连接到你的SVN服务器,进行代码版本管理和协作开发。注意,为了安全起见,建议配置SSL加密以保护数据传输。
48 1
|
1月前
|
iOS开发 MacOS
MAC OS更新系统后IDEA中的SVN报错无法使用
MAC OS更新系统后IDEA中的SVN报错无法使用
|
1月前
|
存储 监控 安全
带你读《Apache Doris 案例集》——07查询平均提速700% ,奇安信基于 Apache Doris 升级日志安全分析系统(1)
带你读《Apache Doris 案例集》——07查询平均提速700% ,奇安信基于 Apache Doris 升级日志安全分析系统(1)
189 1
|
1月前
|
SQL 存储 安全
带你读《Apache Doris 案例集》——07查询平均提速700% ,奇安信基于 Apache Doris 升级日志安全分析系统(2)
带你读《Apache Doris 案例集》——07查询平均提速700% ,奇安信基于 Apache Doris 升级日志安全分析系统(2)
223 0
|
1月前
|
安全 Linux 网络安全
Linux _ apache服务器部署 不同域名—访问不同网站(多网站)
Linux _ apache服务器部署 不同域名—访问不同网站(多网站)
|
1月前
|
网络安全 API Apache
如何在win系统部署Apache服务并实现无公网ip远程访问
如何在win系统部署Apache服务并实现无公网ip远程访问
|
1月前
|
运维 Apache 数据安全/隐私保护
CentOS6.5搭建SVN服务器(Apache+SVN)
CentOS6.5搭建SVN服务器(Apache+SVN)
|
1月前
|
网络安全 API Apache
本地快速部署Apache服务器并使用内网穿透实现远程访问
本地快速部署Apache服务器并使用内网穿透实现远程访问
|
1月前
|
消息中间件 存储 Java
深度探索:使用Apache Kafka构建高效Java消息队列处理系统
【4月更文挑战第17天】本文介绍了在Java环境下使用Apache Kafka进行消息队列处理的方法。Kafka是一个分布式流处理平台,采用发布/订阅模型,支持高效的消息生产和消费。文章详细讲解了Kafka的核心概念,包括主题、生产者和消费者,以及消息的存储和消费流程。此外,还展示了Java代码示例,说明如何创建生产者和消费者。最后,讨论了在高并发场景下的优化策略,如分区、消息压缩和批处理。通过理解和应用这些策略,可以构建高性能的消息系统。