架設自己的WordPress with LAMP
第一篇文章就來寫這個主題吧,但也因為這樣被搞到超累
本文就是個紀錄架設過程,所以很多理論就skip,還會小抱怨遇到的神奇問題哈
註冊網域
- Godaddy
.com的網域大概落在150-300吧 - Freenom
結果居然可以註冊免費網域,只是後綴被限定
最後我選
hunglinchen.ga
哦哦如果開輸入欄位只有輸入hunglinchen的話,會跳出可用的網域
但是點選時會跳出不可用
但輸入完整的網域(hunglinchen.ga)就可以加到購物車嚕
進到DNS管理的頁面,先放著租好主機再回來
Services > My Domains > Manage Domain > Manage Freenom DNS
租用伺服器主機
伺服器主機商選google,有個平台叫Google cloud platform (GCP)
首次註冊可以一年內有300美金使用,對於自己租用一台空機的價錢綽綽有餘
選Compute Engine建立一台虛擬主機
再來操做就看以下連結,人家寫得很完美XD
主機規格我選CPU 一核心,記憶體 3.75G ,硬碟30G SSD,作業系統選ubuntu 18.04
伺服器位置就選彰化那個機房,這樣一個月30幾塊而已(台幣)
當然以上規格只是我熟悉和喜歡的而已,可以自己客製化方案
哦哦還有把ip調為靜態ip,一開始是是臨時ip
遠端操作
Cloud SDK
要能夠遠端操作伺服器最常見的服務就是ssh了
google這方面功能也做好了,下載他們的Cloud SDK,選自己電腦的作業系統,我手邊用windows
Cloud SDK 是一組指令列工具,用於在 Google Cloud 中進行開發作業。您可以使用這些工具,直接透過指令列存取 Compute Engine、Cloud Storage、BigQuery 和其他 Google Cloud 服務。
執行安裝檔後會跳出認證畫面,認證完自己的google帳號後就可以用ssh連接主機
gcloud compute --project "專案的ID" ssh --zone "伺服器主機位置" "主機名稱"專案ID是GCP一開始要建立專案時的ID,名稱預設應該是My First Project

主機位置是剛剛租用哪個地區的主機,下圖區域的色塊

主機名稱就是建立… 應該不用說了….
沒意外就可以順利連上了,有意外的話我也不知道怎辦XD
第一次是誤以為主機位置是ip所以失敗
這時就會跳出眼熟的terminal畫面了
在伺服器建立使用者以ssh連接
sudo adduser [username]
sudo usermod -a -G sudo [username]
sudo su hunglin
sudo passwd
exit退回本機電腦的遠端拿公開金鑰
ssh-keygen -t rsa -f ~/.ssh/mainsite.pem -C [username]
chmod 400 ~/.ssh/mainsite.pem
cat ~/.ssh/mainsite.pem.pub到GCP > Compute engine > 中繼資料 > 安全殼層金鑰
複製到compute engine的中繼資料後就可以用username登入了
架設Wordpress網站
以上其實都在租用伺服器的連結都有詳細說明,我都是看著他一路過來XD
接下來則是要在伺服器安裝LAMP最後才是WordPress
阿忘記Freenom的DNS了
這時候可以回到Freenom DNS管理頁面在Target貼上伺服器的公開IP
Name則是網域名稱
Save Change之後等段時間應該就可以在瀏覽器輸入網域進到自己的網站了
不過現在還沒架設
Apache2
sudo apt update
sudo apt upgrade -y
sudo apt install apache2 apache2-utils -y
sudo systemctl status apache2 #確認運行啟用服務
sudo systemctl enable apache2
sudo systemctl start apache2如果Domain指向伺服器成功的話在瀏覽器輸入domain name就會看到apache的預設頁面
看到會感動一下
PHP
我遇到的痛苦不想說了,簡單說就是要安裝最新版的php喔~
現在(2020-06)穩定運行版是7.4
sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt install php7.4
sudo apt install php-mysql php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip php-jsonWordPress官方也有建議要安裝那些php的extensions,最好是看一下官網說要安裝那些
我覺得我上面可能有漏寫: )
https://make.wordpress.org/hosting/handbook/handbook/server-environment/#php-extensions
Mysql
sudo vim /etc/mysql/debian.cnf紀錄一下預設的帳號和密碼
帳號沒意外是debian-sys-maint
建立給Wordpress的資料庫
進入mysql服務
mysql -u debian-sys-maint -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.29-0ubuntu0.18.04.1 (Ubuntu)
Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> 授權其他電腦登入
mysql> CREATE DATABASE [自己命名一個資料庫];
mysql> GRANT ALL PRIVILEGES ON [databasename].* TO 'debian-sys-maint'@'localhost' IDENTIFIED BY 'PASSWORD_input';
mysql> FLUSH PRIVILEGES;
mysql> EXIT;重啟服務
sudo systemctl restart mysql.service WordPress
終於… 下載wordpress再移動到網頁伺服器顯示位置
把擁有者權限給apache
編輯設定檔
sudo mv wp-config-sample.php wp-config.php
sudo vim wp-config.php填入mysql的設定
最後最後
然後在瀏覽器輸入網域名就可以進到wordpress的設定介面了
How to Install WordPress 5 On Ubuntu 16.10/16.04 Using LAMP Stack
沒想到這樣整理下來也是很累= =
之後再更新遇到奇葩的問題