AWS EC2免费主机如何安装WordPress

1. 如何开通AWS免费套餐

注册AWS帐号,绑定支持Visa的 信用卡后就可以免费使用一年免费套餐版的亚马逊云服务了。

2. 配置EC2主机

设置AMI有限权限用户(可选)

选择机房地区,北美,东京均可

设置访问密钥,保存本地,便于用SSH软件访问

选择主机,建议默认主机,AWS Linux AMI 免费版,根据提示进入下一步

设置安全组,出入站规则

3. 配置LAMP服务器环境

用PuTTy 和本地私钥访问主机,默认用户名为ec2-user@你的AWS服务器DNS, 连接成功后就可以配置环境了。

3.1.1 安装服务器依赖软件

首先,更新所有软件:

sudo yum update -y

使用 yum install 命令可同时安装Apache MySQL PHP 等软件包和所有相关依赖项

sudo yum install -y httpd24 php70 mysql56-server php70-mysqlnd

启动 Apache Web 服务器

sudo service httpd start

使用 chkconfig 命令将 Apache Web 服务器配置为在每次系统启动时启动

sudo chkconfig httpd on

测试Web 服务器:在 Web 浏览器中,键入AWS实例的公有 DNS 地址 (或公有 IP 地址),应该可以

看到 Apache 测试页面。

3.1.2 为Apache 设置读写网站目录权限

设置文件权限

1. 将您的用户 (这里指 ec2-user) 添加到 apache 组。

[ec2-user ~]$ sudo usermod -a -G apache ec2-user

Important!

您必须先退出,再重新登录,然后才能接受新组。您可以使用 exit 命令,也可以关闭终端窗

口。

2. 先退出,再重新登录,然后验证您是否为 apache 组的成员。

[ec2-user ~]$ exit

b. 要验证您是否为 apache 组的成员,请重新连接到实例,然后运行以下命令:

[ec2-user ~]$ groups

会出现 ec2-user wheel apache

3. 将 /var/www 及其内容的组所有权更改到 apache 组。

[ec2-user ~]$ sudo chown -R ec2-user:apache /var/www

4. 要添加组写入权限以及设置未来子目录上的组 ID,请更改 /var/www 及其子目录的目录权限。

[ec2-user ~]$ sudo chmod 2775 /var/www

[ec2-user ~]$ find /var/www -type d -exec sudo chmod 2775 {} \;

5. 要添加组写入权限,请递归地更改 /var/www 及其子目录的文件权限:

[ec2-user ~]$ find /var/www -type f -exec sudo chmod 0664 {} \;

(可选)如果您的服务器已安装并运行,且文件权限设置正确,则您的 ec2-user 账户应该能够在 /var/www/html 目录 (可从 Internet 访问) 中创建一个 PHP 文件。


1. 在 Apache 文档根目录中创建一个 PHP 文件。

echo "" > /var/www/html/phpinfo.php

尝试运行此命令时,如果出现“Permission denied (权限被拒绝)”错误,请尝试先注销,再重新登录。

2. 在 Web 浏览器中,键入您刚刚创建的文件的 URL。此 URL 是实例的公用 DNS 地址,后接正斜杠和文

件名。例如:

http://my.public.dns.amazonaws.com/phpinfo.php

会出现:

3.1.3 MySQL 配置

保障 MySQL 服务器的安全

MySQL 服务器的默认安装提供有多种功能,这些功能对于测试和开发都很有帮助,但对于产品服务器,应

禁用或删除这些功能。mysql_secure_installation 命令可引导您设置根密码并删除安装中的不安全功能。即

使您不打算使用 MySQL 服务器,我们也建议执行此步骤。

1. 启动 MySQL 服务器。

[ec2-user ~]$ sudo service mysqld start

Initializing MySQL database:

...

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !

...

Starting mysqld: [ OK ]

2. 运行 mysql_secure_installation。

[ec2-user ~]$ sudo mysql_secure_installation

a. 在提示时,键入根账户的密码。

i. 键入当前根密码。默认情况下,根账户没有设置密码。按 Enter。

ii. 键入 Y 设置密码,然后键入两次安全密码。有关创建安全密码的更多信息,请参 http://

www.pctools.com/guides/password/。

设置 MySQL 根密码仅是保护数据库的最基本措施。在构建或安装数据库驱动的应

用程序时,通常可以为该应用程序创建数据库服务用户,并避免使用根账户执行除

数据库管理以外的操作。

b. 键入 Y 删除匿名用户账户。

c. 键入 Y 禁用远程根登录。

d. 键入 Y 删除测试数据库。

e. 键入 Y 重新加载权限表并保存您的更改。

3.2 安装PHP管理面板

前往 https://www.phpmyadmin.net/downloads/ 下载最新的phpMyAdmin压缩包并上传到网站文件目录/var/www/html/。

提取该软件包并将生成的目录改为更容易管理的名称。

[ec2-user html]$ tar -xvzf phpMyAdmin-latest-all-languages.tar.gz

[ec2-user html]$ mv phpMyAdmin-4.7.4-all-languages phpMyAdmin

在浏览器中,键入 phpMyAdmin 安装的 URL,例如:

http://my.public.dns.amazonaws.com/phpMyAdmin

应该会看到 phpMyAdmin 登录页面:


3.3 如何对LAMP 环境进行升降级操作(可选)

经过AWS良好测试,需要以下核心 LAMP 程序包:

httpd24

php56

mysql55-server

php56-mysqlnd

如果你已按照本教程开头的建议安装了最新的软件包,必须首先卸载如下这些软件包和其他依赖项:

[ec2-user ~]$ sudo yum remove -y httpd24 php70 mysql56-server php70-mysqlnd perl-DBDMySQL56

其次,安装替代环境:

[ec2-user ~]$ sudo yum install -y httpd24 php56 mysql55-server php56-mysqlnd

如果你以后决定升级到建议的环境,必须先删除自定义软件包和依赖项:

[ec2-user ~]$ sudo yum remove -y httpd24 php56 mysql55-server php56-mysqlnd perl-DBDMy

再安装你需要的LAMP软件包

4. 设置Wordpress MySQL数据库, 安装wordpress

4.1 创建 MySQL 用户和数据库以安装 WordPress

安装 WordPress 需要存储信息,为自己的博客创建一个数据库,并创建一个有权读取该数据库的信息并将信息保存到该数据库的用户。

4.1.1 启动 MySQL 服务器。

[ec2-user ~]$ sudo service mysqld start

4.1.2. 以 root 用户身份登录到 MySQL 服务器。在系统提示时输入您的 MySQL root 密码,这可能与你的

root 系统密码不同,如果你尚未对 MySQL 服务器加密,它就是空的。

Important!

如果你尚未对 MySQL 服务器加密,则必须执行这项操作

MySQL 服务器的安全

[ec2-user ~]$ mysql -u root -p

Enter password:

4.1.3. 为MySQL 数据库创建用户和密码。安装 WordPress 的过程将使用这些值与您的 MySQL 数据库通

信。输入以下命令,以替换唯一的用户名和密码。

mysql> CREATE USER 'wordpress-user'@'localhost' IDENTIFIED BY 'your_strong_password';

Query OK, 0 rows affected (0.00 sec)

4.1.4. 创建数据库。为数据库提供一个有意义的描述性名称,例如

wordpress-db

mysql> CREATE DATABASE `wordpress-db`;

Query OK, 1 row affected (0.01 sec)

4.1.5. 对之前创建的 WordPress 用户授予数据库的完全访问权限。

mysql> GRANT ALL PRIVILEGES ON `wordpress-db`.* TO "wordpress-user"@"localhost";

Query OK, 0 rows affected (0.00 sec)

4.1.6. 刷新 MySQL 权限以接受所有更改。

mysql> FLUSH PRIVILEGES;

Query OK, 0 rows affected (0.01 sec)

4.1.7. 退出 mysql 客户端。

mysql> exit

4.2 安装wordpress, 

先进入网站根目录

cd /var/www/html/  

4.2.1下载 WordPress多语言版

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

中文版下载

wget https://cn.wordpress.org/wordpress-4.9.1-zh_CN.tar.gz

解压 WordPress

tar -xzf latest.tar.gz

tar -xzf wordpress-4.9.1-zh_CN.tar.gz

移动 WordPress文件到网站根目录下

解压完毕后,可以用 Xftp 进入文件夹把 wordpress 文件夹下的所有文件向上移动到 网站目录 件夹下。然后把其他多余文件下删除。如果你对命令行熟悉,也可以用 MV 命令来做。

mv wordpress/* .

4.2.2 确保网站域名已经正确解析

起码做了两个 A 记录。www 和 @ 的 A 记录。

两条A记录“记录值”都为你的 VPS IP 地址,“记录名”分别为 www 和 @。

4.2.3 创建和编辑 wp-config.php 文件(也可以安装时再配置)

WordPress 安装文件夹有名为 wp-config-sample.php 的示例配置文件。

将 wp-config-sample.php 文件复制为一个名为 wp-config.php 的文件。这样做会创建新的配置文件并将原先的示例配置文件原样保留作为备份。

cd wordpress/

cp wp-config-sample.php wp-config.php

使用 vim 来编辑 文件,然后输入安装的值.

vi wp-config.php

查找 DB_NAME 的行并将 database_name_here 改为 创建 MySQL中创建的数据库名称。

define('DB_NAME', 'xxxxxxx');

查找 DB_USER 的行并将 username_here 改为在 创建 MySQL  中创建的数据库用户。

define('DB_USER', 'xxxxxxx');

查找 DB_PASSWORD 的行并将 password_here 改为 创建 MySQL 中创建的强密码。

define('DB_PASSWORD', 'your_strong_password');


4.2.4 允许 WordPress 使用 permalink

WordPress permalink 需要使用 Apache .htaccess 文件才能正常工作,但默认情况下这些文件在 Amazon

Linux 上处于禁用状态。使用此过程可允许 Apache 文档根目录中的所有覆盖。

1. 使用常用的文本编辑器 (如httpd.confnano 或 vim) 打开 文件。nano 对于初学者来说比较容易使用,当然你也可以使用Vim 编辑器。

[ec2-user wordpress]$ sudo vim /etc/httpd/conf/httpd.conf

2. 找到以<Directory "/var/www/html"> 开头的部分。

✔<Directory "/var/www/html">

✔ Possible values for the Options directive are "None", "All",

✔ or any combination of:

✔ Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews

✔ Note that "MultiViews" must be named *explicitly* --- "Options All"

✔ doesn't give it to you.

✔ The Options directive is both complicated and important. Please see

✔ http://httpd.apache.org/docs/2.4/mod/core.html✔options

✔ for more information.

Options Indexes FollowSymLinks

✔ AllowOverride controls what directives may be placed in .htaccess files.

✔ It can be "All", "None", or any combination of the keywords:

✔ Options FileInfo AuthConfig Limit

AllowOverride None

✔ Controls who can get stuff from this server.

Require all granted

3. 在以上部分中将 AllowOverride None 行改为读取 AllowOverride All

此文件中有多个 AllowOverride 行;请确保更改部分中的行。AllowOverride All

4. 保存文件并退出您的文本编辑器。

4.2.5 修复 Apache Web 服务器的文件权限

WordPress 中的某些可用功能要求具有对 Apache 文档根目录的写入权限 (例如通过“Administration (管

理)”屏幕上传媒体)。如果尚未进行此操作,请参考3.1.2

1. 将/var/www 及其内容的文件所有权更改到 apache 用户。

[ec2-user wordpress]$ sudo chown -R apache /var/www

2. 将 /var/www 及其内容的组所有权更改到 apache 组。

[ec2-user wordpress]$ sudo chgrp -R apache /var/www

3. 更改 /var/www 及其子目录的目录权限,以添加组写入权限及设置未来子目录上的组 ID。

[ec2-user wordpress]$ sudo chmod 2775 /var/www

[ec2-user wordpress]$ find /var/www -type d -exec sudo chmod 2775 {} \;

4. 递归地更改 /var/www 及其子目录的文件权限,以添加组写入权限。

[ec2-user wordpress]$ find /var/www -type f -exec sudo chmod 0664 {} \;

5. 重启 Apache Web 服务器,让新组和权限生效。

[ec2-user wordpress]$ sudo service httpd restart

Stopping httpd: [ OK ]

Starting httpd: [ OK ]

4.2.4 测试

http://你的服务器IP地址, 如已做好域名解析,则直接打开你自己的域名 www.xyz.com

如过前面未做解析,则直接打开你的公共IP或DNS

http://my.public.dns.amazonaws.com/


后续设置wordpress用户名密码,站点名称就可以正常访问了,接下来就是wordpress后台配置相关的问题

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,324评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,303评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,192评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,555评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,569评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,566评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,927评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,583评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,827评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,590评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,669评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,365评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,941评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,928评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,159评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,880评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,399评论 2 342

推荐阅读更多精彩内容