お名前vpsサーバを契約
WordPressバージョン5.9以前からローカル環境にWordpressをインストールして眺めてみたり、記事を書いてみたりしていました。ブロックエディターの使い方が全くわからずスマートフォンで撮った写真を投稿する程度の使い方しかしていません。
WordPressバージョン6になってデフォルトテーマが『twenty-twenty-four』に変わったので試験的にサーバー運用してみたくなりました。お名前ドットコムでまずサーバーを借りたのですが、何かのはずみでvpsを契約してしまいました。
ほとんどの商用サイト様はvpsでWordpressを運用しているとのことなんですが、コスト面とかセキュリティーでvpsにて運用するのが都合が良いのでしょうか。個人のサイトでvpsでの運用は少し設定等、知識が必要なので、お名前の共用サーバーRSプランで運用した方がいいと思います。
nginx(webサーバ)をインストール
あくまでも試験運用のつもりだったのですが、せっかく借りたvpsなので、リバースプロキシサーバーをnginxで実装することにして、共用サーバーのWordpressをフロントエンドにて運用する設定をしてみたのですが、表示が崩れたりして使い物にならない状態だったので、nginxは止めて、apacheのプロキシサーバーを建てることにしました。
最近のサーバー事情って面白いですね!さくらインターネットも初心者向けの講座(猫でもわかる)をやっているし、だいたい、konoha wing とか Xサーバーに行くと思いますが、なぜお名前ドットコムでWordpressを運用しているかというと、ドメインを契約したら自動的にサーバーも借りてしまっていたからです。
お名前vps初期設定
vpsの方は設定が大変でした。初心者用でも分かるようになってはいますが、調べながらでないと設定はなかなかできませんでした。最初、osはcentosがデフォルトになっていましたが、ubuntuとdebianから選べて、isoイメージからのインストールもできます。osのインストールはボタンをクリックするだけでできます。でも、それからがまた大変でした。サーバーのコントロールパネルでvncコンソールからrootログインができませんでした。パスワードは合っているのに、何回やってもダメでした。(多分キーボード配列がusキーボード配列だったので、それに気付かなかったからだと思います。)
それでコンソールのログインは諦めて、sshからのログインをしてみることにしました。sshからのログインはデフォルトでrootのパスワードログインは禁止になっているのです!
コントロールパネルでsshの鍵ペアを発行することができますが、それはosがcentosのときのみ使えるものみたいでした。(osはdebianをインストールしました。)ダメかなと思ってやってみたら、sshでrootログインできました。(ssh公開鍵認証でログイン)個人用のvpsならrootで運用してもそんなに問題ではないかも知れませんが、root権限を持つアカウントを作成してパスワード認証でログイン可能にしました。
それからがまた大変でした。sshの公開鍵認証の設定が上手くいきません。二日位悩みました。sshクライアントはputtyでしたが、puttyの生成鍵で認証できません。なぜか鍵認証の設定をしたら、rootの鍵ペアも認証されなくなってしまいました。結局、puttyの鍵ファイル形式をlinux用に変換しないと鍵ファイルの読み込みができないということでした。
「えーそんなこと常識でしょー何言ってんのー?」とか言われてしまいそうですが、debianでvpsを運用している人のブログを見てもそこまで書いてなかったのです。
ファイアーウォール設定、webサーバ設定
さて、めでたく公開鍵認証ができるようになって、こんどの難関は、ファイアーウォールの設定です。この設定が出来ないとサーバーが攻撃されて乗っ取られるかも知れません。ファイアーウォールはipテーブルで設定するのですが、分かりにくいです。ufwで設定しました。
ポート開放するのは、443と80とsshとプロキシサーバーのポートですが、最初から、ipv6は使わない設定にしておきます。お名前vpsのコントロールパネルでも設定が必要です。お名前vpsでは、ルールを追加という名前の設定になっています。デフォルトの状態から必要なポートを解放するのには、なぜかall(すべて許可)といるルールを追加しないといけないようです。
そしてufwでまず「すべてを拒否」というルールを追加します。
そして必要なポートを開放する設定を行っていきます。
Windowsのコマンドプロンプトでポート開放の確認をしました。443ポートを開くことが何故か出来ないので調べてみました。webサーバー側(apache)の設定ファイルに443ポートの許可を書かないといけないようです。80番ポートはデフォルトで有効です。
nginxでも設定ファイルの記述で散々悩んだのですが、そのせいでapacheではなんとなく設定ファイルの扱いが分かりました。デフォルトのファイルの設定を変更したファイルを新しく作ってシンボリックリンクで読み込みます。デフォルトのファイルを変更してもサーバー側に反映されないことがあります。ネットの情報を鵜呑みにして設定してもその通りに出来ないこともよくあります。
最低限、vpsにインストールしたサーバーが自分の決めたドメインでアクセスできるようにセキュリティー対策も含めて設定することが必要です。
最近はhttps(セキュアな接続)でのwebアクセスがほとんどなので、httpsでのサイト設定も必要でした。それは無料のssl証明書を取得して設定することです。debianではデフォルトでssl証明書があるみたいです。
無料ssl証明書の取得にはcerbotというアプリケーションが必要です。そのときにwebサーバーが自分の決めたドメインでアクセスできるようにしておかなければなりません。cerbot -t –apache で証明書ファイルと鍵ファイルが取得できます。
その2へ続く
>>美味しくたべて健康になろう
Foodsライン ダノン オイコス ヨーグルト 12カップ (ストロベリー)
Amazonで見る