[消息] Rocky Linux 和 AlmaLinux 可以用于代替 CentOS Linux

今天,我们可以用 Rocky Linux 和 AlmaLinux OS 替代 CentOS Linux。

今天 CentOS 团队正式停止了对 CentOS Linux 8 的维护。并将自己的方向放在了 CentOS Stream 上。CentOS Stream 是一个 Red Hat 商业 Linux 系统 RHEL 的前置测试版。这是 Red Hat 正式收购 CentOS 以后第一次对 CentOS 项目作出的重大决策,同时也彻底改变了 CentOS 项目的初衷。未来全世界运行在 CentOS 系统上的众多服务(业务)将面临更多的不确定性。

生命不死,自由不息。在开源的大环境和领域,一个项目最初的美好初衷发生了改变,就会诞生新的项目继承并发扬这些初衷。Rocky Linux 和 AlmaLinux OS 就是 CentOS 最初初衷的继承者。

Rocky Linux 由 CentOS 创始人 Gregory Kurtzer,在发现 CentOS 项目的初衷发生变化后创建。

AlmaLinux OS 诞生的目的,是为了弥补 CentOS Linux 稳定版停产后留下的空白,其是 RHEL 的 1:1 二进制兼容分支。

[步骤] GitHub 代码的更新 (令牌版)

步骤一:在 GitHub 官网上生成令牌

1.1 在 https://github.com 上登录或注册 GitHub 用户

(步骤略)

1.2 在 GitHub 上创建仓库

右上角 + –> New repository –> 填写 Repository name –> 勾选 Public –> Create repository

(注意:只有当要使用的仓库还没有创建时才需要进行此步骤)

1.3 在 GitHub 官网上生成令牌

右上角的头像 –> Settings –> Developer settings –> Personal access tokens –> Generate new token –> 填写 Note –> 勾选需要的 scopes –> Generate token

1.4 复制生成的令牌

(步骤略)

步骤二:更新 GitHub 代码

2.1 进入有代码需要更新的目录

# cd github

(补充:这里以进入 github 目录为例)

2.2 初始化 Git 环境

# git init

2.3 添加需要更新的代码

# git add *

(补充:这里以添加当前目录下的所有文件为例)

2.4 提交刚刚的添加

# git commit -m "last commit"

(补充:这里以提交时添加 “last commit” 备注为例)

2.5 创建或选择代码库的分支

# git branch -M main

(补充:这里以创建或选择库里的 main 分支为例)

2.6 添加 GitHub 源

# git remote add origin git@github.com:eternalcenter-now/eternalcenter-now.github.io

(补充:这里以添加 GitHub 的 eternalcenter-now 用户的 eternalcenter-now.github.io 库为例)

(注意:这里的 eternalcenter-now 用户和 eternalcenter-now.github.io 库是指在 1.1、1.2 上创建的用户和库)

2.7 通过令牌设置 GitHub 源

# git remote set-url origin https://gafafhp_Nfaodfwiixma8hPpds4e6asdflim@github.com/eternalcenter-now/eternalcenter-now.github.io

(补充:这里以使用 GitHub 的 gafafhp_Nfaodfwiixma8hPpds4e6asdflim 令牌、eternalcenter-now 用户的 eternalcenter-now.github.io 库为例)

(注意:这里的 eternalcenter-now 用户、eternalcenter-now.github.io 库和 gafafhp_Nfaodfwiixma8hPpds4e6asdflim 令牌是指在 1.1、1.2、1.3 上创建的用户、库和生成的令牌)

2.8 将 Git 通过 HTTP 协议上传的缓存设置为 524288000

# git config --global http.postBuffer 524288000

2.9 将代码更新至 GitHub

# git push -u origin main

(补充:这里以将代码更新至 main 分支为例)

WordPress 值得使用的主题和插件

主题

Twenty Seventeen

Twenty Seventeen 是一个开源的 WordPress 主题,非常适合目录较多的网站,首页能够巧妙地将图片和文字结合在一起。

插件

All In One WP Security

All In One WP Security 是一个开源的 WordPress 安全插件,比较全面地对 WordPress 进行安全加强,安装了这个插件以后,基本上就不需要再安装其他安全插件。

Easy WP SMTP

Easy WP SMTP 是一个开源的 WordPress 邮件插件,可以实现 WordPress 通过 SMTP 发送邮件。

Simply Static

Simply Static 是一个开源的 WordPress 动态网站转静态网站插件,可以将动态网站转换成静态网站。

WP-Optimize Cache

WP-Optimize Cache 是一个开源的 WordPress 网站性能优化插件,可以删除无用数据等等。

Health Check & Troubleshooting

Health Check & Troubleshooting 是一个开源的 WordPress 网站健康度检测插件,可以检测网站的各项健康指标。

Username Changer

Username Changer 是一个开源的修改 WordPress 用户名的插件,可以修改用户名

Edit Author Slug

Edit Author Slug 是一个开源的修改 WordPress 用户名下文章链接的插件,可以修改用户发布文章的链接,默认情况下用户发布文章的链接是:https://<domain name>/author/<username>/

[步骤] Linux SSL 证书的生成 (Let’s Encrypt certbot 版)

步骤一:将要申请 Let’s Encrypt SSL 的域名解析到要进行操作的服务器 IP 地址上

(步骤略)

步骤二:安装 certbot

# yum -y install certbot

(补充:这里以在 Fedora 35 上安装 certbot 为例)

步骤三:使用 certbot 生成 Let’s Encrypt SSL 证书

# certbot certonly --email mingyu.zhu@eternalcenter.com -n --agree-tos --webroot -w /usr/share/nginx/html/ -d eternalcenter.com
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator webroot, Installer None
Requesting a certificate for eternalcenter.com
Performing the following challenges:
http-01 challenge for eternalcenter.com
Using the webroot path /usr/share/nginx/html for all unmatched domains.
Waiting for verification...
Cleaning up challenges

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/eternalcenter.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/eternalcenter.com/privkey.pem
   Your certificate will expire on 2022-03-20. To obtain a new or
   tweaked version of this certificate in the future, simply run
   certbot again. To non-interactively renew *all* of your
   certificates, run "certbot renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le


补充:这里以
1) 使用 mingyu.zhu@eternalcenter.com 邮箱
2) 以非交互式的方式
3) 通过给 /usr/share/nginx/html/ 网站目录里添加验证文件进行验证
4) 给 eternalcenter.com 域名申请 Let’s Encrypt SSL 证书为例

步骤四:显示已经生成的 Let’s Encrypt SSL 证书

# certbot certificates
Saving debug log to /var/log/letsencrypt/letsencrypt.log

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Found the following certs:
  Certificate Name: eternalcenter.com
    Serial Number: 3e8cdb74a1abfbf3d535ec1c3f8cb3e4e4c
    Key Type: RSA
    Domains: eternalcenter.com
    Expiry Date: 2022-03-20 13:48:48+00:00 (VALID: 89 days)
    Certificate Path: /etc/letsencrypt/live/eternalcenter.com/fullchain.pem
    Private Key Path: /etc/letsencrypt/live/eternalcenter.com/privkey.pem
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -


补充:
1) /etc/letsencrypt/live/eternalcenter.com/fullchain.pem 是公钥
2) /etc/letsencrypt/live/eternalcenter.com/privkey.pem 是私钥

步骤五:延期 Let’s Encrypt SSL 证书

5.1 显示 Let’s Encrypt SSL 证书的延期策略

# cat /etc/letsencrypt/renewal/eternalcenter.com.conf 
# renew_before_expiry = 30 days
version = 1.20.0
archive_dir = /etc/letsencrypt/archive/eternalcenter.com
cert = /etc/letsencrypt/live/eternalcenter.com/cert.pem
privkey = /etc/letsencrypt/live/eternalcenter.com/privkey.pem
chain = /etc/letsencrypt/live/eternalcenter.com/chain.pem
fullchain = /etc/letsencrypt/live/eternalcenter.com/fullchain.pem

(补充:可以看出 Let’s Encrypt SSL 证书是在过期前 30 天才能更新)

5.2 手动延期 Let’s Encrypt SSL 证书

# /usr/bin/certbot renew

(补充:这里以延期 Let’s Encrypt SSL 证书为例)

5.3 自动延期 Let’s Encrypt SSL 证书

# crontab -e

添加以下内容:

......
0 0 */30 * * /usr/bin/certbot renew

(补充:这里以每过 30 天的 0 时 0 分延期 Let’s Encrypt SSL 证书为例)

注意:更新 SSL 之后需要同时重启使用 SSL 证书的服务,例如如果使用 SSL 证书的是 Nginx 的话建议添加以下内容:

......
0 0 */30 * * /usr/bin/certbot renew ; /usr/bin/systemctl restart nginx

步骤六:Let’s Encrypt SSL 证书的生成限制

1) 一个域名申请次数不能超过 5 次/周
2) 允许申请失败次数不能超过 5 次/时
3) 属于同一个顶级域名的二级域名申请次数不能超过 20 次/周
4) 申请请求频率不能超过 20 次/秒
5) 一个 IP 地址创建用户个数不能超过 10 个/3 小时
6) 一个用户最多 pending 审核的数不能超过 300 个