富士通クラウドダイレクトブログ

初心者エンジニア向けTechBlog

富士通クラウドダイレクトブログ

初心者エンジニア向けTechBlog

WordPress用サーバーはクラウドとVPSどっちがいいのか?

皆さん、こんにちは! 富士通クラウドダイレクトの中の人Sです…。

今回は、初心者向けのWebサーバー構築がテーマです。
最初に ブログやWebサイトを運用する人に絶大な人気を誇るWordPressをクラウドにインストールする手順をご紹介します。

WordPressといえば、こういうニーズをお持ちの方も多いと思います。

 ・ブログで稼ぎたい
 ・ブログで副業をやってみたい
 ・お店や会社のホームページを作りたい

ブログで稼いだり副業を行うためのノウハウは一切出てきません。
お店や会社のホームページを作ることはできるかもしれません…。

まず、WordPressのサーバーとしてよく使われているレンタルサーバーやVPSを利用する場合との違いについて少しお話します。  

クラウド vs VPS vs レンタルサーバー

個人事業主や個人商店、中小企業では、正直そんなに大きなトラフィックが生じることはめったにないので、「とにかく安い」レンタルサーバーを探している人は多いようです。少しビジネス規模が大きくなって、複数サイトを運営したりECサイトを運営する場合は、VPSも視野に入れる人が多いはず。

単純価格比較すると… クラウド>VPS>レンタルサーバー

あえて、クラウドを選ぶメリットですが、かなりかみ砕いた表現にすると下記のような感じです。

・めったに止まらない
・止まってもすぐ動き続ける
・途中でスペックや台数を変えられる
・自由度が高い

といったところです。

クラウドでもレンタルサーバーでも止まるときは止まる可能性はありますが、可用性はクラウドが最も高いと思います。 また、ユーザーの責任範囲でCPUやメモリーやディスクのスペックを増減したり…マルチAZを活用して冗長化を図るようなシステム安定稼働のために自助努力可能な範囲が広いのも特徴です。

できれば一回安定稼働しているWebサイトの基盤を頻繁に変えたくないというのは皆さん共通したお気持ちだと思います。 多めに課金するだけで長期に渡って安心が得られます。

また、個人事業主の方は、青色申告で堂々と経費計上出来る費目ですので、思い切ってIT投資を増やしてみるのもいいですね!

ニフクラ/FJCloud-Vなら、従量課金だけでなく月額固定料金も選べますので、AWSなどの外資系クラウドのように為替変動リスクやネットワーク転送量が跳ね上がってクラウド破産する心配もありません。

最初はレンタルサーバーやVPSなどでスタートして、事業規模が大きくなったり、SNSアカウントの運用が軌道に乗ってトラフィックが増えてきたら、より快適な顧客体験を提供できるようにクラウドにステップアップしてみましょう。

実際にクラウドにWordPressを導入するのは

LAMPスタックのポンチ絵

このエントリーは、2022年5月のニフクラエンジニアミートアップでお話したことを基に作成しています。こちらもご覧ください。 blog.pfs.nifcloud.com

同じようなことが記載されているホワイトペーパーもあります。 clouddirect.jp.fujitsu.com

それでは改めて、ニフクラOEMのクラウド、FJcloud-VにWordPressをインストールする手順をご説明します。
※LinuxサーバーにWordPressをインストールする手順の参考にはなると思います。

前提条件
本記事は、以下の前提知識があまりない方を想定しています。
Linuxサーバーの基本的な操作、知識
Linuxカーネルパラメーターの基本的な操作、知識
※知識がある方のツッコミをお待ちしています。

今回は、LAMPスタックと呼ばれるオープンソースのソフトウェアの組み合わせでWordPressサーバーの構築を行います。

 ・Linux (OS)
 ・Apache(Webサーバー)
 ・MySQL(データベース)※1
 ・PHP(プログラミング)※2

※1 今回はMySQL互換のMariaDBを使います
※2 PerlやPythonでもいいみたい

準備編:SSH接続

一般的なWindowsPCからCLIでサーバー構築を行うために、オープンソースのターミナルエミュレーターソフト、Tera Termを使います。 サーバーにSSHでリモートログインする際に使います。特に注意事項はありません。
※信頼できるサイト経由でダウンロードしてください。

https://ttssh2.osdn.jp/ttssh2.osdn.jp

リモートアクセスでセキュアにサーバーの操作を行うためにSSH接続をおこなう環境が必要です。

SSHキーの作成と登録

SSHキーは通常は秘密鍵と公開鍵のペアで作成します。 FJcloud-Vのコントロールパネルでも生成できますが、その場合公開鍵はFJcloud-Vに登録され、ローカルには残らないので、今回は分かりやすいようにTera Termを使って作成(生成)します。

Tera Termだと秘密鍵は「id_rsa.pem」、公開鍵は拡張子が「id_rsa.pub」です。

パスフレーズを考えて、公開鍵の保存と秘密鍵の保存ボタンを押すだけの簡単なお仕事

続いて、FJcloud-VのUI(コントロールパネル)からSSHキーの登録を行います。 FJcloud-Vのポータルには、UIにログインするリンクは存在しません。 ログインのためには。下記リンク
https://nc.paas.cloud.global.fujitsu.com/webを直接クリックします。

最初にSSHキー(公開鍵)を登録します。
左メニューの「SSHキー」から「SSHキーインポート」ボタンをクリックすると下記の画面が出ます。

適当な「SSHキー名」を入力、SSH公開鍵ファイル(id_rsa.pub)を読み込んでインポートします。

SSHキー(公開鍵)のファイル(id_rsa.pub)をインポートします

これで、SSHでログインできるようになりました。

サーバー構築(UIで行う部分)

続いて、FJcloud-VのUI(コントロールパネル)からサーバーの構築を行います。

といっても、いきなりサーバーを作成する前に準備がいくつか…。

付替IPアドレスの取得

何も考えずにFJcloud-Vでサーバーを作成すると動的なグローバルIPアドレスが割り当てられますが、何らかの事情でサーバーを再作成するとIPアドレスが変わってしまいます。

Webサーバーのように固定のIPアドレスを割り当てたいときには、「付替IPアドレス」を使用します。

追加料金が必要な機能も含めて無料です!最高

※サーバーを作成する前に、付替IPアドレスを取得する理由=サーバー作成後に付替IPアドレスを割り当てると、有効化のためにサーバー再起動が必要になってしまうからです。

ファイアウォールグループの作成

作成するサーバーに対してのアクセス制御のためにファイアウォールを設定します。今回はサーバーが一台だけなのでIN側とOUT側に設定する(制御はINのみ)だけです。

①と②を設定するためにルール追加ボタンを2回押します

緑色の「ルール追加」ボタンでを押して
プロトコル「HTTP」接続元種別「ANY」を追加します。

もう一度緑色の「ルール追加」ボタンを押して
プロトコル「SSH」と接続元種別「接続しているIPアドレス」
を選ぶと、現在使用中のIPアドレスが自動的に設定されます。

今回は「02 INルール設定」のみ入力して03~06は何も入れず「07確認画面」を表示します。

02と07以外のタブ(3~6)は何も入れずにスルーしてください

OUTルールはそのままにして作成するボタンを押します

INルールだけ設定されているのを確認できたら作成ボタンを押してください。

サーバーの作成

コントロールパネルの左メニュー「サーバー」をクリックします。検索窓を空白にし、プルダウンからCentOSを選択するとこの画面がでます。 何も考えずCentOS 7.9のスタンダードを選択します。

検索窓は空白にしてね!絶対だよ!

続いて、ゾーン(いわゆるAZ)を選択します。 今回は全リソースをeast-12に作成します。 ゾーンを聞かれたら今回はeast-12一択! サーバータイプは、一番安いやつでいいと思います。

無料だけど最初は安いのからスタートしてください

サーバー名とメモは適当に好きなものにしてください。 料金プランは従量、SSHキーとファイアウォールは先ほど設定したものを選択します。 グローバルネットワークのIPアドレスはさきほど取得した付替IPアドレスの値でOKです。 プライベートネットワークは共通プライベートで自動割り当てです。

③~⑨はプルダウンで選ぶだけ

最後に確認して問題なければ「作成する」ボタンを押します。

仮想サーバーが起動するまで数分のタイムラグが生じるかも

サーバーが立ち上がるまで、ラジオ体操でもして待ちましょう。

サーバー構築(CLIで行う部分)

ここからは、さきほど作成したサーバーにWordPressを動かすために必要なソフトウェアをCLIからインストールします。
LAMPのL以外なので、Apache web server、MariaDB、PHPです。

Tera TermでSSHリモートログイン

Tera Termを起動すると、下記のようにホスト名を聞かれるので、サーバー構築(UI編)で取得した付替IPアドレスの値を入れてOKを押します。

さきほど取得した「付替IPアドレス」の値を入れます

次に、下記のようなセキュリティ警告が出るかもしれませんが、構わず続行ボタンを押してください。

落ち着いて「続行」をクリック

続いて下記のように「SSH認証のためのダイアログ」が表示されます。 ユーザー名は「root」、パスフレーズは秘密鍵作成時に設定したパスフレーズを、認証方法は「RSA/DSA/ECDSA/ED25519を使う」を選択して、秘密鍵はローカルに保存している「id.rsa.pem」を読み込んでOKを押します。

公開鍵を読み込んでSSHでセキュアに

ログイン成功後、下記のターミナル画面にシェルプロンプトが表示されるとコマンド入力が可能な状態になります。

CentOS アップデート

ここからはCLIからWordPressを動かすためのソフトウェアのインストール・設定を行います。
その前に、CentOSを最新の状態にアップデートしておきます。
※脆弱性対策のため特別な理由がなければ最新版にしましょう

アップデートの確認

[ root@localhost ~]# yum check-update 

アップデートの実行

[ root@localhost ~]# yum update -y

アップデートの実行の自動実行も設定できます!

[ root@localhost ~]# yum-updated

Apache Web Serverのインストール

どんどんコマンドを入力します。

Apacheのインストール

[ root@localhost ~]# yum install httpd

Apacheの起動

[ root@localhost ~]# systemctl start httpd

システム再起動時にApacheが起動するように設定

[ root@localhost ~]# systemctl enable httpd 

何らかの反応があると安心できます…

PHPのバージョンに注意

ここで、落とし穴があります。 普通は何も考えずに下記のようにデフォルトのリポジトリからPHPのインストール行うと思います。

[ root@localhost ~]# yum install php

上記のコマンドを実行するとPHP 5.5がインストールされます。

ところが!WordPressの最新バージョンの動作要件を見るとPHP 7.4以上が必要という記載があります。つまり、動作要件を満たさないバージョンのPHPがインストールされてしまう可能性があります。 ※2023年5月中旬時点

より新しいバージョンは、サードパーティ製レポジトリ(EPELとかRemiとか)で入手できるので、今回はremiレポジトリからPHP 7.4をインストールします。

Remiレポジトリのインストール

[ root@localhost ~]# yum -y install http://rpms.remirepo.net/enterprise/remi-release-7.rpm

PHP 7.4のインストール

[ root@localhost ~]#  yum -y install --enablerepo=remi,remi-php74 php php-mbstring php-xml php-xmlrpc php-gd php-pdo php-pecl-mcrypt php-mysqlnd php-pecl-mysql

念のため、インストールが成功しているか確認しましょう。

[ root@localhost ~]# yum list installed | grep php

MariaDBのインストール

続いてデータベースのインストールです。
今回は、WordPressがバックエンドデータベースとして使用するMariaDBをインストールしてみます。
MariaDBはMySQL互換のデータベースで、CentOS7の標準パッケージとして用意されているものです。

ちなみに、WordPressの最新バージョンではMariaDB バージョン10.3以上を推奨しています。

MariaDBのインストール

[ root@localhost ~]# yum install mariadb-server -y

MariaDBの起動

[ root@localhost ~]# systemctl start mariadb

システム起動時 に自動的にmariadbサービスが起動するように設定

[ root@localhost ~]# systemctl enable mariadb
 Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service

MariaDBの設定

続いて、WordPress用のデータベースと、それにアクセスさせるためのユーザーを作成します。 使用するパラメータはとりあえず以下の表のようにしてみました(これ以外でも問題ないです)。

あくまで一例です。お好きな文字列で構いません。

※WordPressの設定時に使うので覚えておいてください!

続いて、MySQLにログインしてSQL文を実行する準備をします。

[ root@localhost ~]# mysql -u root -p 
Enter password: 

パスワードは設定していないので、そのままリターンキーを押します。 黄色い文字の画面が表示されるので、赤く囲んだ部分のSQL文を実行します。
※さきほどのパラメータをそのまま入力しています。

さきほどのパラメーター文字列をそのまま入力するだけ

WordPressのインストール

最後に、WordPressをインストールします。
作業ディレクトリを/var/tmpに変更しWordPressの最新版をインストールします。

[root@localhost tmp]# cd /var/tmp 
[root@localhost tmp]# wget http://ja.wordpress.org/latest-ja.tar.gz

圧縮ファイルを展開します。

[root@localhost tmp]# tar zxf latest-ja.tar.gz

展開されたファイルをApache WebサーバーのDocumentRootディレクトリに移動し、 所有権を変更します。

[root@localhost tmp]# mv wordpress /var/www/html
[root@localhost tmp]# chown -R apache:apache /var/www/html/wordpress

以上で、インストールの”準備”が終了しました。
※まだインストールそのものは実行していない…。

WordPressの設定

インストールの準備が終了したので、続いて設定を行います。

WordPressの初期設定画面の表示

Webブラウザで「http://サーバーのIPアドレス/wordpress」にアクセスします。
インストールの”準備”が成功していれば、下記の画面が表示できるはずです。

準備が成功した画面

「さあ、始めましょう」ボタンをクリックすると、WordPressのデータベース設定が表示されます。

MariaDBのユーザー作成時のパラメータをそのまま入力して送信ボタンをクリックします。

MariaDBのユーザー作成時に決めたパラメーターそのままです

WordPressのインストール

ここからがプログラム本体のインストールのようです。
インストール実行をクリックします。

ここからがインストール

作成するサイトの情報を入力、WordPressのインストールを進めます。

ホントに最後です

WordPressにログインしてみよう

しばらく待つとWordPressにログインするダイアログが出て来ます。
作成するサイトの情報を入力した時に指定したユーザー名とパスワードでログインします。

緊張します…

地味な画面でごめんな

WordPressがインストールできました!

Webサイトの本番環境を構築する場合、ドメインの取得やDNSの設定などの手順も発生しますが、今回は省略します。

また、実運用の際には管理画面へのログインが単純なID/パスワード認証だけだとかなり危険なので、セキュリティ強化プラグインなどを導入したほうが良いでしょう。 「WordPress+セキュリティ+プラグイン」などのKWで検索してください。

クラウド vs VPS vs レンタルサーバー

個人事業主や個人商店、中小企業では、正直そんなに大きなトラフィックが生じることはめったにないので、「とにかく安い」レンタルサーバーを探している人は多いようです。少しビジネス規模が大きくなって、複数サイトを運営したりECサイトを運営する場合は、VPSも視野に入れる人が多いはず。

単純価格比較すると… クラウド>VPS>レンタルサーバー

あえて、クラウドを選ぶメリットですが、かなりかみ砕いた表現にすると下記のような感じです。

・めったに止まらない
・止まってもすぐ動き続ける
・途中でスペックや台数を変えられる
・自由度が高い

といったところです。

クラウドでもレンタルサーバーでも止まるときは止まる可能性はありますが、可用性はクラウドが最も高いと思います。 また、ユーザーの責任範囲でCPUやメモリーやディスクのスペックを増減したり…マルチAZを活用して冗長化を図るようなシステム安定稼働のために自助努力可能な範囲が広いのも特徴です。

できれば一回安定稼働しているWebサイトの基盤を頻繁に変えたくないというのは皆さん共通したお気持ちだと思います。 多めに課金するだけで長期に渡って安心が得られます。

また、個人事業主の方は、青色申告で堂々と経費計上出来る費目ですので、思い切ってIT投資を増やしてみるのもいいですね!

ニフクラ/FJCloud-Vなら、従量課金だけでなく月額固定料金も選べますので、AWSなどの外資系クラウドのように為替変動リスクやネットワーク転送量が跳ね上がってクラウド破産する心配もありません。

最初はレンタルサーバーやVPSなどでスタートして、事業規模が大きくなったり、SNSアカウントの運用が軌道に乗ってトラフィックが増えてきたら、より快適な顧客体験を提供できるようにクラウドにステップアップしてみましょう。

動画でも同様の手順を解説しているのでこちらもご覧ください。 youtu.be

WordPress環境構築でFJcloud-Vの操作性を体験!

【無料】WordPress環境構築でFJcloud-Vの操作性を体験!

FJcloud-Vの基本的な操作が学べる、入門に最適な資料です!
FJcloud-Vで構築したサーバ上にWordPressを立てて、WEBサイトを制作する手順を紹介します。

無料でダウンロードする