Ubuntu 26.04 LTSにWordPressをインストールする手順
※ 本記事にはアフィリエイト広告(Amazonアソシエイト・楽天アフィリエイト等)が含まれています。
数年前に書いたUbuntu 20.04向けの記事を、最新環境に合わせて全面的に書き直しました。ここでは最新の長期サポート版である Ubuntu 26.04 LTS(Resolute Raccoon) を前提に、WordPressをゼロからインストールしていきます。1つ前のLTSである Ubuntu 24.04 LTS でも、ほぼ同じ手順でそのまま動きます。
構成は昔ながらの王道である Apache + MariaDB + PHP の組み合わせにしました。1台のサーバーの上に「Webサーバー(Apache)」「データベース(MariaDB)」「プログラム実行環境(PHP)」の3つを用意して、その上でWordPressを動かす、というイメージです。
前提と動作環境
- Ubuntu 26.04 LTS もしくは 24.04 LTS(サーバー版・デスクトップ版どちらでも可)
sudoが使える一般ユーザーでログイン済みであること- WordPressが求めるのは PHP 8.3 以上/MariaDB 10.6 以上(またはMySQL 8.0 以上) です。Ubuntu 26.04 / 24.04 の標準パッケージはこの条件を満たしているので、追加リポジトリなしでそのまま進められます。
1. パッケージ情報を最新にする
まずは「今このシステムでインストールできるパッケージの一覧」を最新化します。ソフトを入れる前の準備運動のようなものです。
sudo apt update
apt はUbuntuのパッケージ管理ツール、update は「どんな新しいパッケージが配布されているか」の情報だけを取りに行くコマンドです。実際のアップグレードはまだ行いません。ついでに導入済みパッケージも新しくしておきたい場合は次を実行します。
sudo apt upgrade
2. Apache(Webサーバー)を入れる
ブラウザからのアクセスを受け取り、WordPressのページを返す役割がWebサーバーです。ここではApacheを使います。
sudo apt install apache2
インストールが終わると、Apacheは自動的に起動し、サーバー起動時に自動立ち上げされる設定にもなります。念のため状態を確認しておきましょう。
systemctl status apache2
active (running) と表示されていればOKです。この時点でブラウザから http://サーバーのIPアドレス/ にアクセスすると、Apacheの初期ページが表示されます。確認できたら q で抜けます。
3. ファイアウォール(UFW)で通信を許可する
UFWを有効にしている場合は、外部からのWebアクセス(HTTP/HTTPS)を通す設定が必要です。有効にしていない場合はこの手順は飛ばして構いません。
sudo ufw allow in "Apache Full"
sudo ufw status
Apache Full はHTTP(80番ポート)とHTTPS(443番ポート)の両方をまとめて許可するプロファイル名です。ufw status で Apache Full が ALLOW になっていれば設定完了です。
4. MariaDB(データベース)を入れる
WordPressは記事や設定などをすべてデータベースに保存します。ここではMySQL互換のMariaDBを使います。
sudo apt install mariadb-server
こちらもインストール後に自動で起動します。続いて、初期状態のままだとセキュリティ的に緩いので、初期設定ウィザードを走らせます。
sudo mysql_secure_installation
対話形式でいくつか質問されます。だいたい次のように答えておけば安全側に倒せます。
Enter current password for root→ 初期状態ではまだパスワード未設定なので、そのままEnterSwitch to unix_socket authentication?→Y(OSのユーザー認証を使う、推奨)Change the root password?→n(unix_socket認証を使うなら不要)- 匿名ユーザーの削除/リモートrootログインの禁止/テストDBの削除/権限のリロード → すべて
Y
5. WordPress用のデータベースとユーザーを作る
データベースにログインします。
sudo mysql
MariaDB [(none)]> というプロンプトが出たら、以下を1行ずつ実行します。まずはWordPress専用のデータベースを作ります。
CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
文字コードは、絵文字を含む多言語を正しく扱える utf8mb4 を指定しています(昔の記事の utf8 より新しい推奨設定です)。
次に、そのデータベースだけを操作できる専用ユーザーを作ります。root権限をWordPressに直接持たせないための、安全のための分離です。
CREATE USER 'wpuser'@'localhost' IDENTIFIED BY '任意の強いパスワード';
wpuser とパスワードは自分の好きなものに置き換えてください(あとで wp-config.php に書きます)。そして、このユーザーに wordpress データベースへの全権限を与えます。
GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost';
FLUSH PRIVILEGES;
FLUSH PRIVILEGES は権限の変更をその場で反映させるおまじないです。終わったらデータベースから抜けます。
EXIT;
6. PHPと必要な拡張機能を入れる
WordPress本体はPHPで書かれています。ApacheからPHPを実行できるようにするモジュールと、データベース接続用の拡張、さらにWordPressがよく使う拡張機能をまとめて入れます。
sudo apt install php libapache2-mod-php php-mysql php-curl php-gd php-mbstring php-xml php-zip php-intl php-imagick
バージョン番号をあえて指定していないので、そのUbuntuの標準PHP(26.04ならPHP 8.x系、24.04ならPHP 8.3)が入ります。入ったバージョンは次で確認できます。
php -v
PHPモジュールを読み込ませるためにApacheを再起動します。
sudo systemctl restart apache2
7. .htaccess を有効にする(パーマリンク対応)
WordPressの「パーマリンク(URLの形)」機能は .htaccess というファイルで動きます。Apacheはデフォルトで .htaccess を無視するので、対象ディレクトリだけ許可します。WordPress専用の設定ファイルを作ります。
sudo nano /etc/apache2/sites-available/wordpress.conf
エディタが開いたら、次の内容を貼り付けます。
<VirtualHost *:80>
ServerName example.com
DocumentRoot /var/www/wordpress
<Directory /var/www/wordpress>
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/wordpress_error.log
CustomLog ${APACHE_LOG_DIR}/wordpress_access.log combined
</VirtualHost>
ServerName は自分のドメイン(なければサーバーのIPアドレス)に書き換えてください。AllowOverride All が .htaccess を有効にする肝の部分です。nano は Ctrl + X → Y → Enter の順で保存します。
作った設定を有効化し、URL書き換えに必要な rewrite モジュールを有効にして、Apacheを再起動します。
sudo a2ensite wordpress.conf
sudo a2enmod rewrite
sudo apache2ctl configtest
sudo systemctl restart apache2
configtest で Syntax OK と出れば設定ファイルに文法エラーはありません。デフォルトの初期サイトを無効にしたい場合は sudo a2dissite 000-default.conf も実行しておきます。
8. WordPress本体をダウンロードして配置する
一時ディレクトリで最新版をダウンロードし、展開します。
cd /tmp
curl -O https://wordpress.org/latest.tar.gz
tar xzvf latest.tar.gz
latest.tar.gz は常に最新版が落ちてくるURLです。展開すると wordpress フォルダができるので、これを先ほど DocumentRoot に指定した場所へ移動します。
sudo mv wordpress /var/www/wordpress
9. ファイルの所有者と権限を整える
Webサーバー(Apache)は www-data というユーザーで動いています。WordPressがファイルを読み書きできるように、所有者を www-data に変え、適切な権限を設定します。
sudo chown -R www-data:www-data /var/www/wordpress
sudo find /var/www/wordpress -type d -exec chmod 755 {} \;
sudo find /var/www/wordpress -type f -exec chmod 644 {} \;
ディレクトリは 755、ファイルは 644 と分けています。昔の記事のように全部を一律 755 にするより、この分け方のほうが安全でおすすめです。
10. wp-config.php を用意する
WordPressの設定ファイルを、サンプルからコピーして作ります。
cd /var/www/wordpress
sudo cp wp-config-sample.php wp-config.php
セキュリティキー(認証用のランダムな文字列)を公式APIから取得しておきます。表示された内容をコピーしておきましょう。
curl -s https://api.wordpress.org/secret-key/1.1/salt/
設定ファイルを編集します。
sudo nano wp-config.php
データベース情報の部分を、手順5で作った値に書き換えます。
define( 'DB_NAME', 'wordpress' );
define( 'DB_USER', 'wpuser' );
define( 'DB_PASSWORD', '手順5で決めたパスワード' );
define( 'DB_HOST', 'localhost' );
さらにファイル中ほどの define('AUTH_KEY', ...) から始まる8行を、先ほど取得したセキュリティキーの内容でまるごと置き換えます。保存して閉じます。
11. ブラウザでインストールを完了する
最後に、ブラウザで http://サーバーのIPアドレス/(またはドメイン)にアクセスします。WordPressのセットアップ画面が表示されるので、サイト名・管理者ユーザー名・パスワード・メールアドレスを入力すれば完了です。
お疲れさまでした。ここまでで、自前のサーバー上でWordPressが動く状態になりました。公開して運用する場合は、この後 Let’s Encrypt などでHTTPS化 しておくことを強くおすすめします。
参考にした公式ドキュメント
私がこのブログで使っているレンタルサーバーです。公式が「サーバー処理速度 国内No.1」をうたうとおり表示が速く、初期費用は無料。WordPressの簡単セットアップも使えるので、検証用の環境をさっと用意したいときにも便利です。
ConoHa WINGを見てみる