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

[经验分享] 基于源码的安装的apache+svn

[复制链接]

尚未签到

发表于 2018-11-25 07:16:26 | 显示全部楼层 |阅读模式
  基于源码的安装一开始搞得我还是有点复杂的,不过问题也都是解决了,下面来贴一下源码安装apache+svn的步骤:
一、安装apache
1、下载apache源码包,这里的是httpd-2.2.23.tar.gz
2、下载apache依赖包,apr-1.2.12 apr-util-1.2.12
3、安装依赖包:
   安装apr  
  # tar -zxvf apr-1.2.12.tar.gz
  # cd apr-1.2.12
  # ./confiugre --prefix=/usr/local/apr
  # make&&make install
  安装apr-util
  # tar -zxvf apr-util-1.2.12.tar.gz
  # cd apr-util-1.2.12
  # ./configure --with-apr=/usr/local/apr --prefix=/usr/local/apr-util
  # make&&make install
4、安装apache
   # tar -zxvf httpd-2.2.23.tar.gz
   # cd httpd-2.2.23
   ./configure --prefix=/usr/local/apache2
   --with-apr=/usr/local/apr/bin/apr-1-config
   --with-apr-util=/usr/local/apr/bin/apu-1-config
   --enable-modules=so
   --enable-dav
   --enable-maintainer-mode
   --enable-rewrite
   # make&&make install
启动apache
   # /usr/local/apache2/bin/apachect1 -k start
浏览器查看,显示it works,apache安装成功。
二、安装svn
   下载源码包 subversion-1.4.5.tar.gz subversion-deps-1.4.5.tar.gz
  # tar –zvxf subversion-1.4.5.tar.gz
  # tar –zvxf subversion-deps-1.4.5.tar.gz /*这两个自动解压成一个subversion-1.4.5
  # cd subversion-1.4.5
  # rm –rf apr
  # rm -rf apr-util
  # ./configure
        --prefix=/usr/local/svn
        --with-apxs=/usr/local/apache/bin/apxs
        --with-apr=/usr/local/apr/bin/apr-1-config
        --with-apr-util=/usr/local/apr-util/bin/apu-1-config
        --with-ssl
        --with-zlib
        --enable-maintainer-mode
  # make
  # make install     
查看安装是否成功:
   # /usr/local/svn/bin/svnserve --version会显示版本号   
查看apache配置文件会有如下两个模块加载   
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
总结以上呢全是把各种软件包先安装好,安装这些基础没问题之后,下面开始配置svn服务器。
三、配置svn服务器
   1、新建一个目录作为版本库
   # mkdir -R /svn/svnserve/
   # /usr/local/svn/bin/svnadmin create /svn/svnserve/project
  2、初始化版本仓库
   # mkdir project project/server project/client project/test (建立临时目录)
   # svn import project/ file:///home/svn/project -m “初始化SVN目录”
   # rm -rf project (删除临时建立的目录)
  3、添加用户(注:这里的添加用户是为测试svn服务器本身,结合apache后面介绍)
  svn用户添加非常简单,在/svn/svnserve/project/conf/passwd这个文件里面加入就行,格式如下:
  [users]
  # harry = harryssecret
  # sally = sallyssecret
  zml = zml
  admin = admin(你想用几个用户就加几个)
  4、修改用户的访问权限
  在/svn/svnserve/project/conf/authz文件里修改如下:
  [groups]
  # harry_and_sally = harry,sally

  # [/foo/bar]
  # harry = rw
  # * =

  # [repository:/baz/fuz]
  # @harry_and_sally = rw
  # * = r
  zml = zml
  [/]
  @zml=rw
  *=
  5、修改svnserve.conf文件,,
  [general]
  anon-access = none
  auth-access = write
  password-db = /svn/svnserve/project/conf/passwd
  authz-db = /svn/svnserve/project/conf/authz
  6、现在启动svn服务器
  # /usr/local/svn/bin/svnserve -d -r /svn/svnserve/
  7、测试一下
  # svn co svn://172.16.1.218/project
   Authentication realm:     92731041-2dae-4c23-97fd-9e1ed7f0d18d
   Password for ‘root’:
   Authentication realm:  92731041-2dae-4c23-97fd-9e1ed7f0d18d
   Username: zml
   Password for ‘zml’:
A    project/test
A    project/server
A    project/client
Checked out revision 1.  ( 测试提取成功 )

  # cd project/server
  # vim main.c
  # svn add main.c
  # svn commit main.c -m “测试一下”
Adding         main.c
Transmitting file data .
Committed revision 2.  ( 测试提交成功 )
以上呢就证明了svn服务器是成功的,那么现在要把它与apache结合到一块
四、配置svn的apache的支持
    那么对于http的支持这里有两种方法,一种是用svn的passwd文件,一种是http生成用户文件
先介绍用svn的passwd文件,
    1、转换SVN服务器的密码
由于SVN服务器的密码是明文的,HTTP服务器不与支持,所以需要转换成HTTP支持的格式。网上找了个脚本
脚本内容如下:
# cd /svn/svnserve/project/conf/
# vim PtoWP.pl

#!/usr/bin/perl
# write by huabo, 2009-11-20

use warnings;
use strict;

#open the svn passwd file
open (FILE, "passwd") or die ("Cannot open the passwd file!!!n");

#clear the apache passwd file
open (OUT_FILE, ">webpasswd") or die ("Cannot open the webpasswd file!!!n");
close (OUT_FILE);

#begin
foreach () {
if($_ =~ m/^[^#].*=/) {
$_ =~ s/=//;
`htpasswd -b webpasswd $_`;
}
}

# chmod +x PtoWP.pl
# ./PtoWP.pl
Adding password for user pm
现在目录下会多一个webpasswd文件
   2、修改httpd.conf,添加关于SVN服务器的内容
编辑/usr/local/apache2/conf/httpd.conf,在最后添加如下信息:

   
   DAV svn
   SVNPath /svn/svnserve/project/
   AuthType Basic
   AuthName "svn for project"
   AuthUserFile /svn/svnserve/project/conf/webpasswd
   AuthzSVNAccessFile /svn/svnserve/project/conf/authz
   Satisfy all
   Require valid-user

   现在这样就已经完成了,可以用浏览器访问http://172.16.1.218/project/
   如果有权限问题;
   修改svn目录的属主为apache帐号:chown -R apache.apache /svn/svnserve/project/

那还有一种方法是用apache自带的htpasswd生成用户文件如下:
   1、添加用户:
      # /usr/local/apache/bin/htpasswd –c /svn/passwd zml
       第一次设置用户时使用-c表示新建一个用户文件。回车后输入用户密码,完成对用户的增加
       第二次添加用户不需要带 –c 参数
   2、更改httpd.conf文件
       #vi /usr/local/apache/conf/httpd.conf
        在文件末尾添加
        DAV svn
        SVNParentPath /svn/svnserve/project (此处配置你的版本库根目录) --注意这里不要svnpath
        AuthType Basic (连接类型设置 基本验证)
        AuthName "Hello welcome to here" (此处字符串内容修改为提示对话框标题)
        AuthUserFile /svn/passwd (此处修改为访问版本库用户的文件,
        用apache 的htpasswd命令生成)
        AuthzSVNAccessFile /svn/svnserve/project/conf/auth.conf (此处修改为访问版本库权限的文件)
        Require valid-user ("Require valid-user"告诉apache在authfile中所有的用户都可以访问。
        如果没有它,则只能第一个用户可以访问新建库)
        保存文件退出!
        重新启动apache
       # /usr/local/apache/bin/apachectl –k restart
       重启svn
       就可以通过 http://172.16.1.218/project 这个URL来访问仓库了




运维网声明 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-639196-1-1.html 上篇帖子: Apache限速模块mod_cband的配置及使用 下篇帖子: 切换apache的prefork和worker模式
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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