最低限かつムダのないUbuntuサーバー初期設定【VPS】

最低限かつムダのないUbuntuサーバー初期設定【VPS】 サーバー

この記事では、Ubuntuの初期設定を説明しています。
基本的には、OSのバージョン関係なく行う設定となります。
つまり、18.04であろうと20.04であろうと関係はないということです。

本記事の内容

  • ホスト名の設定
  • パッケージのアップグレード
  • タイムゾーンの設定
  • ロケールの設定
  • ファイアウォールの設定

なお、この記事で実際に用いるUbuntuは18.04です。
今なら、20.04が最新で利用可能です。

18.04を用いる理由は、そのバージョンしかインストールできなかったからです。
それは以下の記事で解説しています。

それでは、Ubuntuの初期設定を行っていきます。
まずは、hostnameの設定ですね。

ホスト名の設定

現在のホスト名の確認

$ hostname
i-101000000xxxxx

システムで自動的に割り振られたホスト名でしょう。
これをわかりやすいものに変更します。

ホスト名の変更

利用しているのは、WebARENA IndigoというVPSのサーバーです。
それがわかるようにします。

$ sudo hostnamectl set-hostname myindigo

確認します。

$ hostname
myindigo

ホスト名の設定が完了です。

パッケージのアップグレード

パッケージをアップグレードします。

パッケージリストの更新

/etc/apt/sources.listに変更を加えた場合には、必須です。
インストール直後はとりあえずやっておきます。

$ sudo apt update

インストール済みパッケージの更新

セキュリティを考慮すると、最新にしておくのが懸命です。

$ sudo apt upgrade -y

タイムゾーンの設定

タイムゾーンの確認

$ timedatectl status                                                                      
                      Local time: Sat 2020-07-11 04:32:42 UTC
                  Universal time: Sat 2020-07-11 04:32:42 UTC
                        RTC time: Sat 2020-07-11 04:32:43
                       Time zone: Etc/UTC (UTC, +0000)
       System clock synchronized: yes
systemd-timesyncd.service active: yes
                 RTC in local TZ: no

日本時間に変更しましょう。

タイムゾーンの変更

$ sudo timedatectl set-timezone 'Asia/Tokyo' 

確認しましょう。

$ timedatectl status
                      Local time: Sat 2020-07-11 13:40:38 JST
                  Universal time: Sat 2020-07-11 04:40:38 UTC
                        RTC time: Sat 2020-07-11 04:40:39
                       Time zone: Asia/Tokyo (JST, +0900)
       System clock synchronized: yes
systemd-timesyncd.service active: yes
                 RTC in local TZ: no

日本時間に変更されました。

ロケールの設定

日本語ロケールのインストール

対応しているロケールの確認

$ localectl list-locales
C.UTF-8
en_US.utf8

日本語ロケールのja_JP.UTF-8がインストールされていません。

ロケールのインストール

$ sudo apt install -y language-pack-ja

確認します。

$ localectl list-locales                                                                  
C.UTF-8
en_US.utf8
ja_JP.utf8

ja_JP.utf8が追加されました。
これは、あくまで対応可能なロケールに追加されただけです。

この時点では、まだロケールは初期のままです。
つまり、ja_JP.utf8ではないということになります。

デフォルトのロケールを日本語にする

設定中のロケールの確認

$ localectl status
   System Locale: LANG=C.UTF-8
       VC Keymap: n/a
      X11 Layout: us
       X11 Model: pc105

C.UTF-8がデフォルトのロケールです。
C.UTF-8をja_JP.utf8変更します。

ロケールの変更

$ sudo localectl set-locale LANG=ja_JP.UTF-8

もちろん、確認です。

$ localectl status
   System Locale: LANG=ja_JP.UTF-8
       VC Keymap: n/a
      X11 Layout: us
       X11 Model: pc105

LANGが、C.UTF-8からja_JP.UTF-8に変更されました。
これで、日本語ロケールの設定が完了です。

ファイアウォールの設定

ufwのインストール

ufwは、iptablesのコマンドライン設定ツールとなります。
iptablesを手動で設定するのは、結構面倒です。

だから、ツールで管理しましょうということですね。
以下がインストールコマンドです。

$ sudo apt-get install ufw

なお、WebARENA IndigoのVPSには初めからインストール済みです。

ufwの状態確認

$ sudo ufw status
状態: 非アクティブ

まだ、有効化されていません。
そして、まだどのポートも設定されていないようです。

全アクセス禁止

一旦すべてのポートを閉鎖します。
まだ、有効化してはいけません。

$ sudo ufw default deny
デフォルトの incoming ポリシーは 'deny' に変更しました
(適用したい内容に基づいて必ずルールを更新してください)

ポートの開放

ポート番号を指定するだけですね。
この時点では、SSH接続できるだけでよいのでポート番号22を開放します。

$ sudo ufw allow 22
ルールをアップデートしました
ルールをアップデートしました(v6)

※仮にSSHをポート番号222などで接続していれば、222を開放してください。

ufwの有効化

$ sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
ファイアウォールはアクティブかつシステムの起動時に有効化されます。

「y」を選んでEnter。
有効化したら、状態を確認しましょう。

$ sudo ufw status
状態: アクティブ


To                         Action      From
--                         ------      ----
22                         ALLOW       Anywhere                  
22 (v6)                    ALLOW       Anywhere (v6)       

ポート22が許可されていることを確認できますね。
以上で、初期設定におけるファイアウォールの設定が完了です。

追記 2021年8月10日
時刻合わせを行いたい場合は、次の記事が参考になります。

タイトルとURLをコピーしました