この Blog の作り方(2)

さて、前回は主にさくらのクラウド上に仮想サーバーを立てるところまで書きました。

今回は、続いて、SSH 回りの設定調整、データベース、HTTP など各種サーバーソフトウェア等、必要なソフトウェアのインストール、そして WordPress のインストールまで書いていきます。

0.ホスト名の変更

良く考えると、DNS 設定は行いましたが、まだ、サーバーのホスト名を変更していませんでした。ssh で root にログインし、ドメイン名付きでホスト名を記述しリブートします。

1.ssh 接続用のユーザーを作成し、root ログインを制限する

ssh 接続用のユーザーを作成します。

次に root ユーザーへの ssh ログインを制限します。

設定変更したら、ssh サービスを再起します。

2.PuTTY で公開鍵認証でログインする設定を行う

ほぼ、こちらのページに書いてあるとおりです。

ワタシは ssh ターミナルソフトウェアに PuTTY を愛用しているので、それにそった内容です。

  1. 手元のクライアント(Windows)上で、PuTTY Key Generator で公開鍵、秘密鍵を生成
  2. 生成された鍵ペアをしかるべき場所に保存
  3. pscp か WinSCP を使い、サーバー上の ssh ログイン用ユーザーのホームディレクトリに公開鍵を転送
  4. サーバー上で ssh-keygen コマンドを使い、OpenSSHで使用できるように変換
  5. .ssh ディレクトリをユーザーのホームディレクトリに作成し、変換した公開鍵を登録
  6. PuTTY の接続設定で、秘密鍵の在処を設定しておく

ちょっとハマったのが、OpenSSHで使用できるように変換する手順。この手順を知らなかったので、あれこれと悩みました。

後、公開鍵、秘密鍵作成時に、パスフレーズは空でもOKではありますが、当然パスフレーズを設定しておいた方が、よりセキュアになります。何しろ、インターネット直付けのサーバーなので、セキュリティには気を遣って遣いすぎなことはありません。

PuTTY から、root でログイン不可であることを確認し、ログイン用ユーザーでログイン可能であることを確認して、この項は終了です。

3.ssh ログイン用ユーザーから sudo コマンドを使えるようにする(任意)

これは無くても「su -」で root ユーザーになれば不便は無いと思いますが、後々 ansible であれこれするのに必要となるので、使用可能にしてみました。

4.Let’s Encrypt の SSL 証明書を使う

ここで本来は、apache をインストールする必要がある気がするのですが、history コマンドで確認しても、apache をインストールした記録がありませんでした。

なので、さくらのクラウド提供の CentOS 7.3(SiteGuard Lite 入り)のアーカイブには、apache が最初から入っていたのかも知れません(機会があれば確認の上訂正します(笑))。

で、Web サーバーが準備出来ているのであれば、次は https:// ~ でアクセス出来るよう、SSL 証明書を取得してみます。

SSL 証明書といえば「ちゃんとしたサイト」ならば、有料だけれども信頼性が高い証明書を使った方が良い、と思いますが、ここでは最近流行の無料で SSL 証明書を発行してくれる「Let’s Encrypt」の SSL 証明書を使ってみます。

インストール法、更新方法などは公式サイトに詳しいので、ここでは割愛します。

ただ、有効期間が 3ヶ月と結構短いので、更新忘れを防ぐため、cron で週一回、期限間近かどうか確認し、間近であれば自動更新するよう、crontab で下記のように設定しています。

5.PHP のインストール

WordPress は PHP で記述されているので、当然、apache から PHP を使用出来る必要があります。と言うわけでインストール。

ドキュメントルートに index.php を設置し、以下を記述します。

https://tech.lunarflake.com/index.php にアクセスしてみて、phpinfo の内容が表示されればOK。

確認が終わったら、index.php は削除しておきましょう。

次回は……

さて、長くなりましたので、少し中途半端な内容ですが、ここでこの記事は終わりとします。

次回は、MySQL サーバー互換の Mariadb のインストール、そしていよいよ WordPress のインストール、について書きます。


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください