心海恋歌 发表于 2018-11-18 07:20:26

在centos6上部署apache+svn服务器

  一、准备环境
  1、 selinux以及iptables设置
  1) 关闭selinux
  # 临时关闭selinux:
  setenforce 0
  # 禁用selinux:
  vim /etc/sysconfig/selinux
  # 将SELINUX=enforcing修改成SELINUX=disabled,重启后才能生效。
  
  2) 防火墙设置
  # 修改防火墙策略,开放需要的端口,为了方便操作,也可以关闭防火墙,暂不考虑安全问题
  # 临时关闭防火墙:
  service iptables stop
  # 永久关闭防火墙:
  chkconfig iptables off
  
  2、 yum安装相关依赖包
  yum install gcc gcc-++ make pcre-devel zlib-devel expat-devel -y
  
  3、 安装apr(Apache可移植运行库)
  # 下载
  wget https://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-1.6.3.tar.gz
  # 解压
  tar -zxvf apr-1.6.3.tar.gz
  # 切换到目录
  cd apr-1.6.3
  # 配置
  ./configure --prefix=/usr/local/apr
  # 编译与安装
  make && make install
  
  4、 安装 apr-util
  wget http://mirrors.shuosc.org/apache//apr/apr-util-1.6.1.tar.gz
  tar -zxvf apr-util-1.6.1.tar.gz
  cd apr-util-1.6.1
  ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
  make && make install
  
  
  二、安装apache
  wget https://mirrors.cnnic.cn/apache/httpd/httpd-2.4.28.tar.bz2
  tar -jxvfhttpd-2.4.28.tar.bz2
  cd httpd-2.4.28
  ./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/ --with-included-apr
  make && make install
  
  # 设置服务器用于辨识的主机名和端口号
  sed -i 's/#ServerName.*/ServerName 192.16.8.103:80/' /usr/local/apache/conf/httpd.conf
  
  三、安装SVN
  1、SVN需要需要SQLite数据库支持,先安装SQLite
  wget http://www.sqlite.org/2017/sqlite-autoconf-3210000.tar.gz
  ./configure
  make && make install
  
  2、 SVN安装配置
  mkdir -p /data/svn
  wget http://mirrors.shuosc.org/apache/subversion/subversion-1.8.19.tar.gz
  cd subversion-1.8.19
  ./configure --prefix=/usr/local/subversion --with-apxs=/usr/local/apache/bin/apxs --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/ --with-zlib
  make && make install
  3、 SVN启动设置
  1)添加环境变量
  echo "PATH=$PATH/:/usr/local/subversion/bin" >> /etc/profile
  # 立即生效
  source /etc/profile
  2)启动SVN
  svnserve -d -r /usr/local/subversion/
  3)查看SVN版本
  svnserve --version
  4)做软链接到默认启动目录
  ln -s /usr/local/subversion/bin/svnserve /usr/local/bin/svnserve
  5)设置开机启动
  vim /etc/init.d/svnserve
  
  #!/bin/bash
  # chkconfig: - 85 15
  # description: svn server
  SVN_HOME=/data/svn
  if [ ! -f "/usr/bin/svnserve" ]
  then
  echo "svnserver startup: cannot start"
  exit
  fi
  case "$1" in
  start)
  echo "Starting svnserve…"
  /usr/local/subversion/bin/svnserve -d --listen-port 3690 -r $SVN_HOME
  ;;
  stop)
  echo "Stoping svnserve…"
  killall svnserve
  ;;
  restart)
  $0 stop
  $0 start
  ;;
  *)
  echo "Usage: svn { start | stop | restart } "
  exit 1
  esac
  
  
  5)添加可执行权限
  chmod + /etc/init.d/svnserve
  
  6)验证重新启动
  /etc/init.d/svnserver restart
  
  
  四、apache与svn整合
  1、 创建组和用户并设置user01密码
  groupadd svn
  useradd -g svn -s /sbin/nologin svn
  useradd user01
  passwd user01
  2、加载svn库
  cp /usr/local/src/subversion-1.8.19/subversion/mod_dav_svn/.libs/mod_dav_svn.so /usr/local/apache/modules/
  cp /usr/local/src/subversion-1.8.19/subversion/mod_authz_svn/.libs/mod_authz_svn.so /usr/local/apache/modules/
  
  3、 配置Web/DAV
  # 修改apache配置文件
  vim /usr/local/apache/conf/httpd.conf
  User svn
  Group svn
  # 去掉以下2行的注释
  LoadModule dav_module modules/mod_dav.so
  LoadModule dav_fs_module modules/mod_dav_fs.so
  # 在所有LoadModule末端增加以下2行
  LoadModule dav_svn_module modules/mod_dav_svn.so
  LoadModule authz_svn_module modules/mod_authz_svn.so
  
  
  4、 创建目录
  mkdir -p /data/svn
  # 创建svn仓库
  svnadmin create /data/svn/sre
  
  vim /usr/local/apache/conf/httpd.conf
  
  DAV svn
  SVNPath /data/svn/sre
  AuthType Basic
  AuthName "PleaseLogin"
  AuthUserFile /usr/local/apache/.passwd
  Require valid-user
  
  
  5、生成passwd文件
  /usr/local/apache/bin/htpasswd -c -m /usr/local/apache/.passwd user01
  chown -R svn.svn /usr/local/apache/.passwd
  chown -R svn.svn /data/svn
  /etc/init.d/httpd restart
  6、用浏览器访问http://192.168.8.103/svn
  或者下载SVN客户端执行 SVN Checkout,输入URL:http://192.168.8.103/svn,Checkout到本地电脑
  



页: [1]
查看完整版本: 在centos6上部署apache+svn服务器