Azure IaaS環境にWordPressを構築してみる④

皆さんこんにちは!

今回は、IaaS環境にWordPressを構築する、第四弾として、WordPressのインストールと初期設定をご紹介します。

 

これまでの作業は下記のリンクからご覧ください。

第一弾URL:Azure IaaS環境にWordPressを構築してみる①

第二弾URL:Azure IaaS環境にWordPressを構築してみる②

第三弾URL:Azure IaaS環境にWordPressを構築してみる③

 

おさらいとして、今回構築する環境を再掲します。

 

Virtual Machine    :Azure Virtual Machine (B2s)

OS                            :Ubuntu 22.04

Apache2                 :最新バージョン

PHP                         :8.2

MySQL                     :8.0

WordPress             :6.3(※)

※執筆時点で最新の6.3がリリースされましたので、最新バージョンをインストールします

 

 

1. WordPressインストール

Webサーバの設定も完了したので、本命であるWordPressをインストールしていきます。さて、執筆時点でWordPressはVer.6.3を新たにリリースしました。ですので、これまで6.2をインストールすると記載していましたが、6.3をインストールしていきたいと思います。

 

1-1. インストール編

WordPressのインストールはもちろんコマンドで実行しますが、crulコマンドを利用します。curlコマンドは、指定したURL上に存在しているデータを転送してくれるものです。

WordPressでは、https://wordpress.org/latest.tar.gz上に最新版のデータが存在します。そこから、構築したAzure環境までデータを転送します。

少し余談・・・

latest.tar.gzと指定することで、最新バージョンをインストールできますが、バージョンを指定することも可能です。その場合、「latest」の部分をファイル名に変更します。

例)latest.tar.gz → wordpress-6.2.tar.gz 等

※URLをブラウザで実行し、ダウンロードが開始されれば、OKといった形でデータが存在しているか確認することができます。

ただ、すでにWordPressを運営している(プラグインを利用している)、もしくは、必ずこのプラグインを利用しないといけない!等の互換性を考慮する場合を除き、最新版をインストールしてください。

 

ではインストールを進めていきます。

まずは、一時フォルダにWordPressのデータを転送し、準備ができたらRootDirectory(/var/www/wordpress)に移動させる手順を取りたいと思います。

以下のコマンドを実行していきましょう。

$ cd /tmp/
$ sudo curl -O https://wordpress.org/latest.tar.gz

インストールが完了したら…

$ ls -ltr

「latest.tar.gz」の転送が完了していることを確認できました。

 

次に、圧縮ファイルを解凍します。

$ tar xzvf latest.tar.gz

無事解凍が完了し、WordPressというフォルダを確認できました。

 

1-2. WordPress用ファイルの作成

解凍したのみでは、.htaccessファイルはありません。.htaccessを利用して制御する場合は、先にダミーファイルを作成しておくと便利です。

以下のコマンドを実行します。

$ touch /tmp/wordpress/.htaccess

次に、読み込み用ファイルを、サンプルからコピーし、利用できる状態にリネームします

$ cp /tmp/wordpress/wp-config-sample.php /tmp/wordpress/wp-config.php

※こちらのファイルにDB情報を書き込みます。

最後に、Wordpressの更新の際に必要となってくるUpgradeフォルダを作成して完了です。

$ mkdir /tmp/wordpress/wp-content/upgrade

 

1-3. WordPressの配置

最後に、WordPressフォルダをRootDirectoryでもある、/var/wwwの配下にコピーさせます。

こちらも、コマンドを実行するだけです。1点注意があるとすれば、.htaccessのような隠しファイルも移動させる必要があるので、サブコマンドも忘れず実行してください。

$ sudo mkdir /var/www/wordpress

$ sudo cp -a /tmp/wordpress/. /var/www/wordpress

 

2. WordPressの初期設定

次に、WordPressの初期設定ということで、先ほど作成したwp-configファイルの設定や、フォルダの権限周りを整備していきます。今アクセスした場合、恐らくWordPressのロゴは見られるかもしれませんが、エラーで利用できない状態です。

では、進めていきます

 

2-1. フォルダ権限

まずは、WordPressフォルダの権限を整備していきます。

フォルダ/リソースファイルの読み込みは、Webサーバが担当します。Linuxではファイルやフォルダに所有者/パーミッションという考え方があり、誰が・どのような操作させるか権限を適切に設定する必要があります。

 

まずは、フォルダ、及びその配下のファイルの所有者をWebサーバに設定します。

先ほどの画像にある、「testadmin」を変更する作業です。

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

次に、操作権限を変更していきます。操作権限は、所有者、グループ、その他の3つの区分で管理します。

ここを設定することで、非常に重要な情報をそのまま書き込まなければならない、wp-config.phpなどのファイルを所有者以外に読み込み・書き込みできないようにします。

画像に見える、アルファベットの部分が変わります。

$ sudo find /var/www/wordpress/ -type d -exec chmod 750 {} \;

※権限変更後、一般権限ではコマンド実行ができなくなったことがわかります

権限が変更になったことで、「cd」などのコマンドを実行しても、権限が不足しているため、拒否されてしまいます。

$ sudo su –

というコマンドを使えば、常に管理者権限を持った状態になるので、この後の操作がとても楽になります!

パスワードはTeraTermログイン時に入力したものと同様です。(管理者パスワード)

※今後、sudoコマンドは省略します。

 

続けて下記のコマンドも実行します。

$ find /var/www/wordpress/ -type f -exec chmod 640 {} \;

2-2. 設定ファイルの変更

DBの設定はもちろん必要ですが、秘密鍵の設定も必要です。秘密鍵を設定することで、セキュリティの向上が見込めます。手順として、まずは秘密鍵を生成し、特定の箇所に生成したものを設定します。

下記のコマンドを実行すると、鍵が生成されますので、コピーします。

メモの準備を・・・

$ curl -s https://api.wordpress.org/secret-key/1.1/salt/

※画像に表示されている鍵を再利用することはできないので注意してください。

 

それでは、設定ファイルにコピーした鍵を入れていきます。

該当ファイルの場所へ移動します。

$ cd /var/www/wordpress

$ vi wp-config.php

該当セクションまで移動します。

――――

define(‘AUTH_KEY’,         ‘put your unique phrase here’);

define(‘SECURE_AUTH_KEY’,  ‘put your unique phrase here’);

define(‘LOGGED_IN_KEY’,    ‘put your unique phrase here’);

define(‘NONCE_KEY’,        ‘put your unique phrase here’);

define(‘AUTH_SALT’,        ‘put your unique phrase here’);

define(‘SECURE_AUTH_SALT’, ‘put your unique phrase here’);

define(‘LOGGED_IN_SALT’,   ‘put your unique phrase here’);

define(‘NONCE_SALT’,       ‘put your unique phrase here’);

――――

ここにコピーした値を入れていきます。

 

これまでの手順と同様、

「i」(挿入状態) > 右クリックでコピー > 「esc」> 「:wq」で保存します。

無事値がコピーされました。

※今回はサンプル部分をコメントアウトしています。

 

次にDBの情報を入力していきます。

該当まで移動して、同じ手順で情報を入力していきます。

――――

// ** MySQL settings – You can get this info from your web host ** //

/** The name of the database for WordPress */

define( ‘DB_NAME’, ‘wordpress’ );

/** MySQL database username */

define( ‘DB_USER’, ‘wordpressuser’ );

/** MySQL database password */

define( ‘DB_PASSWORD’, ‘password’ );

――――

 

これで準備は完了です。

 

http://ipアドレスでアクセス確認をしてみます。

初期設定画面に遷移しました!!

 

2-3. WordPress初期設定

残り僅かですが、最後の手順になります。

まずは初期画面では利用したい言語を設定し、「次へ」を押下します。「日本語」を選択しました。

次が、サイト名や管理用ユーザの初期設定です。

設定が終わるとログイン画面に遷移しますので、先ほど作成したユーザでログインします。

メールアドレスは適切なものを入力してください。

無事ダッシュボードまで到達しました!!!!!

これでWordPressが利用できる状態になりました。

ダッシュボードから、外観・プラグインからページサイトを編集することができます。

 

次回は最終回ということで、簡単なSLA化の方法をご紹介します!!!

この記事を書いた人

森 信之介
テクニカルマーケターとして、ブログ執筆、セミナー講師を行っております!