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

作者: 看什么看 2017-02-13 09:23:19

前言:


第一次用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块钱进行认证,不认证的无法使用非全端口映射的。


新增一个端口映射,在网页上进行设置如下




内网端口3306,也就是mysql的默认端口,这里毫无疑问。


内网地址填写路由器分配的IP。


外网端口本来也打算填3306可是提示被占用,改个就行。


外网域名可以用免费的,自己定义前缀就好。


nat123服务器端的安装启动根据官网的指示就行。


注意:在测试外网访问数据库之前先确认mysql本地功能是否正常,然后设置iptables,开放3306端口,同时路由器中要设置虚拟服务器(不同品牌称呼不一样,我这里是tplink)


路由器中内外端口都填3306,ip填路由分配的内网ip


如果不出意外的话,在另一台电脑上通过外网就能访问了,下图是通过mysql workbench新建连接。




 


4.配置svn


svn的安装与基本配置在一开始提供的链接里已经有前辈总结了。


安装好svn以后,首先测试在本地能否通过svn://进行访问,如果是找不到路径,请检查路径是svn的根目录还是版本库的目录?如果要求输入密码,并且输入正确还是无法访问,请检查权限配置。成功再开始配置https的。


首先要做端口映射,同样在nat123中添加一个映射,配置如下图,




相应的在路由器中新添加一个内外端口都为443映射。


不要忘记在iptables中添加允许3690(svn默认端口),和443(https默认端口)。


提示:在配置文件过程中,很可能出现文件名称、路径与教程不一致的情况,比如subversion.conf在我的系统里是10-subversion.conf。这时灵活运用搜索功能,全盘搜索也花不了多长时间。


做到这里不出意外可在其他电脑通过客户端进行访问了




注意链接的最终路径,可能是svn根目录,可能是版本库所在目录。


成功checkout以后,很有成就感,我以为我终于解决了。


然而并没有,当我提交时,总是失败,原来是权限不足。


下面说说权限配置。


apache进程的权限:因为所有跟仓库传输的操作都是通过apache进程进行的,所以即使你给svn用户设置了很大的权限,但是apache进程没有访问仓库或者相关文件的权限也没有用,apache进程的权限设置在httpd.conf(由于我的系统中文件路径和网上说的也不一致,建议通过搜索找这个文件)文件中配置,找到文件中的这两行:


User apache


Group apache


这个apache用户需要修改。我改的是svnroot。


所以还要先新建用户


useradd svnroot #创建用户  


passwd svnroot #修改密码  


因此我将版本库建立在/home/svnroot/目录下,在其他路径是否可行未做测试。


此处需要修改subversion.conf文件。


之前添加的




修改成




而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

相关资讯