ConoHa VPS で WordPress環境を構築してみる | 東京都の墨田区にあるホームページ制作・Web制作・イラスト・デザイン制作会社 TenCy株式会社
2023.7.25 2023.7.28

ConoHa VPS で WordPress環境を構築してみる

弊社では、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でのサイト制作や保守・運用管理を請け負っています。サイト更新管理でお困りの方、サイトを新たに作りたい方、お気軽にお問い合わせください。

この記事を書いた人

高仲 秀寿

高仲 秀寿

TenCy株式会社 代表取締役/中小企業診断士

TenCy株式会社代表取締役。中小企業診断士として、中小企業の経営・事業課題に向き合いながら、Web制作・Webマーケティング・DX・生成AI活用など、デジタル領域を中心とした支援に携わる。

企業のWebサイト制作や運用、業務改善、ITツールの導入・活用など、実際の支援現場で得た知見をもとに、経営者やWeb担当者が実務に活かせる情報を発信。

「TenCy通信」では、Web・IT・生成AI・DXをはじめ、中小企業向けの補助金・助成金や公的支援制度などについて、公式情報や一次情報を確認しながら、できるだけわかりやすく解説している。

OTHER NEWS

一覧にもどる