Skip to content

Ubuntu 24.04.01LTS へ WordPress をインストールする

Ubuntu 24.04LTS へ WordPress をインストールする手順をメモしておきます。

検証環境

対象 バージョン
Ubuntu 24.04.01
nginx 1.24.0
mariadb-server 10.11.8
php 8.3.6

Nginx + PHP + MariaDB のインストール

WordPress を動作させる際に必要になる為、下記をインストールします。

sudo apt -y install \
  mariadb-server \
  nginx \
  php8.3 \
  php8.3-fpm \
  php8.3-mbstring \
  php8.3-mysql \
  php-pear

Nginx の設定

Nginx の設定で PHP を有効化しておきます。 設定ファイルは /etc/nginx/sites-available/default にあるので、以下のように修正します。

変更後

/etc/nginx/sites-available/default
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
server {
    listen 80 default_server;
    listen [::]:80 default_server;
    root /var/www/html;
    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;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.3-fpm.sock;
    }
}

修正が完了したら nginx と php-fpm を再起動して設定変更を反映します。

sudo systemctl reload php8.3-fpm nginx

MariaDB の初期設定

MariaDB に WordPress 用の設定を行います。 mysql コマンドで MariaDB へ接続し、下記コマンドを実行して行きます。

  1. create database wordpress;
  2. grant all privileges on wordpress.* to wpuser@localhost identified by 'wppass';
  3. flush privileges;
$ sudo mysql
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 38
Server version: 10.11.7-MariaDB-2ubuntu2 Ubuntu 24.04

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> create database wordpress;
Query OK, 1 row affected (0.024 sec)

MariaDB [(none)]> grant all privileges on wordpress.* to wpuser@localhost identified by 'wppass';
Query OK, 0 rows affected (0.042 sec)

MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.012 sec)

MariaDB [(none)]> exit;
Bye

WordPress のインストール

WordPress をインストールしていきます。

Step.1

Nginx デフォルトのインデックスファイルは削除しておきます。

rm /var/www/html/index.nginx-debian.html

Step.2

最新の WordPress を取得し、展開します。

cd ~/
curl -LO https://ja.wordpress.org/latest-ja.zip
unzip latest-ja.zip
mv wordpress/* /var/www/html/
mv /var/www/html/wp-config-sample.php /var/www/html/wp-config.php
chown -R www-data:www-data /var/www/html/

Step.3

ブラウザで WordPress にアクセスします。 今回の場合は Nginx のドキュメントルートに WordPress を配置している為、http://ADDRESS/ へアクセスします。

Step.4

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

file

Step.5

データベース関連のパラメータ入力を促されます。

file

MariaDB 上にデータベースを作成した際の値を入力し、送信 をクリックします。

file

Step.6

インストール実行 をクリックします。

file

Step.7

WordPress のパラメータ入力を促されます。

file

任意の値を入力したら WordPress をインストール をクリックします。

file

Step.8

ログイン をクリックします。

file

Step.9

インストール中に作成したユーザ名とパスワードを入力し、ログイン をクリックします。

file

Step.10

WordPress へログイン出来ました。 これでインストールは完了です。

file

参考

デフォルトの /etc/nginx/sites-available/default

/etc/nginx/sites-available/default
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
##
# You should look at the following URL's in order to grasp a solid understanding
# of Nginx configuration files in order to fully unleash the power of Nginx.
# https://www.nginx.com/resources/wiki/start/
# https://www.nginx.com/resources/wiki/start/topics/tutorials/config_pitfalls/
# https://wiki.debian.org/Nginx/DirectoryStructure
#
# In most cases, administrators will remove this file from sites-enabled/ and
# leave it as reference inside of sites-available where it will continue to be
# updated by the nginx packaging team.
#
# This file will automatically load configuration files provided by other
# applications, such as Drupal or Wordpress. These applications will be made
# available underneath a path with that package name, such as /drupal8.
#
# Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples.
##

# Default server configuration
#
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.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/php7.4-fpm.sock;
    #   # With php-cgi (or other tcp sockets):
    #   fastcgi_pass 127.0.0.1:9000;
    #}

    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    #location ~ /\.ht {
    #   deny all;
    #}
}


# Virtual Host configuration for example.com
#
# You can move that to a different file under sites-available/ and symlink that
# to sites-enabled/ to enable it.
#
#server {
#   listen 80;
#   listen [::]:80;
#
#   server_name example.com;
#
#   root /var/www/example.com;
#   index index.html;
#
#   location / {
#       try_files $uri $uri/ =404;
#   }
#}