#!/bin/bash
## -------------------------------------------------
## 安装svn并整合http访问
## -------------------------------------------------

echo -e "\033[1;36m安装apache\033[0m"
cd /data/software
yum install expat expat-devel
wget http://mirrors.hust.edu.cn/apache/apr/apr-1.6.2.tar.gz
wget http://mirrors.hust.edu.cn/apache/apr/apr-util-1.6.0.tar.gz
wget http://mirrors.shuosc.org/apache/httpd/httpd-2.4.27.tar.gz
tar xvf apr-1.6.2.tar.gz
tar xvf apr-util-1.6.0.tar.gz
tar xvf httpd-2.4.27.tar.gz
/bin/cp -rf apr-1.6.2 httpd-2.4.27/srclib/apr
/bin/cp -rf apr-util-1.6.0 httpd-2.4.27/srclib/apr-util
cd httpd-2.4.27
./configure --prefix=/opt/apache --enable-so --enable-dav --enable-dav-fs --enable-maintainer-mode --with-included-apr --enable-rewrite --enable-ssl --enable-proxy --enable-proxy-http
# --enable-so 开启动态库支持,svn要求apache必须启用so
# --enable-dav --enable-dav-fs 是支持svn认证使用的
# --enable-maintainer-mode 开启调试模式
# --with-included-apr 使用内置的apr
# --enable-rewrite 开启rewrite
# --enable-ssl 开启SSL
# --enable-proxy 开启proxy支持
# --enable-proxy-http 开启proxy http支持
make
make install

echo -e "\033[1;36m安装subversion\033[0m"
cd /data/software
wget http://www.sqlite.org/2017/sqlite-amalgamation-3200100.zip
wget http://mirrors.shuosc.org/apache/subversion/subversion-1.9.7.tar.gz
tar xvf subversion-1.9.7.tar.gz
unzip sqlite-amalgamation-3200100.zip
/bin/cp -rf sqlite-amalgamation-3200100 subversion-1.9.7/sqlite-amalgamation
cd subversion-1.9.7
./configure --prefix=/opt/subversion --with-apxs=/opt/apache/bin/apxs --with-apr=/opt/apache/bin/apr-1-config --with-apr-util=/opt/apache/bin/apu-1-config
make
make install
/bin/cp -raf subversion/mod_authz_svn/.libs/mod_authz_svn.so /opt/apache/modules/
/bin/cp -raf subversion/mod_dav_svn/.libs/mod_dav_svn.so /opt/apache/modules/

echo -e "\033[1;36m整合apache和subversion\033[0m"
sed -i 's@LoadModule rewrite_module modules/mod_rewrite.so@LoadModule rewrite_module modules/mod_rewrite.so\nLoadModule dav_svn_module modules/mod_dav_svn.so\nLoadModule authz_svn_module modules/mod_authz_svn.so@g' /opt/apache/conf/httpd.conf
cat >> /opt/apache/conf/httpd.conf << EOF

# Subversion default settings
Include conf/extra/httpd-svn.conf
EOF

cat > /opt/apache/conf/extra/httpd-svn.conf << EOF
<Location /leishen>
DAV svn
SVNListParentPath On
SVNParentPath /data/subversion
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /opt/subversion/conf/passwdfile
AuthzSVNAccessFile /opt/subversion/conf/accessfile
Require valid-user
</Location>
EOF

mkdir -p /opt/subversion/conf

##创建账户配置文件,因为是第一次创建,passwdfile文件原本不存在所以需要加-c参数,日后需要在passwdfile中追加第二个用户,去掉-c参数即可
echo -e "\033[1;36m创建第一个用户\nUSER:jinps\nPASS:jinsppasswd\033[0m"
/opt/apache/bin/htpasswd -bc /opt/subversion/conf/passwdfile jinsp jinsppasswd

echo -e "\033[1;36m创建权限树配置文件\033[0m"
cat > /opt/subversion/conf/accessfile << EOF
[groups]
manager = yunfy
ops = jinsp,bxjg

[yunwei:/]
@manager = rw
@ops = rw
* =

[yunwei:/H05]
@manager = rw
@ops = rw
* =
EOF

echo -e "\033[1;36m新增SVN仓库\033[0m"
mkdir -p /data/subversion
cd /data/subversion
/opt/subversion/bin/svnadmin create yunwei

echo -e "\033[1;36m启动apache\033[0m"
/opt/apache/bin/apachectl restart

echo -e "\033[1;36m测试使用http访问svn\033[0m"
echo -e "\033[1;32mhttp://本机公网IP/leishen/yunwei/H05\033[0m"

CentOS 7 安装SVN并整合HTTP访问的更多相关文章

  1. centos在线安装svn

    centos在线安装svn 用下列命令安装svn服务 yum install subversion 创建svn版本库目录 mkdir -p /var/svn/svnrepos 创建版本库 svnadm ...

  2. CentOs linux安装SVN服务

    SVN服务器有2种运行方式:1.独立服务器(例如:svn://xxx.com/xxx):2.借助apache   (例如:http://svn.xxx.com/xxx):为了不依赖apache,我选择 ...

  3. Centos5.8 安装SVN并配置HTTP访问

    安装 svn sudo yum install subversion 测试 svn --version 安装 httpd 的 svn 模块 sudo yum install mod_dav_svn 前 ...

  4. CentOS 7 安装SVN服务端

    CentOS7下安装SVN服务 1. yum命令即可方便的完成安装# sudo yum install subversion 测试安装是否成功:# svnserve --version 更改svn的默 ...

  5. CentOS 7安装SVN以及高版本SVN

    安装 CentOS 7 下yum命令即可方便的完成安装 $ sudo yum install subversion 测试安装是否成功: $ svnserve --version 建立版本库 创建svn ...

  6. Ubuntu安装Svn,提供http访问

    安装相关package sudo apt-get install subversion subversion-tools apache2 libapache2-svn apache2-utils 创建 ...

  7. CentOS下安装SVN服务端

    ---恢复内容开始--- 1.使用yum安装 yum install subversion 2.创建仓库 1.创建成功后在svn下面多了几个文件夹. cd /home mkdir svn svnadm ...

  8. centos 7 安装svn客户端

    rpm -qa subversion yum remove -y subversion yum install -y subversion svnserve --version svn checkou ...

  9. centos一键安装lnmp成功后无法访问ip(解决办法)

    自己搞了个服务器 (我的服务器网络类型是 专有网络)如下图点击 配置规则 进入到 进.出端口规则配置 点击添加安全组规则 如图所配置  添加完成后 就如下面所示 (配置完成后 通过ip就已经可以访问了 ...

随机推荐

  1. Docker 启动时容器无法联网

    转自:https://blog.csdn.net/u014062332/article/details/52911405 启动docker web服务时 虚拟机端口转发 外部无法访问 centos 7 ...

  2. python中简单文件的输入三种方式

    最近在自学python,简单的总结了一下文件的输入的方式. 1. f=open("foo.txt") line=f.readline() while line: print(lin ...

  3. JVM GC-----4、finalize()方法

    finalize()方法是Object类中定义的protect方法.每一个类都可以重写该方法,给出自己的实现.当类在被回收期间,这个方法就可能会被调用到. 为什么说可能?这是由于finalize()的 ...

  4. 一道有意思的多线程面试题 C# 代码实现

    如果你对多线程的控制不怎么了解,那么理解了这篇文章的内容也许对你有帮助.鼓励先自己动手实现一遍,做不出来在看代码. 题目一:两个线程交替打印0~100的奇偶数 这道题就是说有两个线程,一个名为偶数线程 ...

  5. Python学习——内置函数

    内置函数: 1.abs():获取绝对值 >>> abs(-10) 10 >>> a= -10 >>> a.__abs__() 10 2.all() ...

  6. Python3绘图库Matplotlib(01)

    1 First plots with Matplotlib 简单的绘图1 简单的绘图2 简单的绘图3 2 网格 = grid 3 设置坐标轴的取值范围 = axis xlim ylim 方法1:整体设 ...

  7. unity3d 脚本周期函数

    1,编辑器阶段 Reset方法:当脚本第一次添加到游戏对象或执行Reset命令时会调用Reset方法,常用来初始化脚本的各个属性: 2,场景第一次加载阶段 Awake方法:在Start方法之前调用: ...

  8. Unity 鼠标个性化

    最初的版本,API是可以直接设置鼠标显示与否的,新版本就改了,先上下旧店的版本的: 1.思路: 在某些游戏下,经常会隐藏鼠标,或者有绚丽的动画来代替鼠标显示. 原理就是将鼠标隐藏(不显示)起来,设置一 ...

  9. .NET:Threading and Exceptions

    Do handle exceptions in threads. Unhandled exceptions in threads, even background threads, generally ...

  10. 隐藏控件--HiddenField控件

    HiddenField控件百度查的结果(帮助大家对比理解): HiddenField控件顾名思义就是隐藏输入框的服务器控件,它能让你保存那些不需要显示在页面上的且对安全性要求不高的数据.也许这个时候应 ...