行を追加すればドメイン名でアクセスできる。/etc/apache2/sites-available/に.confファイルを追加してa2ensiteすると仮想的なサーバーを追加できる。想定条件を繰り返します。Ubuntu18.04で検証しています。Debian系のApache2の設定ファイルはなかなか合理的に分割管理されているのですが、他のディストリビューションでの書き方や、昔の書き方を混ぜて書いてしまっても大抵は動きますので、そのままウェブに解説記事となっていることもあります。ドキュメントはちゃんと読みたいものです。Wi-FiルーターがDHCPになるローカルネットで、ノートPCをウェブサーバーに仕立てることを想定します。ノートPCを別のネットワークに移動しても働くように、DNSの存在を想定しません。VirtualHostはサーバー名によって振り分けますから、DNSがない状態では難しくなります。アクセス元のホストのhostsファイルを設定できるようになっている場合は割と単純です。インターネットの黎明期の雰囲気を味わうことができます。DHCPまで自分で用意したり連携して簡易なDNSを用意するところまでは今回はやりません。他のホストからのドメイン名によるアクセス実際のURLのようにhogehpge.example.comのようなドメイン名を使いたい場合は、ドメイン名からIPアドレスを得る仕組みが必要になります。DNSサーバーに登録しておいて参照してもらうか、/etc/hostsファイルに書いておきます。正確にはhogehpge.example.comとあったときにはhogehpgeがホスト名でexample.comがドメイン名なのですが、そうでない場合もありますし、全体をドメイン名というのだと強弁する人もいます。hogehpge.example.comなどとします。アドレスが得られるので、大抵の場合うまく行きます。ブラウザで検索単語と判断されたり、.comが忘れられていると判断されたりと、うまく行かない可能性もありますから、URLらしい形になっている方がいいでしょう。このホスト名はインターネットに出さないでローカルに使うのであれば、登録をしていなくても、どこかのドメインの真似でもいいのですが、正式にインターネットに接続した時にトラブルにならないよう無難なものにしておきます。最終的にこうしました。このサイトdabiyone.comのサブドメインという形です。外部DNSには登録していないので、正式なサブドメインとして機能しているわけではありません。ローカルネットワーク専用です。cfy7.nan.dabiyone.comローカルなネットワーク内でコンピュータがたくさんあるのであれば、ドメイン名を統一して、ホスト名をホストごとにユニークに決めておき、一覧を/etc/hostsに書いておくのがよいでしょう。インターネットの黎明期にはこのようにしていました。ネット内のホストが少ない時は簡単ですが、ホストの増加に伴い、これが面倒になってDNSの仕組みができました。ローカルなネットワークでもDNSを動かすこともできます。これはこれで便利です。次のファイルと読み替えてください。C:\Windows\System32\drivers\etc\hosts追加する行については、Linuxと代わりはありません。編集には管理者権限が必要です。ホスト名でアクセスするようにできるなら、ホスト名によってドキュメントルートを振り分けることができます。ドキュメントルートにしてサイトを構築してゆく方法を説明します。../sites-available/000-default.confsites-enabledに置かれた*.confというファイルが有効になりますが、sites-availableにファイルを作成しておいてリンクを作ることで設定の有効/無効を簡単に切り替えられるようになっています。これに従わずに書き加えていっても動きますが、知っていると便利です。000-default.confには次のような内容が書かれています。/var/www/html/index.htmlが表示される。ディレクトリ構成から見る方針に合わせて、これをコピーして書き換える。001-cfy7.conf001...にはServerNameの設定をします。DocumentRootも変更します。/srv/www/htmlこの設定はcfy7.nan.dabiyone.comという名前でアクセスしてきたら、/srv/www/html内のデータを閲覧させるという設定です。名前がcfy7.nan.dabiyone.comでなければ、000...の/var/www/htmlが使用されます。works!」のページの中に、デフォルトでは、/var/www、/usr/share(Webアプリケーション用)以外にあるファイルへのWebブラウザ経由のアクセスを許可ないこと、他の場所(/srvなど)をドキュメントルートとする場合は、/etc/apache2/apache2.confのホワイトリストに登録する必要があることを注意しています。granted#</Directory>とありますので、#を削除すれば、/srv/www以下のアクセスを許可することが簡単にできます。表示すべき内容も用意します。DocumentRootにあわせてフォルダを作り、所有者を変更。index.htmlもコピーして最低でも、/srv以下にアクセスしたことがわかるように内容を変更します。/srv/www/html/index.html設定ファイルの変更を有効にするため、シンボリックリンクを作る作業をすればOKです。それをするためのコマンドもあります。カレントディレクトリに気を使わなくてもいいので楽です。a2で始まるコマンド(apache2だから)です。忘れたらtabを使ってa2で始まるコマンドを補完で出すことができます。a2querya2ensiteです。apache2apache2のリロード方法が示されるので従えばOKです。サーバーを止める必要はありません。昔ながらの/etc/init.d/で始まる方法も使えます。systemdになってinitではないのですけど、昔の記憶でやってしまってもできるようにしてくれています。{start|stop|graceful-stop|restart|reload|force-reload}なので昔の方法でもできますね。素直にsystemctlに従ってみます。apache2これはsudoを忘れています。ダイアログが出てパスワードを要求されるだけで済みました。ホストを増やすapach2では002...の設定も可能です。数字で始まるのはたぶん設定の順番ということでしょう。001...ではcfy7.nan.dabiyone.comというホストを定義したのですが、002...というファイルにwww.nan.dabiyone.comを設定すれば、もう一つホストがあるかのように振る舞います。sites-available内の設定ファイルには、VirtualHostという文言が入っています。002...には例えば次のように設定します。/srv/www2/htmlこんど設定はwww.nan.dabiyone.comという名前でアクセスしてきたら、/srv/www2/html内のデータを閲覧させるという設定です。ホスト名とフォルダ名が合致しないので混乱するかもしれませんが、自由に決められるということです。フォルダの場所も深さも自由です。othorsの読み取り権限はついていないといけません。DNSを立てていなければ、hostBの/etc/hostsにwww.nan....を加えておく必要があります。www.nan.dabiyone.comapach2のVirtualHostの設定には、まだまだバリエーションがあって、IPアドレスや、ポート番号によっても切り分けることができます。ServerNameのマッチングとデフォルトクライアントはURLのホスト名+ドメイン名からIPアドレスを探します。場合まず/etc/hosts内を探して見つからなければDNSに問い合わせます。上の例では192.168.1.10でネットワーク内を探してサーバーにたどり着きます。その後でURLによりページを要求することになります。一致するものを探して、見つかれば対応するドキュメントルートを採用します。一致するものがなければ最初の設定ファイルのドキュメントルートを採用します。000-default.confが000で始まるのはこれが最初に読まれるためです。ファイル名のASCIIコード順で読み込まれますから。したがって000-default.confのServerNameはどうでもいいのですが、2つ目以降になるConfファイル内にはServerNameがしっかりと書かれている必要があります。安達順一(2020-01-14)https://dabiyone.com/。