linuxCentOS6.8搭建Apache,用http访问svn

2019-06-13 09:02:17来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

前提:SVN已经安装配置ok,可以正常访问
目前本人svn用小乌龟客户端svn协议访问地址为:svn://ip:3691/opt/svn/repository,端口后面的是svn仓库的路径
那么如果从svn协议走向http协议的访问呢,请跟我走。
1.检查是否安装
httpd:rpm -qa|grep http
如果有显示httpd的相关信息,则已安装,如下本人安装的信息,此时可略过第2步骤,否则进行第2步骤操作。
也可以选择卸载重装:yum remove httpd
 
2.安装服务
yum install httpd
 
3.修改apache端口
vi /etc/httpd/conf/httpd.conf,大概在文件的136行的位置,也可以搜索一下Listen关键字快速查找。
由于http服务有默认端口比如80,8001,建议读者修改端口,因为很有可能被其他服务占用,比如gitlab,在此我保留了默认端口8001。
 
4.修改/etc/httpd/conf.d下的subversion.conf文件,在末尾处添加如下代码
<Location /svn> #此处/svn是代理的路径,这样配置后就不需要像svn协议一样,访问仓库路径,直接http://ip:port/svn就可以访问到SavePath存储的仓库了!
DAV svn
SVNPath /opt/svn/repository #指向仓库路径,此处有坑,看清楚是SVNPath 并不是SVNParentPath,笔者由于是copy的配置文件代码修改,就落坑了注意
AuthType Basic
AuthName "SVN Repository"
AuthUserFile /opt/svn/repository/conf/webpasswd #请看5步骤讲解
AuthzSVNAccessFile /opt/svn/repository/conf/authz #对应权限控制文件绝对路径
Require valid-user
</Location>
5.AuthUserFile 配置释义(原本对应svn帐号密码passwd文件)
由于svn默认是明文密码,而http并不支持明密码 所以这里需要单独生成passwd文件 此处命名为webpasswd,
当用svn协议访问的时候是以passwd文件为主,当用http协议访问的时候是以webpasswd为主。具体操作如下:
进入到仓库的conf配置目录,在此笔者
cd /opt/svn/repository/conf
htpasswd -mc webpasswd admin
#执行这句话输入两次密码(此密码会被加密),admin为用户名,conf下就会多出一个webpasswd 文件;
-c:创建一个加密文件;
-m:默认采用MD5算法对密码进行加密;
-d:采用CRYPT算法对密码进行加密;
-p:不对密码进行进行加密,即明文密码;
-s:采用SHA算法对密码进行加密;
-b:在命令行中一并输入用户名和密码而不是根据提示输入密码;
-D:删除指定的用户
vi webpasswd #将会看到admin用户和加密密码,下面是笔者的webpasswd文件内容
 
需要注意:第二次添加新用户,只需要htpasswd webpasswd 用户名就可以了,不需要再用 -mc,否则会覆盖原来的webpasswd文件,
导致原先创建的用户密码丢失
 
6.到此,apache配置完成,启动http,如下两种方式,笔者更倾向于第一种
service httpd restart
或者
/etc/init.d/httpd restart
 
如果在启动的时候遇到如下问题的
1> ServerName导致
httpd: Could not reliably determine the server's fully qualified domain name
2> 或者无权限启动监听端口
 
针对1>的解决方案,修改httpd.conf文件,找到serverName,修改如下
 
针对2>apache无法监听端口解决方案
参考链接:https://www.cnblogs.com/taomylife/p/8026886.html
如果你能使用semanage命令,则不需要安装下一步
yum -y install policycoreutils-python
查看http的端口:semanage port -l|grep http
添加端口:semanage port -a -t http_port_t -p tcp 8001
再启动,将会看到启动成功
 
7.浏览器或者客户端都可以用http协议访问(注:如果访问不了,请看看防火墙是否添加了该端口号)
http://ip:8001/svn/
 

原文链接:https://www.cnblogs.com/liuliuyan/p/11016944.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:LNMP+Redis案例

下一篇:Linux基本命令-chmod