はじめに
こんにちは.ネットワークエンジニアの「はむ」です.
前回は,EC2 とオンプレサーバ間で拠点間 VPN を構築する方法を紹介しました.今回は,オンプレサーバである自宅サーバに WordPress をインストールする方法を紹介します.
WordPress のインストール方法
WordPress をインストールする前に,まず Apache,PHP,MariaDB をインストールする必要があります.また,各ソフトウェアをインストールする前に,タイムゾーンを変更します.
今回の設定では全て root 権限で作業するため,最初に root ユーザにログインしておきます.
$ sudo su - タイムゾーンを変更
タイムゾーンを Asia/Tokyo に変更します.
# timedatectl set-timezone Asia/Tokyoパッケージを更新
apt を使ってソフトウェアをインストールする前に,パッケージリストを最新版に更新し,インストール済みのパッケージを最新バージョンにアップグレードします.
# apt -y update && apt -y upgradeApache をインストール
Apache をインストールした後,システムの再起動後も自動で Apache が起動するように,systemctl enable で有効化します.Apache を有効化した後は,Apache を起動します.
# apt -y install apache2
# systemctl enable apache2
# systemctl start apache2PHP をインストール
PHP の最新バージョンをインストールします.php の後に何もバージョンを指定しなければ現時点での php の最新バージョンが指定されます.もし最新以外のバージョンをインストールしたい場合は,php7.4 や php7.4-mysql のように php の後にインストールしたいバージョンを指定します.
# apt -y install php php-mysqlMariaDB をインストール
mariaDB の最新バージョンをインストールします.現時点 (2024 年 7 月 30 日現在) では 10.11.8 が最新バージョン.インストールした後は Apache と同様に,システムの再起動後も自動で MariaDB が起動するように,systemctl enable で有効化する.MariaDB を有効化した後は,MariaDB を起動します.
# apt -y install mariadb-server mariadb-client
# systemctl enable mariadb
# systemctl start mariadbWordPress をインストール
各ソフトウェアをインストールしたら,いよいよ WordPress をインストールします.Apache サーバの公開用ディレクトリに移動後,wget/tar コマンドで最新バージョンの WordPress をダウンロード・インストールします.
インストール後は,公開用ディレクトリの所有者を www-data に変更します.
# cd /var/www/html
# wget https://ja.wordpress.org/latest-ja.tar.gz
# tar xvf latest-ja.tar.gz
# chown -R www-data:www-data .WordPress 用データベースを作成
最後には,Wordpress とデータベースを接続するための設定をします.mariadb コマンドで MariaDB Monitor に入り,各コマンドを実施します.
まず,CREATE DATABASE でデータベースを作成します.以下の場合では wordpressDB がデータベース名となります.データベースの作成後は,全ての権限を持つユーザを作成・権限付与します.以下の場合では,wordpressUser がユーザ名,password がパスワードとなります,
# mariadb
> CREATE DATABASE wordpressDB DEFAULT CHARACTER SET utf8;
> GRANT ALL ON wordpressDB.* TO wordpressUser@localhost IDENTIFIED BY 'password';
> FLUSH PRIVILEGES;Web Server と DB Server を分離
これまでは,Apache と MariaDB を同じサーバ上で実行することを前提に説明してきました.しかし,セキュリティ上の向上やスケーラビリティ,可用性の観点から Web Server と DB Server は分けて,DB Server には外部から直接アクセスできないようにする構成にする方が良い場合もあります.
そこで,DB Server を Web Server から切り離して,DB Server から Web Server にアクセスできるようにするための設定方法を説明します.
WordPress 用データベースを作成
ここでは,DB Server 上で作業します.Web Server 上では何も設定しないので,そのままの設定で問題ありません.
まずは,先ほどと同じように WordPress 用データベースを作成します.
# mariadb
> CREATE DATABASE wordpressDB DEFAULT CHARACTER SET utf8;データベースを作成した後も,先ほどと同じように,全ての権限を持つユーザを作成・権限付与しますが,localhost の部分だけ,Web Server のホスト名または IP アドレスを指定します.以下の場合では,10.0.1.2 が Web Server の IP アドレスなので,localhost の代わりに 10.0.1.2 を指定しています.
> GRANT ALL PRIVILEGES ON wordpressDB.* TO 'wordpressUser'@'10.0.1.2' IDENTIFIED BY 'password';
> FLUSH PRIVILEGES;WordPress 用のデータベース・ユーザを作成した後は,/etc/mysql/mariadb.conf.d/50-server.cnf ファイル中の bind-address を以下のように 127.0.0.1 から 0.0.0.0に変更します.
[mysqld]
# bind-address = 127.0.0.1
bind-address = 0.0.0.0編集後は mariaDB を再起動します.
# systemctl restart mariadbWordPress の初期設定
WordPress を利用するためのインストールは一通り完了しました.ここからは,Wordpress を利用するための初期設定について説明していきます.
Web ブラウザで XXX.XXX.XXX.XXX/wordpress にアクセスすると,Wordpress の初期設定画面が表示されるので,”さあ、始めましょう!” をクリックします.遷移後の画面では,以下の情報を入力します.
| データベース名 | DB Server で作成したデータベース名 |
| ユーザ名 | DB Server で作成したユーザ名 |
| パスワード | DB Server で作成したユーザのパスワード |
| データベースのホスト名 | localhost (Web Server と DB Server が同一サーバの場合) DB Server の IP アドレス (Web Server と DB Server が別サーバの場合) |
| テーブル接頭辞 | wp_ |
全て正しく入力した後,送信ボタンを押すと,ダッシュボードにログインすることができます.
最後に
いかがだったでしょうか?簡単に説明しましたが,Wordpress の設定過程では大抵の場合,エラーが多数発生します.エラーの発生内容は人それぞれ異なる可能性があり,網羅的に説明することはできないため今回の説明では省かせていただきましたが,エラー内容をきちんと読んで 1 つずつ対処すれば必ずエラーは解消されるはずです.めげずに頑張ってください!
コメント