#!/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. Codeforces 924D Contact ATC (看题解)

    Contact ATC 我跑去列方程, 然后就gg了... 我们计每个飞机最早到达时间为L[ i ], 最晚到达时间为R[ i ], 对于面对面飞行的一对飞机, 只要他们的时间有交集则必定满足条件. ...

  2. MQ确认机制之事务机制----confirm串行

    一:介绍 1.说明原理 A:生产者将信道设置成confirm模式,一旦信道进到confirm模式,所有该信道上发布的消息都会被指派一个唯一的ID(从1开始). 一旦消息被投递到所有匹配的队列后,bro ...

  3. hibernate update 只更新部分字段的3种方法(转载)

    hibernate 中如果直接使用 Session.update(Object o); 会把这个表中的所有字段更新一遍. 比如: public class Teacher Test { @Test p ...

  4. DP-hdu1260

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1260 题目描述: 题目大意:每一个人去电影票买票,有两种买票方法:1.自己单人买:2.与前面的人一起买 ...

  5. 障碍路线Obstacle Course

    P1649 [USACO07OCT]障碍路线Obstacle Course 裸的dfs,今天学了一个新招,就是在过程中进行最优性减枝. #include<bits/stdc++.h> us ...

  6. 图片裁切展示css

    .wen_photo{ overflow:hidden;}.wen_photo img{ margin:0; padding:0; width:100%; height: 100%; object-f ...

  7. mysql 用户/密码/权限操作

    由于最近使用mysql遇到了修改用户密码的问题,所以一块学习了一下关于用户的相关操作: 1. 创建新账户 CREATE USER 'jeffrey'@'localhost'; 2. 账户设置密码 #当 ...

  8. thumbs.db是什么文件

    thumbs.db是什么文件  这是图片缓存文件 Thumbs.db文件是一个数据库,里面保存了这个目录下所有图像文件的缩略图(格式为jpeg) thumbs.db删除不掉 反射获取某个类的 所有字段 ...

  9. POJ.1655 Balancing Act POJ.3107 Godfather(树的重心)

    关于树的重心:百度百科 有关博客:http://blog.csdn.net/acdreamers/article/details/16905653 1.Balancing Act To POJ.165 ...

  10. TVTK库的安装

    1.在网址为:http://www.lfd.uci.edu/~gohlke/pythonlibs/ 里下载以下内容: VTK-7.1.1-cp36-cp36m-win_amd64.whlnumpy-1 ...