首先还是要赞一下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
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