`
bwhzhl
  • 浏览: 102827 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

RedHat9.0 上配置SVN+APACHE

阅读更多
一、 准备好相关的几个安装包
我下的是最新的
Apr : apr-1.3.8.tar.gz 和 apr-util-1.3.9.tar.gz
Apache : httpd-2.2.13.tar.gz
Subversion: 我不知道apr和apache最新的能和哪个subversion搭配
就在官网上找一个发布时间跟apr、apache差不多的版本(放心我安装成功了,你可大胆的跟我做)
subversion-1.5.6.tar.gz 和 subversion-deps-1.5.6tar.gz

二、 安装和配置步骤:
1.安装apr-1.3.8.tar.gz
tar –zvxf apr-1.3.8.tar.gz (解压)
cd apr-1.3.8 (进入apr…所在的目录)
./configure /* (安装不指定路径时 默认安装到/usr/local/apr)
make ; make install (安装)

2. 安装 apr-util-1.3.9.tar.gz
tar –zvxf apr-util-1.3.9.tar.gz
cd apr-util-1.3.9
./configure - -with-apr=/usr/local/apr
make ; make install

3. 安装httpd-2.2.13.tar.gz
cd /usr/local
mkdir apache
(不手动建的话,等哈很麻烦的)
回到刚才的目录
tar –zvxf httpd-2.2.13.tar.gz
cd httpd-2.2.13
./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config --enable-modules=so --enable-dav
--enable-maintainer-mode --enable-rewrite
make ; make install
安装之后重新启动apache服务
/usr/local/apache/bin/apachectl –k start / restart

用浏览器查看http://192.168.18.110(Linux系统IP地址),得到it works,说明apache已经配置成功了。

4.安装subversion
tar –zvxf subversion-1.5.6.tar.gz
tar –zvxf subversion-deps-1.5.6.tar.gz (这两个自动解压成一个包 subversion-1.5.6)
cd subversion-1.5.6
(# 如果linux系统上已经装有apr或者apr-util ,移除 apr存在的版本,subversion解压后的文件里有apr相关的文件,需要移除)
rm –rf apr
rm -rf apr-util
说明:SVN 依赖的APR版本要正确。如果Apache为2.0.x,对应的APR版本应为0.9.x;Apache为2.2.x,对应的APR版本应为1.2.x。 由于subversion-deps包里的APR是0.9.x的,因此编译svn时要删除从deps里解压出来的apr, apr-util,改而使用apache 2.2里提供的。(这里指定为开始安装的apr目录),这一点知识非常重要,自己之前多次安装都没成功,现在才明白是在这一点被卡住了,但最终还是被我解 决了, 学习,和不断实践 会使你不断成长!
(先跑去建/usr/local/svn)
cd /usr/local
mkdir svn
(不知道为什么我不手动建目录的话,它不给我自动建)
cd cd subversion-1.5.6
./configure
--prefix=/usr/local/svn
--with-apxs=/usr/local/apache/bin/apxs
--with-apr=/usr/local/apr/bin/apr-1-config
--with-apr-util=/usr/local/apr/bin/apu-1-config
--with-ssl
--with-zlib
--enable-maintainer-mode

make
make install

确定一下svn有没有安装成功
/usr/local/svn/bin/svnserve --version
会看到相关版本信息!
(如果:
执行了configure,make后
make install时出错:
/bin/sh /usr/local/httpd-2.2.3/srclib/apr/libtool --mode=install /usr/bin/install -c -m 755 libaprutil-1.la /usr/local/apache2/lib
libtool: install: error: cannot install `libaprutil-1.la' to a directory not ending in /usr/local/apache22/lib
make[2]: *** [install] Error 1
则在./configure 后
make clean
make
make install


完了再看看apache 的相关模块有没有加载!如下! (这一步可以不做)
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
到此如果一直都顺利的话就基本没什么问题!继续往下!

开始建立版本库
/usr/local/svn/bin/svnadmin create /svn/project/www (创建仓库"www" )
ls /svn/project/www (查看有没有创建好,如果多了一些文件则说明版本库已经创建好)
(如果出现“无法创建顶级目录”的错误,请先
cd /
mkdir svn
)

导入项目文件到版本库
/usr/local/svn/bin/svn import /home/test  file:///svn/project/www -m "init"
这条语句将把路径/share/www下找到的项目文件导入到你创建的/svn/project/www 仓库中去,提交后的修订版为1
配置提高svn版本库的安全性
chmod –R 700 /svn/project/www (不让其他人有该目录的权限)

注意:直接这么chmod会导致svn客户端无法访问,同时需要修改apache配置文件./conf/httpd.conf文件,(如果你的水平不够高的话, 这一步可以先跳过,以免给自己找麻烦!等把服务完全搞定后再来进一步提高安全性) 在httpd.conf文件中有这么一段内容:
User daemon
Group daemon

把上述内容改成:
User apache
Group apache
(我的系统在安装apache的时候,自动增加了apache用户和apache组,如果你系统没有这个用户和组,则请自己添加该用户和组)
修改svn仓库的所有者
chown -R apache:apache /svn/project

5、配置apache支持svn

vi /usr/local/apache/conf/httpd.conf (编辑httpd.conf文件)

在文件末尾添加

<Location /svn>
DAV svn
SVNParentPath /svn/project (此处配置你的版本库根目录)
AuthType Basic (连接类型设置 基本验证)
AuthName "Hello welcome to here" (此处字符串内容修改为提示对话框标题)
AuthUserFile /svn/passwd (访问版本库用户的文件,用apache 的htpasswd命令生成)
AuthzSVNAccessFile /svn/auth.conf (此处修改为访问版本库权限的文件)
Require valid-user ("Require valid-user"告诉apache在authfile中所有的用户都可以访问)
</Location>
保存文件退出!

重新启动apache
/usr/local/apache/bin/apachectl –k restart
(如果启动httpd 80端口被占用
lsof -i:80   查看使用80端口的进程
kill pid    (kill 所有的pid)    


打开浏览器访问http://192.168.18.110/svn/project/www 会提示输入用户名密码,检测是否配置成功

对svn的用户和权限配置管理
6、配置svn权限管理(即authz.conf的配置)
1. 添加用户:
/usr/local/apache/bin/htpasswd –c /svn/passwd user1
第一次设置用户时使用-c表示新建一个用户文件。回车后输入用户密码,完成对用户的增加,第二次添加用户不需要带-c参数
2. 权限分配:
vi /svn/auth.conf (进入文件auth.conf,对其进行编辑)

[groups]
Admin=usr1,user2 (这个表示admin群组里的成员 user1,user2)
Develop=u1, u2 (这个表示Develop群组里的成员 u1,u2)

[www:/] (这表示,仓库www的根目录下的访问权限)
user1 = rw (www仓库user1用户具有读和写权限)
user2 = r ( www仓库userl用户具只有读权限)
@develop=rw (这表示 群 develop的成员都具有读写权限)

[/] (这个表示在所有仓库的根目录下)
* = r (这个表示对所有的用户都具有读权限)
注意:在编辑authz.conf文件时,所有行都必须要顶头写,否则会报错

7、重启apache服务和启动svn服务

/usr/local/apache/bin/apachectl –k restart
就可以通过 http://192.168.18.110/svn/project/www 这个URL来访问仓库了,当然,受权限的限制,必须是合法用户才能访问且具有相应的权限

客户端
windows客户端用TortoiseSVN-1.4.4.9706-win32-svn-1.4.4.msi 也许有更高版本,我没有测试
Eclipse插件:software update > url=http://subclipse.tigris.org/update_1.0.x

注意:
如果输入用户名密码后出现:
Could not open the request SVN  filesystem
请检查你的/usr/local/apache/conf/httpd.conf 是否正确
如果客户端出现:
org.tigris.subversion.javahl.clientexception ra layer request failed
请检查你的url.username password

如果系统时间和现实时间相差太大,可能会导致安装出问题,修改系统时间的命令:
Date –s (修改linux系统时间)

访问过程中出现的两个问题:
1. svn: Can’t create directory ‘/subversion/main/db/transactions/0-1.txn’: Permission denied
解答:设置svn配置库库文件夹的权限(chmod -R 777 /svn/project/www) 2. Error: 服务器发送了意外的返回值(403 Forbidden),在响应 “CHECKOUT” 的请求
Error: “/svn/www/!svn/ver/1/111/bbb.txt” 中
解答:提交人没有权限,可设置提交权限 即可。
开机自启动服务
设置SVN开机自启动服务,只要启动相关的Apache服务,如何设置请看这里
分享到:
评论

相关推荐

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

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

    RedHat9.0网络配置DNS服务器

    RedHat9.0配置DNS服务器RedHat9.0网络配置DNS服务器RedHat9.0网络配置DNS服务器RedHat9.0网络配置DNS服务器RedHat9.0网络配置DNS服务器RedHat9.0网络配置DNS服务器RedHat9.0网络配置DNS服务器RedHat9.0网络配置DNS...

    SVN+Apache+Trac安装配置

    本文档主要介绍了如何在 RedHat EL4 系统上搭建一个完整的 SVN+Apache+Trac 的软件开发环境。这将包括所有必要的软件及其支持包的安装与配置流程。通过遵循本文档中的步骤,您将能够顺利地在您的服务器上设置起一个...

    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搭建

    安装VMware9.0软件并载入Redhat9.0镜像.pdf

    通过本教程,您将学会如何安装 VMware9.0 软件,配置虚拟机环境,并载入 Redhat9.0 镜像文件。 安装 VMware9.0 软件 在安装 VMware9.0 软件之前,您需要下载 VMware9.0 软件和 Redhat9.0 镜像文件。 VMware9.0 ...

    Redhat9.0指南手册(中文版).CHM

    Redhat9.0指南手册(中文版).CHM,很全面

    Redhat 9.0 官方中文定制指南

    Redhat 9.0 官方中文定制指南Redhat 9.0 官方中文定制指南Redhat 9.0 官方中文定制指南Redhat 9.0 官方中文定制指南Redhat 9.0 官方中文定制指南Redhat 9.0 官方中文定制指南Redhat 9.0 官方中文定制指南Redhat 9.0 ...

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

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

    安装VMware9.0软件并载入Redhat9.0镜像.docx

    在本文中,我们将详细介绍如何安装VMware 9.0虚拟机软件,并载入Redhat 9.0操作系统镜像文件。VMware是一款流行的虚拟化软件,它允许用户在同一台计算机上运行多个操作系统,而无需重新启动。以下是安装过程的详细...

    redhat9.0镜像文件

    Red Hat Inc. 是开放源代码的软件和产品和...因为它具备最好的图形界面,无论是安装、配置还是使用都十分方便,而且运行稳定,所以不论是新手还是老玩家都对它有很高的评价,这使得它一直是Linux商业发行版中最受欢迎的。

    Linux Redhat 9.0标准教程

    本书以Linux Redhat 9.0中文版为基础编写,从易用性和实用性角度出发主要介绍Linux Redhat 9.0中文版的应用知识,包括Linux操作系统基础知识,Linux系统安装,Linux内核和图形化界面,Linux文件系统,管理Linux操作...

    基于Redhat 9.0实现Linux 0.01编译与运行.pdf

    "基于Redhat 9.0实现Linux 0.01编译与运行.pdf" 本文主要介绍了基于Redhat 9.0平台实现Linux 0.01编译与运行的技术要点和方法。Linux 0.01是Linux操作系统创始人Linus最早实现的一个操作系统版本,其代码量只有9000...

    RedHat 9.0 帮助文档

    这份文档详细介绍了如何在基于Intel x86架构的硬件上安装RedHat 9.0操作系统。它会涵盖磁盘分区、网络配置、软件包选择、启动加载器设置等关键步骤,确保用户能够顺利地进行系统部署。 其次,`rhl-cg-zh_CN-9`可能...

    RedHat Linux9.0安装和配置步骤

    RedHat Linux 9.0 安装和配置步骤 RedHat Linux 9.0 安装和配置步骤主要包括安装前的准备、确认安装方式、安装 RedHat Linux 9.0 等几个方面。 一、安装前的准备 在安装 RedHat Linux 9.0 之前,需要检查硬件支持...

    RedHat9.0Linux安装文档.docx

    下面是关于 RedHat 9.0 的安装文档,旨在指导用户正确安装和配置 RedHat 9.0 操作系统。 一、安装前准备 在安装 RedHat 9.0 之前,需要进行一些必要的准备工作,包括: 1. 下载安装介质:RedHat 9.0 的安装介质...

    Redhat9.0官方中文安装文档

    Redhat9.0官方中文安装文档,针对不同的系统有详细安装步骤及相关知识的讲解,很实用……

    RedHat_linux+apache+tomcat+mod_jk_负载均衡安装说明

    通过以上步骤,我们完成了在 Red Hat Linux 9.0 上安装 Apache、Tomcat 和 Mod_jk 的过程,并进行了简单的负载均衡配置。这些配置能够帮助我们更好地管理应用服务器集群,提高系统的稳定性和性能。当然,实际部署时...

    RedHat9.0配置vsftp

    RedHat9.0环境下的vsftp安装与配置, FTP,file transfer protocol,这是档案传输的通讯协议,也是一般最常用来传送档案的方式。读者在使用RedHat9 的时候,可能会感受到ftp server 有一些改变:第一,就是ftp ...

Global site tag (gtag.js) - Google Analytics