`

redhat enterprise 6.1下httpd+svn服务搭建记录

 
阅读更多

这两天配了个http+svn的服务器,从一开始的什么都不懂到最后可以svn commit,经历了一些波折。在网上查了大量的资料,有很多没有记住都是谁写的了。无法将我参考过的文章链接列出来,报歉!

以下是我安装配置的过程,以便以后需要的时候再次翻阅。现在记性太差了。。。。。

操作系统:Linux RHE_6.1 (redhat enterprise 6.1)

需要软件包:Apache(httpd), Subversion
 
一,安装必须软件

我已经将yum配置了本地仓库。
1. 安装Subversion:
yum install subversion.
 
2. 安装apache
yum install httpd mod_dav_svn mod_perl
 
二,配置目录及创建SVN库
 
个人推荐创建一个用户来管理所有的svn库。
1.创建SVN目录
 
创建一个专为SVN库所在的目录,便于以后管理。
cd /home
mkdir svnroot
 
创建版本库根目录(即之后配置中的SVNParentPath)
cd svnroot
mkdir repository
 
创建鉴权信息目录(即之后的authfile, authz.conf所在的目录)
mkdir auth
 
创建权根配置文件
cd auth
vi authz.conf
 
2. 创建svn仓库
cd repository
 
svnadmin create test
创建名为test的仓库
 
将整个SVN根目录的所有者更改为apache
chown -R apache.apache /home/svnroot
这个也很重要,否则无法提交。会提示没有权限。
 
初始化SVN目录:
mkdir tmpfolder
cd tmpfolder
mkdir doc
mkdir release
mkdir tag
mkdir branch
mkdir trunk
cd doc
mkdir requirement
mkdir design
mkdir pm
 
svn import /home/svnroot/repository/tmpfolder/ file:///home/svnroot/repository/test/ -m "init folder struct"
这样test工程就有如下目录结构了
test
--doc
----requirement
----design
----pm
--release
--tag
--branch
--trunk
 
三,配置服务
 
1. Httpd配置
 
1.1 修改httpd配置
cd /etc/httpd/conf/
vi httpd.conf
 
ServerName=xxx.xxx.xxx.xxx:80                         //如果没有域名,并且没有接入公网解析的话,这里添IP地址
 
在底部添加
<Location /svn>
DAV svn
SVNParentPath /home/svnroot/repository
#Satisfy Any
AuthType Basic
AuthName "xxxxx"
AuthUserFile /home/svnroot/auth/authfile
Require valid-user
AuthzSVNAccessFile /home/svnroot/auth/authz.conf
</Location>
 
这里采用"SVNParentPath"的方式,在一个连接下管理多个svn库
 
1.2 添加用户文件,并创建svn用户
htpasswd -c /home/svnroot/auth/authfile xxx                     //xxx为用户名
这里会在/home/svnroot/repository/下创建authfile文件,并且创建第一个用户xxx
之后添加用户则为:
htpasswd /home/svnroot/auth/authfile xxx2
 
1.3 将httpd设置为开机自启动。
检查/etc/rc.d/init.d/下是否已经有httpd文件,并且是否已经有可执行权限。
如果有则跳转1.3.2
1.3.1 制作开机启动脚本:
以下一段是节选自别人的内容

  在/etc/rc.d/init.d目录下编辑启动脚本。

  拷贝自动启动的服务程序到 /etc/rc.d/init.d 目录下:

  例如:将 appache2的驱动程序appachectl拷贝至/etc/rc.d/init.d目录下并改名为:httpd

  cp /usr/sbin/apachectl /etc/rc.d/init.d/httpd

  使用编辑器打开httpd文件,并在第一行#!/bin/sh下增加两行文字如下

  # chkconfig: - 85 15

  # description: Apache

  更改httpd文件执行权限:

  chmod 700 /etc/rc.d/init.d/httpd

1.3.2 将httpd注册到开机启动中
chkconfig --add httpd
chkconfig --level 3 httpd on
chkconfig --level 5 httpd on
 
2 SVN权限配置
 
2.1 配置svn权限
vi /home/svnroot/auth/authz.conf
 
顶部添加:
[groups]
Admin=xxx,xxx1
testuser=test1,test2
 
[/]
*=r
 
[test:/]
@Admin=rw
@testuser=rw
*=r
 
这个是设置用户对SVN各目录的权限的。
 
3 防火墙服务设置
 
3.1 SELinux设置
这个东东的详细情况我还没有去学习了解,目前情况下只好把它禁掉了,不然的话svn配置好后会出现不停的要求输入用户名和密码
即使用正确的用户名和密码也无法进入。
命令行提示是:
Authentication realm: <http://xxxxxxxxxxxx> AuthName
Password for 'Your user':
Authentication realm: <http://xxxxxxxxxxxx> AuthName
Username: 
Password for 'Your user':
Authentication realm: <http://xxxxxxxxxxxx> AuthName
Username: 
Password for 'Your user':
svn: OPTIONS of ''http://xxxxxxxxxxxx: authorization failed: Could not authenticate to server: rejected Basic challenge (http://xxxxxxxxxxxx)
 
查看SELinux的配置,看其是否是enforce的。
如果SELinux是enforce的话,会导致svn一直要求输入用户名和密码,并永远也通不过(即使用正确的用户名和密码)
修改/etc/sysconfig/selinux 将其改成 disable就好了。
 
3.2 iptables设置
如果你的iptables是开启的,并且并没有将80端口的访问打开的话那么你将连不上svn。
查看并设置自己的iptables设置,这里贴出我自己的:
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited 
 
最后重启机器,svn就可以使用了。
分享到:
评论

相关推荐

    redhat5.4+SVN搭建+Web同步

    redhat5.4 SVN搭建 web同步 redhat5.4 SVN搭建 web同步 redhat5.4 SVN搭建 web同步 redhat5.4 SVN搭建 web同步 redhat5.4 SVN搭建 web同步

    EBS+R12.1.3 for Redhat Enterprise 6.1(X64)安装报告

    根据提供的文件信息,本文将对EBS R12.1.3在Redhat Enterprise 6.1 (X64)平台上的安装流程进行详细的解析与总结。这份安装报告旨在为那些希望部署相同环境的IT专业人士提供指导和支持。 ### 1. 安装前的系统准备 #...

    redhat5下安装mysql+apache2+php+vsftp+svn

    在Red Hat Enterprise Linux 5 (RHEL5)系统上搭建一套完整的Web开发环境,包括MySQL数据库、Apache2 Web服务器、PHP解释器以及VSFTP和Subversion(SVN)版本控制系统,是一个常见的需求,用于创建动态网站和管理代码...

    redhat5.4+SSH+Ftp+Apache+Mysql+PHP搭建

    redhat5.4+SSH+Ftp+Apache+Mysql+PHP搭建 redhat5.4+SSH+Ftp+Apache+Mysql+PHP搭建 redhat5.4+SSH+Ftp+Apache+Mysql+PHP搭建 redhat5.4+SSH+Ftp+Apache+Mysql+PHP搭建

    jenkins + svn+maven持续集成

    【Jenkins + SVN + Maven 持续集成】 在软件开发过程中,持续集成(Continuous Integration,简称CI)是一种重要的实践,它可以确保代码的频繁合并,减少集成时的问题,并且能够快速发现并修复错误。Jenkins、SVN ...

    Linux-RedHat9上配置svn+apache服务器

    在Linux RedHat9系统上配置SVN(Subversion)与Apache服务器的集成是开发者和系统管理员常用的操作,以便实现版本控制系统和Web服务器的完美融合,提供便捷的代码管理和Web访问功能。以下是一份详细的配置指南: ...

    redhat6.1安装手册

    RedHat 6.1是Red Hat Enterprise Linux(RHEL)系列的一个版本,该系列自发布以来便以其稳定性和安全性而闻名,广泛应用于服务器、数据中心以及云环境中的关键业务应用。RedHat 6.1的推出,不仅继承了前代产品的优良...

    Redhat_Enterprise_6.1下安装oracle_11g_R2

    Redhat_Enterprise_6.1下安装oracle_11g_R2,从网上找的文档,安装过程中最麻烦的是需要找到Oracle 11g所需的包并安装,费了我一周的时间才找齐,特连安装文档一起打包上传给大家分享,在此特别感谢原文档的作者。...

    SVN服务器搭建 本文档主要是用来介绍如何搭建SVN服务

    文档摘要:本篇文档详细介绍了如何在Linux环境中搭建SVN(Subversion)服务器,主要针对的是Subversion 1.3.2版本的安装与配置,适用于Redhat Linux AS 5.3操作系统。文档包含了安装前的准备、安装过程以及必要的...

    Redhat+enterprise+linux+4环境下Oracle10g安装图解

    ### Redhat Enterprise Linux 4 环境下Oracle 10g安装详解 #### 一、安装前的准备工作 在开始Oracle 10g的安装之前,需要完成一系列的准备工作来确保安装过程顺利进行。 ##### 1. 下载Oracle安装程序 首先,需要...

    RedHat7上搭建httpd服务器实录[收集].pdf

    在Red Hat Enterprise Linux 7 (简称RedHat 7)上搭建Apache HTTP Server(通常称为httpd)是一项基础但至关重要的任务,特别是在软件开发环境中。HTTPD服务器是用于提供Web服务的核心组件,允许用户通过互联网访问...

    RedHat6.1安装文档

    RedHat6.1全程指导安装,包括LVM硬盘管理等

    Redhat+Enterprise+linux+5上安装Oracle10g+R2.pdf

    在Redhat Enterprise Linux 5上安装Oracle 10g Release 2是一项技术性较强的任务,涉及到操作系统环境配置、软件包安装、系统文件修改、内核参数调整以及用户和目录的创建等多个步骤。以下是对这些步骤的详细说明: ...

    RedHat_6.1安装Oracle_11

    ### RedHat 6.1 安装 Oracle 11g Release 11.2.0.3 在本文档中,我们将详细介绍如何在 RedHat 6.1 操作系统上安装 Oracle 11g 数据库 Release 11.2.0.3 的全过程。这包括了必要的系统配置调整、所需的软件包安装...

    Redhat5.6下安装HA+ORACLE11G

    Redhat5.6下安装HA+ORACLE11G

    Linux_redhat6.1_安装oracle11g说明书

    Linux_redhat6.1_安装oracle11g说明书.doc

    Redhat.Enterprise.Linux 6.1无效或者缺失授权证书解决办法

    安装后发现redhat enterprise linux6.1提示无效或者缺失授权证书的解决办法

Global site tag (gtag.js) - Google Analytics