はじめに
余っていたノートPCを貰ってきたので、簡易的にこれを共同作業用のサーバーにしようと思う。各種ソフトウェアはLXDコンテナの上にインストールし、将来スペックの高いサーバーへ移行する際にはコンテナのマイグレーション機能を使って安全に移行可能とする。
インストール環境
項目 | ソフトウェア | バージョン |
---|---|---|
ホストOS | Ubuntu | 18.04.2 LTS |
ゲストOS | Ubuntu | 18.04.2 LTS |
HTTPサーバー | Apache HTTP Server | 2.4.29 |
WikiやBlog、ITSなどをインストールしようと計画しているが、まずは上記の環境を整備する。
コンテナ環境の構築
コンテナといえばdockerが独走状態だが、今回のように関連するソフトウェア一式を乗せるにはシステム・コンテナのLXDが都合が良い。
LXDのインストール
普通にサーバー版やデスクトップ版をインストールしていればLXDはデフォルトでインストールされていると思う。
筆者の場合にはZFS上にスクラッチでUbuntuをインストールしたため、手動でインストールした。
$ sudo apt install lxd lxd-client
コンテナイメージのダウンロードと起動
サーバー用途なので安定性重視でLTSをインストール。documentsは作成するコンテナ名である。
$ lxc launch ubuntu:18.04 documents
コンテナの中に入ってアップデート
$ lxc exec documents -- /bin/bash
# apt -y update && apt -y upgrade ←コンテナ内に入っている
Apache HTTP Serverのインストール
# apt -y install apache2
ポートフォワーディング
コンテナはNAPT配下にあるため、コンテナから外部へのネットワーク接続は可能であるが、外部からコンテナ内のサーバーへは接続できない。外部からApache HTTP Serverに接続できないのは困るので、ポートフォワードを設定する。
# exit ←コンテナから抜けてホストに戻る。
$ lxc config device add documents port81 proxy \
listen=tcp:0.0.0.0:81 connect=tcp:localhost:80
おわりに
VM上にOSをインストールするのと違って、LXDだと気軽にコンテナ上にフルスタックのOSを手にすることができる。設定を間違ってわけがわからなくなってもコンテナごと削除した上ですぐに新しいコンテナを立ち上げることができる。
次回はこのコンテナ上にWikiやBlogを構築する。