Как запустить Apache на виртуальной машине, но при этом заставить его обслуживать файлы с хоста?

Как запустить Apache на виртуальной машине, но при этом заставить его обслуживать файлы с хоста?

Ладно, это немного сложно объяснить, но я постараюсь.

Я запускаю Apache на виртуальной машине (режим Windows XP) и хочу:

  1. Хранить и редактировать файлы веб-сайта на моем основном компьютере (хосте)
  2. Отправлять их браузеру в виртуальной машине (гостевой)

В настоящее время я храню, редактирую и обслуживаю все данные в виртуальной машине, но очевидно, что это бесполезно для резервного копирования, Git и т. д., поэтому я хочу перенести их из виртуальной машины в физические каталоги.

В настоящее время мой файл хостов виртуальной машины указывает на адрес 127.0.0.1:

127.0.0.1    davestewart.local
127.0.0.1    davestewart.remote

Мой файл httpd-vhosts.conf виртуальной машины Apache выглядит следующим образом:

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 Доступ запрещен!.

Мои навыки работы с сервером распространяются на редактирование файлов .htaccess и .conf, обычно я компилирую что-то из онлайн-уроков, но при этом не имею реальных знаний о том, что делаю (в отличие от кодирования, которое я нахожу гораздо более простым).

Спасибо, Дэйв.

решение1

Рассмотрите возможность использованиябродяга. По умолчанию виртуальная машина будет иметь все файлы в корневой папке, доступные в /vagrant. Таким образом, вы можете настроить Apache (на виртуальной машине) для обслуживания файлов в /vagrant/web- и обслуживаемые файлы будут находиться в webподкаталоге папки, где находится Vagrantfile. Вы можете узнать больше вдокументы.

решение2

Почему бы вам не попробовать символические ссылки? Я знаю, что это работает в Linux. Просто поместите файлы на диск хоста. Затем создайте символическую ссылку в вашей виртуальной машине на диск хоста. Вуаля. Файлы находятся на хосте, но виртуальная машина «думает», что они локальные по отношению к ней.

В настоящее время мы используем эту настройку для своего рода бэкдора в наши файлы через наш офисный сайт, чтобы иметь доступ к нашим файлам работы на местах. Но мы не хотим, чтобы наши файлы работы были "на" веб-сервере, но нам нужно, чтобы веб-сервер передавал их на места через наш веб-сайт. Символические ссылки отлично работают для нас.

Связанный контент