在AWS EC2 Amazon Linux 2 上安装WordPress

首先还是要赞一下AWS,虽然是海外版,但中文文档还是准备得很不错的,而且基本上都是可用的。

安装步骤大概分以下几步:

  • 1、 EC2上创建Amazon Linux 2实例

找一个邮件地址注册AWS的账号,注意只有海外版AWS才能免费用一年。创建实例的时候选Amazon Linux 2 AMI,HTTP和HTTPS端口都打开,硬盘直接30G即可。实例启动之后申请一个Elastic IP并绑定到该实例,然后去域名提供商那里改DNS指向该IP。AWS的ROUTE 53也可以做域名解析,但是是收费的。

  • 2、安装 LAMP

基本上安装官方文档来即可:在 Amazon Linux 2 上安装 LAMP。phpMyAdmin 我没装。

  • 3、Apache配置域名

提前给Apache配置好域名,否则生成证书的时候会报错。

cd /etc/httpd/conf.d
sudo vi yourDomainName.conf

添加下面内容:

<VirtualHost *:80>
    ServerName yourDomainName.com
    DocumentRoot /var/www/html
    ServerAlias www.yourDomainName.com
    ErrorLog /var/www/error.log
    CustomLog /var/www/requests.log combined
</VirtualHost>

保存之后:

    sudo systemctl httpd restart  
  • 4、配置HTTPS和证书

官方文档:在 Amazon Linux 2 上配置 SSL/TLS。就选用文档里说的免费证书: Let’s Encrypt 项目,用Certbot 自动创建。但是Certbot手册 里让你选择OS的时候根本没有Amazon Linux 2可选,勉强选了CentOS之后按照CentOS的方式安装snapd和Certbot,但是出错了,后来找到这个:albuild-snap,里面提供了Amazon Linux 2需要的RPM包。但最后运行Cerbot的时候还是报错了:

An error occurred while fetching Certbot snap plugins: your version of snapd is outdated.
Please run "sudo snap install core; sudo snap refresh core" in your terminal and try again.
An unexpected error occurred:
requests.exceptions.HTTPError: 404 Client Error: Not Found for url: http://snapd/v2/connections?snap=certbot&interface=content
意思是snapd版本太低,但实际上是最新的。官方找到一个TICKET:Error in aws ec2 instances #8377,往下看时有点失望,有一个人好像是Certbot开发人员,说暂时还不支持Amazon Linux 2,然后就看到有别人说他成功了,虽然他是nginx,然后也不妨一试,把nginx改成apache:
cd /home/ec2-user/
wget -O epel.rpm –nv https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
sudo yum install -y ./epel.rpm
sudo yum install python2-certbot-apache.noarch
sudo certbot --apache

然后一直输入需要的信息就可以了,证书自动安装成功。

  • 5、安装WordPress
这一步也按照官方文档:在 Amazon Linux 2 上托管 WordPress 博客 一步一步操作即可。如果是像我这样恢复以前的博客,那么需要通过WinSCP把原来的数据库文件和图片上传,而且导入数据的时候要注意新旧数据库的名字是不是一致。最后打开博客的时候页面空白,登录到管理页面发现是原来使用的Theme没有安装,重新安装一下即可。

20220118 瓜草地

瓜草地是个好地方,夏天玩水,冬天看冰,这次背了相机和脚架上去,就拍了这么一张。

整体拍得还不错了,遗憾的一点就是舍不得新脚架下水,凑得不够近,所以最后为了突出前景底下裁掉了一块。还有就是时间好像晚了一点点,只在背后远景的山上露出一点点暖色,要是能多一点就好了。

Blog又又回来了

上次恢复之后没多久,发现我买的三年还是五年的Bluehost VPS到期了,想了一下,没有续费也没有重新购买,大概理由有几个:

一是莫名其妙中毒,导致WEB文件全部损坏。

二是找客服太麻烦,响应也不及时。上次让客服帮我恢复文件,再三确认过的,人说已经创建了TICKET有人会去处理的,结果等我过完年回来,啥也没发生,而且他们只保留一个月的备份,所以再也找不回来了。我只能从本地找到一个2017年的备份,恢复之后2017年以后的文章里的图片暂时都看不到,需要重新上传。

三就是Shared Host没有权限太麻烦,干啥都不行。

四就是从几年前开始,Bluehost修改了SSH配置,SSH不能当代理了。

所以到期之后Blog下线了一段时间,最近媳妇儿发现我手机上有AWS的账单,问是啥东西,我说原来公司在AWS服务器架了一个网站,后来网站不用了那服务器现在就当SSH代理用,她说那也太贵了吧,一个月二十刀呢,你就不能搞个不要钱的么?想想也是,那就白嫖一下AWS吧,找了一个AWS官方的文档,花了两个下午都搞定了,具体过程回头专门写一篇文章来说,目前看来一切都好,就看EC2这免费流量够不够吧。至于一年以后,再说吧,有时间重新搭一个继续白嫖,没时间那就付费呗,这应该也是AWS所期望的吧,:)。

Stapler's Blog