- ホーム
- マニュアル
- セットアップスクリプト
- WordPress
WordPressセットアップスクリプトを利用する
対象
1.WordPressについて
1-1.WordPressとは
WordPressは、誰でも簡単にWebサイトやブログを作成・運用できるオープンソースのコンテンツ管理システム(CMS)です。
世界中のWebサイトの約40%以上がWordPressで構築されており、個人から企業、教育機関まで幅広く利用されています。
1-2.特徴
| 特徴 | 説明 |
|---|---|
| プラグインによる拡張 | 数万種類以上のプラグインを自由に導入できます。SEO、セキュリティ、ECなどの機能を簡単に追加できます。 |
| テーマによるデザイン変更 | テーマを変更するだけでデザインを簡単に変えることができます。独自のカスタマイズも可能です。 |
| モバイル対応 | 多くのテーマが、画面の大きさに応じてレイアウトが自動で調整される「レスポンシブデザイン」に対応しており、スマートフォンやタブレットでも見やすく表示されます。 |
| コミュニティと情報量 | 世界中に利用者が多く、設定方法やトラブル対応の情報がWeb上に多数公開されています。 |
1-3.活用例
| 活用例 | 説明 |
|---|---|
| コーポレートサイトの構築 | 自社の事業紹介、実績、問い合わせフォームなどをまとめた公式サイトを簡単に構築できます。 |
| 集客目的のサイト運用 | SEO対応のプラグインや構造化マークアップを使って、検索結果の上位に表示されやすいサイトを構築できます。 |
| ブログやお知らせの発信 | 記事投稿や更新が簡単に行えるため、個人ブログや店舗のお知らせ欄として手軽に運用できます。 |
2.WordPressセットアップスクリプトの利用手順
本手順ではサーバーを契約してWordPressの仮想マシンを構築することを前提とします。
既存のサーバーをWordPressに置き換える場合は、「OS再インストール」からWordPressのセットアップスクリプトを利用してください。
1.「お申し込み」をクリック
XServerアカウントへログインし、「お申し込み」をクリックしてください。

2.セットアップスクリプトを選択
「お申し込み」一覧の「VPS(Linux系サーバー)」をクリックしてください。

「OSを選択してインストール」をクリックし、対応する以下のOS・バージョンを選択してください。
その後、「セットアップスクリプト」から「WordPress」を選択してください。

お申し込み・お支払いを完了することで、選択したスクリプトがサーバー構築時に自動実行されます。
本セットアップスクリプトで実行される処理は以下のとおりです。
スクリプトを表示
# Wordpress
set -euo pipefail
WP_VERSION="7.0.3"
WP_ARCHIVE="wordpress-${WP_VERSION}-ja.tar.gz"
WEB_ROOT="/var/www/html/wordpress"
DB_NAME="wordpress"
DB_USER="wpuser"
echo "[INFO] install packages"
for i in {1..5}; do
DEBIAN_FRONTEND=noninteractive apt update -y && \
DEBIAN_FRONTEND=noninteractive apt install -y \
apache2 \
mariadb-server \
mariadb-client \
curl \
bzip2 \
unzip \
openssl && \
break
[[ "$i" -eq 5 ]] && exit 1 || sleep 5
done
## PHP
PHP_VERSION="8.4"
for i in {1..5}; do
DEBIAN_FRONTEND=noninteractive apt install -y software-properties-common gnupg2 \
&& DEBIAN_FRONTEND=noninteractive add-apt-repository ppa:ondrej/php -y \
&& DEBIAN_FRONTEND=noninteractive apt update -y \
&& DEBIAN_FRONTEND=noninteractive apt install -y \
php${PHP_VERSION} \
php${PHP_VERSION}-mysql \
libapache2-mod-php${PHP_VERSION} \
php${PHP_VERSION}-curl \
php${PHP_VERSION}-gd \
php${PHP_VERSION}-imap \
php${PHP_VERSION}-intl \
php${PHP_VERSION}-mbstring \
php${PHP_VERSION}-xml \
php${PHP_VERSION}-xmlrpc \
php${PHP_VERSION}-zip \
php${PHP_VERSION}-imagick \
php${PHP_VERSION}-bcmath \
php${PHP_VERSION}-gmp \
php${PHP_VERSION}-apcu \
php${PHP_VERSION}-redis \
&& break
[[ "$i" -eq 5 ]] && exit 1 || sleep 5
done
echo "[INFO] start services"
systemctl enable --now mariadb
for i in {1..10}; do
systemctl is-active --quiet mariadb.service && break
sleep 3
done
systemctl enable --now apache2
for i in {1..10}; do
systemctl is-active --quiet apache2.service && break
sleep 3
done
echo "[INFO] create database"
### wait for mysql-setup succeed
generate_pass() {
cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 8 | head -n 1 || true
}
DB_PASS="${DB_PASS:-$(generate_pass)}"
mysql <<EOF
CREATE DATABASE IF NOT EXISTS \`${DB_NAME}\` CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE USER IF NOT EXISTS '${DB_USER}'@'localhost' IDENTIFIED BY '${DB_PASS}';
ALTER USER '${DB_USER}'@'localhost' IDENTIFIED BY '${DB_PASS}';
GRANT ALL PRIVILEGES ON \`${DB_NAME}\`.* TO '${DB_USER}'@'localhost';
FLUSH PRIVILEGES;
EOF
maria_pass=`cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 8 | head -n 1 || true`
for i in {1..10}; do
mysql -e "ALTER USER 'root'@'localhost' IDENTIFIED BY '${maria_pass}'; FLUSH PRIVILEGES;" && break
[[ "$i" -eq 10 ]] && exit 1 || sleep 3
done
echo "[INFO] download wordpress ${WP_VERSION}"
cd /tmp
rm -rf /tmp/wordpress "/tmp/${WP_ARCHIVE}"
curl -fL \
--retry 10 \
--retry-delay 5 \
--retry-connrefused \
--retry-all-errors \
-o "${WP_ARCHIVE}" \
"https://ja.wordpress.org/${WP_ARCHIVE}" \
--fail
tar -xzf "${WP_ARCHIVE}"
echo "[INFO] deploy files"
rm -rf "${WEB_ROOT}"
mkdir -p /var/www/html
mv /tmp/wordpress "${WEB_ROOT}"
chown -R www-data:www-data /var/www/html/wordpress
chmod -R 755 /var/www/html/wordpress
echo "[INFO] apache config"
sed -i \
-e 's#DocumentRoot /var/www/html#DocumentRoot /var/www/html/wordpress#' \
-e '/#Include conf-available\/serve-cgi-bin.conf/a\
<Directory /var/www/html>\
AllowOverride All\
</Directory>' \
/etc/apache2/sites-available/000-default.conf
rm -f /etc/apache2/sites-available/default-ssl.conf
systemctl restart apache2
for i in {1..10}; do
systemctl is-active --quiet apache2.service && break
sleep 3
done
cat >> /var/www/html/phpinfo.php <<'EOF'
<?php
phpinfo();
EOF
cat >> /etc/motd <<EOF
==========================================================
WordPress Application
DocumentRoot: /var/www/html/wordpress
WordPress URL: http://${IPADDR}/
MySQL root password: ${maria_pass}
MySQL WordPress user name: wpuser
MySQL WordPress user password: ${DB_PASS}
MySQL WordPress DB name: wordpress
To delete this message: unlink /etc/motd
==========================================================
EOF
3.事前準備
3-1.パケットフィルターの設定
WordPressを利用するには、使用する機能に応じて、以下のポートを開放する必要があります。
必須ポートについては必ず開放し、任意ポートについては必要に応じて設定してください。
コントロールパネルの「パケットフィルター設定」画面から、該当のポートを許可するルールを追加してください。
必須ポート
| 用途 | ポート番号 | 目的 |
|---|---|---|
| HTTP | TCP 80 | ブラウザやアプリにて非暗号化通信でアクセスするため。 ※Let's EncryptでSSL/TLSを設定する場合、SSL証明書の取得・更新に使用します |
| HTTPS | TCP 443 | ブラウザやアプリにて暗号化通信でアクセスするため。 |
任意ポート
| 用途 | ポート番号 | 目的 |
|---|---|---|
| SSH | TCP 22 | Tera TermなどのSSHクライアントを使ってサーバーに接続する場合。 |
パケットフィルターの設定は下記マニュアルからご確認ください。
パケットフィルターの設定について
3-2.接続情報の確認
3-3.ドメインの準備
WordPressは、Webブラウザまたは専用アプリを通じたアクセスが前提となるため、SSL/TLSによる暗号化通信(HTTPS)の利用を推奨します。
「XServerのサブドメイン」を使用する場合、選択したVPSのIPアドレスが、自動的に「Aレコード」に設定されます。
独自のドメインを使用する場合、DNSの「Aレコード」にVPSのIPアドレスを設定してください。
4.WordPressセットアップ手順
4-1.セットアップ手順
1.セットアップ画面にアクセス
「3-2.接続情報の確認」で確認した「WordPress URL」にアクセス後、「さあ、始めましょう!」ボタンをクリックしてください。

2.データベースの情報を入力
以下の情報を入力し、「送信」ボタンをクリックしてください。
| 項目名 | 説明 |
|---|---|
| データベース名 | wordpress |
| ユーザー名 | wpuser |
| パスワード | 「3-2.接続情報の確認」で確認した「MySQL WordPress user password」 |
| データベースのホスト名 | localhost |
| テーブル接頭辞 | wp_ |

「インストール実行」ボタンをクリックしてください。

3.サイトの設定を入力
「サイトのタイトル」や「ユーザー名」を設定し、「WordPress をインストール」ボタンをクリックしてください。
「ユーザー名」、「パスワード」は後述のログインで必要になりますので、大切に保管してください。

完了後、以下のメッセージが表示されます。
「ログイン」をクリックしてください。

先ほど設定した「ユーザー名」、「パスワード」を入力し、「ログイン」ボタンをクリックしてください。

ログインが成功すると、WordPressの管理画面が表示されます。

以上でWordPressのセットアップは完了です。
4-2.SSL/TLS設定
セキュリティ対策として、SSL/TLS(HTTPS)による暗号化通信の導入を推奨しています。
通信を暗号化することで、第三者による内容の盗聴や改ざんを防ぐことができます。
「Let's Encrypt」を使うことで、無料でSSL証明書の取得が可能です。
設定方法につきましては、以下のマニュアルをご参照ください。
Let's Encryptのインストール手順


