はてなブログからWordPressにサイトを移行対応中です。まだ画像の表示やレイアウトの崩れがありますのでご了承下さい。

UbuntuにWordPressをインストールする方法

この記事では、UbuntuにWordPressをインストールする方法をご紹介します。Wordpressのダウンロードからページの表示までの流れを実際に行っていきます。

スポンサーリンク
目次

関連記事

以下のUbuntu関連の設定記事のまとめのような内容になります。細かい不明点があれば過去の投稿を参照ください。

WordPressのダウンロード

以下の公式サイトからWordPressをダウンロードします。

『Get WordPress』をクリックします。

ダウンロードボタンを右クリックしてリンク先のURLをコピーするか、そのまま通常クリックでzipファイルをダウンロードします。

ここではURLをコピーし、wgetコマンドでダウンロードする手順で進めます。

$sudo apt install -y wget

ダウンロード用ディレクトリを作ります。

$ cd ~/
$ mkdir downloads

作成したディレクトリの中にファイルをダウンロードします。

$ cd downloads
$ wget https://wordpress.org/latest.zip

解凍します。解凍すると『wordpress』というディレクトリが作成されます。

$ unzip latest.zip

Nginxの設定

ドキュメントルートを作成します。

$ sudo mkdir /var/www/wordpress.hitori-josys.me

Nginxの設定ファイルを作成し、以下の内容を書き込みます。

$ sudo vi /etc/nginx/sites-available/wordpress.hitori-josys.me
server {
    listen 80;
    server_name wordpress.hitori-josys.me;
    root /var/www/wordpress.hitori-josys.me;
    access_log /var/log/nginx/wordpress.hitori-josys.me-access.log;
    error_log /var/log/nginx/wordpress.hitori-josys.me-error.log;
    #return 301 https://$host$request_uri;     location / {         index index.html index.htm;     } }

SSL証明書の作成

冒頭の関連記事にある『UbuntuでLegoを使ってSSL証明書を作成する方法』で導入したLegoを使ってSSL証明書を作成します。<your ~>の箇所は自分の環境に置き換えてください。

sudo /usr/local/bin/lego --accept-tos \
    --path "/etc/lego" \
    --http \
    --http.webroot "<your document root>" \
    --domains "<your domain>" \
    --email "<your email>" \
    run

問題なく作成されれば以下のディレクトリに証明書が作成されます。

$ ls -la /etc/lego/certificates

PHP-FPMの設定

php-fpmの設定ファイルを開きます。

$ sudo vi /etc/php/7.4/fpm/pool.d/www.conf

Listenの設定内容をコピーします。

listen = /run/php/php7.4-fpm.sock

上記のイコール以降の値を、以下のnginxのfastcgi_passに後ほど反映させます。

fastcgi_pass unix:/run/php/php7.4-fpm.sock

公開用のNginx設定

先程作成したnginxの設定ファイルを以下の内容に置き換えます。

$ sudo vi /etc/nginx/sites-available/wordpress.hitori-josys.me
server {
    listen 80;
    server_name wordpress.hitori-josys.me;
    root /var/www/wordpress.hitori-josys.me;
    access_log /var/log/nginx/wordpress.hitori-josys.me-access.log;
    error_log /var/log/nginx/wordpress.hitori-josys.me-error.log;
    return 301 https://$host$request_uri;
}
server {
    listen 443 ssl;
    server_name wordpress.hitori-josys.me;
    root /home/www/wordpress.hitori-josys.me;
    access_log /var/log/nginx/wordpress.hitori-josys.me-access.log;
    error_log /var/log/nginx/wordpress.hitori-josys.me-error.log;
    location / {
        index index.php index.html index.htm;
    }
    location ~ \.(png|jpg|gif|ico|css|js)$ {
        index index.html;
        break;
    }
    location ~ \.php$ {
        fastcgi_pass unix:/run/php/php7.4-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
    ssl_certificate /etc/lego/certificates/wordpress.hitori-josys.me.crt;
    ssl_certificate_key /etc/lego/certificates/wordpress.hitori-josys.me.key;
}

設定が終わったら最初にダウンロードしたwordpressの本体をドキュメントルート内に移動させます。

$ sudo mv ~/downloads/wordpress /var/www/wordpress.hitori-josys.me/

ディレクトリがあるか確認します。

$ sudo ls -la /var/www/wordpress.hitori-josys.me

存在確認が終わったら所有者とグループを変更します。

$ sudo chown -R www-data:www-data wordpress

データベースの作成

mysqlにログインします。

$ mysql -u root -p

ブログ用のデータベースを作成します。

mysql> create database <database name>;

作成したデータベースに権限を割り当てます。以下はコマンド例です。<db ~>は自分の環境に合わせて書き換えてください。

mysql> grant all privileges on <db name>.* to <db user>@localhost identified by '<db password>';
Query OK, 0 rows affected, 1 warning (0.00 sec)

権限を反映します。

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysqlからログアウトします。

mysql> quit

サイトにアクセス

上記の設定が終わったら、今まで行った設定を反映します。まず、nginxの設定内容にエラーが出ないか確認します。

$ sudo nginx -t

問題なければ以下のコマンドでnginxとphp-fpmを再起動します。reloadでもOKですが念のため。

$ sudo systemctl restart nginx
$ sudo systemctl restart php7.4-fpm

実際にブラウザで設定したサイトにアクセスしてみます。WordPressのインストール画面が出ればOKです。

WordPressのセットアップ

『Let’s go!』をクリックして次に進みます。

先ほど作成したDB名、DBユーザー名、DBパスワードを入力して『Submit』をクリックします。

『Run the installation』をクリックしてインストールを開始します。

サイト名、WordPressの利用ユーザー名等を入力して『Install WordPress』をクリックします。

成功すると以下のような画面が表示されます。ログインページに進みましょう。

作成したユーザーでログインします。

サイドメニューの『Settings』から『General』を選択します。

日本語への切り替えとタイムゾーンの設定を行い、下にスクロールして設定内容を保存します。

左上のサイトタイトルにマウスを合わせると『サイトを表示』と表示されるのでクリックします。

来訪者向けのフロントサイトが表示されました。

ところがブラウザのURLを見ると以下のように『/wordpress/』となっており、ちょっと不格好です。

あわせて読みたい

もう一度サイドメニューの『Settings』から『General』を選択します。上部に『サイトアドレス (URL)』という項目があるので、そこから『/wordpress』を削除して設定を保存します。

再度ターミナルでの作業です。WordPressのディレクトリに移動します。

$ cd /var/www/wordpress.hitori-josys.me/wordpress

その中にあるindex.phpをひとつ上の階層に移動します。

$ sudo mv index.php ../

index.phpを編集します。

$ sudo vi index.php

デフォルトでは以下のようになっているところを、

require __DIR__ . '/wp-blog-header.php';

この様に書き換えます。これで再度フロントサイトにアクセスすると末尾の『/wordpress』が消えているはずです。

require __DIR__ . '/wordpress/wp-blog-header.php';
この記事をシェア
  • URLをコピーしました!
目次