作成日: 2021-05-02
WordPress のインストール方法 (Debian)
WordPress のインストール方法を解説する。バージョンや環境によっては、ここに記述する手順では正常にインストールできない可能性がある点に留意すること。
概要
OS | Debian 10 (Debian 系 OS) |
メモリ | 1 GB 以上を推奨 |
ネットワーク | インターネット接続あり |
その他 | sudo 使用可能 ドメイン取得済み SSH などでサーバーにアクセス可能 |
この手順では、ウェブサーバーソフトウェアに Apache、データベースソフトウェアに MariaDB を使用、Let’s Encrypt から TLS 証明書を取得して HTTPS 化も行う。
また、設定者 (あなた) が Linux の基礎知識を有しており、コマンドの実行方法や DNS の設定方法を理解していることを前提とする。
所要時間は、30 分 〜 2 時間程度を想定している。
インストール手順
タイムゾーンを日本に設定
sudo timedatectl set-timezone Asia/Tokyo
アップデートと Apache のインストール・起動
以下のコマンドを実行後、ウェブブラウザでサーバーの IP アドレスにアクセスする (例: http://[IP アドレス]
)。
sudo apt update && sudo apt upgrade
sudo apt install apache2
sudo systemctl enable apache2
sudo systemctl start apache2
正常にインストール・起動できていれば Apache のデフォルトページが表示される。
デフォルトページが表示されない場合、ファイアウォールなどで 80 番、443 番ポートへの接続がブロックされている可能性がある。その場合は 80 番、443 番ポートへの接続を許可するよう設定する。
Apache の最低限のセキュリティ設定を行う
- Apache インストール時に追加される
index.html
を削除。 apache2.conf
の「Options Indexes FollowSymLinks
」を「Options FollowSymLinks
」に変更し、ディレクトリ内容一覧表示を無効化。apache2.conf
に「TraceEnable off
」を追記し、HTTP TRACE メソッドを無効化。apache2.conf
に「ServerTokens ProductOnly
」と「ServerSignature off
」を追記し、Apache バージョンを秘匿。
など
sudo rm /var/www/html/index.html
sudo cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf.org
sudo nano /etc/apache2/apache2.conf
HTTPS 化
2021 年現在、HTTPS 化されていないウェブサイトは一般的に安全ではないとみなされる。ウェブサイトの HTTPS 化は無料でしかも数分で行なえる。
EFF の Certbot instructions ページの手順に従い以下のコマンドで、非常に簡単にウェブサイトを HTTPS 化できる。以下のコマンド実行前に DNS の設定を変更し、ドメイン名を当該サーバーの IP アドレスに関連付けておく。
※ Let’s Encrypt は、無料で TLS 証明書を発行している米国の非営利団体。Certbot は、EFF が開発した Let’s Encrypt の TLS 証明書を簡単に取得・更新できるオープンソースソフトウェア。
sudo apt install snapd
sudo snap install core; sudo snap refresh core
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot
sudo certbot --apache
sudo certbot --apache
の実行後、いくつかの設定を質問形式で行う。TLS 証明書発行先のドメイン名は、確実に正しく入力する必要がある。
- TLS 証明書の自動更新が正常に動作しなかった場合などに使用する通知用メールアドレスを入力。
- 利用規約を確認し同意。
- EFF からのニュースレター (英語) を購読するか選択。
- TLS 証明書発行先のドメイン名を入力。
Certbot による TLS 証明書の自動更新が機能するかを試したい場合は、以下のコマンドを実行。
sudo certbot renew --dry-run
PHP のインストール
WordPress の動作には PHP が必須である。基本的に PHP の最新バージョンをインストールする。
sudo apt install php7.4 php7.4-mysql
MariaDB のインストール
sudo apt install mariadb-server mariadb-client
WordPress のダウンロード・展開
/var/www/html に最新バージョンの WordPress をダウンロードし展開。
cd /var/www/html
sudo wget https://ja.wordpress.org/latest-ja.tar.gz
sudo tar xvf latest-ja.tar.gz
sudo chown -R www-data:www-data .
cd wordpress && sudo mv * .. && cd .. && sudo rm -r wordpress
MariaDB の設定
4gMb6wxt
は他の安全なパスワードに置き換える。
sudo mariadb
CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8;
GRANT ALL ON wordpress.* TO wordpress@localhost IDENTIFIED BY '4gMb6wxt';
FLUSH PRIVILEGES;
exit
ウェブブラウザから WordPress にアクセスし設定
ウェブブラウザで https://[ドメイン名]
にアクセスすると設定画面が表示される。手順にしたがって設定する。
途中、データベースのパスワードの入力を求められるので、設定したパスワードを入力。
また、設定後様々な PHP モジュールが不足しているとエラーや警告が表示されるので、それらをすべてインストールする。
完了
以上で、WordPress のインストールが完了。WordPress で記事やページの作成・編集・公開などが行える。
追記: セキュリティプラグイン「SiteGuard WP Plugin」
SiteGuard WP Plugin は比較的簡単に使える WordPress のセキュリティプラグイン。ログインページの URL の変更や画像認証の追加などが簡単に行える。
インストールして有効化すると自動でログインページの URL が自動で https://[ドメイン名]/login_[5 桁の数字]
の様に置き換わる。