WordPressを構築してみよう
Ubuntu24.04 LTS Server で ローカル向けにWordPressを構築するために必要な作業を以下に示す。
ローカル(LANの範囲内)でアクセス可能なWordPressを構築する。
必要となるものは Apache2 , PHP , MySQL , WordPrerssになる。順を追って導入設定していく。
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のインストールと設定
| コマンド | 内容 |
|---|---|
| $ 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のインストールとデータベースの作成
| コマンド | 内容 |
|---|---|
| $ 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のインストール
| コマンド | 内容 |
|---|---|
| $ 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を構築した。記事をどんどん投稿してみよう!