像修改本机代码一样修改远端服务器的PHP网站
映射vps目录到自己电脑的摸索记录
最近拿discuz做了一个网站,需要修改模板文件之类的,还需要调试微信和QQ登陆的接口。都是些位置零散的小修改,但是有些需要在线上才能调试(QQ微信的oauth登陆,各种插件)。为了方便开发,我打算在阿里云的centos服务器上安装一个vpn和smb服务,然后在我的开发机上连接VPN并创建网络磁盘映射。
实验环境:
服务端 阿里云centos7服务器
客户端 普通的windows 10操作系统
实验过程:
1、在centos7上安装smba服务
smba服务是用来在linux操作系统上共享文件或者目录到windows网络的服务。也就是在linux上安装了之后可以指定某些文件夹共享到局域网,局域网内的windows计算机可以通过网上邻居或者直接在文件浏览器地址栏输入服务器IP
\\XXX.XXX.XXX.XXX
来操作服务器相应目录的文件。
首先查看系统是否安装了samba服务,可以用
service smb status
或者
systemctl staus smb
来查看状态,如果没有安装,使用
yum -y install samba
来安装samba服务,安装完毕后使用
vim /etc/samba/smb.conf
修改配置文件设置。配置文件内容比较多,这里挑重要的几条列一下:
首先是[global]下面的一些全局设置:
#这是网上邻居的所属工作组名
workgroup = MYGROUP
#这个没看到哪里用
server string = Samba Server Version %v
#这个是网上邻居显示的计算机名
netbios name = AliyunLite
#日志文件位置
log file = /var/log/samba/log.%m
#日志文件最大容量(KB)
max log size = 50
#安全性设置,通常默认设置够用
security = user
passdb backend = tdbsam
#使用远程局域网里的打印机,如果是公司VPN会用到,这里用不到
load printers = no
map to guest = Bad User
unix charset = UTF-8
;dispaly charset = UTF-8
#创建文件和目录时候使用的默认权限,这里777免得出现权限不足问题
create mask = 777
directory mask = 777
guest ok = no
valid users = root,smb
write list = @root
#这个节下面的每一组都是一个共享文件夹,这里我只配置了我自己的
#============================ Share Definitions ==============================
#共享文件夹的名字
[xxx]
#共享文件夹注释
comment = xxx
#在服务器上的路径
path = /xxx/xxx
public = yes
writable = yes
read only = no
printable = no
browseable = yes
[root@localhost sir01]#smbpasswd -a root
New SMB password: 注:在这里添加Samba用户root的密码;
Retype new SMB password: 注:再输入一次;
以上配置改好之后重启samba服务:
systemctl restart smb
或者
service smb restart
然后连接上vpn之后就可以在文件浏览器里用\\xxx.xxx.xxx.xxx(服务器在vpn里的地址) 看到并操作服务器的文件了。
2、用OpenVPN建立稳定的VPN连接
首先登陆centos使用
wget https://gitee.com/lookingdreamer/SPPPOTools/raw/master/centos/vpn/openvpn/openvpn-install.sh
下载openvpn一键安装脚本。使用
chmod +x openvpn-install.sh
./openvpn-install.sh
开始安装openvpn。
大多配置都可以采用默认值,建议询问是否使用秘钥的那一项的时候设置一个秘钥。不过就算不设置秘钥,入侵者也需要先获取你的openvpn客户端配置文件才能登陆VPN。这个自动生成的配置文件内是有加密算法的秘钥对的。
安装完成后会生成一个客户端配置文件,您需要使用ftp或者securefx之类的工具从服务器上下载此配置文件。然后安装一个openvpn的客户端,我这里是安装了一个windows版的客户端,翻墙到openvpn的管网下载的,管网地址是:
https://swupdate.openvpn.org/community/releases/openvpn-install-2.4.7-I607-Win10.exe
如果你没有翻墙工具,可以到我管理的BBS上下载,QQ登陆简单注册一下即可得到提取码:
https://www.shuyu.online/forum.php?mod=viewthread&tid=57&page=1&extra=#pid61
安装完毕之后,启动openvpn可以看到右下角任务栏出现这个带锁的显示器图标:
右键点击,导入配置文件,找到刚才生成的配置文件打开。导入配置之后即可右键点击它进行连接,连接成功后就可以在\\10.8.0.1\ 这个地址(在文件管理器,也就是计算机 或者 我的电脑打开)上看到你服务器的文件夹了。右键点击文件夹创建网络驱动器,之后就可以像操作本地文件一样操作服务器上的文件了。我试了一下phpstorm这个ide,过于重量级,intellisense可能会做很多操作来扫描网络驱动器,会造成卡顿。因此推荐使用vscode,sublime之类的轻量级代码编辑器进行操作。
到此已经可以在编辑器里直接修改服务器上的文件,免得零碎改动的上传下载。但是还有个问题,VPN打开的时候,可能你上不了外网,或者外网速度很慢。因为openvpn的默认设置是使用VPN服务端的网关上网,所有网络访问都会先绕到你的服务器上。这样既慢(通常便宜服务器也就1-2M的带宽)又浪费服务器流量。所以还需要如下2个关键步骤调整OpenVPN的配置,让你的电脑不通过服务器绕弯上网,而是用原有的本地网关路径直接上网:
登陆centos服务器进入控制台,修改openvpn配置文件:
vim /etc/openvpn/server.conf
找到这一句在前面加;
:wq存储关闭配置文件,重启OpenVPN。这里因为用的一键安装脚本安装的OpenVPN,并没有注册成服务所以systemctl和service都找不到这个服务。可以直接kill掉进程再重启,具体步骤如下:
这样就不会让你的电脑所有流量都绕道服务器了。
然后是客户端配置文件的修改,右键右下角的OpenVPN客户端图标,选择“编辑配置文件”,打开配置文件内容:
同样在这一句前面加上;
这是禁用防DNS泄露,如果没有注释掉的话原来的意思是所有域名解析也都从服务器的DNS走,现在openvpn客户端重新连接一次,使用VPN+SMB+网络驱动器映射就可以简单地在你自己电脑上操作服务器文件了。小修改不用麻烦地用上传下载工具折腾了,一个ctrl+s就把改动直接存到服务器,浏览器打开服务器域名直接F5看修改效果,调试OAUTH和各种在线的插件也方便多了。
这个方法只适用于小修改,如果是涉及到数据库之类东西或者新的模块,建议还是弄一个本地镜像来。
希望能给你的工作带来一些方便,我是费了一天左右的功夫搞定开OPENVPN同时走本地流量上网的问题,不过中途也学习了一下路由表之类的知识,虽然最后发现只需要改这两个配置就不必折腾路由表,OPENVPN的客户端会自动搞定繁复的底层操作,也算是塞翁失马了。
另外如果服务器开启了防火墙 记得放行你设置的OPENVPN的端口号 还有SAMBA服务端口号 SAMBA服务的端口号默认是445
如果您看完本篇觉得有用请点个收藏,还可以到我的网站数语在线软件IT板块获取更多技术和工具的交流分享:
https://www.shuyu.online/forum.php?gid=37
相关连接汇总:
samba服务安装配置: https://www.jianshu.com/p/0d8f44d1b9ed
一键openvpn安装脚本: https://segmentfault.com/a/1190000019471008
一键PPTP VPN服务搭建脚本:https://blog.csdn.net/enough_empty/article/details/51106563
像修改本机代码一样修改远端服务器的PHP网站的更多相关文章
- 修改Nginx的header伪装服务器
有时候为了伪装自己的真实服务器环境.不像让对方知道自己的webserver真实环境,就不得不修改我们的webserer软件了!今天看了一下baidu.com的webserver感觉像是nginx修改的 ...
- Linux基础二(修改ip地址、修改网关、修改DNS服务器、重新启动网络配置)
网络的初始化 .ip地址的修改(临时生效) 使用ifconfig命令 ifconfig 网卡名 ip地址 netmask 子网掩码 [root@localhost /]# ifconfig eth1 ...
- 【Eclipse】Eclipse中tomcat的Server配置(解决修改代码不断的重启服务器)以及设置tomcat文件发布位置与JSP编译位置查看
Eclipse有时候修改一点JS或者JSP都会自动重启,有时候修改完JS或者JSP之后必须重启服务器才生效,下面研究了server的一些选项之后彻底解决了这些问题,下面做记录: 我的 Eclipse ...
- git 学习笔记 —— 获取远端分支并修改后提交至远端仓库
笔者最近进行开发过程中,所有参与者的代码需要通过 git 上传到远端仓库中,不同的模块对应不同的 git 分支,不同模块的数据需要从远端仓库中获取.这里记录下笔者从远端仓库中获取分支数据,进行修改,最 ...
- ASP.NET MVC5 网站开发实践(二) Member区域 - 用户部分(3)修改资料、修改密码
在上一篇博客中实现了用户的注销和登录,其实代码里落了点东西,就是用户登录要更新最后一次登录时间和登录IP,这次补上.今天做修改资料和修改密码,TryUpdateModel是新用到的东西. 目录: AS ...
- Charles系列三:Charles打断点(包含修改请求,修改返回的内容),模拟慢速网络(弱网测试),域名映射,过滤请求,接口调试,打压测试
一:Charles断点的使用(包含修改请求,修改返回的数据) 设置断点来修改请求和返回的数据,在开发过程中可以模拟多种响应.步骤如下: 1.添加断点方法有两种: 方法1:找到Charles中菜单项Pr ...
- JQuery DataTables Editor---页面内容修改&&数据库信息修改 (2)
接上篇博文,详细说一下js代码以及JQuery DataTables Editor---页面内容修改&&数据库信息修改遇到的问题和解决办法. 1.关于dialog 初始化: $(&qu ...
- touch修改文件的修改时间和访问时间,ls --full-time显示文件详细,stat命令
1. 同时修改文件的修改时间和访问时间 touch -d "2010-05-31 08:10:30" test.doc 2. 只修改文件的修改时间 touch -m -d &quo ...
- 通过psping测试结果,初步判断远端服务器的状态
1.psping的输出结果为如下正常显示时,说明远端服务器的IP及端口可用 C:\Users\he.liming>psping 139.219.66.205:4352 PsPing v2.10 ...
随机推荐
- c# 根据一个给定经纬度的点和距离,搜索附近5公里范围的地点
功能需求:需要查询一个站点(已知该站点经纬度)5公里范围内的其它站点. 方 法 一 :对每条记录,去进行遍历,跟数据库中的每一个点进行距离计算,当距离小于5公里时,认为匹配(效率极其低下,耗时长). ...
- Python从零开始——字典Dict
一:Python字典知识概览 . 二:字典常见操作 三:字典内置操作函数
- IOI 2020 集训队作业胡扯
首先安慰自己:做的没集训队快很正常-- 很正常-- 做不完也很正常-- 很正常-- 全都不会做也很正常-- 很正常-- 表格 试题一 完成情况 试题二 完成情况 试题三 完成情况 cf549E cf6 ...
- c# 第13节 迭代语句、while、do...while、for、foreach、goto
本节内容: 1:迭代语句是什么 2:迭代语句之while 3:迭代语句之 do...while 4:迭代语句之for 5:迭代语句之foreach: 6:跳转语句break.continue.retu ...
- 201871010102-常龙龙《面向对象程序设计(java)》第七周学习总结
二.博文正文开头格式: 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/ ...
- SQLAlchemy查询数据库数据
首先创建模型,在数据库里面生成表,然后填入数据,如下 # 定义orm,数据模型 class Test(db.Model): __tablename__ = 'test' id = db.Column( ...
- nginx 缓存配置
nginx 缓存是可以将远程服务器上的内容缓存到本地,可以设置缓存大小,缓存时间,缓存目录等等 具体配置如下 proxy_cache_path /home/http/cache/ levels=: k ...
- spring cloud fegin传递request header
本文链接:https://blog.csdn.net/zhongzunfa/article/details/82791903 1.概述 今天一个朋友, 遇到一个如何在使用spring cloud fe ...
- html图片和html实体
img标签 <img src="../imgs/msn1.jpg" alt="这是一张图片" title="图片" width=&qu ...
- Spring事务异常rollback-only 笔记
造成以上异常的原因情形: 在spring里面我们配置了事务的传播机制是REQUIRED,所以这两个事务最终会合并成一个事务.当a方法调用b方法时,程序中a方法中由于某某原因导致抛出异常(或者明确将该事 ...