当前位置: 移动技术网 > 科技>操作系统>Linux > linuxCentOS6.8搭建Apache,用http访问svn

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

2019年06月14日  | 移动技术网科技  | 我要评论
前提: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://www.lhsxpumps.com/_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无法监听端口解决方案
参考链接:
如果你能使用semanage命令,则不需要安装下一步
yum -y install policycoreutils-python
查看http的端口:semanage port -l|grep http
添加端口:semanage port -a -t http_port_t -p tcp 8001
再启动,将会看到启动成功
 
7.浏览器或者客户端都可以用http协议访问(注:如果访问不了,请看看防火墙是否添加了该端口号)
 

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网