はじめに

自作サーバーセットアップの続きです。
前回は、サーバーのハードウェアを組み立てたので、ソフトウェアのセットアップの最初として、OSのインストールを行います。使用するOSは、Ubuntu Server 16.04 です。
インストール手順は、公式チュートリアルを参考にします。

インストール手順

OSイメージのダウンロード

公式サイトからイメージファイルをダウンロードします。

ブータブルUSBメモリの作成

チュートリアルに従ってUbuntu Server を起動可能なUSBメモリを用意します。

サーバーにインストールする

これまたチュートリアル を参考にします。

BIOSの設定を変更してUSBメモリから起動する

BIOSの設定でUSBデバイスの起動順序を一番はじめにします。変更を有効にしてUSBメモリを挿し込み、再起動すればUbuntuのインストール画面が表示されるはずです。
しかし、何故か画面にプロンプト1つしか表示されない。

blackout
ubuntu serverのlive usbメモリからのブートに失敗する謎現象

BootableなUSBメモリの作成に失敗したのかと思い、他のPCで起動してみたが、きちんと起動する。意味がわからないので、とりあえず転がっていたWindows 10 のインストール用のUSBメモリを挿してみたら、うまく起動した。

何故かWindows 10は起動した
何故かWindows10は起動した

とりあえず何かが物理的に壊れていたり配線を間違えたわけではなさそうなので安心した。
いろいろ格闘した結果、BIOSをアップデートしたら無事にUbuntu Serverのセットアップが起動するようになった。Linux は後回しということですね、ASRockさん。説明書にはUbuntu 16.04対応って書いてあるのに。

パーティションの設定

ユーザー名やパスワードなどをウィザードに従って設定していくと、パーティションの設定にたどり着きます。公式チュートリアルの手順8に当たります。
ここでは、同容量のハードディスクを2台積んでいるので、ソフトウェアRAIDでRAID1構成にすることにしました。

  1. まずはManual を選びます。
  2. 両方のディスクに、全体の容量から4GB程度(ほしいスワップ容量の半分、今回は8GB程度のスワップ領域を確保することにした) を引いた容量の物理RAIDパーティションを作成する。両方のディスクにきっかり同じ容量分確保することに注意します。
  3. 片方のディスクの残りの領域に、300MB程度のEFIパーティションを作ります。このパーティションにはBootable Flagを立てておきます。この手順を忘れると、あとでGRUBがインストールできなくなって最初からやり直しになります。一度ハマりました。
  4. 残りの領域は全部SWAP領域にします。
  5. 2つのRAIDパーティションをソフトウエアRAIDでRAIDディスクにして、ext4でフォーマットして、システムルート(/)にマウントしま

以上の手順を踏んだら、パーティション設定を終わらせて次に進みます。

ソフトウエアの選択

手順10までたどり着いたら、サーバーの運用環境に合わせてソフトウエアを選択します。
私は色々やらせるつもりなので、Mailサーバー以外はすべて選択しました。特に、SSHは絶対に必要です。サーバーにするならLAMP環境もあったほうがいいでしょう。
あとはウィザードに従っていけば勝手にインストールが完了します。

インストールが終わったら

アップデート

apt のアップデートはしておきましょう。

$ sudo apt update
$ sudo apt upgrade

セキュリティ関連

このサイトを参考にします。

ipアドレスを固定する

検索すれば色々出てくるので割愛。

iptables の設定

セキュリティのため、iptables で使わないポートは塞いでおきましょう。
再起動後にも設定を保持するためにiptables-persistentを使用します。

$ sudo apt install iptables-persistent

初期設定をウィザードに従って行ったあと、/etc/iptables/以下にあるルールファイルを変更します。
ルールファイルの例は検索すれば色々出てくるので参考にしてください。
iptables-restoreコマンドでiptablesを設定したら、iptables -Lコマンドできちんと設定されているかを確認してください。

fail2banの設定

DDOS攻撃やパスワード総当り攻撃などを検知して防いでくれるfail2banを導入します。

$ sudo apt install fail2ban

/etc/fail2ban/jail.conf に各自設定します。

パスワードによるSSH接続を禁止する

参考リンク1参考リンク2を参考にしてください。
公開鍵認証以外の接続を禁止しましょう。

おわりに

以上でサーバーとしてのOSのセットアップが終わりました。
試しに http://(あなたのip) をブラウザに入力して、サーバーソフトのApacheが動いていることを確認しましょう!

コメントを残す

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

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