はじめに
LiveWebServer は Web サーバーアプリケーションです。Apache や Nginx と同種のソフトウェアですが、仮想ホストの管理方法が大きく異なります。Apache および Nginx がプレーンテキスト形式の設定ファイルで管理するのに対し、LiveWebServe は PostgreSQL のデータベースで管理します。
LiveWebServe にはグラフィカルユーザーインターフェース(GUI)を備えた管理画面が用意されており、Linux の知識がなくても仮想ホストを追加、更新、削除することが可能です。また、仮想ホストに有効期間を設定すれば Web サイトの公開・閉鎖の日時を予約することもできます。
LiveWebServe は Apache や Nginx と比較するとかなり単純な Web サーバーです。基本的に LiveWebServer が持つ機能は次の 3 つだけです:
- 静的ファイル群の中身をクライアント(ウェブブラウザー)に返す。
- HTTP ステータスコード 301 を返す(HTTP リダイレクション)。
- アクセスログをデータベースに記録する。
LiveWebServe は、Apache や Nginx が持つ以下の機能を持ちません:
- リバースプロキシ
- ロードバランサー
- HTTP キャッシュ
- メールプロキシ
- HTTPS 通信のサポート
- WebSocket 通信のサポート
検索エンジン最適化(SEO)の観点から公的・商業的 Web サイトにおいて SSL 対応は必須なので、LiveWebServer が HTTPS 通信をサポートしないという点は重要です。LiveWebServer は Cloudflare のようなリバースプロキシの背後で運用することを前提として作られています。
LiveWebServer は多数の静的なウェブサイトをホスティングするサービスを構築するのに向いています。ここで言う「静的」は、HTML 文書、画像ファイル、動画ファイル、CSS ファイル、JavaScript プログラムなどのファイル群のみから構成されることを意味しています。静的なウェブサイトであっても、JavaScript プログラムによってブラウザの画面を動かすことは可能です。
静的なウェブサイトを制作する方法は無数にあります。テキストエディタで HTML 文書を直接編集してもよいし、Adobe Dreamweaver のようなソフトウェアを利用することもできます。そうして作られたウェブサイトのファイル群を正しいディレクトリに設置すれば LiveWebServer から配信できます。
しかし、本書では推奨される制作手段として 3 つのツールを紹介します。
これらは静的サイトジェネレーターと呼ばれ、テンプレート群と設定ファイルから HTML ファイル群を生成してくれます。静的サイトジェネレーターを利用すると効率よくウェブサイトを制作できます。
tgweb について
長い歴史を持つ有名な Astro および Hugo と 2023 年に開発が始まったばかりの無名な tgweb を並列で紹介するのは、かなり「我田引水」的な行為かもしれません。なぜなら、本書の筆者(黒田)は LiveWebServer と tgweb の主要なコミッターであるからです。
本書の構成
Chapter 01: はじめに
Chapter 02: 環境構築手順
Chapter 03: Astro
Chapter 04: Hugo
Chapter 05: tgweb
Chapter 06: 管理画面
Chapter 07: 本番環境へのデプロイメント
Chapter 08: Cloudflare との連携