VM で Apache を実行し、ホストからファイルを提供するにはどうすればよいですか?

VM で Apache を実行し、ホストからファイルを提供するにはどうすればよいですか?

はい、説明するのは少し難しいですが、最善を尽くします。

私は VM (Windows XP モード) で Apache を実行しており、次のことを行いたいと考えています。

  1. メインマシン(ホスト)にウェブサイトファイルを保存および編集する
  2. VM(ゲスト)内のブラウザに配信する

現在、すべてを VM 内に保存、編集、提供していますが、これは明らかにバックアップや git などには役に立たないので、それらを仮想マシンから取り出して物理ディレクトリに移動したいと考えています。

私の VM ホスト ファイルは現在、すべてのドメインを 127.0.0.1 にポイントしています。

127.0.0.1    davestewart.local
127.0.0.1    davestewart.remote

私の VM Apache httpd-vhosts.conf ファイルは次のようになります。

NameVirtualHost *:80

<VirtualHost *:80>
    ServerName localhost
    DocumentRoot "c:/xampp/htdocs"
</VirtualHost>

<VirtualHost *:80>
    ServerName davestewart.local
    ServerAlias www.davestewart.local
    DocumentRoot "c:/xampp/htdocs/davestewart.co.uk"
    <Directory "c:/xampp/htdocs/davestewart.co.uk">
        Options Indexes FollowSymLinks
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

<VirtualHost *:80>
    ServerName davestewart.remote
    DocumentRoot "//dave-desktop/work"
    <Directory "//dave-desktop/work">
        Options Indexes FollowSymLinks
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

サイトの .local バージョンは問題なく動作し、VM で完全に表示可能ですが、.remote バージョンでは XAMPP 403 アクセス禁止! ペー​​ジが出力されます。

私のサーバー スキルは、.htaccess と .conf の編集まで及び、通常はオンライン チュートリアルからハッキングしてまとめていますが、自分が何をしているのかについての実際の知識はありません (コーディングの方がはるかに簡単だと思います)。

ありがとう、デイブ

答え1

使用を検討する浮浪者デフォルトでは、VM のルート フォルダにあるすべてのファイルは で利用できます/vagrant。したがって、VM 上の Apache を設定して、/vagrant/web- にあるファイルを提供するようにすると、提供されるファイルは Vagrantfile があるフォルダのサブディレクトリにあるファイルになりますweb。詳細については、ドキュメント

答え2

シンボリック リンクを試してみませんか? Linux では機能することがわかっています。ファイルをホスト ドライブ上に置くだけです。次に、VM でホスト ドライブへのシンボリック リンクを作成します。これで完了です。ファイルはホスト上にありますが、VM はそれらがローカルであると「認識」します。

現在、私たちはこのセットアップを、オフィス サイト経由でファイルへの一種のバックドアとして使用し、現場でジョブ ファイルにアクセスできるようにしています。ただし、ジョブ ファイルを Web サーバー内に保存するのではなく、Web サーバーから Web サイト経由で現場にジョブ ファイルを提供する必要があります。シンボリック リンクは私たちにとって非常に役立っています。

関連情報