免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 7778 | 回复: 8
打印 上一主题 下一主题

(原创)centos下安装apache + subversion【更新后】《转载注明出处作者》 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-10-14 15:32 |只看该作者 |倒序浏览
linux下安装apache + subversion

作者:哈密瓜

(我的环境是centos5.1 apache版本:httpd-2.2.9 subversion版本:subversion-1.5.2)





目录:
一.安装apr跟apr-util
二.安装apache服务器
三. 安装subversion
四. 配置subversion
五. 配置apache的httpd.conf
六. 验证安装
七.导入数据到资料库
八.版本库服务器的同步
附:安装过程中遇到的问题





一.安装apr、apr-util跟zlib
1.下载apr跟apr-util
apr-1.3.3.tar.gz   apr-util-1.3.4.tar.gz zlib-1.2.3.tar.gz
2.解压
  tar zvxf apr-1.3.3.tar.gz
  tar zvxf apr-util-1.3.4.tar.gz
  tar zvxf zlib-1.2.3.tar.gz
3.安装
  cd apr-1.3.3
  ./configure --prefix=/usr/local/apr
  make && make install

  cd apr-util-1.3.4
  ./configure  --with-apr=/usr/local/apr
  Make && make install

  cd zlib-1.2.3
  ./configure  --prefix=/usr/local/zlib
  Make && make install

二.安装apache服务器:
1. 下载最新的apache 2.2.9
    httpd-2.2.9.tar.gz
2.解压
tar zvxf htt-2.2.9.tar.gz
3. 安装
  ./configure \
“--prefix=/usr/local/apache2” \
“ --enable-so” \
“--enable-dav” \
“--with-apr=/usr/local/apr/bin/apr-1-config” \
“--with-apr-util=/usr/local/apr/bin/apu-1-config”
  make
  make install

注意:--prefix指定安装目录,注意一定要加--enable-so是核心能够装载DSO和--enable-dav是安装mod_dav_svn.so跟mod_authz_svn.so这两个模块
4.测试
  打开浏览器输入http://服务器ip  如果出现
   It Works!
  Apache安装成功

三. 安装subversion
1. 下载最新的subversion-1.5.2
subversion-1.5.2.tar.gz
2. 安装
  ./configure \
“--prefix=/usr/local/subversion” \
“ --with-apxs=/usr/local/apache2/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=/usr/local/zlib” \
“--enable-maintainer-mode”
make
make install

3. 为了方便使用subversion的命令,将subversion安装目录下的bin目录加入到Path中
   vi /etc/profile
   最后加入:
  SVN_HOME=/usr/local/subversion
PATH=$PATHSVN_HOME/bin:
export SUSBVERSION PATH
四. 配置subversion
1.        创建账号密码文件
htpasswd –c /data/svn/passwd.conf apache
   输入密码,两次确认
  注意:第一次设置用户密码要加入 –c 这个参数,以后就可以不用了
2.        创建资料库
首先要创建一个资料库(我使用单资料库的方式),使用svnadmin增加资料库
cd /usr/local/subversion/bin
     ./svnadmin create /data/svn/svnroot/www
到www下看是不是多了文件,多了就是说明创建成功
3.创建权限文件
  Touch –p /data/svn/authz.conf
  vi authz.conf
[groups]  #组
Admin = apache #admin组成员
[ggg:/] #版本库ggg的权限
@Admin = rw   #admin组有读写的权限
test1 = rw    #test1有读写的权限
[www:/]
@Admin = rw
test2 = rw
       [/]
        * = r #svn父目录所有人都与读的权限
   注意:最后的[/]这个要设置好了,这里面的权限设置可以让你对ggg和www的版本库有相同的权限,一般不要也行,个人建议不要
五. 配置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。这些工作就不用自己动手了。

需要自己动手修改apache下的httpd.conf最后增加以下内容
【参数说明见下面的图】

单个版本库:
<Location /svn>
DAV svn
SVNPath /data/svn/svnroot/www
AuthType Basic
AuthName "Subversion repository"
AuthUserFile /data/svn/passwd.conf  
AuthzSVNAccessFile /data/svn/authz.cong

Require valid-user
</Location>


多个版本库:
<Location /svn>
DAV svn
SVNListParentPath on
SVNParentPath /data/svn/svnroot
AuthType Basic
AuthName " Subversion repository "
AuthUserFile /data/svn/passwd.conf
AuthzSVNAccessFile /data/svn/authz.conf
Require valid-user
</Location>


图片一



注意:
(1)        单个版本库就是SVNPath /data/svn/svnroot/www跟./svnadmin create /data/svn/svnroot/www目录要一样,要不忙死你……【这个是对单个版本库】,多个版本库知道svn的主目录,我这就是SVNParentPath /data/svn/svnroot
(2)        AuthzSVNAccessFile是权限控制文件,单个版本库不需要,多个版本库要设置不同版本库的权限
(3)        目录svnroot目录的权限设置成755

注:下面的六、七是单个版本库测试的效果,多个版本库类似!

六. 验证安装
打开浏览器,输入地址为http://服务器ip/svn
出现登陆窗口,输入用户名跟密码,


图片二


如果可以正常打开如上页面则说明安装配置正常,可以正常使用了,在页面上可以看到由于目前资料库中没有内容,因此看到的内容为空。

七.导入数据到资料库
Cd /usr/local/subversion/bin
./svn import /要导入的目录 file:///data/svn/svnroot -m “说明文字”
重新打开浏览器,输入地址http://服务器ip/svn,输入用户名密码,出现


图片三


好了,成功!

八.版本库服务器的同步
  1.单版本库跟服务器目录的同步:
进入到版本库下的hooks下去
svn checkout file:///版本库的目录 /本地要取出的目录
  Cd /data/svn/svnroot/www/hookd
  Vi post-commit

#!/bin/sh
SVN=/usr/local/subversion/bin/svn
WEB=/data/www #web目录要更新同步的目录
$SVN update --username apache --passwd 123456 $WEB      #这里面的username跟password一定要有读写的权限
   
  Chmod 757 post-commit #给它可执行的权利
  2.多版本更服务器目录的同步
  进入到版本库下的hooks下去
svn checkout file:///版本库的目录 /本地要取出的目录
Cd /data/svn/svnroot/www/hookd
  Vi post-commit

#!/bin/sh
SVN=/usr/local/subversion/bin/svn
$SVN update --username apache --passwd 123456 /home       #里面的username跟password一定要有读写的权限
   
  Chmod 757 post-commit #给它可执行的权利

注意:(红色字体一定要注意)
1.svn checkout file:///版本库的目录 /本地要取出的目录 ——>这步一定要做要不会同步修改的
2.目录位置一定要对应好了,要不出现问题累死……














附:安装过程中遇到的问题
1.编译subversion时出现少expat库
解决:下载expat-2.0.0.tar.gz安装皆可
2.安装subversion时,编译到最后会出现一段
configure: WARNING: we have configured without BDB filesystem support
大概是不能创建db格式的版本库
解决:这个没什么关系,一般不会有多大影响
3.安装subversion时,make没问题,make install时出现
/usr/local/src/subversion-1.5.2/subversion/svnversion/.libs/lt-svnversion: error while loading shared libraries: libexpat.so.1: cannot open shared object file: No such file or directory
意思是找不到libexpat.so.1这个文件
运行 whereis libexpat.so.1
libexpat.so: /lib/libexpat.so.0 /usr/local/lib/libexpat.so /usr/local/lib/libexpat.so.1
解决:vi  /etc/ld.so.conf
加入libexpat.so.1的目录 /usr/local/lib/ 保存退出
运行ldconfig
4.【这个问题是我创建单个版本库时遇到的】安装好了后,浏览器打开http://服务器ip/svn,登陆出现不了页面,出现:
<D:error> <C:error/> <m:human-readable errcode="2"> Could not open the requested SVN filesystem </m:human-readable> </D:error>
解决:这是httpd.conf里的<Locate svn>中的SVNPath指向错误没指到创建的资料库
     第四步的最后我强调的东西
5.这是开始安装时会出现的错误,安装subversion时会出现找不到arp的问题
解决:在编译subversion时加入
     --with-apr=/usr/local/apr/bin/apr-1-config
--with-apr-util=/usr/local/apr/bin/apu-1-config
6.插张访问方式跟服务器安装方式关系的介绍图:


图片四


这是自己写得,存在问题希望大家指出来!

[ 本帖最后由 gyl4802959 于 2008-11-28 11:58 编辑 ]

图片一.JPG (68.73 KB, 下载次数: 107)

图片一.JPG

图片二.JPG (11.49 KB, 下载次数: 95)

图片二.JPG

图片三.JPG (11.03 KB, 下载次数: 104)

图片三.JPG

图片四.JPG (22.87 KB, 下载次数: 105)

图片四.JPG

Centos下安装apache + subversion.rar

90.93 KB, 下载次数: 122

论坛徽章:
0
2 [报告]
发表于 2008-10-15 09:18 |只看该作者
原帖由 gyl4802959 于 2008-10-14 15:32 发表
linux下安装apache + subversion

(我的环境是centos5.1 apache版本:httpd-2.2.9 subversion版本:subversion-1.5.2)




目录:
一.安装apr跟apr-util
二.安装apache服务器
三. 安装subversion
...

强烈的re啊,赞一个~~~~~~~~~~

btw:我转到了我自己的地盘上.谢谢

论坛徽章:
0
3 [报告]
发表于 2008-10-15 11:35 |只看该作者

回复 #2 laofo 的帖子

要注明出处跟作者…… 谢谢

论坛徽章:
0
4 [报告]
发表于 2008-10-16 08:50 |只看该作者
原帖由 gyl4802959 于 2008-10-15 11:35 发表
要注明出处跟作者…… 谢谢

sigh......

一开始转载的时候就注明了啊。。。。

http://bbs.scmroad.com/viewthread.php?tid=1005&extra=page%3D1

论坛徽章:
0
5 [报告]
发表于 2008-10-16 16:20 |只看该作者
看到楼主这篇文章,我把以前用yum装的几个包全卸了,然后下tar包来按楼主指导一步一步装,结果

Not Found

The requested URL /svn was not found on this server.

崩溃

论坛徽章:
0
6 [报告]
发表于 2008-10-17 17:27 |只看该作者

回复 #5 davycu 的帖子

出现问题慢慢解决…… 肯定是你那个地方指的不对罢了…… 可以把你具体的错误贴出来 大伙帮你解决…… 你这个就是找不到这个服务器 你的apache能启动…… 出现  It Works!吗?

论坛徽章:
0
7 [报告]
发表于 2008-10-29 14:00 |只看该作者
您好,请问有什么方法可以联系到您的,我们公司要配一个subversion的服务器,我看了你的说明,我配了几次都不行,会遇到一些问题,想请教一下您的!
请问方便留个联系电话吗?或者联系方式吗?

论坛徽章:
0
8 [报告]
发表于 2008-12-13 15:19 |只看该作者
顶一下,我也刚配了个,不过是在debian上。

论坛徽章:
0
9 [报告]
发表于 2013-09-15 15:50 |只看该作者
楼主,我安装完apache 在本地打开浏览器输入http://127.0.0.1  如果出现无法连接远程主机的错误啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP