如何在虛擬機器中運行 Apache,但讓它從主機提供檔案?

如何在虛擬機器中運行 Apache,但讓它從主機提供檔案?

好吧,解釋起來有點棘手,但我會盡力而為。

我在虛擬機器(Windows XP 模式)中運行 Apache,並且我想要:

  1. 在我的主機(主機)上儲存和編輯網站文件
  2. 將它們提供給虛擬機器(來賓)內的瀏覽器

目前,我正在虛擬機器中儲存、編輯和提供所有內容,但顯然這對於備份、git 等毫無用處,所以我想將它們從虛擬機器中取出並放入實體目錄中。

我的虛擬機器主機檔案目前將所有網域都指向 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 版本運作得很好,並且在虛擬機器中完全可見,但 .remote 版本輸出 XAMPP 403 Access 禁止!頁。

我的伺服器技能擴展到一些.htaccess 和.conf 編輯,通常是將線上教程中的內容組合在一起,但對我正在做的事情沒有真正的了解(與編碼不同,我發現編碼要容易得多) 。

謝謝,戴夫

答案1

考慮使用流浪漢。預設情況下,VM 的根資料夾中的所有檔案均以/vagrant.因此,您可以配置 Apache(在虛擬機器上)來提供/vagrant/web- 中的文件,並且提供的文件將是webVagrantfile 所在資料夾的子目錄中的文件。您可以在以下位置了解更多信息文件

答案2

為什麼不嘗試符號連結呢?我知道它可以在 Linux 上運行。只需將文件放在您的主機驅動器上即可。然後在虛擬機器中建立到主機磁碟機的符號連結。瞧。文件位於主機上,但虛擬機器「認為」它們是本地的。

目前,我們使用此設定透過我們的辦公網站為我們的文件設定後門,以便我們可以在現場存取我們的工作文件。但我們不希望我們的作業文件「位於」網頁伺服器中,但我們需要網頁伺服器透過我們的網站將它們伺服器到現場。符號連結對我們來說非常有用。

相關內容