皆さん、こんにちは! 富士通クラウドダイレクトの中の人Sです…。
今回は、初心者向けのWebサーバー構築がテーマです。
特に、ブログやWebサイトを運用する人に絶大な人気を誇るWordPressをクラウドにインストールする手順をご紹介します。
WordPressといえば、こういうニーズをお持ちの方も多いと思います。
・ブログで稼ぎたい
・ブログで副業をやってみたい
・お店や会社のホームページを作りたい
ブログで稼いだり副業を行うためのノウハウは一切出てきません。
お店や会社のホームページを作ることはできるかもしれません…。
また、WordPressのサーバーとしてよく使われているレンタルサーバーやVPSを利用する場合との違いについても少しお話します。
このエントリーは、2022年5月のニフクラエンジニアミートアップでお話したことを基に作成しています。こちらもご覧ください。 blog.pfs.nifcloud.com
それでは改めて、ニフクラOEMのクラウド、FJcloud-VにWordPressをインストールする手順をご説明します。
前提条件
本記事は、以下の前提知識があまりない方を想定しています。
Linuxサーバーの基本的な操作、知識
Linuxカーネルパラメーターの基本的な操作、知識
※知識がある方のツッコミをお待ちしています。
- 準備編:SSH接続
- サーバー構築(UIで行う部分)
- サーバー構築(CLIで行う部分)
- Apache Web Serverのインストール
- WordPressの設定
- クラウド vs VPS vs レンタルサーバー
- FJcloud-Vの無料枠は最大六か月無料!
今回は、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でログインできるようになりました。
サーバー構築(UIで行う部分)
続いて、FJcloud-VのUI(コントロールパネル)からサーバーの構築を行います。
といっても、いきなりサーバーを作成する前に準備がいくつか…。
付替IPアドレスの取得
何も考えずにFJcloud-Vでサーバーを作成すると動的なグローバルIPアドレスが割り当てられますが、何らかの事情でサーバーを再作成するとIPアドレスが変わってしまいます。
Webサーバーのように固定のIPアドレスを割り当てたいときには、「付替IPアドレス」を使用します。
※サーバーを作成する前に、付替IPアドレスを取得する理由=サーバー作成後に付替IPアドレスを割り当てると、有効化のためにサーバー再起動が必要になってしまうからです。
ファイアウォールグループの作成
作成するサーバーに対してのアクセス制御のためにファイアウォールを設定します。今回はサーバーが一台だけなのでIN側とOUT側に設定する(制御はINのみ)だけです。
緑色の「ルール追加」ボタンでを押して
① プロトコル「HTTP」接続元種別「ANY」を追加します。
もう一度緑色の「ルール追加」ボタンを押して
②プロトコル「SSH」と接続元種別「接続しているIPアドレス」
を選ぶと、現在使用中のIPアドレスが自動的に設定されます。
今回は「02 INルール設定」のみ入力して03~06は何も入れず「07確認画面」を表示します。
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を押します。
次に、下記のようなセキュリティ警告が出るかもしれませんが、構わず続行ボタンを押してください。
続いて下記のように「SSH認証のためのダイアログ」が表示されます。 ユーザー名①は「root」、パスフレーズ②は秘密鍵作成時に設定したパスフレーズを、認証方法③は「RSA/DSA/ECDSA/ED25519を使う」を選択して、秘密鍵はローカルに保存している「id.rsa.pem」を読み込んでOKを押します。
ログイン成功後、下記のターミナル画面にシェルプロンプトが表示されるとコマンド入力が可能な状態になります。
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のユーザー作成時のパラメータをそのまま入力して送信ボタンをクリックします。
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アカウントの運用が軌道に乗ってトラフィックが増えてきたら、より快適な顧客体験を提供できるようにクラウドにステップアップしてみましょう。
FJcloud-Vの無料枠は最大六か月無料!
FJcloud-Vの無料枠を使って、WordPressサーバー構築を試してみましょう。
ただいま、通常だと二か月無料のところを六か月まで無料になります。無料枠の制限事項もほとんどありませんので、思い切ってこの機会にいろいろ試してみましょう。
動画でも同様の手順を解説しているのでこちらもご覧ください。 youtu.be