AMH迁移到宝塔面板

本站自2013年开始,就一直使用由AMH提供的服务器管理面板。但由于各应用软件都在升级、老旧PHP版本也暴露出越来越多的安全漏洞且在逐渐被抛弃,升级PHP和服务器系统势在必行。

然而,AMH面板免费版只支持php5.3,未对CentOS7做适配,贸然升级系统可能存在兼容性问题。手动升级PHP7也可能存在冲突的问题,我唯有着手于迁移面板。此时,宝塔面板进入了视线,它承诺基础版本永久免费,这个免费版就支持了我们日常所需要的功能。具体的介绍可以自行前往宝塔官网查看。

一、两者比较

AMH免费版停留于4.2版,仅支持PHP5.3。但稳定性高,运行数年来未曾出现故障、一键备份恢复非常好用。

宝塔面板永久免费,支持到php7,支持一键申请SSL、一键设置强制SSL、更好看的面板、更丰富的伪静态规则、支持切换php版本等。但缺点就是没有完善的备份恢复功能,只能依靠阿里云的快照实现。

二、实践

1.首先在amh打包网站备份,提取出其中的mysql和网站数据,上传宝塔面板。

2.在宝塔面板安装nginx、php、mysql。

3.恢复数据库。在phpmyadmin中导入amh备份中提取的grants.sql表(这保存了数据库用户、权限数据)。然后依次在根目录下导入所有sql数据表,会自动创建对应名称的数据库,导入后记得在宝塔面板同步数据库。此外,也可以把所有sql数据表(除grants.sql)上传到宝塔备份列表,然后在宝塔面板中依次创建对应数据库,再依次导入备份。按此方法操作后,数据库名、密码和用户与原amh面板下设置一致,网站数据库配置无需更新。

但需要注意的是,宝塔面板中查看数据库用户密码的功能无法查看到按此方法导入的用户名和密码,其显示的密码为无效密码。

4.恢复网站。先在网站面板依次创建对应的网站,在网站目录后加“/web“,然后将amh备份中wwwroot文件夹内所有文件夹直接覆盖到宝塔网站目录下。确保网站目录一一对应。

5.恢复各种设置。照原网站设置,将SSL设置好(宝塔可一键申请SSL)、将伪静态还原。照原面板设置,恢复cron设置。

6.解决可能存在的php版本兼容问题,如新版php不再支持mysql函数,需改为mysqli,typecho、wordpress直接修改php版本可能存在不支持的问题。遇到此类问题,可升级程序,上述两款博客程序最新版本均已支持最新版本的php。如是自行开发的网站,则可切换到可兼容的低版本php来过渡,但为安全考虑,还是应该尽早将适配新版php的计划提上日程。

7.解决可能存在的权限问题。通过ssh操作远程上传下载备份文件,可致文件所有权归root用户,在一些需要编辑文件的业务场景,如wordpress的编辑主题功能、各类程序的自动升级功能,可能会出现没有权限的情况。轻则告警、重则无法报错中断。建议可以利用宝塔面板文件管理中的权限编辑功能,将网站目录下所有网站文件权限修改成755(所有者为www),记得选上递归应用更改。

8.如果使用了CDN加速功能,记得刷新缓存。

9.配置阿里云OSS远程备份。

10.稳定运行一段时间后,即认为迁移成功。

未经允许不得转载:Lyndon's Studio » AMH迁移到宝塔面板