日记:手工迁移站点到VPS

相比于迁移站点数据到虚拟主机,迁移站点到VPS要麻烦许多许多,之前PHP的一个short_open_tag,就卡了我大半天,不过最终总算帮用户迁移成功了,尽管还有一些细枝末节问题,暂时就不管了。

image.png
(图源 :pixabay)

这几简单记录一下迁移到VPS所作的工作,因为我自己还有大把的站点要迁移,难免之后用到。

安装Apache、PHP、MYSQL

Apache

虽然都说nginx更好用一些,但是我没怎么用过,还是还是用Apache吧,以后有时间慢慢研究。

安装Apache很简单:

sudo apt install apache2

安装完,访问IP,效果如下(允许入站规则后,详见后文):

Reveal spoiler

image.png

PHP

接下来是安装PHP,我看godaddy装的是PHP 7.2,我也装7.2好了

sudo apt install php7.2

MySQL

使用如下指令安装MySQL以及相应的PHP支持

sudo apt install mysql-server php7.2-mysql mysql-client

简单加固

安装完三大件后,要对其进行一些简单的加固,让其更加安全。

Apache出了对配置文件进行优化外,还启用了mpm-itk 模块:

sudo apt-get install libapache2-mpm-itk
sudo a2enmod mpm_itk

MySQL则使用下列命令进行一些安全设置:

sudo mysql_secure_installation

创建站点

在进行完上述步骤后,就可以创建站点了。

我们首先创建一个用户:

sudo adduser mysite

然后登录这个用户,在目录下创建www文件夹以及logs文件夹。

然后进入/etc/apache2/sites-available使用默认站点模板略作修改后创建新站,对应目录指向上述目录即可。

<Directory /home/mysite/www>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
 </Directory>

加上如上内容,否则会出现禁止访问错误:

Reveal spoiler

image.png

使用如下命令使能站点:

sudo a2ensite mysite.conf
sudo systemctl reload apache2

开启两端的防火墙

因为要在服务器之间传输数据,所以要允许原服务器端的出站设置以及VPS(新站)这边的入站设置。

否则就会出类似如下错误:

Reveal spoiler

image.png

老站在ConfigServer Security & Firewall中做如下设置,并重启csf。

tcp|out|d=22|d=x.x.x.x

新站在AWS,默认已经允许了SSH链接。

但是要想访问的话,所以要编辑安全组中的入站(80)规则(Edit inbound rules->Add rule):

Reveal spoiler

image.png

一个很奇异的地方是,如果我禁用了IPv6的入站,我自己就无法访问网页了,不细研究了,先允许吧。

传输数据

传输数据没啥说的了,我用的scp。

测试站点

为了测试站点访问,我使用了hosts文件启用本地解析功能。

使用记事本用管理员权限打开以下文件:

C:\Windows\System32\drivers\etc\hosts

添加如下内容:

x.x.x.x example.com

前边是IP,后边是域名,这样相当于不用修改DNS就可以本地访问啦。

修改DNS

测试没问题后,修改DNS就可以了,这样迁移就完成啦。当然了,后边可能还有一些工作要做,就交给客户自己去弄好了。

其它

除了文中涉及到的内容,cURL、 zlib、https等都是需要处理和解决的问题,每一样都耗费我诸多时间,这里就不过多描述啦。

相关链接

Sort:  

O哥,我最近将hive.shop这个域名拿到了,准备基于hive链弄个交易平台,大家都可以发布商品,交易逻辑类似ebay或etsy,只支持hive结算。如果上线了,也算是对hive生态的一个补充。但目前我只有这么个构想,还没有具体方案。我本人只对magento系统有一点经验,但区块链上怎么弄就不知道了。想听听您的意见

哇哦,这个域名不错呀
我记得我也搜索到过这个域名,好像很贵很贵就没舍得下手。

弄开源的商城系统放上去是不错的想法,然后在把hive结算功能集成进去就好了。
结算可以考虑集成一下HiveSigner,这样可能安全性更好一些

想弄好的话,肯定是需要做很多工作的,加油。

好的,谢谢O哥!我这边有进展了会发给O哥给帮忙看看

Wordpress + Woocommerce方案可以参考下。Woo支持多用户,目前有个Steem支付插件,或许可以共hive支付参考。我也看好用hive作为支付手段的交易平台,可以先从个人技能服务的交易入手,避开物流。

是的,目前物流真是坑,我做亚马逊现在物流是个不小的痛点。首先从技能服务开始能避开一些问题,谢谢!

VPS我只学会用来做电梯 😂