さて、前回は主にさくらのクラウド上に仮想サーバーを立てるところまで書きました。
今回は、続いて、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 を愛用しているので、それにそった内容です。
- 手元のクライアント(Windows)上で、PuTTY Key Generator で公開鍵、秘密鍵を生成
- 生成された鍵ペアをしかるべき場所に保存
- pscp か WinSCP を使い、サーバー上の ssh ログイン用ユーザーのホームディレクトリに公開鍵を転送
- サーバー上で ssh-keygen コマンドを使い、OpenSSHで使用できるように変換
- .ssh ディレクトリをユーザーのホームディレクトリに作成し、変換した公開鍵を登録
- 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 のインストール、について書きます。