红联Linux门户
Linux帮助

centos7+mysql+svn(https方式访问)通过外网访问的配置

发布时间:2017-02-13 09:23:19来源:linux网站作者:看什么看
前言:
第一次用Linux系统来做服务器。这次整个安装以及配置过程花了四天时间,主要是需要通过外网进行访问,因此期间遇到很多问题,在此记录下来。
 
正文:
1.安装centos7
首先下载一个centos7的iso文件,资源好找,安装首先用的其他工具,一开始进行格式化,本来选的是NTFS格式,做了启动盘以后就变成了FAT32,然而iso文件大于4G,只能放弃该工具。
使用前面介绍的工具,很easy了。对新接触linux的来说,还是选择带有图形界面的吧,第一次装就是忽视了这个,如果不想重装在软件选择步骤中请慎重选择。
最好所有操作都在系统的root用户下进行,出现权限不足状况又要切换麻烦。
 
2.安装mysql
安装步骤已经有前辈发过,我就不再重复了。
我遇到一个问题:设置root密码。并没有象正常情况下让我输入初始密码,而是登录失败。
解决方案就是先绕过验证,直接操作user表,修改密码。(具体操作自行搜索)
在设置MySQL随系统启动时还有个尚未解决的问题。如果用该命令设置自启动
chkconfig --add mysqld
会出现此错误ERROR!The server quit without updating PID file
可用此命令找到mysql对应的PID
netstat -ntlp
kill之,重新启动mysql。
虽然看到有人说是selinux导致的问题,我把它禁用掉了也无果。而且开机启动测试太耗时,没有做更多测试。有知道解决方案的请告诉我,在此谢过了。
 
3.配置外网访问
都怪网络课没有认真学,连如何访问公网上的服务器都不知道。好在有花生壳,nat123等网站给我指引。花生壳配置失败,放弃了。
主要来说说nat123。
一切都为了让mysql通过外网访问。
PS:本机是有一个路由器的,路由宽带连接以后,服务器直接就有网。
首先注册一个帐号,充1块钱进行认证,不认证的无法使用非全端口映射的。
新增一个端口映射,在网页上进行设置如下
centos7+mysql+svn(https方式访问)通过外网访问的配置
内网端口3306,也就是mysql的默认端口,这里毫无疑问。
内网地址填写路由器分配的IP。
外网端口本来也打算填3306可是提示被占用,改个就行。
外网域名可以用免费的,自己定义前缀就好。
nat123服务器端的安装启动根据官网的指示就行。
注意:在测试外网访问数据库之前先确认mysql本地功能是否正常,然后设置iptables,开放3306端口,同时路由器中要设置虚拟服务器(不同品牌称呼不一样,我这里是tplink)
路由器中内外端口都填3306,ip填路由分配的内网ip
如果不出意外的话,在另一台电脑上通过外网就能访问了,下图是通过mysql workbench新建连接。
centos7+mysql+svn(https方式访问)通过外网访问的配置
 
4.配置svn
svn的安装与基本配置在一开始提供的链接里已经有前辈总结了。
安装好svn以后,首先测试在本地能否通过svn://进行访问,如果是找不到路径,请检查路径是svn的根目录还是版本库的目录?如果要求输入密码,并且输入正确还是无法访问,请检查权限配置。成功再开始配置https的。
首先要做端口映射,同样在nat123中添加一个映射,配置如下图,
centos7+mysql+svn(https方式访问)通过外网访问的配置
相应的在路由器中新添加一个内外端口都为443映射。
不要忘记在iptables中添加允许3690(svn默认端口),和443(https默认端口)。
提示:在配置文件过程中,很可能出现文件名称、路径与教程不一致的情况,比如subversion.conf在我的系统里是10-subversion.conf。这时灵活运用搜索功能,全盘搜索也花不了多长时间。
做到这里不出意外可在其他电脑通过客户端进行访问了
centos7+mysql+svn(https方式访问)通过外网访问的配置
注意链接的最终路径,可能是svn根目录,可能是版本库所在目录。
成功checkout以后,很有成就感,我以为我终于解决了。
然而并没有,当我提交时,总是失败,原来是权限不足。
下面说说权限配置。
apache进程的权限:因为所有跟仓库传输的操作都是通过apache进程进行的,所以即使你给svn用户设置了很大的权限,但是apache进程没有访问仓库或者相关文件的权限也没有用,apache进程的权限设置在httpd.conf(由于我的系统中文件路径和网上说的也不一致,建议通过搜索找这个文件)文件中配置,找到文件中的这两行:
User apache
Group apache
这个apache用户需要修改。我改的是svnroot。
所以还要先新建用户
useradd svnroot #创建用户  
passwd svnroot #修改密码  
因此我将版本库建立在/home/svnroot/目录下,在其他路径是否可行未做测试。
此处需要修改subversion.conf文件。
之前添加的
<Location  /svn>
修改成
<Location  /svnroot>
而AuthUserFile 这个文件是可以与svn的用户配置文件共用的,建议共用一个,虽然修改用户的时候会比较麻烦,但是权限才能统一(略坑)。apache的用户添加方法如下:
htpasswd -c /home/svnroot/repository/authfile svnroot //第一次设置用户时使用-c表示新建一个用户文件。回车后输入用户密码
htpasswd authfile svnroot(加入新的用户)
这个是加密的密码,而svn的用户配置密码是未加密的。
修改用户以后在文件顶部加上[users]即可。
以保证svn可以读取用户配置。
下次新添用户之前还要去掉[users],改完再加上。
 
好了这次如果不出意外就可以通过外网访问svn了。
 
本文永久更新地址:http://www.linuxdiyf.com/linux/28354.html