Ubuntu Serverのセットアップ

Ubuntuを最小限のサーバとしてセットアップする場合のメモ。

もくじ:

インストール自体は特に落とし穴はないと思いますが、
デフォルトではsshdが選択されない場合があるので、必要に応じてOpenSSH-Serverを追加します。

ネットワーク設定

インストール時に指定しなかった場合(または最近のバージョン)、NIC設定はinterfacesファイルを編集して設定します。

デフォルトではDHCPで自動取得。固定したければeth0 (または環境依存で他の名前)の記述を変更します。

Ubuntu 17で固定IPアドレスを設定する場合(netplan)

Ubuntu Server 17ではこのinterfacesファイルを書き換えるやり方では固定できなくなったようです。

インストール直後のinterfacesファイルはこんな感じ。eth0の記述がなくなっていますね。

代わりに/etc/netplan/にあるYAMLファイルを編集します。
変更前のDHCPが設定されているもの↓

DHCPを無効化して、固定アドレスを入力します。

YAMLファイル名は環境によって異なるかも。
Network Managerがバックエンドになっている他の環境で試すと01-network-manager-all.yamlという名前になっていましたが、書き方(設定項目)は同じです。

netplanコマンドを使って設定を適用します。--debugスイッチをつけると設定ファイルに入力ミスがあった場合にエラーとして表示されます。
問題なく成功すれば、即座にアドレスが変更されます。前のアドレスでSSHしている場合は接続しなおして下さい。

パッケージ設定

インストール時に自動更新を選択しなかった場合、念のため手動でパッケージを更新しておきます。

一通り必要なツールは入っているので、特に追加でインストールするようなものはないかも。

Pythonインストール

UbuntuではPython3がデフォルトになっているので、それでいい場合は特に何もしなくても使えますが、パスはpython3 (/usr/bin/python3)に通っているようです。
Python2を使用する際は、python-minimalを追加でインストールするとpython (/usr/bin/python)にパスが通ります。

pipのインストール

pip (python3-pip)をインストールする場合もaptでいけます。

ただし、注意が必要なのは、レポジトリの設定次第ではapt経由でインストールできない場合があることです。そんなときは以下の手順を試してuniverseレポジトリを追加してみるといいかもしれません。

問題なくインストールできていればpip3コマンドが使えるようになります。

rootによるsshログインの有効化

やらなくても特に困らないものの、ごく稀に必要になるrootログイン。
Ubuntuではrootアカウントが無効化されているので、デフォルトではsshログインができません。

一般ユーザからrootアカウントにスイッチするだけならばsudo su -を使います。
その場合はrootアカウントのパスワード作成は不要ですが、rootアカウントでSSHログインするには、以下の設定が必要です。

おわり。