この Blog の作り方(2)

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

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

0.ホスト名の変更

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

vi /etc/hostname
reboot
hostname

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

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

useradd sagay
passwd sagay

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

vi /etc/ssh/sshd_config
#PermitRootLogin yes ←コメントアウトして「no」に変更
PermitRootLogin no

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

systemctl restart sshd.service

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 であれこれするのに必要となるので、使用可能にしてみました。

vi sudo
ユーザー名   ALL=(ALL)       NOPASSWD:ALL ←追記

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 で下記のように設定しています。

53 5 * * 6 /root/bin/certbot-auto renew

5.PHP のインストール

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

yum -y install php-mysql php php-gd php-mbstring
systemctl restart httpd.service
cd /var/www/html/
vi index.php

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

<?PHP
  phpinfo();
?>

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

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

次回は……

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

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


コメントを残す

メールアドレスが公開されることはありません。

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