致青春,致梦想,一片自留地

Menu

菜鸟使用Linode VPS安装LNMP,配合CloudFlare建立具有云解析和SSL证书的WordPress站点

前言

虽然最开始使用LNMP的时候就已经写过一篇菜鸟使用Linode VPS 搭建LNMP + WordPress + SSL + CloudFlare,但是当时使用的Centos系统已经不再有效更新,并且前几天LNMP被金华市矜贵网络科技有限公司收购后就惊现安全事件,闹的沸沸扬扬:

乘着还有其他LNMP用户拥有LNMP开发者军哥的最后纯净安装包,赶紧写个新的安装攻略,以便日后自己翻看也方便其他有缘的朋友查看。

第一部分:Linode VPS的选购

这个没有什么好多说的,Linode的VPS一直性能在线,被Akamai收购以后,VPS略微上涨了价格,不过总体还算可以接受。现在只要能有效注册新账号,还能获赠有效期为2个月的100美元用于服务器的购买。购买前建议先查看一下WordPress中文官网上发布的WordPress的系统要求。目前Linode最低配置的Nanode 1G VPS由于只有1G的内存,因此已经很难匹配上WordPress的推荐配置了。

Linode在世界多地具有数据中心,可供选择的机房其实很多,这方面没有什么特别值得推荐的数据中心,根据喜好选择即可。唯一可能碰到的问题就是你购买的VPS服务器获配的IP地址是已经被墙的,碰到这种情况也只能退掉VPS,重新购买。这一点我和Linode的客服多次沟通反复确认,他们不再提供人工更换IP的服务。

算是小呼吁吧。互联网其实从来不是什么法外之地,我们做网站的也别认为有梯子就万事大吉。这万一有事就绝对不是一个IP被墙这么简单,所以还是建议大家悠着点。

系统的选择建议采用 Debian 系统,有什么最新的可供选择的版本就选择用什么版本。本文撰写日2023年11月9日是Debian 12。因此下文的所有内容都是基于Debian 12系统进行的操作,其他的系统可能细节有所不同。

第二部分:军哥最后的打包版本LNMP 2.0的安装

首先重点感谢https://lnmp.club/使的安装军哥最后的打包版本LNMP 2.0成为可能,当然必须也要感谢军哥,LNMP真的非常优秀。

第一步:升级Debian 12系统

SSH连接上Linode的服务器之后,先运行以下指令把系统升级到最新

apt-get update

第二步:修改SSH端口

1: 备份原sshd配置文件

指令:

cp /etc/ssh/sshd_config /etc/ssh/sshd_config.backup

2:编辑sshd配置文件

下文内容均假设你希望新端口为3322,把下面所有指令中的3322替换为你需要设置的端口即可。

备注:新端口建议10000以上,至少我使用了2次10000以内的端口都不成功,另外端口不能超过65535。

指令:

vi /etc/ssh/sshd_config
  1. 按 i 进入编辑状态
  2. 使用方向键控制光标,到 #Port 22 这一行,删除前面的#
  3. 那么在 Port 22 下面添加一行 Port 3322
  4. 按ESC键,退出编辑状态
  5. 按 :w 保存修改
  6. 按 :q 退出

3:重启SSH服务

指令:

systemctl restart sshd

4:查看当前端口状态

指令:

ss -ntl

这个时候应该可以看见修改过的端口和原来的22端口。

5:SSH软件连接测试

使用SSH客户端软件连接测试一下新端口。

6:删除22端口

必须要先做好新端口的连接测试,只有测试成功后才能删除22端口。

如果使用新端口也能正常连接服务器,则参考上面第二步的介绍,删除 Port 22 这行内容,保存后退出。再操作一次上面的重启SSH服务和查看当前端口状态,在查看当前端口状态的显示结果中应该已经没有了22端口的显示,只有你的自定义端口显示。

第三步:安装并运行screen

先输入以下指令完成安装screen:

apt-get install screen

然后运行以下指令,screen就会创建一个名字为lnmp的会话,使的安装在这个会话下执行。

screen -S lnmp

第四步:安装军哥原版LNMP 2.0

1:下载军哥原版LNMP 2.0

指令:

wget -c https://lnmp.club/lnmp2.0-full.tar.gz

2:检测下载到lnmp2.0-full.tar.gz文件的md5值

指令:

md5sum lnmp2.0-full.tar.gz

3:安装军哥原版LNMP 2.0

指令:

tar zxf lnmp2.0-full.tar.gz && cd lnmp2.0-full && ./install.sh lnmp

Mysql和PHP的安装我都选择的是能选择的最新版本,其他的安装提示建议查看https://lnmp.com/install.html做判断

安装过程Linode 2G VPS大约需要2个小时,比较慢,如果期间断链也不要紧张,SSH连接到服务器以后,执行命令:

screen -r lnmp

就会看到你的lnmp安装进程。

4:修改PhpMyAdmin的访问路径

完成LNMP安装了以后,第一时间修改 /home/wwwroot/default下的phpmyadmin目录名, 把这个目录修改成只有自己知道的目录名称,比如123654,那么你以后就可以用http://你的VPS IP/123654 这个地址管理你的数据库了。

记得删除/home/wwwroot/default目录下的其他文件,只保留改过名的phpmyadmin文件夹。

第三部分:Cloudflare的设置

注册/登陆Cloudflare账号,根据提示一步一步添加好域名,并做好指向。Cloudflare的功能非常强大,他们的收费套餐我认为是对的起价格的,特别是几个收费只有10美元/月不到的小功能。不过对于绝大多数的小微站点来说,Cloudflare免费套餐也是绝对足够的。

1: SSL/TLS 的设置务必要设置成Full(完全),否则用https访问你的站点可能就会报错.

2:设置好屏蔽策略。在安全标签下的WAF栏目下,一定要创建以下策略

如果用表达式表达,则内容输入

(http.request.uri.path contains "/xmlrpc.php") or (http.request.uri.path contains "/wp-json/wp/v2/users") or (http.request.uri.path contains "/wp-includes/wlwmanifest.xml") or (http.request.uri contains "?author")

即用户无法访问

这些文件或者目录,这些都会泄露你的Wordpress的用户名信息,虽然没有密码外泄,但是总归是不好。

第四部分:在VPS中新增站点

根据 https://lnmp.org/faq/lnmp-vhost-add-howto.html 提示操作即可,复制保存最终的站点开通结果。

第五部分:安装WordPress程序

使用SSH客户端,进入刚才创建的网站目录,指令:

cd 网站目录 #网站目录为站点开通结果中Home Directory:后面显示的内容#

下载完毕最新的WordPress压缩包,指令:

wget https://wordpress.org/latest.tar.gz

解压刚下载的WordPress压缩包,指令:

tar -zxf latest.tar.gz

移动解压后的WorPress内容到工作目录,指令:

cp -r ./wordpress/* ./

把文件的所属都修改为www组的www用户,指令:

chown -R www:www ./

删除wordpress的解压目录,指令:

rm -rf wordpress

删除刚下载的WordPress压缩包,指令:

rm latest.tar.gz #需要按Y确认删除#

如果使用SFTP软件上传了任何文件到网站目录下, 千万记得一定要在使用SSH客户端连接上VPS服务器,并使用 chown -R www:www 网站目录 指令把网站的文件所属修改成www组的www用户

第六部分:Wordpress的安全设置

第一步:隐藏默认的登陆后台地址

可以通过安装插件的方式来实现。建议安装WPS Hide Login插件,插件的作者为WPServeur, NicolasKulka, wpformation.

第二步:一旦发现试图访问author页面就显示404,并禁止跳转

在主题的functions.php文件中添加以下代码

//通过 functions.php 函数文件禁止访问author页面
function block_author_query($query) {
    if (!is_admin() && $query->is_main_query() && $query->is_author()) {
        $query->set_404();
        status_header(404);
        nocache_headers();
    }
}

add_action('pre_get_posts', 'block_author_query');
— 于 共写了4223个字
— 文内使用到的标签:

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注