web-dev-qa-db-ja.com

LocalhostのVirtualHostがオフラインのときLocalhostからアクセスできないのですが、どうすれば修正できますか?

主にテーマ開発のために、独自のローカル開発Webサーバーをセットアップしています。

Ubuntu 13.04 64ビットデスクトップでLAMPを正常にセットアップしました。Apacheは正常に動作します。

LAMPがインストールされているマシンは、私のデスクストップステーションでもあります。

したがって、ローカルホスト自体とLAN内の別のマシンの両方からVirtualHostにアクセスしたいと思います。

devone.locという名前の最初の仮想ホストをセットアップしました
すでにhostsファイルに名前を挿入しています。
すべてが機能し、アクセス可能です。
LAN内のどのマシンからもアクセスできます。DD-WRTルーターのDNSmasqでセットアップしました。

しかし、その後、ネットワーク接続を無効にすると、仮想ホストは
アクセスできなくなりました。ただし、デフォルトの仮想ホストには、ネットワークなしでアクセスできます。

ここで何が問題なのでしょうか?また、デスクトップステーションでもあるため、localhost内の仮想ホストにアクセスする必要があります。

仮想ホストのconfファイルを以下に添付しました。

  <VirtualHost *:80>
    DocumentRoot /var/www2
    ServerName devone.loc
    ServerAlias www.devone.loc
    <Directory /var/www2>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    Allow from all
    </Directory>
  </VirtualHost>


仮想ホストのユーザーであれば、私の問題を簡単に再現できます。
すべてのネットワークを無効にし、firefox(私の場合はFF v23)を使用して、
ローカル開発サイトで、サーバーが見つからないというエラーをスローします。

ローカルホストの仮想ホストでサイトをオフラインで閲覧することは私にとって非常に重要です。
これを使用して、クライアントのデモやプロジェクトのプレゼンテーションを行います。

追加情報

Webminもマシンにインストールされていることを忘れていました。


更新
LinuxMint 15を使用して別のLinuxマシンに別のWebサーバーをセットアップしました。サーバーはXAMPP 1.8.2-1で、最終結果は同じです。

ネットワークが無効になっているときにwordpressをセットアップしようとしましたが、サーバーが見つからないというエラーがスローされるか、ディレクトリが空のときにAccess Forbiddenがスローされます。

Firefoxの[オフライン作業]メニューをチェックまたはチェックすると、wordpressインストールメニューにアクセスできますが、[次へ]をクリックするとインデックス部分のみにアクセスできなくなります。

ディレクティブのいくつかの組み合わせを実行しましたが、まだ機能させることができません。

だから、主な問題は...

すべてのネットワークが無効になっていると、VirtualHostに到達できません。ネットワークが有効な場合にのみ到達可能/アクセス可能です。

更新-修正済み

この問題は実際にはFirefoxの設定に関連しているため、設定を変更すると問題が解決しました。

network.dns.disableIPv6は、ブール値をfalseに変更したFirefoxの設定名です。

だから、私がやったこと:

  1. Firefoxを開き、アドレスバーにabout:configと入力しました。
  2. 警告が表示されました...これにより、保証が無効になる場合があります、クリックしましたI'll be careful, I promise!
  3. タブのすぐ下の検索バーでnetwork.dns.disableIPv6を検索し、表示されたらダブルクリックしてその値をfalseに変更しました。
  4. 私はマシンをリブートし、プロジェクトのサイトをブラウズして、バム!やっと開かれた。

私のような初心者のために、これがあなたを助けることを願っています。

平和に眠れるようになりました... この投稿 のおかげです。

この問題について眠れない夜を検索しました。検索文字列とフレーズが異なると、検索結果も異なります。ついにその正しいページに到達しました。また、この問題が in Super User と尋ねられたことも発見しました。

5
GaryP

開発マシンだけをセットアップしている場合は、URLが問題にならないように開発する必要があるため、外部URLを使用してマシンに接続する必要はありません。複数のプロジェクトが同時に進行しており、それらはすべてインターネットに接続しなくても正常に機能します。これが私のプラットフォームのセットアップ方法です。

localhostが機能するためにインターネットが必要ではありません。

ホストファイルを開き、サイトを開発マシンに追加します。

Sudo nano /etc/hosts

構築するサイトごとに、そのためのホストレコードを以下のように追加します。 enter image description here

これで、Apache仮想ホストファイルでそれらを適切に設定できます。

例として、私のelim.localhostサイトの設定ファイルがあります。 /etc/Apache2/sites-available/elim.localhost.confとして保存するもの

enter image description here

この情報をファイルに追加した後、次のコマンドを発行します。

Sudo a2ensite elim.localhost.conf && Sudo service Apache2 reload

ブラウザで、次のように入力できるサイトにアクセスします。

elim.localhost

プロジェクトごとにこのプロセスを繰り返します。この投稿の時点でのセットアップに基づいて、開発マシンでは次のURLを使用できます。すべての場所が異なります。

  • elim.localhost
  • 18we.localhost
  • 29pines.localhost

Mysqlデータベースサーバーでの作業にphpmyadminを使用している場合、localhost/phpmyadminは引き続き問題なく動作するはずです。

これは、ネットワークカードがネットワークから切断されている場合でも機能することが確認されています。

1
Dave