像修改本机代码一样修改远端服务器的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 ...
随机推荐
- 8.InfluxDB-InfluxQL基础语法教程--ORDER BY子句
本文翻译自官网,官网地址:(https://docs.influxdata.com/influxdb/v1.7/query_language/data_exploration/) 在InfluxDB中 ...
- [TCP/IP] TCP流和UDP数据报之间的区别
TCP流和UDP数据报之间的区别 1.TCP本身是面向连接的协议,S和C之间要使用TCP,必须先建立连接,数据就在该连接上流动,可以是双向的,没有边界.所以叫数据流 ,占系统资源多 2.UDP不是面向 ...
- Python必备面试题
Python部分 1. __new__.__init__区别,如何实现单例模式,有什么优点 __new__是一个静态方法,__init__是一个实例方法 __new__返回一个创建的实例,__in ...
- torchline:让Pytorch使用的更加顺滑
torchline地址:https://github.com/marsggbo/torchline 相信大家平时在使用Pytorch搭建网络时,多少还是会觉得繁琐,因为我们需要搭建数据读取,模型,训练 ...
- 7-剑指offer: 二维数组中的查找
题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数 ...
- flask的request如何获取参数
1.request.form.get("key", type=str, default=None) 获取表单数据 2.request.args.get("key" ...
- python-下载网页链接
from urllib.request import urlretrieve url = 'http://images.jupiterimages.com/common/detail/27/68/22 ...
- 阿里云serverless使用笔记
1.使用api网关服务,创建完api后,测试时,需要传“请求签名”,否则会报401 ‘Empty Signature’错误.相关文档<错误编码表,请求签名>.(错误信息放置与响应头的‘x- ...
- 20191003 「HZOJ NOIP2019 Round #8」20191003模拟
综述 试题为常州集训2019SCDay2 得分\(100+30(0)+28\) 时之终结 问题描述 HZOJ1310 题解 构造题. 发现部分分有一档是 \(Y\) 是 \(2^x\) ,于是自然想到 ...
- LG2766 最长不下降子序列问题 最大流 网络流24题
问题描述 LG2766 题解 \(\mathrm{Subtask 1}\) 一个求最长不下降子序列的问题,发现\(n \le 500\),直接\(O(n^2)\)暴力DP即可. \(\mathrm{S ...