首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > PowerDesigner >

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

2013-04-07 
redhat enterprise 6.1下httpd+svn服务搭建记录这两天配了个http+svn的服务器,从一开始的什么都不懂到最后

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. 安装apacheyum install httpd mod_dav_svn mod_perl?二,配置目录及创建SVN库?个人推荐创建一个用户来管理所有的svn库。1.创建SVN目录?创建一个专为SVN库所在的目录,便于以后管理。cd /homemkdir svnroot?创建版本库根目录(即之后配置中的SVNParentPath)cd svnrootmkdir repository?创建鉴权信息目录(即之后的authfile, authz.conf所在的目录)mkdir auth?创建权根配置文件cd authvi authz.conf?2. 创建svn仓库cd repository?svnadmin create test创建名为test的仓库?将整个SVN根目录的所有者更改为apachechown -R apache.apache /home/svnroot这个也很重要,否则无法提交。会提示没有权限。?初始化SVN目录:mkdir tmpfoldercd tmpfoldermkdir docmkdir releasemkdir tagmkdir branchmkdir trunkcd docmkdir requirementmkdir designmkdir 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 svnSVNParentPath /home/svnroot/repository#Satisfy AnyAuthType BasicAuthName "xxxxx"AuthUserFile /home/svnroot/auth/authfileRequire valid-userAuthzSVNAccessFile /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.21.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 httpdchkconfig --level 3 httpd onchkconfig --level 5 httpd on?2 SVN权限配置?2.1 配置svn权限vi /home/svnroot/auth/authz.conf?顶部添加:[groups]Admin=xxx,xxx1testuser=test1,test2?[/]*=r?[test:/]@Admin=rw@testuser=rw*=r?这个是设置用户对SVN各目录的权限的。?3 防火墙服务设置?3.1 SELinux设置这个东东的详细情况我还没有去学习了解,目前情况下只好把它禁掉了,不然的话svn配置好后会出现不停的要求输入用户名和密码即使用正确的用户名和密码也无法进入。命令行提示是:Authentication realm: <http://xxxxxxxxxxxx> AuthNamePassword for 'Your user':Authentication realm: <http://xxxxxxxxxxxx> AuthNameUsername:?Password for 'Your user':Authentication realm: <http://xxxxxxxxxxxx> AuthNameUsername:?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就可以使用了。

热点排行