複数の仮想ホストを持つローカルApache2インストールをネットワーク内でアクセス可能にする

複数の仮想ホストを持つローカルApache2インストールをネットワーク内でアクセス可能にする

開発マシン (Debian 10) でローカルの apache2 および mariaDB サーバーを実行しています。仮想ホストを使用して、複数の Web サイトを同時に利用できるようにしています。目標を達成するには、次の手順を実行します。

1) ウェブサイトの conf ファイルを作成して編集します。sudo nano /etc/apache2/sites-available/website.conf

2) ファイルに次の内容を入力します。

<VirtualHost *:80>
    ServerAdmin [email protected]
    ServerName website.local
    ServerAlias www.website.local
    DocumentRoot /var/www/website/public_html/
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

3)sudo a2ensite website.conf

4)sudo systemctl reload apache2

5) hosts ファイルを編集しsudo nano /etc/hosts、次の行を追加します。127.0.0.1 website.local

この時点では動作します。アクセスすると、http://website.local新しく作成されたローカル Web サイトにリダイレクトされます。

他のコンピュータが私の PC の IP アドレスにアクセスすると (次のようにします)、10.0.0.100私のファイルにアクセスします/var/www/html/index.html。私はこれを設定したことがないので、なぜこれが機能するのかわかりません。しかし、機能します。

私の希望:10.0.0.100ネットワーク内の PC にアクセスすると、ローカル Web サイトにリダイレクトするリストを (手動で) 配置できるページが開きます。例:

<ul>
    <li><a href="http://website1.10.0.0.100/">Website1</a></li>
    <li><a href="http://website2.10.0.0.100/">Website2</a></li>
    <li><a href="http://website3.10.0.0.100/">Website3</a></li>
</ul>

現時点ではこれを実現する方法がわからないため、正しい方向を指示していただきたいと思います。

答え1

目的の操作は、対応する名前 (別名website.local) をネットワーク DNS に登録することで実現できます。

のような名前は、website1.10.0.0.100文字列 ( ) で始まるため、どのクライアントからも FQDN として認識されるため、独自に実装することは不可能ですwebsite1。そのため、どのクライアントもトップ レベル ドメインで権限を持つ DNS サーバーを見つけようとします.100。そして、おそらくご想像のとおり、この TLD は存在しません。

DNS を変更せずにマシン上に 3 つの異なるサイトを実装する最も簡単な方法は次のとおりです。

  • コンピューターに 3 つの異なる IP アドレスを設定します ( ifconfig eth0 add 10.0.0.101、、ifconfig eth0 add 10.0.0.102などを使用)

  • Apache に IP ベースの仮想ホストを実装します。

  • 次のようなフロントページを用意します。

<ul>
         <li><a href="http://10.0.0.100/">Website1</a></li>
         <li><a href="http://10.0.0.101/">Website2</a></li>
         <li><a href="http://10.0.0.102/">Website3</a></li>
</ul>

これを実装する別の(より複雑な)方法は次のとおりです。

  1. たとえば、TLD に対して権限を持つように、マシン上に独自の DNS サーバーを実装します.bibicomputer

  2. bibicomputerDNS ゾーンでは、 website1.bibicomputerwebsite2.bibicomputerなどが IP アドレスを指すようになります。

  3. 同僚に自分の IP アドレスを DNS リストに追加するよう依頼してください (Linux の場合: /etc/resolv.conf)。

しかし、あなたの会社の IT 担当者はこの解決策を気に入らないでしょう。

関連情報