如何如何才linux环境下使用apache和svn进行集成

 我来答
出家人词悲
高赞答主

2016-01-19 · 大脑停止不了思考
知道大有可为答主
回答量:1.4万
采纳率:12%
帮助的人:3894万
展开全部
步骤方法:
一 准备需要的安装包。
(1)下载 apache 。通过官网下载,使用了版本 : httpd-2.2.23.tar.gz
(2) 下载Subverson 。建议百度搜索下载。
二 安装
安装顺序有要求, 先安装Apache ,再安装Subversion 。
1 安装apache
把安装压缩包[ httpd-2.2.23.tar.gz ]上传linux环境/usr/local/下面。
[root@localhost /]# cd /usr/local/
[root@localhost /]# tar zxfhttpd-2.2.23.tar.gz
[root@localhost /]# cd /usr/local/httpd-2.2.23
[root@localhost /]# configure -prefix=/usr/local/apache -enable-dav -enable-so && make && make install
2 启动apache, 安装无错误后 进入
#cd /usr/local/apache/bin
# ./apachectl start
若提示启动失败,端口口被占用: #vi /usr/local/apche/conf/http.conf
找到
#Listen 12.34.56.78:80
Listen 80
将80修改为自己的端口好。我修改为81 Listen 80 ---若启动成功,不用修改端口号。
重启apache ,客户端输入地址 http://10.0.1.200:81/ (端口号为81) 或 http://10.0.1.200/ (端口号默认80)
页面展示
It works! 字样 ,表示安装成功。
3 安装Svn
把安装压缩包[subversion-1.6.12.tar.gz]和[subversion-deps-1.6.12.tar.gz]拷到linux环境/usr/local/下面。
[root@localhost /]# cd /usr/local/
[root@localhost /]# tar zxf subversion-1.6.12.tar.gz
[root@localhost /]# tar zxf subversion-deps-1.6.12.tar.gz
(安装包解压缩,解压缩后生成安装文件夹[subversion-1.6.12],两个文件都会解压缩到同一个文件夹下)
[root@localhost local]# cd /usr/local/subversion-1.6.12
[root@localhost subversion-1.6.12]# rm -rf apr
[root@localhost subversion-1.6.12]# rm -rf apr-util(删除subversion自带的apr和apr-util文件夹,用apache的就可以)
[root@localhost subversion-1.6.12]# cd /usr/local/subversion-1.6.12
[root@localhostsubversion-1.6.12]#
./configure -prefix=/usr/local/subversion -with-apxs=/usr/local/apache/bin/apxs -with-apr=/usr/local/apache/bin/apr-1-config -with-apr-util=/usr/local/apache/bin/apu-1-config
[root@localhostsubversion-1.6.12]#
make
[root@localhostsubversion-1.6.12]#
make install
[root@localhost subversion-1.6.12]# svnserve --version

--- 安装到此,没有出现任何错误。但是 执行#svnserve
--version 显示的版本不是1.6的,而是1.4(老版本)说明之前安装过旧版本的svn。
解决办法#vi
/etc/profile
在最后填加
#set svnpath
export PATH=/usr/local/subversion1.6/bin:$PATH
export PATH
保存退出。
执行 #scource /ect/profile
重新执行 #svnserve --version --ok
4 检查svn是否与apache兼容
# vi /usr/local/apache/conf/httpd.conf
查找文件中是否增加了
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
两行信息,并且查看/usr/local/apache/modules 下是否有mod_dav_svn.so,
和mod_authz_svn.so 文件
如果http.conf 中没有增加代码。modules 下有mod_dav_svn.so,
和mod_authz_svn.so
文件,再http.conf中增加那两行代码。
如果没有mod_dav_svn.so,
和mod_authz_svn.so,svn安装的错误。按照步骤重装。
配置 svn+apache
1 创建svn库
(1) 创建 svn专用户 # useradd pocsvn
(2) 创建SVN 版本库目录 #mkdir /home/pocsvn/project
(3) 创建SVN仓库 # svnadmin create /home/pocsvn/project/poc
(4) 将目录 project 目录拥有者修改为 pocsvn 用户 :
#chown -R pocsvn:pocsvn /home/pocsvn/project
并 增加权限 chmod 755 /home/pocsvn/project
2 配置svn 依赖apache
(1) 使用root用户 # vi /usr/local/apache/conf/httpd.conf 将
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
前的注释去掉(我安装时这两行没有注释。网上查有人说这两行会有注释。有的话去掉注释)
(2 )找到
User apache
Group apache
修改为
User pocsvn
Group pocsvn
(3) 在文件末尾添加
<Location /svn>
DAV svn
SVNParentPath /home/pocsvn/project -----svn库的根目录
AuthType Basic
AuthName "welcome to cjybt" -----浏览器登陆时的提示信息。随便写
AuthUserFile /home/pocsvn/project/passwd
--- 用户的密码信息
AuthzSVNAccessFile /home/pocsvn/project/poc/conf/authz
--- 指向svn库的conf目录下authz
Require valid-user
-- ("Require valid-user"告诉apache在authfile中所有的用户都可以访问。如果没有它,则只能第一个用户可以访问新建库)
</Location>
(4) 生成passwd文件
#htpasswd -bc /home/pocsvn/project/passwd hello hello123
---在/home/pocsvn/project/下生成passwd文件,用户名为hello,密码为hello123
#htpasswd -b /home/pocsvn/project/passwd hello2 hello123
---在/home/pocsvn/project/passwd文件中添加用户名为hello,密码为hello123
(5) 编辑用户权限文件 authz
#vi /home/pocsvn/project/poc/conf/authz
[groups] --表示群组设置
admin = hello --表示admin群组里的成员有hello,如果要配置多个,用逗号分隔
develop = hello2 --表示develop群组里的成员有hello2,如果要配置多个,用逗号分隔
[poc:/] --表示仓库poc的根目录下的访问权限
hello = rw --poc仓库hello用户具有读和写权限
hello2 = r --poc仓库hello2用户具有只读权限
@admin = rw --表示群admin的成员都具有读写权限
@develop = r --表示群poc的成员都具有只读权限
[/] --表示在所有仓库的根目录下
* = r --表示对所有的用户都具有读权限
--- 在编辑authz时,所有行都必须要顶头写,不能有缩进,否则报错。
(5)修改权限
chmod 755 /home/pocsvn/project/passwd
chown -R pocsvn:pocsvn /home/pocsvn/project/passwd
(6)启动svn
切换到pocsvn用户 #svnserve -d --listen-port 8888 -r /home/pocsvn/project
-d 表示以 daemon 方式(后台运行)运行
-r 指定根目录是/home/pocsvn/project
--listen-port 8888 --表示在8888端口上进行监听
检查svn其否启动
ps -ef|grep svnserve 或 ps -ef|grep 8888
(7)重启apache,切换回root用户。启动apache
(8) 客户端 访问 : 出现登陆窗口则为配置成功。
--如果登陆后提示403或无法访问。为权限配置不对,重新配置下权限即可。
至此,svn和apache结合的svn配置就搭建好了。

在安装的过程中出现的问题总结如下:
1 启动apache 报错httpd: Syntax error on line 111 of /usr/local/apache2/conf/httpd.conf: Cannot load /usr/local/apache2/modules/mod_dav_svn.so
into server: /usr/local/subversion/lib/libsvn_subr-1.so.0: undefined symbol: apr_hash_clear
解决办法:重新安装apache,注意增加参数
命令 # ./configure --prefix=/usr/local/apache2/ --enable-dav --enable-so
--enable-dav --enable-so参数是必须要加的,你还可以根据您的需要添加其他的参数。
--enable-dav 启用davweb支持,是subversion+apache组合必选,缺少的话,在运行apache会出现undefined symbol: dav_register_provider的错误
--apr 和 apr-util一般会在httpd的安装包内,subversion安装会使用到apr和par-util,如果当前系统没有,最好安装一下
2 重转apache后。必须重装subversion,重装svn是执行make ,make install 是提示有错误信息。
可以先执行# make clean ,然后在 #make ,#make install
最好一次装好,重装的话问题不少。
3 apr 和apr-util有问题。
网上资料在svn和apache集成的时候是有分开装apr,和apr-util的,这两个在apache中就有了。删除原来的。
[root@test ]# rpm -qa|grep subversion
subversion-1.4.4.el5
[root@test ]# rpm -e --allmatches subversion
[root@test ]# rpm -qa|grep apr
apr-1.2.7-11
apr-util-1.2.7-7.el5
apr-1.2.7-11
apr-util-1.2.7-7.el5
[root@test ]# rpm -e --allmatches apr-util
[root@test ]# rpm -e --allmatches apr
[root@test ]# echo '/usr/local/APR/lib'>>/etc/ld.so.conf
[root@test ]# echo '/usr/local/ARP-util/lib'>>/etc/ld.so.conf
[root@test ]# ldconfig
匿名用户
推荐于2016-01-20
展开全部
安装apache

1、已root用户登陆centos

Connecting to 192.168.1.133:22...

Connection established.

Escape character is '^@]'.

Last login: Sat Feb 25 13:10:27 2012

[root@localhost ~]#

2、创建并切换到下载文件存放目录:

[root@localhost ~]# mkdir /soft && cd /soft

3、下载httpd-2.2.22.tar.gz

[root@localhost soft]# wget http://mirror.bjtu.edu.cn/apache//httpd/httpd-2.2.22.tar.gz

4、解压下载下来的 apache 包

[root@localhost soft]# tar -xzvf httpd-2.2.22.tar.gz

5、进入解压后的文件夹

[root@localhost soft]# cd httpd-2.2.22

[root@localhost httpd-2.2.22]#

6、对apache进行检查及配置 :

[root@localhost httpd-2.2.22]# ./configure --prefix=/usr/local/apache2 --enable-dav --enable-so --enable-modules=most

7、编译并安装apache

[root@localhost httpd-2.2.22]# make && make install

安装apache功能支持库文件apr

1、 进入下载文件存放目录:

[root@localhost httpd-2.2.22]# cd /soft/

2、 下载apr http://apr.apache.org/download.cgi

[root@localhost soft]# wget http://mirror.bit.edu.cn/apache//apr/apr-1.4.6.tar.gz

3、 解压下载下来的apr-1.4.6.tar.gz

[root@localhost soft]# tar -xzvf apr-1.4.6.tar.gz

4、 进入解压后的目录;

[root@localhost soft]# cd apr-1.4.6

5、 配置、编译、安装:

[root@localhost apr-1.4.6]# ./configure && make && make install

安装apache功能支持库文件apr-util

1、 进入下载文件存放目录:

[root@localhost apr-1.4.6]# cd /soft

2、下载apr-util http://apr.apache.org/download.cgi

[root@localhost soft]# wget http://mirror.bit.edu.cn/apache//apr/apr-util-1.4.1.tar.gz

3、解压下载下来的apr-util-1.4.1.tar.gz

[root@localhost soft]# tar -xzvf apr-util-1.4.1.tar.gz

4、进入解压后的目录;

[root@localhost soft]# cd apr-util-1.4.1

6、 安装配置,需要指定apr的安装位置:

[root@localhost apr-util-1.4.1]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/

7、 编译,安装:

[root@localhost apr-util-1.4.1]# make && make install

安装sqlite

1、 进入下载文件存放目录:

[root@localhost httpd-2.2.22]# cd /soft/

[root@localhost soft]#

2、 下载sqlite http://www.sqlite.org/download.html

[root@localhost soft]# wget http://www.sqlite.org/sqlite-autoconf-3071000.tar.gz

3、 解压下载下来的sqlite

[root@localhost soft]# tar -xzvf sqlite-autoconf-3071000.tar.gz

4、 进入解压后的文件夹

[root@localhost soft]# cd sqlite-autoconf-3071000

[root@localhost sqlite-autoconf-3071000]#

5、 配置、编译、安装

[root@localhost sqlite-autoconf-3071000]# ./configure --prefix=/usr/local/sqlite && make && make install

安装Subversion

1、 进入下载文件存放目录

[root@localhost sqlite-autoconf-3071000]# cd /soft

2、 下载svn server http://subversion.apache.org/download/

[root@localhost soft]# wget http://mirror.bit.edu.cn/apache/subversion/subversion-1.7.3.tar.gz

3、 解压下载下来的Subversion 1.7.3

[root@localhost soft]# cd subversion-1.7.3

4、 在当前目录创建sqlite-amalgamation文件夹:

[root@localhost subversion-1.7.3]# mkdir sqlite-amalgamation

5、 拷贝sqlite3.c到刚建好的文件夹:

[root@localhost subversion-1.7.3]# cp /soft/sqlite-autoconf-3071000/sqlite3.c /soft/subversion-1.7.3/sqlite-amalgamation/

6、 配置安装,需要指定apache、apr、apr-util等目录:

[root@localhost subversion-1.7.3]# ./configure --prefix=/usr/local/svn --with-apxs=/usr/local/apache2/bin/apxs --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr-util/bin/apu-1-config --with-zlib=/usr/local/zlib/ --with-neon=/usr/local/neon/ --with-ssl --enable-maintainer-mode

7、 编译并安装:

[root@localhost subversion-1.7.3]# make && make install

相关配置

1、 增加SVN用户验证文件,设置用户及密码,首次创建使用-c参数,后续不需要加-c参数,否则将会重新创建此文件:

[root@localhost subversion-1.7.3]# /usr/local/apache2/bin/htpasswd -cm /usr/local/svn/svn-auth.conf wdj

2、 增加wl用户:

[root@localhost subversion-1.7.3]# /usr/local/apache2/bin/htpasswd -m /usr/local/svn/svn-auth.conf wl

3、 增加svn用户及权限配置文件:

[root@localhost subversion-1.7.3]# vi /usr/local/svn/svn-access.conf

[groups]

developers = wdj,wl

[/]

* = r

@developers = rw

[test:/]

@developers = rw

说明:

[groups] svn用户所属组,组名 = 用户名,用户名…

[test:/] svn仓库为test的操作权限为@developers组的用户为可读可写

4、 配置apache httpd.conf文件

[root@localhost subversion-1.7.3]# vi /usr/local/apache2/conf/httpd.conf

5、 在文件最后加入以下内容:

LoadModule dav_svn_module modules/mod_dav_svn.so

LoadModule authz_svn_module modules/mod_authz_svn.so

<Location /svn>

DAV svn

SVNParentPath /opt/svndata

AuthType Basic

AuthName "Subversion repository"

AuthUserFile /usr/local/svn/svn-auth.conf

Require valid-user

AuthzSVNAccessFile /usr/local/svn/svn-access.conf

</Location>

说明:

SVNParentPath:svn仓库位置

AuthUserFile:svn用户验证文件

AuthzSVNAccessFile:svn用户权限验证文件

6、 创建SVN仓库目录:

[root@localhost subversion-1.7.3]# mkdir -p /opt/svndata/test

7、 创建svn仓库:

[root@localhost subversion-1.7.3]# svnadmin create /opt/svndata/test

8、 设置仓库拥有者和权限:

[root@localhost subversion-1.7.3]# chown -R daemon /opt/svndata/test && chmod -R 755 /opt/svndata/test

启动服务并测试

1、 启动apache(由于集成了svn,所有不需要单独启动svn服务)

[root@localhost subversion-1.7.3]# /usr/local/apache2/bin/apachectl start

2、 使用浏览器访问仓库:

http://192.168.1.133/svn/test/ (输入刚才创建的wdj用户名及设置的密码)

3、 正常显示test - Revision 0: / 说明apache和svn已经集成完成

4、 使用TortoiseSVN 或者eclipse svn插件 提交或更新文件,地址为:http://192.168.1.133/svn/test/
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式