离线安装svn+apache,实现 http://ip 访问

目录

1、下载的包及地址

2、安装httpd相关包和svn相关包

3、操作步骤

3.1 创建svn仓库并授权给版本库

3.2修改当前仓库的配置文件

3.3有下面svn相关库,就证明安装httpd成功

3.4 修改httpd配置

3.5 创建subversion.comf文件

3.6 创建用户文件passwd

3.7 创建权限文件authz

3.8 启动httpd


既然是完全离线安装,我们就要在有网的环境下将所需要的包下好,方便接下来的使用。

PS:安装的时候一定要注意路径,结合自己的环境,若路径不一样不要照搬照抄!安装的时候注意版本,版本不一样有可能会不兼容,在自己离线安装的时候就遇到安装的1.1.1版本和1.7.4版本的问题,结果采用http访问时无法访问

1、下载的包及地址

文件中已经包含了svn相关包和httpd相关包,地址如下

svn+apache(httpd) svn离线安装包,需要的自取

2、安装httpd相关包和svn相关包

rpm -ivh 包名字

http访问重要的就是要用到mod_dav_svn模块

ps:建议一个一个安装,一起安装会有个别包不能安装

3、操作步骤

3.1 创建svn仓库并授权给版本库

[root@localhost ~]$ mkdir -p /home/data/svn

[root@localhost ~]$ cd /home/data/svn

[root@localhost ~]$ svnadmin create repo

[root@localhost ~]$ chown -R apache:apache repo

conf目录:是这个仓库的配置文件(仓库的用户访问账号、权限等),也是我们要关注的配置文件

db目录:就是所有版本控制的数据存放文件

format文件:是一个文本文件,里面只放了一个整数。表示当前文件库配置的版本号

hooks目录:放置hook脚本文件的目录

locks目录:用来放置subversion监控锁定数据的目录,用来追踪存取文件库的客户端

dav目录:是提供apache与mod_dav_svn使用的目录,让他们存储内部数据,刚开始新建时此目录没有

3.2修改当前仓库的配置文件

[root@localhost ~]$ vim  home/data/svn/repo/conf/svnserve.conf 

去掉这几段话之前的#
anon-access = none    #关闭匿名访问
auth-access = write     #验证用户可写
password-db = passwd  #指向验证用户名密码的数据文件 passwd
auth-db=authz         #指向验证用户的权限配置文件 authz

3.3有下面svn相关库,就证明安装httpd成功

[root@localhost ~]$ cat  /etc/httpd/conf.modules.d/10-subversion

安装httpd完毕后,会在 /etc/httpd目录下看到安装好的httpd相关文件

/etc/httpd/conf

/etc/httpd/conf.d

/etc/httpd/conf.modules.d

/etc/httpd/logs

/etc/httpd/modules

/etc/httpd/run

3.4 修改httpd配置

[root@localhost ~]$ cd /etc/httpd/conf

[root@localhost ~]$ vim httpd.conf

AllowOverride None 改完 AllowOverride All

[root@localhost ~]$ cd /etc/httpd/conf.d

[root@localhost conf.d]$ ll

autoindex.conf

userdir.conf

welcome.conf

README

3.5 创建subversion.comf文件

[root@localhost conf.d]$ mkdir subversion.conf

[root@localhost conf.d]$ vim /etc/httpd/conf.d/subversion.conf

添加如下语句

LoadModule dav_svn_module modules/mod_dav_svn.so

LoadModule authz_svn_module modules/mod_authz_svn.so

<Location />
       DAV svn
       SVNPath home/data/svn/repo
        AuthType Basic
        AuthName " hello SVN user wudan! "
        AuthUserFile home/data/svn/passwd
        AuthzSVNAccessFile home/data/svn/authz
        Require valid-user
</Location>

3.6 创建用户文件passwd

使用htpasswd创建用户,首次创建用户。位置和subversion.conf里的一样,给第一个用户添加密码时要加c,意思是创建这个文件,以后就不用加了

[root@localhost conf.d]# cd /home/data/svn

[root@localhost svn]# touch passwd

[root@localhost svn]# htpasswd /home/svn/passwd admin

New password:

Re-type new password:

Adding password for user admin

[root@localhost svn]# cat passwd

admin:$apr1$3jlXPfui$fVb9lAnF9ttbZ0U2khvMf1

 htpasswd命令是Apache的Web服务器内置工具,用于创建和更新储存用户名、域和用户基本认证的密码文件。 

语法
htpasswd(选项)(参数)

选项

-c:创建一个加密文件;
-n:不更新加密文件,只将加密后的用户名密码显示在屏幕上;
-m:默认采用MD5算法对密码进行加密;
-d:采用CRYPT算法对密码进行加密;
-p:不对密码进行进行加密,即明文密码;
-s:采用SHA算法对密码进行加密;
-b:在命令行中一并输入用户名和密码而不是根据提示输入密码;
-D:删除指定的用户。

参数

用户:要创建或者更新密码的用户名;
密码:用户的新密码。

实例

利用htpasswd命令添加用户
#在bin目录下生成一个.passwd文件,用户名admin,密码:pwdadmin,默认采用MD5加密方式。

htpasswd -bc .passwd admin pwdadmin


在原有密码文件中增加下一个用户
#去掉-c选项,即可在第一个用户之后添加第二个用户,依此类推。

htpasswd -b .passwd test 123456

不更新密码文件,只显示加密后的用户名和密码
#不更新.passwd文件,只在屏幕上输出用户名和经过加密后的密码。

htpasswd -nb test 123456

利用htpasswd命令删除用户名和密码

htpasswd -D .passwd test

利用htpasswd命令修改密码
#即先使用htpasswd删除命令删除指定用户,再利用htpasswd添加用户命令创建用户即可实现修改密码的功能。

htpasswd -D .passwd test
htpasswd -b .passwd test 123456

3.7 创建权限文件authz

[root@localhost svn]# cp /home/data/svn/repo/conf/authz /home/data/svn/

[root@localhost svn]# vim authz

该文件由[groups]配置段和若干版本库路径权限段组成

[groups]配置段格式:<用户组>=<用户列表>

用户列表由若干个用户组或用户名构成,用户组或用户名之间用逗号",“分隔,引用用户组时要使用前缀”@"

版本库路径权限段格式:

[<版本库名>:<路径>]如版本库abc路径/tmp的版本库路径权限段的段名为"[abc:/tmp]"。

可省略段名中的版本库名。若省略版本库名,则该版本库路径权限段对所有版本库中相同路径的访问控制都有效。如:[/tmp]

版本库路径权限段中配置行格式有如下三种:
<用户名> = <权限>
<用户组> = <权限>
* = <权限>
其中,"*"表示任何用户;权限的取值范围为’’、‘r’和’rw’,’'表示对该版本库路径无任何权限,'r’表示具有只读权限,'rw’表示有读写权限。

注意:每行配置只能配置单个用户或用户组。

####在最后面增加如下内容,[/] 是相对svn库src目录下的访问路径,可根据路径分配目录访问权限:

[/] admin = rw

* =

####如下是配置test用户只有对svn/test的目录,具有可读写权限

[/test] test = rw

* =

3.8 启动httpd

[root@localhost svn]# systemctl start httpd

最终访问 http://ip

4.安装成功后出现的问题

没想到由于公司储存的文件太大,而安装的仓库位置内存比较小,所以出现了内存不够的情况

[root@localhost svn]# df -h

采用了上述命令,看到了安装目录没有太多空间,所以本人就重新在内容大的地方创建了仓库,改了一下httpd配置的路径,完美解决问题。具体步骤为:3.1、 3.2 、3.5

离线安装的时候遇到了很多问题,诸如:版本不统一,httpd访问问题,httpd配置问题等等,希望其他朋友在离线安装的时候能参照本文快速安装。本人在离线安装出现问题,查询无果后也差点放弃,也是跌跌撞撞才成功的,最后希望大家都有所得

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

flying.s

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值