[步骤] WordPress 静态网站的生成 (离线使用版的静态网站)

步骤一:在本地电脑上安装必要的软件

1.1 在本地电脑上下载并安装 LocalWP 软件

登录此网站以后点击下载并安装

Home

(步骤略)

1.2 在本地电脑上下载并安装 Traktor 软件

登录此网站以后点击下载并安装

https://traktor.wp-migration.com

(步骤略)

步骤二:在 WordPress 网站上安装必要的插件

2.1 在正式的 WordPress 网站上安装 All-in-One WP Migration and Backup 插件

登录 WordPress 后台 –> Plugins –> Add plugin –> 在 Search PLugin 的文字栏里输入 “All-in-One WP Migration and Backup” –> 按下回车键 –> Install Now

2.2 在正式的 WordPress 网站上安装 Simply Static 插件

登录 WordPress 后台 –> Plugins –> Add plugin –> 在 Search PLugin 的文字栏里输入 “Simply Static” –> 按下回车键 –> Install Now

步骤三:在正式的 WordPress 网站上设置 Simply Static 插件

3.1 在正式的 WordPress 网站上激活 Simply Static 插件

登录 WordPress 后台 –> Plugins –> Installed Plugins –> Simply Static –> Activate

3.2 在正式的 WordPress 网站上将 Simply Static 插件的 Replacing URLs 修改为 Offline Usage

登录 WordPress 后台 –> Simply Static –> Settings –> General –> Replacing URLs –> Offline Usage –> 将网页下拉到底 –> Save Settings

(注意:一定要点击 Save Settings 否则此步骤将白做)

3.3 在正式的 WordPress 网站上禁用 Simply Static 插件

登录 WordPress 后台 –> Plugins –> Installed Plugins –> Simply Static –> Deactivate

步骤四:在正式的 WordPress 网站上将网站全量备份并下载到本地

4.1 在正式的 WordPress 网站上激活 All-in-One WP Migration and Backup 插件

登录 WordPress 后台 –> Plugins –> Installed Plugins –> All-in-One WP Migration and Backup –> Activate

4.2 在正式的 WordPress 网站上生成并下载网站的全量备份文件包

登录 WordPress 后台 –> All-in-One WP Migration –> Export –> EXPORT SITE TO –> FILE –> 等待进程完成后点击下载 –> CLOSE

(注意:成功备份后生成的网站的全量备份文件包会以 xpress 后缀结尾)

4.3 在正式的 WordPress 网站上删除存留的文件(必须要做)

登录 WordPress 后台 –> All-in-One WP Migration –> Export –> Backups –> … –> Delete — OK

4.4 在正式的 WordPress 网站上禁用 All-in-One WP Migration and Backup 插件 (必须要做)

登录 WordPress 后台 –> Plugins –> Installed Plugins –> All-in-One WP Migration and Backup –> Deactivate

(补充:此步骤必须要做,目的是为了避免等会将备份文件错误地恢复到正式的 WordPress 网站上)

步骤五:退出正式的 WordPress 网站后台 (必须要做)

位于右上角的头像 –> Log Out

(补充:此步骤必须要做,目的是为了避免等会将备份文件错误的恢复到正式的 WordPress 网站上)

步骤六:彻底关闭正式的 WordPress 网站的网页 (必须要做)

(步骤略)

(补充:此步骤必须要做,目的是为了避免等会将备份文件错误的恢复到正式的 WordPress 网站上)

步骤七:在本地电脑使用 Traktor 软件检验网站的全量备份文件包是否完整

7.1 在本地电脑使用 Traktor 软件检验网站的全量备份文件包是否完整

打开 Tracktor 软件 –> 将网站的全量备份文件包拖入窗口中

(补充:当窗口右下角的 “Extract to…” 按键从灰色变成白色则代表此文件包通过校验)


注意:
1) 这里的全量备份文件包是指步骤 4.2 中下载的文件
2) 校验成功后不要点击 “Extract to…” 按键
3) 全量备份文件包以 xpress 后缀结尾

7.2 在本地电脑关闭 Traktor 软件

(步骤略)

步骤八:在本地电脑通过 LocalWP 软件使用网站的全量备份文件包将正式的 WordPress 网站的全部数据恢复到本地的 WordPress 测试网站

8.1 在本地电脑通过 LocalWP 软件创建本地的 WordPress 测试网站

打开 LocalWP 软件 –> Create a new site –> Create a new site –> Continue –> 在 What’s your site’s name 的文字栏里输入:“local” –> Continue –> Preferred –> Continue –> 在 WordPress username 的文字栏里输入:“local” –>
在 WordPress password 的文字栏里输入:“local” –> Add Site

(注意:这里每次输入的 “local” 绝对不能换成和正式的 WordPress 网站相同的对应值,这样做是为了在登录时明白这是新创建的网站,避免将备份文件错误恢复到正式的网站上)

8.2 登录本地的 WordPress 测试网站的后台

点击在 LocalWP 软件的窗口上的 Open site –> 确认网站首页有类似 “Hello world!” 之类的提示是新网站 –> 在浏览器上输入 “http://local.local/wp-login.php” –> Username or Email Address 的文字栏里输入:“local” –> 在 Password 的文字栏里输入:“local” –> Log in

(注意:这里每次输入的 “local” 绝对不能换成和正式的 WordPress 网站相同的对应值,否则你有可能会进入正式的网站上然后进行误操作然后造成不可挽回的后果)

8.3 在本地的 WordPress 测试网站的后台安装 All-in-One WP Migration and Backup 插件

登录 WordPress 后台 –> Plugins –> Add plugin –> 在 Search PLugin 的文字栏里输入 “All-in-One WP Migration and Backup” –> 按下回车键 –> Install Now

(注意:如果这里的 All-in-One WP Migration and Backup 插件在你安装前就已经安装好了,则代表你有可能进入正式的 WordPress 网站操作,请立即停止此操作并关闭所有网页和浏览器,然后重新开始步骤 8.2)

8.4 在本地电脑通过 LocalWP 软件使用网站的全量备份文件包将正式的 WordPress 网站的全部数据恢复到本地的 WordPress 测试网站

8.4.1 在本地 WordPress 测试网站上激活 All-in-One WP Migration and Backup 插件

登录 WordPress 后台 –> Plugins –> Installed Plugins –> All-in-One WP Migration and Backup –> Activate

8.4.2 在本地电脑通过 LocalWP 软件使用网站的全量备份文件包将正式的 WordPress 网站的全部数据恢复到本地的 WordPress 测试网站

登录 WordPress 后台 –> All-in-One WP Migration –> Import –> IMPORT FROM –> FILE –> 选择 将网站的全量备份文件包 –> Upload –> PROCEED –> FINISH

(注意:这里的全量备份文件包是指步骤 4.2 中下载的文件)

步骤九:在本地电脑立刻删除用完后的网站的全量备份文件包 (必须要做)

(步骤略)

(补充:此步骤必须要做,目的是为了避免等会将备份文件错误的恢复到正式的 WordPress 网站上)

步骤十:在本地电脑立刻在回收站中彻底消灭完后的网站的全量备份文件包 (必须要做)

(步骤略)

(补充:此步骤必须要做,目的是为了避免等会将备份文件错误的恢复到正式的 WordPress 网站上)

步骤十一:在本地 WordPress 测试网站上生成静态网站

11.1 登录使用网站的全量备份文件包还原后的本地 WordPress 测试网站

在浏览器上输入 “http://local.local/login” –> 用你正式的 WordPress 网站的登录信息登录本地 WordPress 测试网站

(补充:这里以正式的 WordPress 网站的后台登录入口后缀是 login 为例,如果登录入口后缀是 wp-login.php 则这里应该输入的网址是 http://local.local/login)

(注意:这里每次输入的 “local” 绝对不能换成和正式的 WordPress 网站相同的对应值,否则你有可能会进入正式的网站上然后进行误操作然后造成不可挽回的后果)

11.2 禁用任何安全插件 (必须要做)

登录 WordPress 后台 –> Plugins –> Installed Plugins –> All-In-One Security (AIOS) –> Deactivate

(补充:这里以禁用 All-In-One Security (AIOS) 安全插件为例)

11.3 激活 Simply Static 插件

登录 WordPress 后台 –> Plugins –> Installed Plugins –> Simply Static –> Activate

11.4 在本地 WordPress 测试网站上生成静态网站

Simply Static –> Generate –> Push –> 等待 Activity Log 窗口里显示 Dong! Finished –> Click here to download

(注意:此步骤会消耗大量时间,最终会下载 1 个以 simply-static 开头的压缩包,此压缩包就是静态网站的压缩包)

11.5 检查本地电脑的垃圾箱确保静态网站的压缩包没有被删除

如果以 simply-static 开头的压缩包在垃圾箱里,则需要把移动到正式的目录里

步骤十二:在本地电脑立刻删除用完后的本地 WordPress 测试网站 (必须要做)

右键点击在 LocalWP 软件的窗口上的 local –> Delete –> 确保 Move site files to trash 前面的勾有勾上 –> Delete site

(补充:此步骤必须要做,目的是为了避免等会将备份文件错误的恢复到正式的 WordPress 网站上)

步骤十三:在本地电脑立刻在回收站中彻底消灭完后的本地 WordPress 测试网站 (必须要做)

(步骤略)

(补充:此步骤必须要做,目的是为了避免等会将备份文件错误的恢复到正式的 WordPress 网站上)

[内容] WordPress 网站数据去隐私化

内容一:修改登录 MariaDB 数据库的用户的密码

1.1 目的

目的是不让拿到这份 WordPress 网站数据的人知道登录数据库的用户的密码

1.2 案例

1.2.1 设置变量
1.2.1.1 要设置的变量

1) WordPress 登录 MariaDB 数据库的用户
2) 登录 MariaDB 数据库的用户的新密码

1.2.1.2 设置变量的命令
# dbuser=ec
# dbuserpw=eternalcenter
1.2.2 执行修改登录 MariaDB 数据库的用户的密码的命令
# mysql -uroot -p'eternalcenter' -e "alter user \"$dbuser\"@\"localhost\" identified by \"$dbuserpw\";"
# sudo sed -i "s/define('DB_PASSWORD', .*);/define('DB_PASSWORD', \'$dbuserpw\');/" wp-config.php

(注意:这里的 ”mysql -uroot -p’eternalcenter’ ……”“ 中 “eternalcenter“ 是指 MariaDB 数据库 root 用户的密码,需要修改成 MariaDB 数据库的 root 用户密码)

内容二:修改 MariaDB 数据库中用于登录 WordPress 网站后台的用户的密码

2.1 目的

目的是不让拿到这份 WordPress 网站数据的人知道登录网站的用户的密码,同时杜绝别人利用存储在 MariaDB 数据库中密码的 HASH 值伪造网站 Cookie 直接绕过用户和密码登录 WordPress 后台

2.2 案例

2.2.1 设置变量
1.2.1.1 要设置的变量

1) 要修改用户密码所在的库
2) 要修改用户密码所在的表
3) 要修改密码的用户
4) 此用户的新密码

1.2.1.2 设置变量的命令
# db=ec
# tb=ec_users
# user='Mingyu Zhu'
# newpw=eternalcenter
1.2.2 执行修改 MySQL 数据库中用于登录 WordPress 网站后台的用户的密码的命令
# mysql -uroot -p'eternalcenter' -e "update $db.$tb set user_pass = md5(\'$newpw\') where user_login = \'$user\';"

(注意:这里的 ”mysql -uroot -p’eternalcenter’ ……”“ 中 “eternalcenter“ 是指 MariaDB 数据库 root 用户的密码,需要修改成 MariaDB 数据库的 root 用户密码)

(补充:当他人想要伪造网站 Cookie 时至少需要 WordPress 网站文件中 AUTH_KEY 等参数的值、MariaDB 数据库中存储的密码的部分 HASH 值、以及 WordPress 网站临时生成的一个 Token,我们这里通过隐藏原网站的密码 HASH 值杜绝他人伪造网站 Cookie)

内容三:修改 WordPress 网站文件中的 AUTH_KEY 等参数的值

杜绝别人利用存储在 WordPress 网站文件的 AUTH_KEY 等参数的值伪造网站 Cookie 直接绕过用户和密码登录 WordPress 后台

3.1 在 WordPress 项目的官方网站上获得一份新的 AUTH_KEY 等参数的值

通过浏览器打开下面的网址

https://api.wordpress.org/secret-key/1.1/salt

(补充:如果网路正常,新的 AUTH_KEY 等参数的值会在浏览器中显示)

3.2 更新 WordPress 网站文件中的 AUTH_KEY 等参数的值

# vi wp-config.php

(用在步骤 3.1 中获取的新值覆盖对应的旧值,步骤略)

(补充:当他人想要伪造网站 Cookie 时至少需要 WordPress 网站文件中 AUTH_KEY 等参数的值、MariaDB 数据库中存储的密码的部分 HASH 值、以及 WordPress 网站临时生成的一个 Token,我们这里通过隐藏原网站的 AUTH_KEY 等参数的值杜绝他人伪造网站 Cookie)

[步骤] SSL 证书公钥从 cer 格式到 pfx 格式的转换

正文:

步骤一:将 SSL 证书公钥从 cer 格式转换到 pem 格式

# openssl x509 -in <public certificate>.cer -inform der -outform pem -out <public certificate>.pem

步骤二:将 SSL 证书公钥和私钥从 pem 格式转换成 pfx

# openssl pkcs12 -export -in <public certificate>.pem -inkey <private certificate>.key -out <certificate>.pfx

参考文献:

https://access.redhat.com/solutions/7005234

[内容] Linux SSL 证书 KEY 私钥密码的添加和取消 (OpenSSL 版)

内容一:给 SSL 证书 KEY 私钥添加密码

交互式给 SSL 证书 KEY 私钥添加密码

# openssl rsa -des -in eternalcenter.com.key -out one.eternalcenter.com.key

(补充:这里以给 SSL 证书 KEY 私钥 eternalcenter.com.key 添加密码为例)

内容二:取消 SSL 证书 KEY 私钥添加密码

2.1 交互式取消 SSL 证书 KEY 私钥添加密码

# openssl rsa -in one.eternalcenter.com.key -out two.eternalcenter.com.key

(补充:这里以给 SSL 证书 KEY 私钥 one.eternalcenter.com.key 添加密码并生成为 SSL 证书 KEY 私钥 two.eternalcenter.com.key 为例)

2.2 非交互式取消 SSL 证书 KEY 私钥添加密码

# openssl rsa -in one.eternalcenter.com.key -passin pass:eternalcenter -out two.eternalcenter.com.key

(补充:这里以给 SSL 证书 KEY 私钥 one.eternalcenter.com.key 添加密码并生成为 SSL 证书 KEY 私钥 two.eternalcenter.com.key,取消密钥的密码为 eternalcenter 为例)