有鑒於每次一個專案啟動時,都要配置、安裝一個測試站。這件事流程為:

定義專案代號 -> 開啟測試站伺服器 -> 於伺服器上安裝 WordPress -> 初始化 WordPress (安裝、設定)

通常專案代號會由同事命名,我這邊就是在測試機上把後面的事情搞定! 當測試站點開好取得路徑以及資料庫資源後,就是到 WordPress 階段,這個時候導入 WP-CLI 協助指令化操作會方便不少~

有版控的 WP-CLI 安裝法不是這次想講的重點,就先跳過,直接來最快安裝版!

WordPress Command Line Tools

curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
chmod +x wp-cli.phar
sudo mv wp-cli.phar /usr/local/bin/wp

上面三行就能把 wp 這指令給安裝好,檢查方式輸入 wp --info 看看,沒出現錯誤,出現正確 PHP 配置就是正常了!

而下方就是我常用配置一個 WordPress 測試站的指令:

#!/usr/bin/env bash
clear
#  Take User Inputs
read -p "Site URL: " url
read -p "Site title: " title
read -p "Site Slug: " sslug
read -p "DB Name: " db
read -p "DB Pass: " dbpass
read -p "WP Prefix: " pf
pass=$(date +%s | sha256sum | base64 | head -c 32 ; echo)
wp core download --allow-root
# using proc_open() function
wp core config --dbname="$db" --dbuser="$db" --dbpass="$dbpass" --locale=zh_TW --allow-root --dbprefix="$pf"_ --extra-php <<PHP
define('WP_MEMORY_LIMIT', '256M');
define('WP_POST_REVISIONS', 3);
define('WPLANG', 'zh_TW');
PHP
# wp db create --allow-root
# Run WP Install
wp core install --url="$url" --title="$title" --admin_user="$sslug"_user --admin_password="$pass" --admin_email="[email protected]" --allow-root
wp plugin install mxp-dev-tools --activate --allow-root
wp plugin delete hello --allow-root
wp post delete $(wp post list --post_type='page' --format=ids --allow-root) --force --allow-root
wp post delete $(wp post list --post_type='post' --format=ids --allow-root) --force --allow-root
wp post create --post_type='page' --post_title="Home" --post_status="publish" --allow-root
wp core language install zh_TW --activate --allow-root
# wp scaffold child-theme childtheme --parent_theme=basetheme --author=Knockers --allow-root
wp option update timezone_string Asia/Taipei --allow-root
wp option update blogdescription "" --allow-root
wp option update default_pingback_flag 0 --allow-root
wp option update default_ping_status 0 --allow-root
wp option update default_comment_status 0 --allow-root
wp option update comment_registration 1 --allow-root
wp option update blog_public 0 --allow-root
wp option update show_on_front page --allow-root
wp option update page_on_front 3 --allow-root
wp option update date_format "Y-m-d" --allow-root
wp option update time_format "H:i:s" --allow-root
chown www:www * -R
echo "admin_user : $sslug"_user
echo "admin_password: $pass"

Gist: link

將上述指令依照自己使用環境修改並儲存成一個 shell script 檔案,賦予執行權限(比方說存擋名:init.sh ): chmod +x init.sh

--allow-root 的參數為讓這指令能在 root 環境下使用的做法。如果你不清楚自己在做什麼,請不要隨意把資料夾權限大開(777)以及使用最高管理權限(root)作業。

在專案目錄下執行 init.sh 後就能把一個初始專案輕鬆建立好拉~ 真的是懶人環境架設的好幫手阿XD

上面指令包含把一些設定項也都一併調整,符合我們繁體中文操作(預設抓下來的安裝檔案是英語系)。修正像是語言設定、日期格式設定、移除不必要外掛、測試頁面以及文章,並建立基礎首頁,指定該首頁設定等。

安裝常用外掛這件事因為根據每個案子不同,就無法從指令工具去特別指定,我就改成自己寫的外掛來安裝其他個別外掛囉!

參考資料:

  1. Quick WordPress install with WP-Cli & Shell Script
  2. WP-CLI 文件

Facebook 外掛功能


Share:

作者: Chun

資訊愛好人士。主張「人人都該為了偷懶而進步」。期許自己成為斜槓到變進度條 100% 的年輕人。[//////////____30%_________]

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *