WordPressを構築してみよう

Ubuntu24.04 LTS Server で ローカル向けにWordPressを構築するために必要な作業を以下に示す。
ローカル(LANの範囲内)でアクセス可能なWordPressを構築する。
必要となるものは Apache2 , PHP , MySQL , WordPrerssになる。順を追って導入設定していく。

Apache2のインストールと設定

Apache2のインストールと設定
コマンド 内容
$ sudo apt update パッケージの情報(索引)を最新の状態に更新する。
$ sudo apt -y upgrade インストール済みのパッケージを最新バージョンに更新する。
$ sudo apt install apache2 Apache2のインストール。
$ sudo systemctl start apache2 サービス(デーモン)の起動をする。
$ sudo systemctl enable apache2 OS起動時に自動的にサービス(デーモン)を起動する設定を有効化する。
$ sudo a2enmod rewrite モジュールを有効化する。
(WordPressの記事のリンクを標準から数字ベースに変更するのに必要。)
設定ファイルの編集:
/etc/apache2/apache2.conf を以下のように編集する。

<Directory /var/www/html>
AllowOverride All
Require all granted
</Directory>
・Indexesの文字列を消去する。
ディレクトリ構造(フォルダの階層)を非表示にするため。
・AllowOverride All とする。
WordPressのパーマリンクを変更するために必要な設定。
・/etc/apache2/apache2.conf ファイルの一番下の行に以下を追記する。

ServerTokens Prod
ServerSignature Off
$ sudo systemctl restart apache2 Apache2サービス(デーモン)をリスタートし、変更した設定を反映する。
$ sudo systemctl status apache2 Apache2が正常に起動したか確認する。
実行結果:
● apache2.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/apache2.service; enabled; preset: enabled)
Active: active (running) since Mon 2025-05-05 11:45:23 UTC; 25s ago
Docs: https://httpd.apache.org/docs/2.4/
Process: 16359 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
Main PID: 16362 (apache2)
Tasks: 55 (limit: 4610)
Memory: 5.1M (peak: 5.2M)
CPU: 10ms
CGroup: /system.slice/apache2.service
├─16362 /usr/sbin/apache2 -k start
├─16364 /usr/sbin/apache2 -k start
└─16365 /usr/sbin/apache2 -k start

May 05 11:45:23 wordpress02 systemd[1]: Starting apache2.service - The Apache HTTP Server...
May 05 11:45:23 wordpress02 apachectl[16361]: AH00558: apache2: Could not reliably determine the server's fully qualifi>
May 05 11:45:23 wordpress02 systemd[1]: Started apache2.service - The Apache HTTP Server.
上記の実行結果。自動起動enable、Apache2サービス(デーモン) Active であること。

PHPのインストールと設定

PHPのインストールと設定
コマンド 内容
$ sudo apt update パッケージの情報(索引)を最新の状態に更新する。
$ sudo apt install php PHPのインストール。
$ sudo php -m | grep mysql なにも表示されない場合、MySQLの拡張機能がインストールされていない
$ sudo apt install php-mysqli php-mysql拡張機能をインストールする。
設定ファイルの編集:
/etc/php/8.3/apache2/php.ini を以下のように編集する。

変更前:
; extension=mysqli

変更後:
extension=mysqli

extension=mysqli という行がコメントアウトされていないことを確認する。
(行の先頭に ; がないこと)
Ubuntu 24.04 の場合、PHP veriosn 8.3 設定ファイル 914 行目
8.xのxは今後アップデートにより変わってくる部分なので都度対応すること。
$ sudo systemctl restart apache2 Apache2サービス(デーモン)をリスタートし、変更した設定を反映する。
$ sudo systemctl status apache2 Apache2が正常に起動したか確認する。
実行結果:
● apache2.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/apache2.service; enabled; preset: enabled)
Active: active (running) since Mon 2025-05-05 12:10:34 UTC; 4s ago
Docs: https://httpd.apache.org/docs/2.4/
Process: 24113 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
Main PID: 24116 (apache2)
Tasks: 6 (limit: 4610)
Memory: 10.8M (peak: 11.0M)
CPU: 20ms
CGroup: /system.slice/apache2.service
├─24116 /usr/sbin/apache2 -k start
├─24118 /usr/sbin/apache2 -k start
├─24119 /usr/sbin/apache2 -k start
├─24120 /usr/sbin/apache2 -k start
├─24121 /usr/sbin/apache2 -k start
└─24122 /usr/sbin/apache2 -k start

May 05 12:10:34 wordpress02 systemd[1]: Starting apache2.service - The Apache HTTP Server...
May 05 12:10:34 wordpress02 apachectl[24115]: AH00558: apache2: Could not reliably determine the server's fully qualifi>
May 05 12:10:34 wordpress02 systemd[1]: Started apache2.service - The Apache HTTP Server.
上記の実行結果。自動起動enable、Apache2サービス(デーモン) Active であること。

MySQLのインストールとデータベースの作成

MySQLのインストールとデータベースの作成
コマンド 内容
$ sudo apt update パッケージの情報(索引)を最新の状態に更新する。
$ sudo apt install mysql-server MySQLをインストールする。
$ sudo systemctl start mysql インストール時にサービスはactiveな状態となる。アクティブでない場合、このコマンドを実行する。
$ sudo systemctl enable mysql インストール時にサービスは自動起動する状態となる。自動起動でない場合実行する。
$ sudo systemctl status mysql サービスの状態を確認する。
Apache2が正常に起動したか確認する。
$ sudo -i 一時的にルートユーザになる
# mysql -u root MySQLにログインする
> ALTER USER root@localhost identified by '大文字小文字数字記号パスワード'; ルートユーザのパスワードを設定する。
> CREATE DATABASE wordpress; WordPress用のデータベースを作成する。
> SHOW DATABASES; 作成したWordPress用のデータベースがあるか確認する。
> CREATE USER wpadmin@localhost IDENTIFIED WITH MYSQL_NATIVE_PASSWORD BY '大文字小文字数字記号パスワード'; データベースwordpressを操作するユーザをパスワードとともに作成する。
> GRANT ALL PRIVILEGES ON wordpress.* TO wpadmin@localhost; データベースのすべてのテーブルを、作成したユーザが編集することを許可する権限を与える。
> FLUSH PRIVILEGES; ユーザー権限に関連するキャッシュをリロードするために使われるSQLコマンド
> quit; MySQLの操作を終える(MySQLからログアウトする)
# exit ルートユーザの操作を終え一般ユーザの操作に切り戻す。

WordPressのインストール

WordPress のインストールと設定
コマンド 内容
$ wget https://ja.wordpress.org/latest-ja.tar.gz 最新版のワードプレスをダウンロードする。
$ gzip -d latest-ja.tar.gz gz圧縮を解凍する。
$ tar xvf latest-ja.tar tar archiveを展開する。(コマンド練習のため解凍と展開を個別に実施)
$ sudo cp -r wordpress/* /var/www/html/ 指定したディレクトリに、すべてのファイルをコピーする。(ワイルドカードで指定)
$ sudo ls -la /var/www/html/ ファイルの所有者を確認する。
$ sudo chown www-data:www-data /var/www/html/ -R ファイルの所有者を変更する。
rootからwww-dataに所有者を変更する。
$ sudo ls -la /var/www/html/ ファイルの所有者の変更確認。
$ sudo systemctl restart apache2 Apache2サービス(デーモン)をリスタートし、変更を反映する。

アクセスしてみよう

Webブラウザに Ubuntu 24.04 Server のIPアドレスとindex.phpを指定してアクセスする。
例: 192.168.100.21/index.php


一瞬で初期設定ページにリダイレクトされる。以下のページが表示されれば成功。
http://192.168.100.21/wp-admin/setup-config.php


さあ、始めましょう!ボタンを押下すると、以下の画面に遷移する。入力欄は次の通り入力する。
データベース名: wordpress (MySQLにログインして作成したデータベース名)
ユーザ名: wpadmin (MySQLにログインして作成したユーザ名)
パスワード: wpadmin のパスワード (ユーザ作成とともに作成した大文字小文字数字記号パスワード)
データベースのホスト名:localhost
テーブル接頭辞:wp_
入力をし終えたら送信ボタンを押下する。


送信ボタンを押下したら、次の画面に遷移する。ここでインストール実行ボタンを押下する。
この画面に遷移しない場合、パスワードの入力のし間違い、データベース名、データベースを操作するユーザ名等に誤りがないか確認する。


インストール実行ボタンを押下すると、サイトのタイトルなど必要情報を入力する画面に遷移する。ここではサイトを管理するユーザやそのユーザのパスワードを決定する。
一通り入力し終えたら、WordPressをインストールボタンを押下する。(パスワードなどログインに必要な情報はメモしておくこと。)


WordPressのインストールボタンを押下すると、以下の画面に遷移する。
WordPressのインストールが正常に完了したので、上で作成した管理者ユーザとパスワードでWordPressにログインする。


ログインの文字列(リンク)をクリックするとログイン画面に遷移する。
ログインユーザとパスワードを入力する。


ログインに成功すると、WordPressダッシュボード画面に遷移する。
新しい記事の投稿、記事の管理、ブログテーマ(背景など)のカスタマイズ、便利なプラグインの導入などこの画面で行う。


以上で構築は完了。
最後に、Apacheのデフォルトページ(It works!ページ)を次の通り名前を変更する。index.htmlファイルが設置してあるとそちらを優先してページを表示してしまうため。
$ sudo mv /var/www/html/index.html /var/www/html/index.html.back

外部に公開したい場合はルータやファイアウォールの設定やSSL証明書等の作成が必要になる。
今回はローカル(LANの範囲内)でアクセス可能なWordPressを構築した。記事をどんどん投稿してみよう!