仮想ボックス Ubuntu ランプスタックから複数のサイトをホストする方法

仮想ボックス Ubuntu ランプスタックから複数のサイトをホストする方法

やりたいことにかなり近づいていますが、残念ながら、最後のハードルの解決策が見つかりません。基本的に、1 つの VB で複数のサイトをホストし、どちらのマシンからでも単純な URL を使用してアクセスできる状態を目指しています...

私の設定:

Windows 7ホストのhostsファイルに次のエントリが含まれています:192.168.0.30 laravel.dev このアドレスにはDHCP予約があり、VirtualBoxの一意のMACアドレスとして予約されています

Virtualbox は、ブリッジ ネットワーク アダプターとプロミスキャス モード (すべて許可) でセットアップされています (これが必要かどうかはわかりません)。ゲスト OS のホスト ファイルには変更を加えていません。

/etc/apache2/sites-availablelaravel.dev という名前の新しいファイルを作成しlaravel.dev、次のように編集しました。

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName *.laravel.dev
    DocumentRoot /var/www/laravel.dev/public/
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /var/www/laravel.dev/public/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
        AllowOverride None
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        Allow from all
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/laravel_error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog ${APACHE_LOG_DIR}/laravel_access.log combined
</VirtualHost>

sudo a2ensite laravel.devその後、 Apacheを再起動することで有効になったと思います。

現在の状況:

現時点では、/var/www/ホストからhttp://laravel.dev/アドレスバーに入力してウェブルート( )でアクセスでき、ゲストのブラウザから入力してアクセスできます。localhost

/var/www/laravel.dev/public/index.phpホストからhttp://laravel.dev/laravel.dev/publicアドレスバーに入力することでプロジェクトのインデックスファイル( )にアクセスできます。また、ゲストのブラウザから入力することでアクセスできます。localhost/laravel.dev/public

私が欲しいもの

これは問題ありませんが、どちらかのマシンのアドレスバーに laravel.dev と入力するだけで、サイト ( ) のルートにアクセスできるようにしたいのです/var/www/laravel.dev/public/index.phpが、ここで何が間違っているのかを誰か説明してもらえませんか。永遠に感謝します。

追加情報の要求:

/etc/apache2/sites-enabled/ の ls -l の結果

total 0
lrwxrwxrwx 1 root root 26 Feb 26 17:16 000-default -> ../sites-available/default
lrwxrwxrwx 1 root root 30 Feb 26 18:27 laravel.dev -> ../sites-available/laravel.dev

...この問題を解決するのに役立つ可能性のある他の情報も喜んで提供します。

また、ランプ スタックをインストールする以外に、ここに記載されたもの以外は何もしていません。記載していない場合は、おそらく実行していないので、どのような提案でも歓迎します。Linux 初心者とやり取りしていると想定しても問題ありません... 気分を害することはありません。

答え1

問題が DNS の問題であるとは思えませんが、作成したファイルが実際に Apache によって読み取られているかどうかは疑問です。「DocumentRoot /var/www/laravel.dev/public/」という行があれば、問題なく動作するはずです。

[ 実際、これがあなたがやろうとしているすべてであるなら、あなたが入れた他のゴタゴタは必要ですか? そうでない場合は、このファイルを削除して、メインの Apache 構成の DocumentRoot を変更してみてください ]。

これで問題が解決しない場合は、「ls -l /etc/apache2/sites-enabled」の結果を提供してください。そこには sites-available/laravel.dev へのシンボリックリンクがあるはずですが、それが欠落している可能性があります。そうでない場合は、このファイルが解析されているかどうか、解析されていない場合はその理由を調べる必要があるかもしれません。

答え2

ここで見つけたチュートリアルを試してみるといいでしょう。Ubuntu で vhosts を使用してセットアップする方法が簡単に説明されているようです。Arch Linux についても説明しています。しかし、チュートリアルを読んだ後、問題が何であったかがわかりました。チュートリアルに従う前に、簡単な手順を 1 つ見逃していたのです。おそらく、あなたも同じ状況に陥っているのでしょう。 http://www.adminempire.com/how-to-setup-v-host-on-apache/

また、エイリアス セクションを使用すると、必要なものを入力する方法の問題が解決され、localhost 部分を含める必要がなくなる可能性があります。

関連情報