设为首页 收藏本站
查看: 624|回复: 0

[经验分享] CentOS6.2+Apache2.4.1+SVN1.7.3环境搭建

[复制链接]
发表于 2015-11-14 08:02:23 | 显示全部楼层 |阅读模式
  声明:本人新手,写本文章,目的只是为了锻炼自己的动手实践能力!由于本人知识结构有限,文化底蕴不深,写的不好!大家请勿喷...谢谢!

  

  说明:
  /root/dir_install    用于存放下载的安装包,以及解压以后的包           

  /usr/local/apr      用于指定安装apr依赖包的路径
  /usr/local/apu     用于指定安装apr-util依赖包的路径
  /usr/local/svn1.7.3 用于指定安装subversion的路径

  /usr/local/apache2  用于指定安装apache服务器的路径
  /var/svn_data/conf   用于放svn访问的用户验证文件和用户权限配置文件
  /var/svn_data/svnroot  用于指定svn创建的版本库路径

  一、检测系统是否已经装有svn
  rpm -q subversion
  如已经安装,请先卸载(rpm -e xxxxxxx)如果有依赖的rpm包,则一层层卸载
  可以使用svn --version检测是否已经卸载

  二、检测系统是否已经安装httpd

  rpm -q httpd
  如果已经安装,先卸载(rpm -e xxxxxx),有依赖包的,依次卸载
  可以使用httpd --version检测是否已经卸载
  、下载apache运行环境依赖的包
  1.apr包,下载地址:http://apr.apache.org/download.cgi
  这边我下载的是 apr-1.4.6.tar.gz,放置在路径/root/dir_install/apr-1.4.6.tar.gz

  tar zxvf apr-1.4.6.tar.gz 进行解压,生成apr-1.4.6

  cd apr-1.4.6
  ./configure --prefix=/usr/local/apr

  make && make install
  安装完毕后,可以验证/usr/local/apr是否存在
  

  2.par-uitil包,下载地址:http://apr.apache.org/download.cgi
  这边我下载的是apr-util-1.4.1.tar.gz,放置路径/root/dir_install/apr-util-1.4.1.tar.gz
  tar zxvf apr-util-1.4.1.tar.gz进行解压,生成apr-util-1.4.1
  cd apr-util-1.4.1
  ./configure --prefix=/usr/local/apu --with-apr=/usr/local/apr/bin/apr-1-config

  make && make install
  安装完毕后,可以验证/usr/local/apu是否存在
  

  3.neon包,下载地址:http://www.webdav.org/neon/
  这边我下载的是neon-0.29.6.tar.gz,放置路径/root/dir_install/neon-0.29.6.tar.gz
  tar zxvf neon-0.29.6.tar.gz进行解压,生成neon-0.29.6
  cd neon-0.29.6
  ./configure --prefix=/usr/local/neon --enable-shared --with-ssl
  make && make install
  安装完毕后,可以验证/usr/local/neon是否存在
  FAQ: configure可能存在的问题及解决方法
1. configure: error: could not find library containing RSA_new
解决方法:   #  yum install openssl-devel
2. configure: error: no XML parser was found: expat or libxml 2.x required
解决方法:   #   yum install expat-devel
3. configure: error: --with-zlib requires an argument.
解决方法:   去掉此选项 。

  四、apache服务器
  1.安装apache,下载地址http://httpd.apache.org/

  这边我下载的是httpd-2.4.1.tar.gz,放置路径/root/dir_install/httpd-2.4.1.tar.gz
  tar zxvf httpd-2.4.1.tar.gz进行解压,生成httpd-2.4.1
下载:http://sourceforge.net/projects/pcre
#unzip -o pcre-8.10.zip
#cd pcre-8.10
#./configure --prefix=/usr/local/pcre
#make
#make install

  
  cd httpd-2.4.1
  ./configure --prefix=/usr/local/apache2 --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apu/bin/apu-1-config  --with-neon=/usr/local/neon/ --with-pcre=/usr/local/pcre --enable-dav --enable-dav-fs

  make && make install
  2.验证apache是否正确安装
  cd /usr/local/apache2/conf
  vi httpd.conf              # [Listen 9580],我这边是将80改成9580
                                     #[ServerName xxx.xxx.xxx.xxx:9580]这边xxx.xxx.xxx.xxx表示ip地址

  cd /usr/local/apache2/bin
  ./apachect1 stop
  ./apachect1 start
  在客户端URL:http://xxx.xxx.xxx.xxx:9580,如显示"it works!"  ,则表明apache服务器已经开始工作!
  再进行下一步之前,暂时先把apache服务器关闭!/usr/local/apache2/bin/apachect1 stop

:这个地方一定要注意把防火墙关了,不然在客户端访问会出现错误!
  命令:
  service iptables stop
  service ip6tables stop
  五、subversion服务器安装
  1.安装subversion,下载地址:http://subversion.apache.org/download/
  我这边下载的是subversion-1.7.3.tar.bz2,放置路径/root/dir_install/subversion-1.7.3.tar.bz2
  tar jxvf subversion-1.7.3.tar.bz2 进行解压,生成subversion-1.7.3
  cd subversion-1.7.3
  注意:我在这边confure再make的时候,报一个错误,纠结了很久以后,终于在网上找到了一位神人的帖子,成功的解决了问题!(这边一定要改svn的源码)
  遇到的问题1:make subversion的时候报如下错误!(我装的是svn1.7.3版本,不知道其他版本安装时是否有该问题存在!没有具体实验过!)
  subversion/mod_dav_svn/util.c: In function 'dav_svn__log_err':
subversion/mod_dav_svn/util.c:630: error: 'dav_error' has no member named 'save_errno'
subversion/mod_dav_svn/util.c:631: error: 'dav_error' has no member named 'save_errno'
  make: *** [subversion/mod_dav_svn/util.lo] 错误 1
解决方法:  定位到路径/root/dir_install/subversion-1.7.3/subversion/mod_dav_svn/util.c,编辑内容如下
-       if (errscan->save_errno != 0) {
-           errno = errscan->save_errno;

  +       if (errscan->aprerr != 0) {
+           errno = errscan->aprerr;

  注意:这边”-“是删除的意思,”+“是添加的意思
  然后继续

  ./configure --prefix=/usr/local/svn1.7.3 --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apu/bin/apu-1-config  --with-neon=/usr/local/neon --with-ssl | tee conf.log
  这边可以more看一下conf.log日志输出的相关configure结果,重点看看,neon有没有checking到,(这边编译的参数知道指定到neon的安装目录即可,svn编译的时候要去找neon的lib库,如这边的/usr/local/neon),如果checking报错了,安装后的svn将不会加载ra_neon模块,导致一些http访问的问题.
  如下图,表示svn找到了neon
   DSC0000.gif

  make && make install
  进到到/usr/local/svn1.7.3/bin使用命令./svn --version查看信息,有信息打出,则表明安装已经成功!如下图:
   DSC0001.png

  六、subversion和apache配置
  1.先检查/usr/local/apache2/modules/是否存在mod_dav_svn.somod_authz_svn.so
  如果没有,

  cp /root/dir_install/subversion-1.7.3/subversion/mod_dav_svn/.libs/mod_dav_svn.so /usr/local/apache2/modules/.
  cp /root/dir_install/subversion-1.7.3/subversion/mod_authz_svn/.libs/mod_authz_svn.so /usr/local/apache2/modules/.
  2.编辑httpd.conf文件
  vi /usr/local/apache2/conf/httpd.conf
  

  #LoadModule dav_fs_module modules/mod_dav_fs.so

  #LoadModule dav_module modules/mod_dav.so
  修改为:

  LoadModule dav_fs_module modules/mod_dav_fs.so
  LoadModule dav_module modules/mod_dav.so
  再添加
  LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules
/mod_authz_svn.so
  注意: 新增的这两行的代码顺序不要弄错掉,有可能带来不必要的错误!
  再在末尾添加
  <Location /svn>  #意味着可以通过像这样的URL(http://MyServer/svn)来访问Subversion版本库
DAV svn     #
告诉Apache哪个模块负责服务像那样的URL--在这里就是Subversion模块
SVNParentPath /var/svn_data/svnroot   #
告诉Subversion在目录/var/svn_data/svnroot下寻找版本库
AuthType Basic  #
启用基本的验证,使用用户名/密码验证
AuthName &quot;mysvn&quot;   # mysvn为版本库
  SVNListParentPath on      //可以访问到根目录
AuthUserFile/var/svn_data/conf/svn-auth-file #svn-auth-file访问密码和用户文件,
用来验证用户的用户名及密码
AuthzSVNAccessFile /var/svn_data/conf/svn-access-file    #权限控制文件,
限定各个用户或组在版本库中目录的访问权限
Require valid
-user  #限定用户只有输入正确的用户名及密码后才能访问这个路径
</Location>
  3.创建svn-auth-file文件
  利用htpasswd命令创建用户密码文件/usr/local/apache2/bin/htpasswd -cm /var/svn_data/conf/svn-auth-file
  4.创建svn-access-file文件
  cd /var/svn_data/conf
  touch svn-access-file
  vi svn-access-file    添加如下内容
  #组配置  组 = 用户名
[groups]        
admin
= admin
#@user
= test  #test用户还需要按照上面d步骤来创建它和它的密码

# 为所有库指定默认访问规则
# 所有人可以读
[
/]
* = r

# 为test版本库制定权限
#admin组拥有读写权限
#user组只有读取权限
[mysvn:
/]
admin
= rw
#@user
= r
  5.创建mysvn版本库
  cd /var/svn_data/svnroot
  svnadmin create mysvn
  6.修改文件权限,让apache用户能够有权限读写

  查看文件httpd.conf
  找出内容
  User daemon
Group daemon

  修改文件的所属组和所属用户名
  chown -R daemon:daemon /var/svn_data
  chmod -R 777 /var/svn_data
  这边一定要把mysvn的版本库权限改为可写,否则会出现check in返回500的错误!

  7.继续配置https访问模式
  vi httpd.conf
  

  #LoadModule ssl_module modules/mod_ssl.so
  #Include conf/extra/httpd-ssl.conf

  改为
  LoadModule ssl_module modules/mod_ssl.so
  Include conf/extra/httpd-ssl.conf在cmd命令进入到apache的conf目录,执行以下命令。$ M$ K! {&quot; j( K: K3 g; W% S


  8.申请证书
  在cmd命令进入到apache的conf目录,执行以下命令。$ M$ K! {&quot; j( K: K3 g; W% S

openssl genrsa -out server.key 1024                                                                                                              #生成密钥
openssl req -new -key server.key -out server.csr -config /usr/local/openssl/ssl/openssl.cnf              #生成server.csr
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt                                       #生成证书
  生成证书时365是证书的有效期,可根据自己的情况进行填写。以上命令执行完之后会生成server.key ,server.csr,server.crt三个文件

  七、启动apache验证apache&#43;svn是否安装成功
  1.启动apache,
  cd /usr/local/apache2/bin
  ./apachect1 start
  2.url中输入”http://xxx.xxx.xxx.xxx:9580/svn/mysvn“,不报错,则表示已经成功
  你就可以自动mysvn库到本地,添加内容,check in到版本库看是否都一切正常~
  

  本人也仅仅是配置到这种程度,还有很多问题,还没能解决,解决了到时候再来更新!

         版权声明:本文为博主原创文章,未经博主允许不得转载。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-138973-1-1.html 上篇帖子: 安装Apache Felix OSGI Framework小记 下篇帖子: Linux下安装Apache
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表