web-dev-qa-db-ja.com

ドメイン名を割り当てずにサーバー上のWebサイトを表示するにはどうすればよいですか?

次のようなvhostsconfを備えたサーバーがあります。

NameVirtualHost *:80

# My Virtual Hosts:
<VirtualHost *:80>
     ServerAdmin [email protected]
     ServerName domain

     DirectoryIndex index.php index.html
     DocumentRoot /var/www/domain/public

     # Custom log file locations
     LogLevel warn

     ErrorLog /var/www/domain/log/error_log
     CustomLog /var/www/domain/log/access_log combined

     <Directory "/var/www/dailysongfix/public">
         Options Indexes FollowSymLinks
         AllowOverride All
         Order allow,deny
         Allow from all
     </Directory>
</VirtualHost>

典型的なvhostconfでしょ?また、サーバー上に他のいくつかのサイトを開発する必要がありますが、これらのサイトにはまだドメインがフックされていません。ドメインがそれらを指していない状態でそれらを表示するにはどうすればよいですか?おそらくIPアドレスとポートを推測していますが、それを設定する方法がわかりません。

4
Tony

名前付き仮想ホストを使用する場合は、サーバーにsome nameを割り当てる必要があります。あなたの例では、ホストはdomainという名前でアドレス指定されます(ServerName domainディレクティブから)。 http://123.45.67.89/のようなことを行うことで、IPアドレスでサーバーに直接接続を試みることができますが、それによってApacheが指定された仮想ホストをトリガーすることはありません。これを行うには、クライアントの/etc/hostsファイルに次のようなものを追加する必要があります。

123.45.67.89ドメイン

これで、ブラウザでhttp://domain/を使用できるようになります。これにより、DNSをいじることなく、名前とIPアドレス間のマッピングがローカルに設定されます。

これが機能する方法は、ブラウザがHTTPリクエストをサーバーに送信するときです。これには、URLの//の後に使用されたテキストがHost:ヘッダーに含まれます。 Apacheは、このテキストをHost:ヘッダーで受け取り、名前付きの各仮想ホストのServerName値と照合します。一致するものが見つかると、それをサーバーとして使用して残りのリクエストを処理します。 Apacheはnotホスト名とIPアドレスの間のマッピングを検索する必要があります。これが、クライアントマシンの構成を変更するだけの場合に機能する理由です。

7
Greg Hewgill

VirtualHostの代わりに「Alias」を使用してください。PHPアプリケーションが固定URLを必要としない場合は、正常に機能するはずです。

編集:上記で貼り付けた構成にエイリアスを追加できます。コンテナの前にエイリアスを追加するだけです。

1
pauska

標準パッケージのApacheは、IPアドレスを介して使用できるようにセットアップされます。基本的に仮想ホストを持っていません

0
Brendan

最善の方法ではないかもしれませんが、常に次のように行うことができます。

  1. サーバーのIPを指すDNSエントリ* .example.comを作成します
  2. 各仮想ホスト定義のユーザーServerAlias例:ServerAliassomething.example.com

私は知っています-それはあなたが求めていたものではありませんが、あなたの問題を解決できると思います。

または、仮想ホストの構成がまったく同じである場合は、Webページを/ somewhere/{nameOfDomain}に配置してから、/ somewhereを別の仮想ホストとして共有します。次に、 http:// myVhost / {nameOfDomain}にアクセスすると、任意のページにアクセスできます。これは、vhostsにいくつかのアクセスルールがある場合[おそらく '別のvhost'構成に含まれない]、セキュリティリスクを引き起こす可能性があります。

0
pQd