7

複数の仮想ホスト (?) を実行しようとしています。たとえば、http:/localhost は 1 つのプロジェクトを指し、http:/newsite は別のプロジェクトを指し、http:/myfavourite は別のプロジェクトの別のドキュメント ルートを指します。

(ハイパーリンクの掲載制限のため、各 http:// はここでは http:/ です)

/etc/apache2 で apache ファイルを編集する場所を探すことに成功しませんでした。vhosts ファイルを探していますか?

どんなアドバイスも素晴らしいでしょう、ありがとう。

4

3 に答える 3

9

これは、必要なことを正確に実行するための仮想ホストの作成方法を説明する電子書籍の章です。例では Ubuntu を使用しています。Apache 仮想ホストを使用したローカル ドメインの作成

一言で言えば:

  • 最初に VirtualHost を作成する必要があります
  • 次に、ホスト ファイル (Linux では/etc/hosts) を編集して、新しい「疑似ドメイン名」がマシンを指すようにする必要があります。

VirtualHost の場合、Ubuntu では、新しいファイルを に作成します/etc/apache2/sites-available/。たとえば、名前付きyour-site.com; 次のようなものが含まれます:

<VirtualHost *:80>
    ServerName your-site.com
    DocumentRoot /.../www/...

    <Directory /.../www/...>
        Options Indexes FollowSymLinks Includes
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

そして、次のコマンドを使用して、このファイルを登録して、Apache によって読み込まれるようにします。

sudo a2ensite your-site.com

そして、Apache をリロードします。

sudo /etc/init.d/apache2 reload


/etc/hosts を編集して、次のような行を追加する必要があります。

127.0.0.1       your-site.com

したがって、「your-site.com」は実際には自分のコンピューターを指しています。


重要なのは、ブラウザで Web サイトにアクセスするために使用される名前が、hosts ファイルで宣言されている名前であることです。また、Apache の設定で ServerName ディレクティブが使用するものと同じでなければなりません。


1 つの VirtualHost に対してこれを行った場合、他のすべての VirtualHost についても同じです。サイトの名前のみで、DocumentRoot が変更されます。


お役に立てれば!

于 2009-08-25T16:18:29.427 に答える
4

/etc/hosts を編集して、127.0.0.1 を指す複数の名前を追加し、それらの名前ごとに VirtualHost エントリを追加できます。サーバーによっては、構成が /etc/apache2/conf/httpd.conf または /etc/apache2/sites-available にある場合があります。後者の場合、これ構成で取得した最初の Google ヒットです。

于 2009-08-25T16:17:36.837 に答える
1

localhost は apache とは関係ありませんが、マシンのエイリアスです (ip 127.xxx)。

あなたが/etc/hosts望むものを達成するために編集する必要があります。

なぜそれをしたいのですか?http://localhost/newsiteで十分ではありませんか?

于 2009-08-25T16:16:45.827 に答える