Linux/CentOS下安装Apache/SVN/Subversion图文详解教程

Linux(CentOS)下安装Apache+Subversion(图文教程)

  1. 服务器版本和安装软件

 

  1. 服务器版本:

 

RedHatCentOS 5.5 32 bit

 

  1. 安装软件:
    1. apr-1.3.5.tar.gz

      (APR(Apache portable Run-time libraries,Apache可移植运行库)的目的如其名称一样,主要为上层的应用程序提供一个可以跨越多操作系统平台使用的底层支持接口库。)

      下载地址:http://apr.apache.org/download.cgi

       

    2. apr-util-1.3.7.tar.gz

      下载地址:http://apr.apache.org/download.cgi

       

    3. httpd-2.2.11.tar.gz

      (apr和apache的版本要对应,如果Apache为2.0.x,对应的APR版本应为0.9.x;Apache为2.2.x,对应的APR版本应为1.2以上版本)

      下载地址:http://httpd.apache.org/download.cgi

       

    4. neon-0.28.2.tar.gz

      下载地址:http://www.webdav.org/neon/neon-0.28.2.tar.gz

       

    5. subversion-1.5.0.tar.gz

      下载地址:

      http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=9755&expandFolder=9755&folderID=260

       

    6. subversion-deps-1.5.0.tar.gz

      (因为手头下载的有1.4.4版本的和1.5.0版本的,就用高版本的来测试了)

      下载地址:

      http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=9755&expandFolder=9755&folderID=260

  1. 安装

 

  1. 安装apr-1.3.5.tar.gz 和apr-util-1.3.7.tar.gz
    1. 安装apr-1.3.5.tar.gz

      # tar zxvf apr-1.3.5.tar.gz

      # cd apr-1.3.5

      # ./configure

      #make

      #make install

       

安装如图:

 

 

 

 

  1. 安装apr-util-1.3.7.tar.gz

    # tar zxvf apr-util-1.3.7.tar.gz

    # cd apr-util-1.3.7

    # . /configure --with-apr=/usr/local/apr

    # make

    # make install

     

安装如图:

 

 

 

 

 

 

  1. 安装httpd-2.2.11.tar.gz

    # tar zxvf httpd-2.2.11.tar.gz

    # ./configure --prefix=/usr/local/apache2 --enable-dav --enable-modules=so --enable-maintainer-mode --enable-rewrite --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config

    # make

    # make install

     

    启动Apache服务:

    # /usr/local/apache2/bin/apachectl start

     

    用浏览器查看http://localhost/,得到It works!

    说明apache已经配置成功了。

     

    测试完成后关闭服务,因为还要安装SVN,否则会报错

    # /usr/local/apache2/bin/apachectl stop

 

安装如图:

 

 

 

 

 

 

 

 

  1. 安装neon-0.28.2.tar.gz

    此步至关重要!

    #tar zxvf neon-0.28.2.tar.gz

    #cd neon-0.28.2

    #./configure –prefix=/usr/local/neon

     

    此时需修改Makefile文件:

    配置neo-0.28.2/src/Makefile,将CFLAGS = -g -O2 改成 CFLAGS = -fPIC -g -O2

     

    #make

    #make install

     

    安装此步neon至关重要,否则会提示如下错误:

     

    could not read symbols: Bad value
    collect2: ld returned 1 exit status
    make: *** [subversion/libsvn_ra_dav/libsvn_ra_dav-1.la] Error 1

 

安装如图:

 

 

 

 

 

 

 

 

  1. 安装Subversion

    # tar zxvf subversion-1.5.0.tar.gz

    # tar zxvf subversion-deps-1.5.0.tar.gz

    # cd subversion-1.5.0

    # rm -rf apr

    # rm -rf apr-util

     

    # cd zlib

    #./configure --prefix=/usr/local/zlib

    #make

    #make install

     

    #cd ..

    #./configure --with-apxs=/usr/local/apache2/bin/apxs --prefix=/usr/local/subversion --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config –with-neon=/usr/local/neon --with-ssl --with-zlib=/usr/local/zlib --enable-maintainer-mode

    #make

    #make install

     

    注:

    1. 由于subversion-deps包里的APR是0.9.x的,因此编译svn时要删除从deps里解压出来的apr, apr-util,改而使用apache 2.2里提供的;
    2. ./configure的时候必须加上–with-neon=/usr/local/neon,否则会提示错误(安装neon的时候强调过);
    3. 查看Apache的配置文件:/usr/local/apache2/conf/httpd.conf

      看到下面两个模块说明安装成功

      LoadModule dav_svn_module modules/mod_dav_svn.so

      LoadModule authz_svn_module modules/mod_authz_svn.so

 

安装如图:

 

 

 

 

 

 

 

  1. 配置

1.建立仓库

#mkdir -p /home/svnroot/repository
#cd /usr/local/subversion/bin
#./svnadmin create /home/svnroot/repository/test    ' 这里假设我们的项目是test
#./svn import /boot file:///home/svnroot/repository/test -m "boot"

'这里假设我们以前的项目文件在/boot目录下,现在导入到test库里
#chmod -R apache:apache /home/svnroot/repository  

'这里把仓库目录权限给apache用户及apache用户组,主要是因为我们要通过http来访问svn


2.
配置http服务器

首先测试一下服务器是否可以正常访问,命令如下:

#cd /usr/local/apache2/bin
#./apachectl start

然后在浏览器里输入http://运行apache的ip地址
出现It Works,表示成功。


更改apache2的配置文件"/usr/local/apache2/conf/httpd.conf",在文件末尾添加如下内容:

LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so

'上面两行其实安装软件时,已经自动添加,如果没有的话,手工添加就行 


<Location /svn>
DAV svn
SVNParentPath /home/svnroot/repository/
AuthzSVNAccessFile /home/svnroot/repository/authz.conf    '配置svn权限的文件
AuthType Basic
AuthName "SubVersion"
AuthUserFile /home/svnroot/repository/valid-user     '用户配置文件
Require valid-user
</Location>


我们使用"#/usr/local/apache2/bin/apachectl restart"重启apache服务器,通过浏览器访问"http://ip/svn/test",如果提示输入用户名、密码的话,配置成功。

接着,我们生成valid-user文件,这个文件其实就是创建可以访问http的用户,使用的是htpasswd命令,方法如下:

#cd /usr/local/apache2/bin
#./htpasswd -c /home/svnroot/repository/valid-user  hrwang
'会提示输入密码,这个密码以后就是访问http时的用户口令。
'如果要继续添加用户,去掉-c 选项,使用:
#./htpasswd /home/svnroot/repository/valid-user yli


现在配置访问svn的用户权限,这里就涉及到上面提到的authz.conf文件了,方法如下:


# vi /home/svnroot/repository/authz.conf       '建立authz.conf文件,添加如下三行
   [test:/]       //这表示,仓库test的根目录下的访问权限 
   hrwang = rw    //test仓库hrwang用户具有读和写权限 
   yli = r        //test仓库yli用户具有读权限

 

 

'附加的一些说明

   [test2:/]     //test2仓库根目录下的访问权限 
   hrwang = r   //hrwang用户在test2仓库根目录下只有读权限 
   bao =       //bao用户在 test2仓库根目录下无任何权限 
   [/]         //这个表示在所有仓库的根目录下 
   * = r      //这个表示对所有的用户都具有读权限 
   #[groups]  //这个表示群组设置 
   #svn1-developers = hrwang, bao //这个表示某群组里的成员 
   #svn2-developers = hrwang
   #[svn1:/] 
   #@svn1-developers = rw //如果在前面加上@符号,则表示这是个群组权限设置

 

例如我们把权限配置成这样:

[groups]

valid-user=hrwang,yli

invalid-user=bao

[test:/]

@valid-user=rw

@invalid-user=

这样的话,用户hrwang和yli可以读写,而bao不可以读写。


Ok
,配置完成,重启apache服务器,在浏览器里输入http://ip/svn/test 在出现的输入框里输入用户名hrwang和密码,看看出现了什么,是/boot目录下的文件,:)

四、注意
因为我们对svn的操作都是通过http,而http默认是以用户deamon,用户组deamon来运行的(这个可以从httpd.conf配置文件中的"User" "Group"两个选项看出)。我把这两项更改为apache,让其以apache用户及apache用户组来运行httpd服务。这就是为什么上面我把仓库的目录权限设置为apacheapache的原因。

转载于:https://www.cnblogs.com/taiheyan/archive/2013/06/13/3134410.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/408739.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机专业自然辩证法期末论文,清华大学自然辩证法-期末论文.docx

清华大学自然辩证法-期末论文论道家自然观对于现代科学的启发摘要&#xff1a;道家是中国古代的重要思想学派&#xff0c;而其自然观在中国古代也独树一帜&#xff0c;流传广泛&#xff0c;甚至于对两千多年后的现在仍具有很强的指导意义。本文通过阐明道家自然观的深刻内涵&am…

[Github项目推荐] 机器学习 Python 知识点速查表

2019年第 21 篇文章&#xff0c;总第 45 篇文章今天推荐三份知识点的速查表&#xff0c;分别是机器学习、深度学习和 Python 三方面的知识点速查表。其中前两份都是来自斯坦福大学的课程&#xff0c;分别是 CS229 机器学习 和 CS230 深度学习课程。1. CS229 机器学习速查表传送…

(RMAN)使用恢复目录数据库执行RMAN步骤

原创作品&#xff0c;允许转载&#xff0c;转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://407882.blog.51cto.com/397882/212142 我想建立一个RMAN备份机制&#xff0c;本机为目标数据库&#xff0c;sid为orcl10的数据库为恢复目…

计算机一级115,计算机一级BASIC模拟115.doc

PAGEPAGE 1[模拟] 计算机一级BASIC模拟115选择题(每小题1分&#xff0c;共20分)第1题&#xff1a;计算机模拟是属于( )类计算机应用领域?A.科学计算B.信息处理C.过程控制D.现代教育参考答案&#xff1a;D答案解析&#xff1a;计算机作为现代教学手段在教育领域中应用得越来越广…

常用机器学习算法汇总比较(上)

机器学习入门系列&#xff08;2&#xff09;–如何构建一个完整的机器学习项目&#xff0c;第七篇&#xff01; 该系列的前六篇文章&#xff1a; 机器学习入门系列(2)–如何构建一个完整的机器学习项目(一)机器学习数据集的获取和测试集的构建方法特征工程之数据预处理&#…

GZIP pre-compression

GZIP pre-compressionPre_compression 并不是一个nginx必须安装的module. Nginx –V 可以显示出当前nginx已经安装的module. 它的作用是: we want to serve and effectively reduce the computation power we waste to compress the file each and every time. This recipe wil…

计算机考试单招考试面试,单招计算机面试题.docx

文档介绍&#xff1a;、选择题(每题 3分&#xff0c;共90 分)1、 计算机系统分为两大系统( )D、输入和输出)A主机和服务器 B、主机箱和显示器 C、硬件系统和软件系统2、 在 Windows98 默认环境中&#xff0c;下列哪种方法不能运行应用程序(A、 用鼠标左键双击应用程序图标B、 用…

常用机器学习算法汇总(中)

机器学习入门系列&#xff08;2&#xff09;–如何构建一个完整的机器学习项目&#xff0c;第八篇&#xff01; 该系列的前七篇文章&#xff1a; 机器学习入门系列(2)–如何构建一个完整的机器学习项目(一)机器学习数据集的获取和测试集的构建方法特征工程之数据预处理&#…

iOS7初体验(2)——单元测试

在Xcode 4.6及以前的版本&#xff0c;一直觉得单元测试这部分功能做得很鸡肋&#xff0c;用起来感觉很别扭。这一次Xcode 5.0默认就引入了单元测试&#xff0c;赶快来看看看相比以前的版本有什么提升吧&#xff01;~_~ 1. 首先打开上一节示例用的项目&#xff0c;当然&…

大学计算机基础实训excel,大学计算机基础实训指导书

摘要&#xff1a;《大学计算机基础实训指导书》分为8章,内容包括第1章介绍了计算机基础知识,主要内容包括计算机的发展,计算机系统的组成,信息在计算机中的表示等;第2章介绍了操作系统基础知识,主要内容包括操作系统的发展,种类,功能,以及windows XP操作系统的使用方法,第3章介…

Python-100例(5-6) 排序斐波那契数列

前面分享的四道题目如下&#xff1a; Python-100 | 练习题 01 & 列表推导式Python-100 练习题 02Python-100 练习题 03 完全平方数Python-100 练习题 04 判断天数 这次是分享 Python-100 例的第五和第六题&#xff0c;分别是排序和斐波那契数列问题&#xff0c;这两道题目…

【Linux小技巧】开启关闭蜂鸣声

当在shell下按错键时&#xff0c;笔记本会发出滴滴滴的蜂鸣声&#xff0c;声音比较烦人&#xff0c;这里记录下关闭&开启蜂鸣声的指令: 如果指令输入后 not permitted, 请键入su 登录root权限后再执行指令 关闭蜂鸣声:rmmod pcspkr     开启蜂鸣声:modprobe pcspkr pcs…

东北农业大学大学计算机基础作业答案,大学计算机基础实践教学改革的研究

针对目前大学计算机基础实践教学中存在的问题,提出了教学内容、教学方法、教学模式、考试形式等方面的改革方案,并在实践中不断践行和完善,达到预期的教学效果,为提高实践教学质量提供参考。第 o第。 卷期201 2年 6月东北农业大学学报 (会科学版)社V0 . 0 N . 11 o 3J n 2 2 u …

关于春招 秋招面试的一些经验

2019 年第 24 篇&#xff0c;总 48 篇文章本文大约 5000 字&#xff0c;阅读大约需要 15 分钟周末了&#xff0c;就不写技术了&#xff0c;来聊聊关于春招/秋招面试的事情&#xff0c;刚好最近也是逐渐开始春招找实习或者找工作的时候了&#xff0c;我就介绍一些当初准备春招实…

计算机win7内容已满,Win7旗舰版电脑C盘满了怎么清理

有些小伙伴电脑用着用着&#xff0c;突然发现C盘磁盘空间以及满了&#xff0c;打开C盘却不知道该删哪些、该留下哪些。C盘空间满了可能是将软件下载到C盘或是垃圾文件积累过多&#xff0c;下面就给大家分享一下Win7旗舰版电脑C盘满了的清理方法。电脑C盘清理方法&#xff1a;首…