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


1

わかりました、これは説明するのが少し難しいですが、私は最善を尽くします。

VM(Windows XP Mode)でApacheを実行しています。

  1. メインマシン(ホスト)でWebサイトファイルを保存および編集する
  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 Access forbidden!ページ。

私のサーバースキルは.htaccessと.confの編集にまで及んでおり、通常はオンラインチュートリアルの内容をハッキングしますが、私がやっていることの本当の知識はありません(コーディングとは異なり、はるかに簡単です)。

ありがとう、デイブ


共有フォルダーをセットアップして、ゲストがホスト上のファイルにアクセスできるようにすることができます。これは通常、ゲストのネットワークドライブとして実装されます。blogs.technet.com/b/windows_vpc/archive/2009/12/22/…–
ボブ

ボブに感謝しますが、フォルダー(ドライブ)は既に共有されているので、これは問題ではないと思います。
-davestewart

ああ、私はそれを見ませんでした、ごめんなさい。うーん... ネットワーク共有にアクセスする権限を持つアカウントとしてApacheを実行していることを確認してください?-デフォルトでは、低特権ユーザーとして実行される場合があります。また、Windowsエクスプローラーまたはsubstコマンドを使用して、ネットワークフォルダーをローカルドライブ文字としてマッピングすることもできます。これにより、ローカルアクセス許可を簡単に適用できる場合があります。すべてのユーザーに適用する場合は、管理者としてこのマッピングを実行します-XPについてはあまりよくわかりませんが。
ボブ

また、Windowsエクスプローラーを介してネットワーク共有にアクセスできることを確認できますか?
ボブ

ネットワーク共有は良好です(つまり、エクスプローラーを介してファイルにアクセスします)が、アクセス許可の問題に苦労しています(グーグルで検索しましたが、実際には取得できませんでした)。WinXPをファイル共有の独自バージョンで更新したため、すべてが壊れたため、元に戻しましたが、Apacheはサービスとして起動しないため、別の方法で実行しています(申し訳ありませんが、これらの専門家ではありません重要!)。物事を台無しについて怖がって少しので、これをソートするために簡単にされていない限り、ちょうど今のVM上で実行するために幸せになる
davestewart

回答:


0

Vagrantの使用を検討してください。デフォルトでは、VMのルートフォルダーにあるすべてのファイルが利用できます/vagrant。したがって、ファイルを提供するように(VM上の)Apacheを構成でき/vagrant/webます。提供されるファイルはweb、Vagrantfileが配置されているフォルダーのサブディレクトリ内のファイルになります。詳細については、ドキュメントをご覧ください。


0

シンボリックリンクを試してみませんか?Linuxで動作することは知っています。ホストドライブにファイルを置くだけです。次に、VMでホストドライブへのシンボリックリンクを作成します。出来上がり。ファイルはホスト上にありますが、VMはローカルにあると「考えています」。

現在、このセットアップを使用して、オフィスサイト経由でファイルへのバックドアをソートし、現場でジョブファイルにアクセスできるようにします。ただし、ジョブファイルをWebサーバーに「入れ」たくないのですが、Webサーバーを介してフィールドにサーバーを送信する必要があります。シンボリックリンクは非常に便利です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.