Author Archives: wastemobile
用 Docker 安裝 WordPress
購買至少 4GB 記憶體的樹莓派 4,可以最方便的在手邊學習架設 Linux 網路主機。另一個方案是在 Oracle 雲端開一個「永久免費」的 ARM 虛擬主機,很大器的提供了 4 核、24GB 記憶體,但由於數量有限,可能某些距離台灣較近的機房不好搶,但既是學習實驗之用、再搭配 Cloudflare CDN,延遲幾秒鐘不是問題,能搶到就很好。
基礎設置不在此贅述,大概需要在安裝完 Linux 後,新建日常登入使用的用戶、關閉 root 登入權限、取消密碼登入並設置好金鑰,將 SSH 埠口從駭客必定會挑釁的 22 改成其他,設置一下 UFW 或 iptables 防火牆,就擁有一個相當安全的雲端主機了。
由於未來都會使用 Docker 來安裝各類服務,安裝好 Docker 與 Docker Compose,系統其他環境都會維持很乾淨。
將自己的網域預先在 DNS 中設定好指向這台主機。
接著需要新建並編輯下列檔案:
- Caddyfile
- docker-compose.yml
- conf/mariadb.env
- conf/php.ini
- conf/wordpress-site1.env
詳細的檔案內容請參照或拷貝這裡的 github gist 內容使用。
執行 docker-compose up -d 讓每個服務(包含資料庫)都先跑起來,Caddy 2 需要一點時間,會自動建立讓網站以 https(SSL)運行的所有必要機制,完全不需要其他繁瑣程序與設置。
等候的時間正好讓我們建立 WordPress 需要的資料庫:
docker-compose exec mariadb mysql -u root --password=<a-root-password> MariaDB > CREATE USER wordpress IDENTIFIED BY '<a-wordpress-password>'; MariaDB > CREATE DATABASE wordpress_site1; MariaDB > GRANT ALL PRIVILEGES ON wordpress_site1.* TO "wordpress"@"%"; MariaDB > FLUSH PRIVILEGES; MariaDB > EXIT;
接著嘗試連接已設置的網域,會出現建立第一位用戶的介面,大功告成。