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

初心者エンジニア向けTechBlog

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

初心者エンジニア向けTechBlog

FJcloud-Vの無料トライアルで雑にWordPressを入れてみた(リベンジ)

この記事は、ニフクラブログで2022-08-02に公開された記事を移転したものです。

こんにちは。エンジニアミートアップ事務局の鮫島です。

今回は、珍しく初心者向けのWebサーバー構築がテーマです。
手軽にWebサイトやブログ運用の用途でCMS(コンテンツマネジメントシステム)として幅広く利用されているWordPressをクラウドにインストールしてみました。

WordPressは、多くのレンタルサーバーやクラウドサービスでもプレインストールされていたり、構築済イメージを提供しているほどポピュラーなソフトウェアです。

今回はクラウド初心者のために、サーバーの裏側でそれぞれのソフトウェアがどんな役割をしているか学べるように手動でインストールしてみました。

クラウドのサーバー1台でWordPressを動かす最小限の構成

実は以前、FJcloud-Vの無料トライアルを使って雑にWordPress(当時5.8.4)をインストールしてみたところ、動かなかったことがあります。

その時のブログ記事はこちら blog.pfs.nifcloud.com

動かなかった原因は、WordPress 5.8.4に適合するバージョンのPHPをインストールしていなかったことでした。

このあたりの経緯は、2022年5月のニフクラエンジニアミートアップでお話ししています。 blog.pfs.nifcloud.com

それでは改めて、ニフクラOEMのクラウド、FJcloud-VにWordPressをインストールする手順をご説明します。

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

SSH接続の準備

今回は、一般的なWindowsPCからサーバーを操作するのに、Tera Termを使います。

リモートアクセスでサーバーの操作を行う場合の基本…ですが不正アクセス防止のためにSSH接続をおこなう環境が必須です。

Tera Termのインストール

Tera TermはWindowsで動作する、オープンソースのターミナルエミュレータソフトです。 サーバーに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を直接クリックします。

FJcloud-Vのポータルからはログインする入り口はありません

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のみ)だけです。

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

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

①と②を設定するために追加ボタン2回押します
今回は「02 INルール設定」のみ入力して03~06は何も入れず「07確認画面」を表示します。
3~6は何も入れずにスルーしてください。
OUTルールはそのままでいいです

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

サーバーの作成

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

検索窓に何か入っていると出てこないので注意

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

一番安い低スペックのものからスタート

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

とりあえず、プルダウンで選ぶだけです
最後に確認して問題なければ作成を押します。
仮想サーバーなので起動するまでに数分タイムラグがあります…
サーバーが立ち上がるまで、トイレにいったり、コーヒーでも飲みましょう。

サーバー構築(CLI編)

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

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

Tera Termを起動すると、ホスト名を聞かれるのでサーバーの付替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

このあたりで、ちょっとした気付きがありました。。
Linuxに関してド素人なので許してください。

太宰治も笑われて強くなると言ってますし…

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以上が必要という記載があります。 ※2022年5月中旬時点

PHP 7.4以上ってどこで入手すればいいの?

どうもサードパーティ製レポジトリ(EPELとかRemiとか)で入手できるらしい?という断片的な情報をもとに、Googleで検索したら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互換のDBで、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のユーザー作成時のパラメータをそのまま入力して送信ボタンをクリックします。

MariDBのユーザー作成時のパラメータそのままです!

WordPressのインストール

どこからがWordPressのインストールなのか、正直よくわかりませんが本体のプログラムのインストールはこれからのようです。
インストール実行を押します。

いつインストールが始まったのかよくわかりませんが・・・

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

赤枠のところを入力して、何度目かのインストールを実行

WordPressにログインできるぞ?

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

ドキドキしますね…

ちゃんと「FJcloud-Vの無料枠」というサイトが表示されました!

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

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

これで、リベンジ成功です。

特に意味はありません…

レンタルサーバーVSクラウド

冒頭でも述べましたが、WordPressで個人でブログを運用したり、企業のWebサイトを構築する人は、安価なレンタルサーバー(またはVPS)を利用する人が多いと思います。

高い金払ってクラウドでWordPressを動かす必要ある?

レンタルサーバーとクラウドの比較について詳しくはクラウドナビの記事もご覧ください。 pfs.nifcloud.com

クラウドならではのメリットって?

クラウドのメリットというとこういう事を言われますよね?

・安定性
・可用性
・柔軟性

そんなビジネスライクな説明、まったく心に響かないよ! という人がいらっしゃると思います。

「聞こえますか・・・あなたの心に・・・直接・・・語りかけています・・・」 もっと単純化しました。

・めったに止まらない
・止まってもすぐ動き続ける
・スペックや台数を変えられる

クラウドなら、月に数千円多く支払った分だけ、かなり楽ができます。

恐らく、1年分の累計でも稟議が不要な企業が多いはず。。 なにかと面倒な社内手続き的に難易度は変わりません。

また、個人事業主の方は堂々と経費計上出来る費目です。

ニフクラ/FJCloud-Vなら、従量課金だけでなく月額固定料金も選べますし、法人で請求書払いも可能だけでなく個人事業主がクレカ決裁も可能です。

お金で解決しましょう!

まずはFJcloud-Vの無料枠からスタート!

まずは、FJcloud-Vの無料枠を使って、WordPressサーバー構築を試してみましょう。 personal.clouddirect.jp.fujitsu.com

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