Ricky 叩叮俱樂部

在開始之前,先來杯長島冰茶吧~

0%

Ubuntu 18.04 LTS+Apache+WordPress

前言

因工作關係需要在GCP上架設WordPress
趁這個機會趕緊做個筆記,讓自己在往後也能review
而之前習慣性都把筆記放在HackMD
也剛好順便練習著如何架設Hexo

好的,讓我們開始吧:)

Ubuntu

這邊使用的是GCP平台,因此在建立Ubuntu時可先賦予root密碼

1
$ sudo passwd root

可切換至root帳號

1
$ su -

這樣在操作下列步驟時,執行指令前就不用另外加sudo

環境

先把所需要的套件裝起來

更新 APT

1
2
$ sudo apt-get update
$ sudo apt-get upgrade

安裝 LAMP Server:Liunx+Apache2+MySQL+PHP

1
$ sudo apt-get install lamp-server^

測試網址:http://localhost/

安裝 phpMyAdmin

1
2
3
4
5
6
7
$ sudo apt-get install phpmyadmin

# 將phpmyadmin連結至Apache目錄
$ sudo ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin

# 重啟apache
$ service apache2 reload

測試網址:http://localhost/phpmyadmin

MySQL

這部分的操作都會透過MySQL CLI
Ubuntu 18.04 LTS在安裝MySQL時root預設的密碼為空
為了安全考量,我們還是先手動賦予它一組密碼

Ubuntu與MySQL各自有一組root帳號,請注意不要搞混在一起

先登入MySQL

1
$ sudo mysql

設定Root密碼

確認root狀態,這時authentication_string會為空

1
SELECT user, authentication_string, plugin, host FROM mysql.user WHERE user = 'root';

賦予root密碼

1
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '<PASSWORD>';

再次確認root狀態

1
SELECT user, authentication_string, plugin, host FROM mysql.user WHERE user = 'root';

接著執行exitquit退出MySQL
再次登入可看到錯誤訊息,代表root密碼已設定成功

1
2
$ sudo mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

使用密碼重新登入

1
$ sudo mysql -u root -p

u: user / p: password

建立Database

這裡我們新建一個屬於WordPress的資料庫

確認Database狀態

1
SHOW DATABASES;

建立Database

1
CREATE DATABASE <DATABASE> CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

這時就能看到新建立的Database

1
SHOW DATABASES;

建立User

同上,我們一樣新建一個屬於WordPress的使用者

確認User狀態

1
SELECT user, host FROM mysql.user;

建立允許遠端的User

1
CREATE USER '<USER NAME>'@'%' IDENTIFIED BY '<PASSWORD>';

賦予User Database權限

1
GRANT ALL PRIVILEGES ON <DATABASE>.* TO '<USER NAME>'@'%';

更新權限表

1
FLUSH PRIVILEGES;

這時一樣也能看到剛建立好的使用者

1
SELECT user, host FROM mysql.user;

可執行exitquit退出MySQL
以新建立User帳號重新登入

1
$ sudo mysql -u <USER NAME> -p

就能看到新建立的資料庫了

1
SHOW DATABASES;

WordPress

處理完MySQL的部分,接著我們來著手這次的主題WordPress

切換至Apache網站目錄

1
$ cd /var/www/html

下載WordPress,版本可自行更換

1
$ wget https://tw.wordpress.org/wordpress-5.2.4-zh_TW.tar.gz

解壓縮WordPress

1
$ tar zxvf wordpress-5.2.4-zh_TW.tar.gz

x: 解壓縮 / z: gzip格式 / v: 顯示過程 / f: 指定檔案(後面一定要接檔名)

刪除壓縮檔

1
$ rm wordpress-5.2.4-zh_TW.tar.gz

切換至WordPress目錄

1
$ cd wordpress

新增自定義設定檔

1
2
3
4
5
# 複製範例設定檔
$ cp wp-config-sample.php wp-config.php

# 編輯設定檔
$ vim wp-config.php

不得不說Vim真的是一款超強大的編輯器

wp-config.php中修改 DB_NAME DB_USER DB_PASSWORD

1
2
3
4
5
6
7
8
9
10
11
...

define('DB_NAME', '<DB_NAME>');

define('DB_USER', '<DB_USER>');

define('DB_PASSWORD', '<DB_PASSWORD>');

define('DB_HOST', 'localhost');

...

設定權限

1
$ chown -R www-data /var/www/html/wordpress

Apache2

其實做到這一步已經可以將WordPress開啟
而我們可以透過更換Apache設定檔,在連至主機時就預設為WordPress
順便同時將phpMyAdmin加入至router裡

切換至Apache設定檔目錄

1
$ cd /etc/apache2/sites-available

新增自定義設定檔

1
2
3
4
5
# 複製Apache預設設定檔
$ cp 000-default.conf wp.conf

# 編輯WordPress設定檔
$ vim wp.conf

wp.conf中修改ServerNameServerAlias
更換為 Domain nameIP

1
2
3
4
5
6
7
8
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/wordpress
ServerName <ServerName>
ServerAlias <ServerAlias>
# phpMyAdmin Router
Alias /phpMyAdmin /var/www/html/phpmyadmin
</VirtualHost>

停用預設設定檔

1
$ a2dissite 000-default.conf

啟用WordPress設定檔

1
$ a2ensite wp.conf

開啟mod_rewrite

1
$ a2enmod rewrite

重啟Apache2

1
$ service apache2 reload

Wordpress:http://localhost

phpMyAdmin:http://localhost/phpMyAdmin

以上做到一步你已經可以順利把WordPress畫面給順利開啟
剩下的部分就按照指示設定以及新增管理員
就可以登入進去管理後台囉~