Apache
のUbuntu
(仮想マシン内)に仮想ホストを作成しようとしていますが、取得できません。多くの構成を行いましたが、いずれの構成でも結果が得られるため、最初からそれを行う新しい仮想マシンを作成しました。ここにすべてのプロセスを段階的に配置して、皆さんが私が間違っていることを理解できるようにします。
Sudo apt-get install Apache2
)ブラウザでejemplo.es
というURLを書き込むと、VirtualHost
フォルダーに作成したファイルが表示され、www.ejemplo.es
(私のものではない)にあるページは表示されません。
DNS構成の代わりに/etc
フォルダーのhosts
ファイルを使用します。
まず、サーバーのルートディレクトリを/var/www/extras
として作成し、/var/www
にこの新しいディレクトリを作成する必要があります。
Sudo mkdir /var/www/extras
そして、いくつかのテキストを含むindex.html
を作成します。
新しいディレクトリを作成したら、000-default.conf
ファイルを変更してDocumentRoot
ディレクティブを変更する必要があります。
Sudo gedit /etc/Apache2/sites-available/000-default.conf
DocumentRoot
ディレクティブを次のように変更します。
DocumentRoot /var/www/extras
その後、Apache
を再起動して変更を保存します。
Sudo /etc/init.d/Apache2 restart
Apache2.conf
ファイルのDirectory
ブロックを変更します
Sudo gedit /etc/Apache2/Apache2.conf
<Directory /var/www/html>
から<Directory /var/www/extras>
に移動し、Apache
を再起動します。
/var/www/extras
ディレクトリ内に、仮想ホストのフォルダーとなる新しいフォルダー(ejemplo.es
)を作成します。
Sudo mkdir /var/www/extras/ejemplo.es
その中に、テキストindex.html
を使用してサーバーのルートディレクトリ用に作成した"This is an example"
ファイルがあります。
その後、ブラウザーに移動してlocalhost/ejemplo.es
と書くと、前のステップで作成したファイルの内容を見ることができます。 ただし、同じコンテンツにアクセスするが、ejemplo.es
ではなくlocalhost/ejemplo.es
と入力することです。
仮想ホストの構成を使用して、/etc/Apache2/sites-available
に新しいファイルを作成する必要があります。
Sudo gedit /etc/Apache2/sites-available/ejemplo.es.conf
次の構成で:
<VirtualHost 10.0.2.15:80>
ServerAdmin [email protected]
ServerName ejemplo.es
ServerAlias www.ejemplo.es
DocumentRoot /var/www/extras/ejemplo.es
</VirtualHost>
Apache2.conf
ファイルでIncludeOptional sites-enabled/*.conf
をInclude sites-enabled/*.conf
に変更します。 (これは、おそらく私のApache
にこのフォルダーが含まれておらず、私のVirtualHost
が機能しなかった可能性があるかどうかを確認するための証明でした)。
それで、作成したVirtualHostをアクティブにする必要があります。
Sudo a2ensite ejemplo.es
Apache
を再起動して、行った変更を保存します。
Sudo /etc/init.d/Apache2 restart
フォルダーのコンテンツをリストすると/etc/Apache2/sites-enabled
VirtualHost
がアクティブになっていることがわかります(このフォルダーに対するls
コマンド)。
最後に、hostsファイル(Sudo gedit /etc/hosts
)に新しい行を追加します。
10.0.2.15 ejemplo.es
そのため、ファイルにはIPを含む3行があります。
127.0.0.1 localhost
127.0.1.1 user
10.0.2.15 ejemplo.es
以下の行はff00...
で始まりますが、私の目的には関係ないと思います。
最後に、最後の変更を保存するには、次のコマンドを実行する必要があります。
Sudo /etc/init.d/networking restart
しかし、VirtualHost
フォルダに置いたファイルではなく、www.ejemplo.es
のデフォルトページを取得します。
私は何か間違ったことをしていると確信していますが、どこにあるかわかりません。 1つVirtualHost
を作成するのは初めてで、これまでに見たすべてのチュートリアルにはこれらの手順があったため、何かが欠けていると思います。
私の手順に従って、私が行った構成に疑問があるかどうか尋ねることができると思います。
前もって感謝します!
詳細については質問にコメントしたかったのですが、評判が足りなかったので、少しだけ情報を提供するためにこれに答えてみます。
上記の新しいVMでリストしたのと同じ手順を実行しましたが、問題なく動作します。
ブラウザーがボックス(ubuntu-クライアント)であろうと、ホスト(virtualboxが実行されている)であろうと、上記のドメインをテストする方法が正確にはわかりません。
Client-ubuntuでドメインにアクセスしようとしている場合、virtualhostタグにさらにIPを追加できます。
<VirtualHost ejemplo.es:80 127.0.1.100:80 192.168.1.100:80></VirtualHost>.
ここで、127.0.1.100と192.168.1.100は、すべてejemplo.esを指すIPの例です。
IP 10.0.x.xを使用してホストからアクセスしようとしている場合、アクセスできない可能性があります。特に、VMに適切なネットワークタイプを選択しなかった場合。ローカルドメインの動作を確認する前に、最初にIPをpingできます。私の場合、ブリッジ接続(コピーされたNATを使用)を選択しているので、VMはネットワーク内の他の物理デバイスと同じように動作できます。
もう1つは、既に稼働しているサイトがあり、開発およびテスト用のローカル環境が必要な場合、同じドメインを使用するのではなく、異なるドメイン(.local、.devなど)を使用することをお勧めします。