なんとかまとめまでたどり着きました…。ということで、今回は大規模なリンクを張っておきましょう。
サーバー構築の手順まとめ
以下のような手順になります。なお、手順にあるリンク先のページでは設定に関するヒントがあります。
- VPSの契約(自宅サーバの場合はマシンセットアップ)
- rootログインを行い、yumで一度最新までアップデートを行う
- 通常のログインユーザを作成してsudoによるroot昇格を設定する
- (必要であれば)SELinuxを設定する
- SSHの設定を行い、外部からの侵入されないようにする
- 不必要なサービスを停止する
- ディスククォータを設定する
- 最新のパッケージを導入するために、現在入っている不必要なパッケージをすべて削除する
- 最新のパッケージを導入するためのリポジトリを設定する
- アンチウィルスを導入する
- httpd(Apache)の導入
- Let’s Encryptを使った常時SSL化対応処理
- php-fpmの導入
- MariaDBの導入
- nginxの導入
- vsftpdの導入
- postfix、dovecotの導入
- 各サービスの動作チェック
やっぱりそれなりの知識は必要ですね
特に設定でエラーを起こした場合、何が間違いかどうかを調べるにはプログラムを作っているときに何が間違えているかを確認するテクニックと同じような物が必要なのでは、と思っています。今回はターミナルからの設定で何回もエラーを起こしたのが、どうもキー操作ミスで設定ファイルの一番先頭に間違えたアルファベットが入ってそれを読み込もうとしてエラーを起こす、というパターンです。作業の慣れが消えてしまっているのがわかってちょっとショック。また、設定項目を自分で書いている場合で、項目名のスペルを誤って認識している場合がありました。Apacheの設定で「SetHandler」という項目が出てきたので、にたスペルの文字を見たときにそれだ、と思い込んでいると実は「SetHeader」だった、とか…。
経験がない人はVPSだけではなく一度自分のマシンでやってみるとよいかも
昔とは異なり、2万円以上するCPU(具体的にはCorei3以上)であったり、メーカー製でもそのレベルのCPUがあれば仮想マシンを使うための機能くらいはついていますし、仮想マシンを作るためのプログラムも無料で手に入る(VirtualBoxなど)ので、自分の手元でやってみてどうなるか?は実験した上でVPSを契約してみるのがよいと思います。プログラミングでもそうですが、設定の説明ページだけを見てそれをコピーしていても何も成長はしません。自分の環境に合うように設定してみたときに何が起こるのか、体験してみないとわからないことが多いからです。その点、仮想マシンであれば間違えたときにすべてを吹っ飛ばすことが簡単にできますので、怖がる必要はほとんどないと思いますよ。VPS以上になれば外部サーバを使った中でもできることが通常のレンタルサーバに比べて格段に増えますからね。面倒さも同じくらい増えますが。
プログラミング教育でこういうのはどうにかなるのかな…。
こういう「何が間違いかを考えるためにあれこれ考える」という能力は今の社会では必要ですので、その意味でもプログラミング教育の意義はあるのかもしれません。実際にやってみると人による差が大きすぎて大変ですが。そういう教材についてちょっと研究してみたりしたので、その感想も踏まえて別の機会にblogの記事にしたいと思います。