はじめに
WordPressは多くの場合Apacheで構築されており情報もネット上に多く存在します(このサイトもApacheで構築されています)。ただ、Nginxで構築したいと思い、試してみましたのでよかったら参考にしてください。
環境
- OS: Ubuntu 24.04
- Webサーバ: Nginx 1.24.0
- PHP: PHP 8.3.6
- DBサーバ: MariaDB 10.11.8
- WordPress: 6.7.1
手順
準備
準備としてApacheがインストールされている場合アンインストールします。
sudo apt remove apache2 -y
sudo apt purge apache2 -y
上記のコマンドを実行し、準備は完了です。
Nginxのインストールと設定
さて、今回の主役となるNginxをインストールします。
sudo apt install nginx -y
上記のコマンドを実行し、インストールは完了です。ブラウザからサーバーへアクセスし以下のような画面になることを確認してください。

次にNginxの設定を行います。今回は何となくファイルを分けてみます。
sudo vim /etc/nginx/conf.d/upload_size.conf
上記のコマンドでファイルを開きます。テキストエディターは好きなものをお使いください。(本記事ではVimを使用します。)
server {
client_max_body_size 32M;
}
上記の内容を追加して保存します。
設定ファイルに問題がないか以下のコマンドで確認してください。
sudo nginx -t
問題なければ
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
のようになると思います。
下記のコマンドでNginxを再読み込みします。
sudo nginx -s reload
PHPのインストールと設定
WordPressを動かすのに必要なPHPをインストールします。
sudo apt install php -y
バージョンを確認:
php -v
バージョンが8.3.xであることを確認してください。(Ubuntu24.04はデフォルトで8.3がインストールされるはずです。)
sudo apt install php-fpm php-mbstring php-mysql php-curl php-dom php-imagick php-xml php-zip -y
WordPressに必要なモジュールや推奨のモジュールを上記のコマンドでインストールします。
次に設定を行います。
sudo vim /etc/php/8.3/fpm/php.ini
ファイルを開き下記の項目を探し、書き換えてください。このファイルは2000行ほどあり、項目を探すのは少々大変です。
memory_limit = 256M #約445行目
post_max_size = 32M #約713行目
upload_max_filesize = 32M #約865行目
これが完了したらNginxの設定ファイルをもう一度開きます。
sudo vim /etc/nginx/sites-available/default
server {
listen 80 default_server;
listen [::]:80 default_server;
# SSL configuration
#
# listen 443 ssl default_server;
# listen [::]:443 ssl default_server;
#
# Note: You should disable gzip for SSL traffic.
# See: https://bugs.debian.org/773332
#
# Read up on ssl_ciphers to ensure a secure configuration.
# See: https://bugs.debian.org/765782
#
# Self signed certs generated by the ssl-cert package
# Don't use them in a production server!
#
# include snippets/snakeoil.conf;
root /var/www/html;
# Add index.php to the list if you are using PHP
index index.php index.html index.htm index.nginx-debian.html;
server_name _;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
# pass PHP scripts to FastCGI server
#
location ~ \.php$ {
include snippets/fastcgi-php.conf;
# With php-fpm (or other unix sockets):
fastcgi_pass unix:/run/php/php8.3-fpm.sock;
}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}
上記のように変更してください。
変更点:
index.phpを上記の23行目に追加(実際のファイルの行数とは異なります。)
location ~ .php$…のコメントアウトを外し上記のように変更。
問題ないか確認してリロード
sudo nginx -t
sudo nginx -s reload
MariaDBのインストールと設定
今回はデータベースサーバにMariaDBを使用します。
sudo apt install mariadb-server -y
MariaDBをインストールしたら初期設定を行います。
sudo mysql_secure_installation
上記のコマンド実行し、メッセージにそって設定します。初期パスワードはないのでそのままEnterをおしてください。そのあとは基本”y”で問題ないと思います。完了したら下記のコマンドを実行してください。
sudo mysql -u root -p
先ほど設定したパスワードを入力し、ログインします。以下のSQLを実行しますが、太字の部分は適宜変更してください。
CREATE USER 'user'@'localhost' IDENTIFIED BY 'password';
CREATE DATABASE wp CHARACTER SET UTF8 COLLATE UTF8_BIN;
GRANT ALL PRIVILEGES ON wp .* TO 'user'@'localhost';
quit;
上記のSQLを実行し、ユーザー、データベースを作成しユーザに権限を付与します。以上でデータベースの設定は終了です。
WordPressのインストールと設定
cd /var/www/html
sudo wget https://wordpress.org/latest.tar.gz
sudo tar -xzvf latest.tar.gz
sudo chown -R www-data:www-data /var/www/html/wordpress -R
上記のコマンドを実行しWordPressをダウンロード、解凍、権限付与を行います。
ここまで終わったら、サーバーにアクセスします。「サーバーのアドレス/wordpress」にアクセスします。言語選択画面になるので日本語を選択して「次へ」

「さあ、始めましょう!」をクリック。

データベースの情報を入力して「送信」を押します。(データベースの情報は記事通りにすれば以下のようになります。)

そのあとはページに従いサイトのタイトルとユーザー、パスワードを設定してWordPressのインストールは完了です!
おわりに
お疲れ様でした。ここまで書いておいてなんですがApacheのほうが楽ですね…
最後まで読んでいただきありがとうございました。
コメント