桀昊j 发表于 2018-11-22 13:46:35

centos6.5 64 apache+svn 源码安装配置过程

  环境:
  Apr : apr-util-1.5.3.tar.gz 和 apr-1.5.0.tar.gz
  Apache : httpd-2.2.26.tar.gz
  Subversion: subversion-1.7.16.tar.gz
  ######################################################
  安装过程:1、先安装apache及相关支持组件;

  2、安装配置svn;
  ######################################################
  相关的rpm包支持,此处偷懒省事(最好缺什么装什么)
  yum install gcc* *zlib*
  ######################################################
  源码安装apr
  tar zxvf apr-1.5.0.tar.gz
  cd apr-1.5.0
  ./configure --prefix=/opt/apr
  make && make install
  源码安装apr-util
  tar zxvf apr-util-1.5.3.tar.gz
  cd apr-util-1.5.3
  ./configure --prefix=/opt/apr-util --with-apr=/opt/apr
  make && make install
  tar zxvf httpd-2.2.26.tar.gz
  cd httpd-2.2.26
  ./configure \
  --prefix=/opt/apache \
  --with-apr=/opt/apr/bin/apr-1-config \
  --with-apr-util=/opt/apr/bin/apu-1-config \
  --enable-so \
  --enable-dav \
  --enable-maintainer-mode \
  --enable-rewrite
  make && make install
  

  安装完成后启动:
  

  /opt/apache/bin/apachectl start stoprestart reload
  (此处未做相关的apache的server程序支持脚本)
  修改apache用户和组,涉及到svn的安全问题:
  vi /opt/apache/conf/httpd.conf

  user daemon
  group daemon
  

  改为:
  Userapache
  Group apache
  ######################################################

  安装和配置subversion
  

  tar zxvf subversion-1.7.16.tar.gz
  cd subversion-1.7.16
  ./configure \
  --prefix=/opt/svn \
  --with-apxs=/opt/apache/bin/apxs \
  --with-apr=/opt/apr/bin/apr-1-config \
  --with-apr-util=/opt/apr-util/bin/apu-1-config \
  --with-ssl \
  --with-zlib \
  --enable-maintainer-mode
  

  make && make install
  

  完成后,检查版本:
  

  /opt/svn/bin/svnserve--version
  ######################################################
  配置svn和apache整合
  查看apache配置文件,是否有相应的svn模块
  LoadModule dav_svn_module modules/mod_dav_svn.so
  LoadModule authz_svn_module modules/mod_authz_svn.so
  这两个模块会出现在:

  /opt/apache/modules/
  如果有,而apache配置文件里没有自动加载,可以手动加载
  然后重启apache服务
  

  ###################################################
  配置svn
  首先,创建版本库,所有使用的版本都会放到建的库中
  创建名为www的库
  mkdir /svn/project
  /opt/svn/bin/svnadmin create /svn/project/www
  查看创建后的库,目录下会有配置文件
  ls /svn/project/www
  如后面配置会用到的svnserve.conf
  ##############################
  为svn提高安全性:
  chmod -R 700 /svn/project
  chown -R apache.apache /svn/project
  在apache配置文件中写入实现整合功能的配置,追加到尾部即可:
  
  DAV svn
  SVNParentPath /svn/project/
  AuthzSVNAccessFile /svn/auth.conf
  AuthType Basic
  AuthName "Subversion.zoneyump"
  AuthUserFile /svn/passwd
  Require valid-user
  
  主要包括:svn的目录位置,认证文件,用户密码存放文件;

  再重启apache服务。

  ######################################################
  全局的配置文件
  ls /svn
  auth.confpasswdproject
  

  auth.conf中存放对仓库访问的用户和组的权限控制;
  passwd   存放生成的用户密码;
  project    存放各个代码仓库;
  还有每个库中的局部配置文件,它们要将配置文件指向全局配置文件,
  这样可以统一配置,当然也可单独配置
  cd /svn/profile/www/
  ls
  confdbformathookslocksREADME.txt
  cd conf/
  ls
  authzpasswdsvnserve.conf
  vi svnserve.conf
  修改如下:
  

  anon-access = read
  auth-access = write

  password-db = /svn/passwd

  authz-db = /svn/auth.conf

  

  wq!

  ####################################################

  添加svn用户命令,第一次添加时需要选项-c ,以后再加入新的用户不再需要
  /opt/apache/bin/htpasswd -c /svn/passwdusername
  password:
  retry password:
  /opt/apache/bin/htpasswd /svn/passwdusername1
  password:
  retry password:
  

  分配用户到对应的工程,设置用户对所属工程库的访问权限
  /svn/auth.conf
  
  g_www=11,22,33
  g_bbb=44,55
  g_aaa=6,7,8,9,10
  

  
  @g_www=rw
  6=rw
  44=r
  *=
  # @g_www为组用户,也可为单个用户分配权限,r为读,w为写;
  # *=为其他用户权限为空,即禁止访问
  ############################################################
  重启 SVN 方法
  

  ps -ef | grep svn
  root      1600 250130 08:47 pts/0    00:00:00 grep svn
  root      3159   10 Apr21 ?      00:00:00 svnserve -d -r /svn/projec
  kill -9 PID
  

  开启svn
  svnserve -d -r /svn/project
  

  lsof -i:3690

  

  COMMAND   PID USER   FD   TYPEDEVICE SIZE/OFF NODE NAME
  

  svnserve 8454 root    3uIPv4 1346200      0t0TCP *:svn (LISTEN)
  

  

  ######################END########################
  




页: [1]
查看完整版本: centos6.5 64 apache+svn 源码安装配置过程