ConoHa VPS で WordPress環境を構築してみる
目次
- 1 ConoHa VPS でサーバー環境を構築する
- 2 ConoHa VPS で WordPress 環境構築1.Apacheのインストール
- 3 ConoHa VPS で WordPress 環境構築2.MariaDBのインストール
- 4 ConoHa VPS で WordPress 環境構築3.PHPのインストール
- 5 ConoHa VPS で WordPress 環境構築4.phpMyAdminのインストール
- 6 ConoHa VPS で WordPress 環境構築5.WordPressのインストール
- 7 ConoHa VPS で WordPress 環境構築6.独自ドメインの設定
- 8 ConoHa VPS で WordPress 環境構築7.独自ドメインに対するSSLの有効化
弊社では、WordPress環境を構築する際はWordPress向けのレンタルサーバーを提案することが通常でしたが、機会があってVPS環境にWordPressを構築する作業をすることになったので、手順メモ書き代わりに残しておこうと思います。
なお、インフラに詳しい人間が実施しているのではなく、色々と調べながら作業したため、必ずしも最適な構築の手順であるとは限りません。また、本記事作成時点で実施できた手順のため、見ていただいた方がその時に実施できるかは不明ですので、ご了承ください。
ConoHa VPS でサーバー環境を構築する
ConoHa VPS からサーバー追加を選択し、サーバーを構築します。今回はCentOS Stream9(64bit)を採用しました。OSの選択した色々とありますが、私はCentOSとUbuntuしか使用経験が無いので、物珍しい…。rootパスワードを設定してしばらく待つと、ステータスが起動中のVPS環境が構築されます。簡単。
サーバー情報を開いて、IPアドレスを確認します。セキュリティの面から接続許可ポートは変更しておくのが望ましいですが、テスト環境ということでいったんそのままに。TeraTermなどのコンソールアプリを立ち上げてrootアカウントでログインできればOKです。
ConoHa VPS で WordPress 環境構築1.Apacheのインストール
本来、rootユーザーで操作し続けることは望ましい環境では無いのですが、テスト環境であることを言い訳に、このまま実施したいと思います。皆さんはユーザーを追加してから実施くださいね。
さて、さっそくWordPress の環境を準備していこう、という前に、まずはサーバー環境を最新にしておきましょう。
yum update
標準OSから最新に更新されます。updateすることはさくらインターネットのページでも推奨されているので、実施しておくのが安心でしょう。
環境によっては数分以上時間がかかるので、しばらく放置します。終わったら、Apacheのインストールをしましょう。こちらも終わったらComplete!されます。
yum install httpd
さて、index.htmlを配置してページが表示されることを確認したいところですが、その前に、GUI操作が良いよ!という人向けにSFTPアクセスができるようにしておきましょう。FTPツールを使ってファイル転送設定をできるようにします。弊社ではFileZillaを使ってます。
FileZilla に取得済みのIPアドレスとrootアカウント情報を設定することで、SFTPアクセスができるようになります。プロトコルをSFTPにするのを忘れないでくださいね。
アクセスできたら、これでファイル作成も怖くない!viコマンドで挫折した自分も安心です。index.htmlをサクッと作って、/var/www/html/ に配置してみます。
早速、http://[ip address]/index.html にアクセスしてみると…表示されません!何故だ!?と、ここで最初に詰まりました。理由は、ファイヤーウォールの設定を変える必要があるからでした。
firewall-cmd --list-all
で設定を確認してみると、http / https のアクセスがブロックされていることが分かります。
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --reload
こちらのコマンドで、httpとhttpsがservicesに追加されればOKです。改めて、Apacheを再起動してからindex.htmlにアクセスしてみましょう。
systemctl restart httpd
systemctl enable httpd
無事、index.htmlが表示されればOKです!ついでに自動起動される設定もしておきましょう。
ConoHa VPS で WordPress 環境構築2.MariaDBのインストール
続いて、データベース環境の構築に入ります。今回はMariaDBをチョイス。
yum -y install mariadb-server
しばし放っておくと、Complete! されます。
systemctl enable mariadb
systemctl start mariadb
こちらも自動起動する設定をして、さっそくMariaDBを起動してみます。起動できているかどうかの確認コマンドは systemctl status です。mariadbだけでなくhttpd など他のサービスにも使用できます。
systemctl status mariadb
active (running) と表示されていればOK。q キーでこの画面から抜けられます。最初これが分からずターミナル切ったりしました…。
mysql_secure_installation
を実施して、初期設定を行います。まずはエンターキーでOK。すると、Switch to unix_socket authentication [Y/n] と聞かれてきます。safely answer ‘n’. と書かれていたので、nを選択。次のChange the root password? もパスワード変えなくて良いかと nを選択。その後はY連打。さて、動くかな?とやってみます。
mysql -u root -p
で root のパスワードを入力すると、Welcome to the MariaDB monitor. と表示されました。使えそう。引き続き環境構築を進めていきましょう。
ConoHa VPS で WordPress 環境構築3.PHPのインストール
ここが一番苦労しました。世に公開されている内容が古いバージョンのものが多く、最新の環境でやるにはどうするんだ?と試行錯誤。といっても、Linux環境に慣れてる人なら簡単だよ、と言われてしまうかも…。
とりあえずPHPが表示できたか確認するために、先にPHPファイルを配置しておきましょう。PHP Infoを表示するinfo.phpを作って、/var/www/html/ に配置します。先ほど使ったindex.html はお役御免なので、削除しておきましょう。
<?php phpinfo(); ?>
これで、正しくPHP環境が構築できれば、http://[ip address]/info.php でPHP情報が表示されるはずですが、まだ環境を作って無いので表示されません。
続いて、PHP環境の構築に入ります。今回使ったOSはCentOS 9 Stream で、PHP v8.2が最新なので、こちらのバージョンを有効化していきたいと思います。まずは、REMIを使えるようにしましょう。
dnf -y install https://rpms.remirepo.net/enterprise/remi-release-9.rpm
dnf module install php:remi-8.2
remi-release-9.rpm が現在の最新なので、こちらを利用します。PHPのインストールが終わったら、Apacheを再起動(systemctl restart httpd)して、phpinfoが表示指されることを確認しておきましょう。
ConoHa VPS で WordPress 環境構築4.phpMyAdminのインストール
続いて、WordPress環境を管理するうえであると便利なDB管理ツール「phpMyAdmin」をインストールします。まずはコマンドを実行して、Apacheを再起動してみましょう。
dnf --enablerepo=epel -y install phpMyAdmin php-mysqlnd
この状態で http://[ip address]/phpMyAdmin へアクセスするだけで管理画面が表示されたら楽なのですが、403 Forbidden エラーが表示されると思います。URLは正しいですが、アクセスが禁止されている状態です。こちらを表示できるようにするまでも、結構苦労しました…。実施すべき作業は、configファイルの編集です。
/etc/httpd/conf.d/phpMyAdmin.conf を編集します。念のため、現状のファイルは複製してバックアップを取っておきましょう。
<Directory /usr/share/phpMyAdmin/>
AddDefaultCharset UTF-8
#Require local
Require all granted
</Directory>
14行目にあるRequire local をコメントアウトして、Require all granted を追加します。その他セキュリティ対策のためにphpMyAdmin のURLを変更したりすることもできますが、まずはこちらの設定を実施してApacheを再起動して、phpMyAdmin のログインページが表示されることを確認しましょう。
無事表示されたので、ログインして、WordPress用のテーブルを作っておきましょう。
と思いきや、なぜかrootアカウントでログインできません…。コンソールからは同じrootユーザーとパスワードでログインできるのに、なぜだ…としばらく引っかかりました。原因は不明ですが、同じパスワードをMariaDB上で再設定することでログインできるようになりました。
mysql -u root -p
パスワードを入力
show databases;
use mysql;
ALTER USER 'root'@'localhost' IDENTIFIED BY "パスワード";
show databases; と use mysql; は必要では無いかも?しれません。やっていることは、データベース一覧を表示してmysqlデータベースを選択しているだけです。こちらを実施してパスワードを更新したのち、Apacheを再起動して改めてphpMyAdminにアクセスしてログインすると、エラーが発生せずログインできる状態になりました。
さて、phpMyAdminの準備ができたら、WordPressで使うためのDBを作っておきます。作り方はWordPress公式にも載っていますが、改めて確認していきましょう。
公式に従って、utf8mb4_general_ci を選択します。ユーザーの追加は、とりあえず後回しで良いかな。
ConoHa VPS で WordPress 環境構築5.WordPressのインストール
さて、ここまで来たらあとはWordPressをインストールするだけ。あと一歩のところまできました。長かった。まずは、インストールする /var/www/html/ に cd してカレントを移動しましょう。
cd /var/www/html/
CentOS環境では、インターネット上にあるtar.gzファイルはwgetコマンドで取得できます。WordPressの最新版は下記URLにあるので、ここからダウンロードしましょう。
wget https://ja.wordpress.org/latest-ja.tar.gz
tar xvzf latest-ja.tar.gz
ダウンロードして回答できたことをlsコマンドやFileZillaで確認しておきましょう。ただ、このままだとWordPressのルートディレクトリが/wordpress というフォルダになってしまうので、ドメイン直下をルートにするためにファイル一式を移動しておきます。圧縮ファイルと解凍後のwordpressフォルダ(空)は不要なので削除してもOKです。
mv wordpress/* /var/www/html
さて、Apacheを再起動してWordPressの画面が表示されれば準備完了です。
でました!ここまでくれば、後はWordPressの標準的な作業になってくるはず…と思いきや、まだ見慣れない画面が表示されます。これは、ApacheがWordPressファイルへの書き込みを行う権限が無いことによるエラーが原因です。権限を変更しておきましょう。
chown -R apache:apache /var/www/html
chmod -R 755 /var/www/html
見慣れたインストール画面が表示されれば、WordPress環境の構築が完了です。ですが、この状態で開いてみるとWordPressの下層ページURLにindex.phpが含まれてしまう、という問題が発生すると思います。下層ページURLにindex.phpが含まれてしまう場合、httpd.conf の設定と.htaccessの設定を見直しましょう。
<Directory "/var/www">
AllowOverride All #All に変更する
# Allow open access:
Require all granted
</Directory>
<Directory "/var/www/html">
AllowOverride All #All に変更する
</Directory>
httpd.conf のAllowOverride を修正して、WordPressの設定>パーマリンクにindex.phpが含まれていないことを確認しましょう。
ConoHa VPS で WordPress 環境構築6.独自ドメインの設定
ここからはちょっと蛇足になる部分かな、と思いますが、引き続きWordPress環境の設定について記載したいと思います。現在はまだHPへのアクセスはIP Addressですね。次の対応として独自ドメインの対応をしましょう。
今回は、ConoHa Wing 契約時の無料ドメイン1個プレゼントキャンペーン(既にConoHa Wingで運用済み)のドメインをConoHa VPS で使う、という流れで実施しましたが、他社サイトで取得したドメインも利用できると思います。
ConoHa Wing 側のWordPressサイトを削除する
※この作業は、既に運用済みのドメインをVPSに割り当てようとしたために必要となった作業です
※この作業が必要無い方がほとんどだと思います
まずは、ConoHa Wingのサイト管理からWordPressを削除します。DBもそのサイトのみで運用していたので、ついでに削除しました。サブドメインも設定していたので、それらも削除しています。
ConoHa Wing 側のサーバー管理のドメイン情報を削除する
ConoHa Wingのサーバー管理>ドメイン から、該当のドメインを削除します。こちらを削除しないと、DNSレコードを変更してもConoHa Wing側を参照してしまってVPSのサイトが表示されません。
ConoHa VPS でDNSレコードを設定
ConoHa VPS >DNS から、該当のドメインを選択してDNSレコードのIPアドレス部分(主にAタグが該当します)を、VPSで立ち上げたサーバーのIPアドレスで設定します。
これらの作業を行って、しばらく待つと無事VPS側のサイトが表示されるようになりました。WordPressの管理画面で、一般設定のWordPressアドレスとサイトアドレスを変更しておきましょう。
ConoHa VPS で WordPress 環境構築7.独自ドメインに対するSSLの有効化
SSL対応は、今やホームページを公開する上では必須の設定であるといえます。閲覧のみの静的サイトなら問題は生じないともいえますが、SEOの評価やGoogle Chromeの表示で安全でないとされてしまう以上、設定していないことのデメリットが大きいですね。
ですので、ConoHa VPS でWordPress環境を作った場合も必須で設定をしておきましょう。
今回、SSL対応は無料のLet’s Encryptを利用します。サーバーにログインして、下記のコマンドを実施しましょう。
弊社では、WordPressでのサイト制作や保守・運用管理を請け負っています。サイト更新管理でお困りの方、サイトを新たに作りたい方、お気軽にお問い合わせください。