IT・個人事業

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 statusApache FullALLOW になっていれば設定完了です。

4. MariaDB(データベース)を入れる

WordPressは記事や設定などをすべてデータベースに保存します。ここではMySQL互換のMariaDBを使います。

sudo apt install mariadb-server

こちらもインストール後に自動で起動します。続いて、初期状態のままだとセキュリティ的に緩いので、初期設定ウィザードを走らせます。

sudo mysql_secure_installation

対話形式でいくつか質問されます。だいたい次のように答えておけば安全側に倒せます。

  • Enter current password for root → 初期状態ではまだパスワード未設定なので、そのままEnter
  • Switch to unix_socket authentication?Y(OSのユーザー認証を使う、推奨)
  • Change the root password?n(unix_socket認証を使うなら不要)
  • 匿名ユーザーの削除/リモートrootログインの禁止/テストDBの削除/権限のリロード → すべて Y
最近のUbuntuでは、データベースのrootは「パスワード」ではなく「OSのroot権限(sudo)」でログインする方式が標準です。そのため `mysql -u root -p` ではなく `sudo mysql` でログインします。ここでつまずいた話は別記事「UbuntuにMySQLをインストールしたもののrootログインでひっかかった」にもまとめています。

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 を有効にする肝の部分です。nanoCtrl + XYEnter の順で保存します。

作った設定を有効化し、URL書き換えに必要な rewrite モジュールを有効にして、Apacheを再起動します。

sudo a2ensite wordpress.conf
sudo a2enmod rewrite
sudo apache2ctl configtest
sudo systemctl restart apache2

configtestSyntax 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化 しておくことを強くおすすめします。

参考にした公式ドキュメント

PR
サーバー選びで迷っているなら ConoHa WING

私がこのブログで使っているレンタルサーバーです。公式が「サーバー処理速度 国内No.1」をうたうとおり表示が速く、初期費用は無料。WordPressの簡単セットアップも使えるので、検証用の環境をさっと用意したいときにも便利です。

ConoHa WINGを見てみる