Help us understand the problem. What is going on with this article?

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

More than 1 year has passed since last update.

はじめに

余っていたノート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を構築する。

InitialK
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした