linux下Apache+Svn环境搭建(五)
在搭建之前先准备好如下包,建议去apache官网去下载:http://httpd.apache.org/
apr-1.4.6.tar.gz
apr-util-1.4.1.tar.gz
httpd-2.2.16.tar.gz
openssl-1.0.0a.tar.gz
subversion-1.6.1.tar.gz
subversion-deps-1.6.1.tar.gz
neon-0.30.1.tar.gz
expat-2.1.1.tar.bz2
以上所有的压缩包下载下来之后,建议统一放在一个目录,例如我是放在:/home/svn_apachetool
搭建的流程是:先安装httpd,然后再安装subversion,然后再进行配置,具体按照如下步骤进行
一、安装apr-1.4.6.tar.gz
#tar -zvxf apr-1.4.6.tar.gz
#cd apr-1.4.6
#./configure --prefix=/usr/local/apr
#make && make install
二、安装apr-util-1.4.1.tar.gz
#tar -zvxf apr-util-1.4.1.tar.gz
#cd apr-util-1.4.1
#./configure --with-apr=/usr/local/apr/
#make && make install
三、安装httpd-2.2.16.tar.gz
#tar -zvxf httpd-2.2.16.tar.gz
#cd httpd-2.2.16
#./configure --prefix=/usr/local/apache --enable-dav --enable-so --enable-headers --enable-expires --enable-mods-shared=all --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr-util/bin/apu-1-config
#make && make install
安装好后启动apache服务:
# /usr/local/apache/bin/apachectl –k start
用浏览器查看http://localhost/,如果显示it works,说明apache已经配置成功了。
四、安装subversion-1.6.1
1. 首先安装openssl-1.0.0a.tar.gz
#tar -zxvf openssl-1.0.0a.tar.gz
#cd opennssl-1.0.01a
#./config --prefix=/usr/local/ssl
#./config -t
#make depend
#make && make install
2. 解压subversion-1.6.1.tar.gz和ssubversion-deps-1.6.1.tar.gz到同一个目录下。
#tar zxvf subversion-1.6.1.tar.gz
#tar zxvf subversion-deps-1.6.1.tar.gz
3. 替换subversion中的neon,并安装。
#tar -zxvf neon-0.30.1.tar.gz
#mv neon-0.30.1.tar.gz neon
#cd subversion-1.6.1
#rm -rf neon
#cp -r .../neon ./
#cd neon
#./configure
#make && make install
4. 删除subversion1.6.1中的apr和apr-util目录
#cd subversion-1.6.1
#rm -rf apr
#rm -rf apr-util
5. 编译和安装subversion1.6.1中的zlib
#cd ./subversion-1.6.1/zlib
#./configure
#make && make install
6. 安装expat-2.1.1.tar.bz2
#tar zxvf expat-2.1.1.tar.bz2
#cd expat-2.0.1
#./configure
#make && make install
7. 配置和编译subversion1.6.1
#./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-openssl=/usr/local/ssl --with-zlib=/home/svn_apachetool/subversion-1.6.1/zlib/ --enable-maintianer-mode
#make && make install
8.建立和导入版本库
[root@localhost /]# cd /usr/local/subversion/bin/
[root@localhost bin]# mkdir /repo
[root@localhost bin]# ./svnadmin create --fs-type fsfs /repo/te
[root@localhost bin]# ls /repo/te/
//如果ls /repo/te/ 出现了下面的内容,就说明subversion安装成功了.
conf dav db format hooks locks README.txt
导入版本库
[root@localhost bin]# ./svn import /root/test/ file:///repo/te/ -m "initial import"
提交后的修订版为 1。
9.修改目录权限
[root@localhost bin]# cd /repo/te/
[root@localhost te]# chmod -R 777 *
10.修改Apache的配置文件
1).打开vim /usr/local/apache/conf/httpd.conf文件
2).修改httpd.conf文件,在文件的最后添加下面几行
<Location /svn>
DAV svn
SVNParentPath /repo
</Location>
3).保存退出
上面指定的是,SVN不需要权限,即任何匿名用户都可以访问、修改、提交
在实际使用当中,需要有权限控制才行,因此,配置文件需要如下详细配置:
进入cd /usr/local/apache/bin 目录,建立用户组和用户文件 当然也可以是在其它文件夹
建立用户组文件:
# touch authz
在authz文件中写入如下内容,下面代码说明用户组admin有lyd,zzq两个用户,admin组对[/]表示根目录具有读写权限 r代表读 w代表写:
[groups]
admin = lyd,zzq
[/]
@admin = rw
创建用户,这里的用户需要在上面的用户组里面,才能有相应的权限:
htpasswd -cm pwd.txt lyd 第一次创建,加上 -cm 参数,需要创建用户文件pwd.txt,当然你也可以用别名字或后缀名
htpasswd pwd.txt zzq 第二次创建,因为第一次已经创建了用户文件,所以只需要在用户文件中直接添加用户即可
修改apache/conf/httpd.conf文件,在最后添加下面代码,指定SVN的版本库位置及刚才创建的,权限需要使用的文件
<Location /svn>
DAV svn
SVNParentPath /repo/
AuthzSVNAccessFile /usr/local/apache/bin/authz
AuthType Basic
AuthName "Subversion.TOM"
AuthUserFile /usr/local/apache/bin/pwd.txt
Require valid-user
</Location>
11.重启apache服务.
[root@localhost bin]# cd /usr/local/apache/bin/
[root@localhost bin]# ./apachectl stop
[root@localhost bin]# ./apachectl start
或者直接 restart
起动SVN
/usr/local/subversion/bin/svnserve -d -r /repo
12.测试
在window下,检出项目,如下:

点击ok,输入用户名和密码,如果可以检出成功,到此搭建完毕
linux下Apache+Svn环境搭建(五)的更多相关文章
- Linux下的SVN服务器搭建
Linux下的SVN服务器搭建 鉴于在搭建时,参考网上很多资料,网上资料在有用的同时,也坑了很多人 本文的目的,也就是想让后继之人在搭建svn服务器时不再犯错,不再被网上漫天的坑爹作品所坑害,故此总 ...
- Linux下的SVN服务器搭建(转)
Linux下的SVN服务器搭建 鉴于在搭建时,参考网上很多资料,网上资料在有用的同时,也坑了很多人 本文的目的,也就是想让后继之人在搭建svn服务器时不再犯错,不再被网上漫天的坑爹作品所坑害,故此 ...
- Windows下的SVN环境搭建详解
前言:最近因为要和其他人合作开发项目,所以花时间搭建了SVN的环境. 因为是初次使用SVN,对于SVN的环境搭建很不熟悉,再加上网上的教程都介绍的比较粗略,导致前前后后重做了几次. 当然最终是搭建成功 ...
- Linux下的SVN服务器搭建
鉴于在搭建时,参考网上很多资料,网上资料在有用的同时,也坑了很多人 本文的目的,也就是想让后继之人在搭建svn服务器时不再犯错,不再被网上漫天的坑爹作品所坑害,故此总结 /******开始****** ...
- Linux下PHP+Nginx环境搭建
PHP+Nginx环境搭建 作者:王宇阳( Mirror )^_^ 参考文章: Nginx+PHP+MySQL安装参考 PHP源码安装经验 PHP源码环境搭建过程中常见问题 CentOS环 ...
- HDP2.0.6+hadoop2.2.0+eclipse(windows和linux下)调试环境搭建
花了好几天,搭建好windows和linux下连接HDP集群的调试环境,在此记录一下 hadoop2.2.0的版本比hadoop0.x和hadoop1.x结构变化很大,没有eclipse-hadoop ...
- Linux下安装python3环境搭建
Linux下python3环境搭建 Linux安装软件有哪些方式? rpm软件包 手动安装 拒绝此方式 需要手动解决依赖关系 yum自动化安装 自动处理依赖关系 非常好用 源代码编译安装,可自定义的功 ...
- Linux下Java开发环境搭建—CentOS下Eclipse的安装教程
据了解,在Linux下的Java开发很多时候都比较喜欢使用vim + 插件,反而很少使用Eclipse,但是我是第一次使用Linux来进行Java编程,就什么都体验下啦,好啦,废话不多说,直接开始啦. ...
- Linux下golang开发环境搭建
对于golang开发来说,Windows下可以用vscode或者liteide都不错,但是Linux下的开发也就只有vim了,所以怎么搞笑的利用vim进行golang开发呢? 参考官方推荐的一个插件: ...
随机推荐
- guruguru
6576: guruguru 时间限制: 1 Sec 内存限制: 128 MB提交: 28 解决: 12[提交] [状态] [讨论版] [命题人:admin] 题目描述 Snuke is buyi ...
- js中读取解析json数据
在数据传输流程中,json是以文本,即字符串的形式传递的,而JS操作的是JSON对象,所以,JSON对象和JSON字符串之间的相互转换是关键. JSON字符串: 'var str1 = ' ...
- Dojo的define接口
http://blog.csdn.net/lovecarpenter/article/details/53979717 第三种用法用的最多. 此接口用于定义模块: define([],function ...
- (2) html 语义化
HTML语义化标签 1 什么是语义化标签? 通过标签判断内容语义,例如根据h1标签判断出内容是标题,根据 p 判断内容是段落.input 标签是输入框等. 2 为什么要标签语义化? 1.搜素引擎友好 ...
- Kenneth A.Lambert著的数据结构(用python语言描述)的第一章课后编程答案
第6题:工资部门将每个支付周期的雇员信息的列表保存到一个文本文件, 每一行的格式:<last name><hourly wage><hours worked> 编写 ...
- NOIP模拟赛 篮球比赛2
篮球比赛2(basketball2.*) 由于Czhou举行了众多noip模拟赛,也导致放学后篮球比赛次数急剧增加.神牛们身体素质突飞猛进,并且球技不断精进.这引起了体育老师彩哥的注意,为了给校篮球队 ...
- 【线性基】bzoj2844: albus就是要第一个出场
线性基求可重rank 题目描述 给定 n 个数 $\{ a_i \}$ ,以及数 $x$. 将 $\{ a_i \}$ 的所有子集(包括空集)的异或值从小到大排序,得到 $\{ b_i \} $. ...
- Java的WatchService文件夹监听遇到的一些问题
打开word文档时会新增一个~$开头的同名文件,关闭时该文件自动删除 修改excel文件时,会新增一个文件名像E56B4610,CBC15610等这样的文件,同时也会产生tmp格式的文件 PPT文件修 ...
- Python爬虫系列-Selenium+Chrome/PhantomJS爬取淘宝美食
1.搜索关键字 利用Selenium驱动浏览器搜索关键字,得到查询后的商品列表 2.分析页码并翻页 得到商品页码数,模拟翻页,得到后续页面的商品列表 3.分析提取商品内容 利用PyQuery分析源码, ...
- python入门:in 的用法(它在不在这个字符串里面)
#!/usr/bin/env python # -*- coding:utf-8 -*- #in 的用法(它在不在这个字符串里面) #ret(返回,译音:ruai特) #给s赋值为字符串“Alex S ...