2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【LXD】Ubuntu 18.04 LTSにApache HTTP Serverを立ち上げる

Posted at

はじめに

余っていたノート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
パラメータ 説明
documents ポートフォワードを設定するコンテナ名
port81 任意の設定名
listen リッスンするアドレスとポート。この例では全てのアドレスからの81番ポートへの接続を待ち受ける
connect フォワードするアドレスとポート。コンテナの80番ポートへフォワードしている
上記のコマンドは、documentsというコンテナに対して、ホストの81番ポートへの接続をコンテナ内の80番ポートへフォワードする、という意味になる。
うまく設定されていれば、ブラウザでホストの81番ポートに接続すると下図のようにApache HTTP Serverのデフォルト画面が表示される。
apache2.PNG

おわりに

VM上にOSをインストールするのと違って、LXDだと気軽にコンテナ上にフルスタックのOSを手にすることができる。設定を間違ってわけがわからなくなってもコンテナごと削除した上ですぐに新しいコンテナを立ち上げることができる。
次回はこのコンテナ上にWikiやBlogを構築する。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?