Ubuntu 20.04 LTS 上的 LAMP WordPress 過程記錄
LAMP 是 Linux , Apache , MariaDB/MySQL , PHP 的簡稱
從 0 搭起 LAMP 後再安裝 WordPress
首先要有一臺 Ubuntu 20.04 LTS 主機
這裡全程使用 "user" 帳號 ,如果沒有,用 " root " 帳號新增一個
1. 更新套件
更新 apt 套件列表
sudo apt update
更新已安裝軟體至最新
sudo apt upgrade
2. 安裝 Apache
安裝 Apache 網頁伺服器
sudo apt install apache2
按 y 安裝
完成後啟用並啟動 Apache 服務
sudo systemctl enable apache2
檢查服務狀態
systemctl status apache2
有看到 active ( running ) 那就表示服務已正常啟動及啟用
這時候你就可以用瀏覽器
瀏覽Apache 的Ubuntu 20.04的 IP
http://Server-IP
3. 安裝 PHP
安裝PHP和所需的擴充套件
sudo apt install -y php php-{common,mysql,xml,xmlrpc,curl,gd,imagick,cli,dev,imap,mbstring,opcache,soap,zip,intl}
按 y 安裝
完成後查看 php 版本
php -v
4. 安裝 MariaDB
你可以使用 MariaDB 或 MySQL 作為伺服器資料庫
我這裡使用 MariaDB 作為資料庫
安裝 MariaDB
sudo apt install mariadb-server mariadb-client
按 y 安裝
完成後啟用並啟動 MariaDB 服務
sudo systemctl enable --now mariadb
檢查服務狀態
systemctl status mariadb
有看到 active ( running ) 那就表示服務已正常啟動及啟用
資料庫初始設定
sudo mysql_secure_installation
設定中的內容選項
Enter current password for root (enter for none): #輸入 root 帳戶密碼,無 root 帳戶則 Enter 鍵繼續
Change the root password? [Y/n] #若不想更改 root 密碼則輸入 n ,若上面 enter 這裡要 Y
New password: #上面選 Y 之後,這裡要輸入你的新 root 密碼
Re-enter new password: #再次輸入一遍新密碼
Remove anonymous users? [Y/n] Y #移除匿名帳戶
Disallow root login remotely? [Y/n] #不禁止 root 帳戶遠端登入選 n , 禁止選 Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y
5. 為 WordPress 建立資料庫
登入資料庫 ( 使用 root 帳號登入資料庫
sudo mysql -u root -p
建立一個新資料庫使用者,請保留引號
請替換指令中的 new_user ( 資料庫使用者名字 ) , your_password ( 該使用者密碼)
CREATE USER 'new_user'@'localhost' IDENTIFIED BY 'your_password';
新增資料庫
請替換指令中的 new_db ( 資料庫名字 )
CREATE DATABASE new_db;
增加權限
請替換指令中的 new_user ( 資料庫使用者名字 ) , your_password ( 該使用者密碼 ) , new_db ( 資料庫名字 )
GRANT ALL PRIVILEGES ON new_db.* TO 'new_user'@'localhost';
更新資料庫權限
FLUSH PRIVILEGES;
離開
Exit;
6. 安裝 WordPress
安裝 WordPress 需要手動下載和解壓縮
需要 wget 和 unzip 套件 , 安裝 wget 和 unzip 套件
sudo apt install wget unzip
下載 WordPress
wget https://wordpress.org/latest.zip
解壓縮檔案
sudo unzip latest.zip
移動檔案至網頁資料夾
sudo mv wordpress/ /var/www/html/
為了節省空間,移除剛剛下載的檔案
sudo rm latest.zip
更改擁有者和權限
sudo chown www-data:www-data -R /var/www/html/wordpress/
sudo chmod -R 755 /var/www/html/wordpress/
7. 修改 Apache 設定檔
利用 nano 編輯器 建立新的設定檔
sudo nano /etc/apache2/sites-available/wordpress.conf
適當修改 3, 5 , 6 行配置文件 , 並貼上
<VirtualHost *:80>
ServerAdmin email #email
DocumentRoot /var/www/html/wordrpess
ServerName example.com #域名
ServerAlias www.example.com #站點
<Directory /var/www/wordpress/">
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
編輯完 Ctrl + O 組合鍵然後 ENTER 鍵存檔
使用 Ctrl + X 組合鍵退出編輯器
在 /etc/apache2/apache2.conf 檔案最後一行加入 ServerName 設定
sudo nano /etc/apache2/apache2.conf
用方向鍵下移至最後一行並插入
ServerName example.com #域名
apache2 設定檔檢查
sudo apache2ctl configtest
若設定正常,系統會返回
Syntax OK
啟用 virtual host
sudo a2ensite wordpress.conf
啟用 rewrite 模組
sudo a2enmod rewrite
停用預設 Apache 測試頁面
sudo a2dissite 000-default.conf
重新啟動 Apache 服務
sudo systemctl restart apache2
8. 設定 WordPress 內容管理系統
開啟瀏覽器瀏覽
Apache 的 Ubuntu 20.04 的 IP
http://Server-IP
首先 設定語言
資料庫加入,是前面步驟5的設定
Database Name : new_db
Username : new_user
Password : your_password
其餘不需要更動按下 Submit 按鈕
最後再按下 Run the installation 按鈕
9. 新增網站管理員帳號和網站設定
詳細就不寫了,註冊還不會就真的orz
Search engine Visibilllity 搜尋引擎能見度
這選項能後期調整
設定完之後就能登入後台
記得把 WordPress 位置改成你的域名
10. SSL
這裡使用 Certbot 做認證
確認 Snapd 是最新的版本
sudo snap install core; sudo snap refresh core
安裝 Certbot
sudo snap install --classic certbot
將建立連結檔
sudo ln -s /snap/bin/certbot /usr/bin/certbot
取得並安裝證書
sudo certbot --apache
測試自動續訂功能
sudo certbot renew --dry-run
此時再重新開啟網域
就可以看到網域有加密憑證
我是Vinc,下個紀錄見
2022-06-19 at 23:14
牛逼
2023-09-06 at 08:35
我按照您的方法一步一步做到「開啟瀏覽器瀏覽 Apache 的 Ubuntu 20.04 的 IP」還有「http://Server-IP」,結果是 404 NOT FOUND…
Orz