1. 如何開通AWS免費(fèi)套餐
注冊(cè)AWS帳號(hào),綁定支持Visa的 信用卡后就可以免費(fèi)使用一年免費(fèi)套餐版的亞馬遜云服務(wù)了。
2. 配置EC2主機(jī)
設(shè)置AMI有限權(quán)限用戶(可選)
選擇機(jī)房地區(qū),北美,東京均可
設(shè)置訪問(wèn)密鑰,保存本地,便于用SSH軟件訪問(wèn)
選擇主機(jī),建議默認(rèn)主機(jī),AWS Linux AMI 免費(fèi)版,根據(jù)提示進(jìn)入下一步
設(shè)置安全組,出入站規(guī)則
3. 配置LAMP服務(wù)器環(huán)境
用PuTTy 和本地私鑰訪問(wèn)主機(jī),默認(rèn)用戶名為ec2-user@你的AWS服務(wù)器DNS, 連接成功后就可以配置環(huán)境了。
3.1.1 安裝服務(wù)器依賴軟件
首先,更新所有軟件:
sudo yum update -y
使用 yum install 命令可同時(shí)安裝Apache MySQL PHP 等軟件包和所有相關(guān)依賴項(xiàng)
sudo yum install -y httpd24 php70 mysql56-server php70-mysqlnd
啟動(dòng) Apache Web 服務(wù)器
sudo service httpd start
使用 chkconfig 命令將 Apache Web 服務(wù)器配置為在每次系統(tǒng)啟動(dòng)時(shí)啟動(dòng)
sudo chkconfig httpd on
測(cè)試Web 服務(wù)器:在 Web 瀏覽器中,鍵入AWS實(shí)例的公有 DNS 地址 (或公有 IP 地址),應(yīng)該可以
看到 Apache 測(cè)試頁(yè)面。
3.1.2 為Apache 設(shè)置讀寫網(wǎng)站目錄權(quán)限
設(shè)置文件權(quán)限
1. 將您的用戶 (這里指 ec2-user) 添加到 apache 組。
[ec2-user ~]$ sudo usermod -a -G apache ec2-user
Important!
您必須先退出,再重新登錄,然后才能接受新組。您可以使用 exit 命令,也可以關(guān)閉終端窗
口。
2. 先退出,再重新登錄,然后驗(yàn)證您是否為 apache 組的成員。
[ec2-user ~]$ exit
b. 要驗(yàn)證您是否為 apache 組的成員,請(qǐng)重新連接到實(shí)例,然后運(yùn)行以下命令:
[ec2-user ~]$ groups
會(huì)出現(xiàn) ec2-user wheel apache
3. 將 /var/www 及其內(nèi)容的組所有權(quán)更改到 apache 組。
[ec2-user ~]$ sudo chown -R ec2-user:apache /var/www
4. 要添加組寫入權(quán)限以及設(shè)置未來(lái)子目錄上的組 ID,請(qǐng)更改 /var/www 及其子目錄的目錄權(quán)限。
[ec2-user ~]$ sudo chmod 2775 /var/www
[ec2-user ~]$ find /var/www -type d -exec sudo chmod 2775 {} \;
5. 要添加組寫入權(quán)限,請(qǐng)遞歸地更改 /var/www 及其子目錄的文件權(quán)限:
[ec2-user ~]$ find /var/www -type f -exec sudo chmod 0664 {} \;
(可選)如果您的服務(wù)器已安裝并運(yùn)行,且文件權(quán)限設(shè)置正確,則您的 ec2-user 賬戶應(yīng)該能夠在 /var/www/html 目錄 (可從 Internet 訪問(wèn)) 中創(chuàng)建一個(gè) PHP 文件。
1. 在 Apache 文檔根目錄中創(chuàng)建一個(gè) PHP 文件。
echo "" > /var/www/html/phpinfo.php
嘗試運(yùn)行此命令時(shí),如果出現(xiàn)“Permission denied (權(quán)限被拒絕)”錯(cuò)誤,請(qǐng)嘗試先注銷,再重新登錄。
2. 在 Web 瀏覽器中,鍵入您剛剛創(chuàng)建的文件的 URL。此 URL 是實(shí)例的公用 DNS 地址,后接正斜杠和文
件名。例如:
http://my.public.dns.amazonaws.com/phpinfo.php
會(huì)出現(xiàn):

3.1.3 MySQL 配置
保障 MySQL 服務(wù)器的安全
MySQL 服務(wù)器的默認(rèn)安裝提供有多種功能,這些功能對(duì)于測(cè)試和開發(fā)都很有幫助,但對(duì)于產(chǎn)品服務(wù)器,應(yīng)
禁用或刪除這些功能。mysql_secure_installation 命令可引導(dǎo)您設(shè)置根密碼并刪除安裝中的不安全功能。即
使您不打算使用 MySQL 服務(wù)器,我們也建議執(zhí)行此步驟。
1. 啟動(dòng) MySQL 服務(wù)器。
[ec2-user ~]$ sudo service mysqld start
Initializing MySQL database:
...
PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
...
Starting mysqld: [ OK ]
2. 運(yùn)行 mysql_secure_installation。
[ec2-user ~]$ sudo mysql_secure_installation
a. 在提示時(shí),鍵入根賬戶的密碼。
i. 鍵入當(dāng)前根密碼。默認(rèn)情況下,根賬戶沒(méi)有設(shè)置密碼。按 Enter。
ii. 鍵入 Y 設(shè)置密碼,然后鍵入兩次安全密碼。有關(guān)創(chuàng)建安全密碼的更多信息,請(qǐng)參 http://
www.pctools.com/guides/password/。
設(shè)置 MySQL 根密碼僅是保護(hù)數(shù)據(jù)庫(kù)的最基本措施。在構(gòu)建或安裝數(shù)據(jù)庫(kù)驅(qū)動(dòng)的應(yīng)
用程序時(shí),通??梢詾樵搼?yīng)用程序創(chuàng)建數(shù)據(jù)庫(kù)服務(wù)用戶,并避免使用根賬戶執(zhí)行除
數(shù)據(jù)庫(kù)管理以外的操作。
b. 鍵入 Y 刪除匿名用戶賬戶。
c. 鍵入 Y 禁用遠(yuǎn)程根登錄。
d. 鍵入 Y 刪除測(cè)試數(shù)據(jù)庫(kù)。
e. 鍵入 Y 重新加載權(quán)限表并保存您的更改。
3.2 安裝PHP管理面板
前往 https://www.phpmyadmin.net/downloads/ 下載最新的phpMyAdmin壓縮包并上傳到網(wǎng)站文件目錄/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
應(yīng)該會(huì)看到 phpMyAdmin 登錄頁(yè)面:

3.3 如何對(duì)LAMP 環(huán)境進(jìn)行升降級(jí)操作(可選)
經(jīng)過(guò)AWS良好測(cè)試,需要以下核心 LAMP 程序包:
httpd24
php56
mysql55-server
php56-mysqlnd
如果你已按照本教程開頭的建議安裝了最新的軟件包,必須首先卸載如下這些軟件包和其他依賴項(xiàng):
[ec2-user ~]$ sudo yum remove -y httpd24 php70 mysql56-server php70-mysqlnd perl-DBDMySQL56
其次,安裝替代環(huán)境:
[ec2-user ~]$ sudo yum install -y httpd24 php56 mysql55-server php56-mysqlnd
如果你以后決定升級(jí)到建議的環(huán)境,必須先刪除自定義軟件包和依賴項(xiàng):
[ec2-user ~]$ sudo yum remove -y httpd24 php56 mysql55-server php56-mysqlnd perl-DBDMy
再安裝你需要的LAMP軟件包
4. 設(shè)置Wordpress MySQL數(shù)據(jù)庫(kù), 安裝wordpress
4.1 創(chuàng)建 MySQL 用戶和數(shù)據(jù)庫(kù)以安裝 WordPress
安裝 WordPress 需要存儲(chǔ)信息,為自己的博客創(chuàng)建一個(gè)數(shù)據(jù)庫(kù),并創(chuàng)建一個(gè)有權(quán)讀取該數(shù)據(jù)庫(kù)的信息并將信息保存到該數(shù)據(jù)庫(kù)的用戶。
4.1.1 啟動(dòng) MySQL 服務(wù)器。
[ec2-user ~]$ sudo service mysqld start
4.1.2. 以 root 用戶身份登錄到 MySQL 服務(wù)器。在系統(tǒng)提示時(shí)輸入您的 MySQL root 密碼,這可能與你的
root 系統(tǒng)密碼不同,如果你尚未對(duì) MySQL 服務(wù)器加密,它就是空的。
Important!
如果你尚未對(duì) MySQL 服務(wù)器加密,則必須執(zhí)行這項(xiàng)操作
MySQL 服務(wù)器的安全
[ec2-user ~]$ mysql -u root -p
Enter password:
4.1.3. 為MySQL 數(shù)據(jù)庫(kù)創(chuàng)建用戶和密碼。安裝 WordPress 的過(guò)程將使用這些值與您的 MySQL 數(shù)據(jù)庫(kù)通
信。輸入以下命令,以替換唯一的用戶名和密碼。
mysql> CREATE USER 'wordpress-user'@'localhost' IDENTIFIED BY 'your_strong_password';
Query OK, 0 rows affected (0.00 sec)
4.1.4. 創(chuàng)建數(shù)據(jù)庫(kù)。為數(shù)據(jù)庫(kù)提供一個(gè)有意義的描述性名稱,例如
wordpress-db
mysql> CREATE DATABASE `wordpress-db`;
Query OK, 1 row affected (0.01 sec)
4.1.5. 對(duì)之前創(chuàng)建的 WordPress 用戶授予數(shù)據(jù)庫(kù)的完全訪問(wèn)權(quán)限。
mysql> GRANT ALL PRIVILEGES ON `wordpress-db`.* TO "wordpress-user"@"localhost";
Query OK, 0 rows affected (0.00 sec)
4.1.6. 刷新 MySQL 權(quán)限以接受所有更改。
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.01 sec)
4.1.7. 退出 mysql 客戶端。
mysql> exit
4.2 安裝wordpress,?
先進(jìn)入網(wǎng)站根目錄
cd /var/www/html/??
4.2.1下載 WordPress多語(yǔ)言版
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
移動(dòng) WordPress文件到網(wǎng)站根目錄下
解壓完畢后,可以用 Xftp 進(jìn)入文件夾把 wordpress 文件夾下的所有文件向上移動(dòng)到?網(wǎng)站目錄 件夾下。然后把其他多余文件下刪除。如果你對(duì)命令行熟悉,也可以用 MV 命令來(lái)做。
mv wordpress/* .
4.2.2 確保網(wǎng)站域名已經(jīng)正確解析
起碼做了兩個(gè) A 記錄。www 和 @ 的 A 記錄。
兩條A記錄“記錄值”都為你的 VPS IP 地址,“記錄名”分別為 www 和 @。
4.2.3 創(chuàng)建和編輯 wp-config.php 文件(也可以安裝時(shí)再配置)
WordPress 安裝文件夾有名為 wp-config-sample.php 的示例配置文件。
將 wp-config-sample.php 文件復(fù)制為一個(gè)名為 wp-config.php 的文件。這樣做會(huì)創(chuàng)建新的配置文件并將原先的示例配置文件原樣保留作為備份。
cd wordpress/
cp wp-config-sample.php wp-config.php
使用 vim 來(lái)編輯 文件,然后輸入安裝的值.
vi wp-config.php
查找 DB_NAME 的行并將 database_name_here 改為 創(chuàng)建 MySQL中創(chuàng)建的數(shù)據(jù)庫(kù)名稱。
define('DB_NAME', 'xxxxxxx');
查找 DB_USER 的行并將 username_here 改為在 創(chuàng)建 MySQL? 中創(chuàng)建的數(shù)據(jù)庫(kù)用戶。
define('DB_USER', 'xxxxxxx');
查找 DB_PASSWORD 的行并將 password_here 改為 創(chuàng)建 MySQL 中創(chuàng)建的強(qiáng)密碼。
define('DB_PASSWORD', 'your_strong_password');
4.2.4 允許 WordPress 使用 permalink
WordPress permalink 需要使用 Apache .htaccess 文件才能正常工作,但默認(rèn)情況下這些文件在 Amazon
Linux 上處于禁用狀態(tài)。使用此過(guò)程可允許 Apache 文檔根目錄中的所有覆蓋。
1. 使用常用的文本編輯器 (如httpd.confnano 或 vim) 打開 文件。nano 對(duì)于初學(xué)者來(lái)說(shuō)比較容易使用,當(dāng)然你也可以使用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。
此文件中有多個(gè) AllowOverride 行;請(qǐng)確保更改部分中的行。AllowOverride All
4. 保存文件并退出您的文本編輯器。
4.2.5 修復(fù) Apache Web 服務(wù)器的文件權(quán)限
WordPress 中的某些可用功能要求具有對(duì) Apache 文檔根目錄的寫入權(quán)限 (例如通過(guò)“Administration (管
理)”屏幕上傳媒體)。如果尚未進(jìn)行此操作,請(qǐng)參考3.1.2
1. 將/var/www 及其內(nèi)容的文件所有權(quán)更改到 apache 用戶。
[ec2-user wordpress]$ sudo chown -R apache /var/www
2. 將 /var/www 及其內(nèi)容的組所有權(quán)更改到 apache 組。
[ec2-user wordpress]$ sudo chgrp -R apache /var/www
3. 更改 /var/www 及其子目錄的目錄權(quán)限,以添加組寫入權(quán)限及設(shè)置未來(lái)子目錄上的組 ID。
[ec2-user wordpress]$ sudo chmod 2775 /var/www
[ec2-user wordpress]$ find /var/www -type d -exec sudo chmod 2775 {} \;
4. 遞歸地更改 /var/www 及其子目錄的文件權(quán)限,以添加組寫入權(quán)限。
[ec2-user wordpress]$ find /var/www -type f -exec sudo chmod 0664 {} \;
5. 重啟 Apache Web 服務(wù)器,讓新組和權(quán)限生效。
[ec2-user wordpress]$ sudo service httpd restart
Stopping httpd: [ OK ]
Starting httpd: [ OK ]
4.2.4?測(cè)試
http://你的服務(wù)器IP地址,?如已做好域名解析,則直接打開你自己的域名 www.xyz.com
如過(guò)前面未做解析,則直接打開你的公共IP或DNS
http://my.public.dns.amazonaws.com/

后續(xù)設(shè)置wordpress用戶名密碼,站點(diǎn)名稱就可以正常訪問(wèn)了,接下來(lái)就是wordpress后臺(tái)配置相關(guān)的問(wèn)題