linux下subversion server安装手册
linux下subversion server安装手册
安装基于的Linux版本为:Red Hat Enterprise Linux Server release 6.3。
一 准备需要的安装包。
(1)下载 apache: httpd-2.2.23.tar.gz
(2) 下载Subverson 。下载地址
http://subversion.tigris.org/downloads/subversion-1.6.12.tar.gz
http://subversion.tigris.org/downloads/subversion-deps-1.6.12.tar.gz
二 安装
安装顺序有要求, 先安装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修改为自己的端口号。---若启动成功,不用修改端口号。
重启apache ,客户端输入地址 http://172.18.49.180/
页面展示
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
安装过程中报错:“cannot find –lexpat”,需要安装expat-2.0.1.tar.gz。
但是 执行#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兼容
# 分别查找文件/usr/local/apache/conf/httpd.conf和/etc/httpd/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 文件,有的话将这两个文件拷贝到/etc/httpd/modules下面。
如果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 和/etc/httpd/conf/httpd.conf将
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
需要load以上module
(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 -b /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) 客户端 访问 :http://ip:81/svn/poc 出现登陆窗口则为配置成功。
--如果登陆后提示403或无法访问。为权限配置不对,按如下命令重新配置下权限即可。
chcon -R -h -t httpd_sys_content_t <SVN Root 目录>,本文的测试为:
chcon –R –h –t httpd_sys_content_t /home/pocsvn/project
至此,svn和apache结合的svn配置就搭建好了。
如果需要通过客户端更改账户密码,需要在/var/www/cgi-bin目录下添加两个文件:
svnpass.cgi和svnpass.ini。然后通过访问如下的web页面就可以更改密码了:http://172.18.49.180/cgi-bin/svnpass.cgi
svnpass.ini的内容:
我在安装的过程中出现了很多问题。总结如下
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中就有了。删除subvision自带的。
linux下subversion server安装手册的更多相关文章
- linux下subversion的安装
第一章 安装 这里以RHEL5下安装subversion-1.6.6,为例 1. 下载源码包 在http://archive.apache.org/dist/subversion/网站下载 subve ...
- Linux下SQL Server安装及数据库迁移
有客户使用Linux服务器,SQL Server从2017开始已支持Linux,从未用过,今天测试了一下,比较简单,记录一下. Linux:CentOS 7.0 首先更新源: curl -o /etc ...
- Centos 7.3下 Linux For SQL Server安装及配置介绍
Centos 7.3下 Linux For SQL Server安装及配置介绍 高文龙关注13人评论2828人阅读2017-03-05 21:46:21 Centos 7.3下Linux For SQ ...
- ArcGIS 10.1 for Server安装教程系列—— Linux下的单机安装
http://www.oschina.net/question/565065_81231 因为Linux具有稳定,功能强大等特性,因此常常被用来做为企业内部的服务器,我们的很多用户也是将Ar ...
- Linux下命令行安装weblogic10.3.6
Linux下命令行安装weblogic10.3.6 一.安装前准备工作: 1.创建用户useradd weblogic;创建用户成功linux系统会自动创建一个和用户名相同的分组,并将该用户分到改组中 ...
- Windows下的Memcache安装 linux下的Memcache安装
linux下的Memcache安装: 1. 下载 memcache的linux版本,注意 memcached 用 libevent 来作事件驱动,所以要先安装有 libevent. 官方网址:http ...
- 细说Linux下软件包的安装与管理
一 源码安装方式 由于linux操作系统开放源代码,因而在其上安装的软件大部分也都是开源软件,例如apache.tomcat.php等软件.开源软件基本都提供源码下载,源码安装的方式:源码安 ...
- Linux下Kafka单机安装配置方法(图文)
Kafka是一个分布式的.可分区的.可复制的消息系统.它提供了普通消息系统的功能,但具有自己独特的设计.这个独特的设计是什么样的呢 介绍 Kafka是一个分布式的.可分区的.可复制的消息系统.它提供了 ...
- linux下使用yum安装mysql、tomcat、httpd
一.linux下使用yum安装mysql 1.安装 查看有没有安装过: yum list installed mysql* rpm -qa | grep m ...
随机推荐
- spring mybatis memcached
applicationContext.xml <?xml version="1.0" encoding="UTF-8"?> <beans xm ...
- Flyweight(享元)--对象结构型模式
1.意图 运用共享技术有效地支持大量细粒度的对象. 2.动机 Flyweight模式描述了如何共享对象,使得可以细粒度地使用它们,而无需高昂的代价.flyweight是一个共享对象,它可以同时在多个场 ...
- CSS布局设计
CSS布局设计: (1)固定布局:各个部分采用固定宽度的页面布局. (2)流式布局:通过定义模块和模块间距的百分比的方式来实现.缺点是会自动缩放,影响图片的美观. (3)响应式布局:页面可以用户的设备 ...
- oracle函数应用
----Oracle中的函数 oracle中函数的分类: --第一种:日期函数 --第二种: 字符函数 --第三种: 数学函数 --第四种: 转换函数 --第五种: 分析函数 ------------ ...
- C#中线程对控件的访问
Control类提供了一个Invoke方法来给子线程访问主线程的控件,它的原型是酱紫的: object.Control.Invoke(Delegate method); object.Control. ...
- MINA系列学习-mina整体介绍
今天的这一节,将从整体上对mina的源代码进行把握,网上已经有好多关于mina源码的阅读笔记,但好多都是列举了一下每个接口或者类的方法.我倒是想从mina源码的结构和功能上对这个框架进行剖析.源码的阅 ...
- sql 标准见表语句
建一张表 /******************************************************************************** 小区主档记录,要保证与Or ...
- Send SqlParameter to Dapper
Question: I' using Dapper in my project. I have a list of SqlParameters and I want to send it to Dap ...
- CentOS 6.5 安装Oracle 11G R2问题列表
1. 文章中写vi/etc/profile #这个很重要 if [ $USER ="oracle" ]; then if [ $SHELL="/bin/ksh&q ...
- 关于MVC中View使用自定义方法
今天学习到了在MVC的View中使用自定义方法,很简单,下面分享一下. 1.首先在项目下面建立一个文件夹,用于存我们写的自定义方法. 2.在新建文件夹中新增一个类,命名随便取(最好还是和自定义方法关联 ...