*本サイトはアフィリエイト広告を利用しています。

ConoHa VPSのUbuntu 20.04にWordPress公開環境を構築する方法を解説

サーバ・インフラ

ConoHa VPSのサポートページではConoHa教室と題して、
VPS申し込みからWordPress公開までの手順が丁寧に面白く解説されています。
ConoHa教室ではCentOS 7.4でWordPressを公開する環境構築が解説されています。

本記事では、
ConoHa VPSのUbuntu 20.04でWordPressを公開する環境を構築する方法を解説します。
私が実際に構築を行ってみた際に、
OSディストリビューションの違い等によりConoHa教室と手順が違った部分を重点的に説明します。

前提

下記のバージョンを使用してWordPress公開環境を構築します。

  • Ubuntu 20.04
  • Apache 2.4.41
  • MariaDB 10.3.31
  • PHP 7.4.3
  • WordPress 5.8.1

また、ConoHa VPSの申し込みとUbuntu 20.04のインストールは済んでいるものとします。

下の記事でConoHa VPSを1ヶ月無料クーポンを使って最安で始める方法を紹介しています。
ConoHa VPSの申し込みがまだの方はぜひご参考にしてください!

VPSの申し込み

ConoHa VPSアカウント登録後、
コントロールパネルから「サーバー追加」をクリックし、
イメージタイプUbuntu 20.04(64bit)を選択してVPSを申し込みます。

その他はConoHa教室の手順と違いありません。

Apacheのインストール

ConoHa教室ではインストールするためにyumコマンド使っていますが、
Ubuntuではaptというコマンドを使います。
また、httpdではなくapache2というアプリケーションをインストールします。

下記のコマンドで、パッケージリストを更新し、Apacheをインストールします。

# apt update
# apt install apache2

下のように聞かれた場合は、”Y”を入力してEnterを押します。

Do you want to continue? [Y/n] Y

システム起動時にApacheを自動起動するように設定します。

# systemctl enable apache2

Apacheのインストールと設定は以上です。

ファイアウォールの設定

Ubuntuでは、firewalldではなくufwコマンドを使ってファイアウォールを設定します。

最初にすべてのポートを拒否するように設定します。

root@VPS:~# ufw default deny

続いて、22番、80番、443番へのアクセスを許可します。
これはssh, http, httpsでのサーバへのアクセスを許可しています。

root@VPS:~# ufw allow 22/tcp
root@VPS:~# ufw allow 80/tcp
root@VPS:~# ufw allow 443/tcp

最後に、ufwを有効化します。

root@VPS:~# ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup
root@VPS:~# ufw status
Status: active

To                         Action      From
--                         ------      ----
22/tcp                     ALLOW       Anywhere
80/tcp                     ALLOW       Anywhere
443/tcp                    ALLOW       Anywhere
22/tcp (v6)                ALLOW       Anywhere (v6)
80/tcp (v6)                ALLOW       Anywhere (v6)
443/tcp (v6)               ALLOW       Anywhere (v6)

ファイアウォールの設定は以上です。

MariaDBのインストール

Ubuntuではyumではなく、aptというコマンドを使ってインストールします。

MariaDBをインストールし、システム起動時にMariaDBを自動起動するように設定し、
MariaDBを起動します。

# apt install mariadb-server
# systemctl enable mariadb
# systemctl start mariadb

続いて、mysql_secure_installationコマンドを使って、MariaDBの初期設定をします。
実行するコマンドと、それに続く対話の内容はConoHa教室と違いはありません。

# mysql_secure_installation

MariaDBのインストールと設定は以上です。

PHPのインストールと設定

Ubuntuでは、rpmではなくaptというコマンドを使ってインストールします。

# apt install php7.4 php7.4-mysql

下のように聞かれた場合は、”Y”を入力してEnterを押します。

Do you want to continue? [Y/n] Y

Apacheを再起動することで、インストールしたPHPを起動させます。

# systemctl restart apache2

ConoHa教室では、/etcディレクトリに設置されているphp.iniで設定されている、
“post_max_size”と”upload_max_filesize”の値を変更しています。

今回試したUbuntu 20.04の環境では、/etc/php/7.4/apache2に設置されているphp.iniを変更します。変更内容には違いはありません。

PHPのインストールと設定は以上です。

phpMyAdminのインストール

Ubuntuでは、yumではなくaptというコマンドを使います。

root@VPS:~# apt install phpmyadmin

インストールの途中、下のような画面が出てきます。
↑↓キーとSpaceキーを使って選択できるので、apache2を選択します。
Tabキーで<Ok>部分にカーソルが移ります。そこでEnterを押します。

続いて、phpmyadminの設定として、
dbconfig-commonを使ってデータベースを設定するか質問されます。
今回は後で手動で設定することにして、<No>を選択します。

続いて、phpmyadminの設定をします。
ConoHa教室ではphpMyAdminの設定ファイルである、
/etc/httpd/conf.d/に配置されているphpMyAdmin.confを編集しています。
Ubuntu 20.04の今回の環境では、/etc/phpmyadmin/に配置されているapache.confを編集します。

root@VPS:~# cd /etc/phpmyadmin/
root@VPS:/etc/phpmyadmin# vim apache.conf

先頭に”+”がある行が編集箇所です。3つの編集箇所を順に解説します。

編集箇所その1
“Require all granted”を追加します。
Ubuntu 20.04の今回の環境では、<Ifmodule mod_authz_core.>自体がなかったので、
<Ifmodule mod_authz_core.> も追加します。

編集箇所その2
Aliasの行を設定します。
設定内容はConoHa教室で説明されている通りです。

編集箇所その3
“SSLRequireSSL”を追加します。
これもConoHa教室で説明されている通りです。

+ #Alias /phpmyadmin /usr/share/phpmyadmin
+ Alias /phpMyAdminConoHa /usr/share/phpmyadmin

<Directory /usr/share/phpmyadmin>
      Options SymLinksIfOwnerMatch
      DirectoryIndex index.php

+      SSLRequireSSL
+
+      <IfModule mod_authz_core.c>
+          Require all granted
+      </IfModule>

      # limit libapache2-mod-php to files and directories necessary by pma
      <IfModule mod_php7.c>
    ・・・省略・・・
      </IfModule>

  </Directory>
    ・・・省略・・・

続いて、mod_sslをインストールします。
Ubuntu 20.04の今回の環境では、a2nmodコマンドを使用します。

root@VPS:~# a2enmod

続く問いかけには、今回はmod_sslをインストールするため、”ssl”と入力します。

Which module(s) do you want to enable (wildcards ok)?
ssl

設定を反映させるため、apacheを再起動します。

root@VPS:~# systemctl restart apache2

ConoHa教室ではこの時点でWebブラウザでphpMyAdminにアクセスしていますが、
今回試した環境では下記のような結果となり、この時点ではアクセスできませんでした。
この後SSL化をすることで接続できるようになりましたので、このまま設定を続けてください。

SSL化

ドメインの設定

Ubuntu 20.04の今回の環境の場合は、/etc/httpd/conf/httpd.confではなく、
/etc/apache2/ports.confを編集します。

root@VPS:~# vim /etc/apache2/ports.conf

下記を追加します。
sample.comとなっている部分にはご自身のWordPressのドメインを入れてください。

Rewriteから始まる行は、
httpによるアクセスをhttpsによるアクセスにリダイレクトするための設定です。

<VirtualHost *:80>
ServerAdmin root@sample.com
DocumentRoot /var/www/html
ServerName sample.com
RewriteEngine on
RewriteCond %{SERVER_NAME} =sample.com
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>

続いて、 /etc/apache2/apache2.confを編集します。

root@VPS:~# vim /etc/apache2/apache2.conf

<Directory /var/www/>で囲われている中にあるAllowOverrideの値を、
NoneからAllに変更します。

<Directory /var/www/>
    Options Indexes FollowSymLinks
    AllowOverride ALL
    Require all granted
</Directory>

apacheを再起動します。

root@VPS:/etc/apache2# systemctl restart apache2
SSL証明書のインストール

certbotをインストールします。
Ubuntu 20.04の今回の環境ではpython2-certbot-apacheというパッケージは見つからず、
代わりにpython3-certbot-apacheというパッケージをインストールしました。
Do you want to continue? [Y/n] と聞かれたら、”Y”を入力してEnterを押します。

root@VPS:/etc/apache2# apt install certbot python3-certbot-apache

続いてcertbotを実行します。sample.comの部分にはご自身のドメインを入力してください。
実行するといくつか問いかけがありますが、これらの手順はConoHa教室と違いはありません。

root@VPS:/etc/apache2# certbot --apache -d sample.com

実行が完了したら、apacheを再起動します。

root@VPS:/etc/apache2# systemctl restart apache2

SSL証明書の更新は今回は行っていません。

phpmyadminの接続確認(MariaDBの設定のつづき)

前で説明したように、
phpmyadminをインストールした直後では、まだphpmyadminに接続できませんでした。
Ubuntu 20.04の今回の環境では、
この時点でhttpsでphpmyadminに接続できることが確認できました。

Ubuntu 20.04の今回の環境では、
MariaDBのrootアカウントでログインできませんでした。

そのため、
phpmyadminにログインするための、MariaDBののユーザを追加します。
ここではユーザ名をphpmyadmin、パスワードをpasswordとしています。

root@VPS:~# mysql -u root -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 40
Server version: 10.3.31-MariaDB-0ubuntu0.20.04.1 Ubuntu 20.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 user 'phpmyadmin'@'localhost' identified by 'password';
Query OK, 0 rows affected (0.002 sec)

MariaDB [(none)]> grant all on *.* to 'phpmyadmin'@'localhost';
Query OK, 0 rows affected (0.001 sec)

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

MariaDB [(none)]> exit

追加したユーザ情報をphpmyadminのログインページに入力し、ログインします。

いくつかの拡張機能が無効になっているため、下の方に警告が出ています。
「こちら」をクリックします。

phpmyadminデータベースを作成するため、「作成」をクリックします。

左サイドに表示されているデータベース一覧にphpmyadminが追加されていれば、
WordPressをインストールするためのMariaDBの設定は完了です。

WordPressのインストール

データベースの作成の手順は、ConoHa教室と違いはありませんでした。

WordPressのダウンロードは、本環境では下のコマンドを使いました。
その時点の最新バージョンをダウンロードできます。

# wget http://wordpress.org/latest.tar.gz

WordPressの設定を進めると、WordPressのダッシュボードまでたどり着けます。

画像に alt 属性が指定されていません。ファイル名: image-9-1024x443.png

これでWordPressを公開環境の構築は完了です。

おわりに

本記事では、ConoHa VPSのUbuntu 20.04でWordPressの公開環境の構築を実際に行った際に、
ConoHa教室と手順が違った部分をかいつまんで説明しました。

今後、一つ一つの設定についてもう一歩踏み込んで詳しく解説していきたいと思います。

コメント

タイトルとURLをコピーしました