Назад | Перейти на главную страницу

Доступ к виртуальным хостам в ОС хоста из гостевой ОС в VirtualBox

Через VirtualBox мне нужно получить доступ к виртуальным хостам хоста (Mac OS X 10.6) через гостевые ОС (Windows XP и 7).

Я могу получить доступ к localhost URL-адрес и можете увидеть структуру каталогов ~/Username/Sites папки из гостевых ОС через локальный URL-адрес хоста, моего Mac, в гостевом браузере, но получаю ошибку 403, когда я пытаюсь углубиться в структуру файлов, например, mymacsname.lcoal/~Username/Sites доступен, но я получаю 403 когда я просматриваю ymacsname.lcoal/~Username/Sites/somewebsite/.

NB: Я также получаю 403 когда я пытаюсь получить доступ ymacsname.lcoal/~Username/Sites/somewebsite/ из браузера моего Mac (хоста).

Редактировать:

Я проверил журналы доступа в ОС хоста (Mac), и, как ни странно, если я перейду в каталог без .htaccess файл я получаю "HTTP/1.1" 200 1935 ответ и я могу либо просматривать индекс этого каталога, либо я обслуживаю его веб-страницу по умолчанию. Если есть .htaccess файл в каталоге я получаю "HTTP/1.1 403 247" ответ!

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

Перередактировать

Двигаясь дальше, это может быть проблема с моим .htaccessс mod_rewrite правила. Я включил свой .htaccess код ниже, казалось бы, как и должно, что он перенаправляет браузер на /Users/Jay/Sites/chassis/library/bootstrap.php но, похоже, у меня нет прав на доступ к этому файлу (bootstrap.php).

Options +FollowSymLinks

RewriteEngine On

RewriteCond %{DOCUMENT_ROOT}/public/index.html !-f
RewriteRule ^$ library/bootstrap.php [L]

RewriteRule ^$ public/index.html [L]

RewriteRule ^([a-z0-9/-]+)$ library/bootstrap.php?url=$1 [L,QSA]

Так близко! Пожалуйста, помогите мне решить эту проблему!

Повторное редактирование

Если это поможет, вот отрывок из моего основного файла конфигурации Apache (/private/etc/apache2/httpd.conf):

<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
</Directory>

Это определенно была проблема с разрешениями.

Решено добавляя:

<Directory />
    Options +FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

к /private/etc/apache2/extra/httpd-vhosts.conf.

Мне также нужно было отредактировать файл hosts в гостевых ОС (Windows XP и 7) следующим образом:

192.168.123.123 somevhost
192.168.123.123 someothervhost.dev

Если указан IP-адрес ОС хоста и somevhost… - это имя виртуального хоста в ОС хоста.

Мне нужно было настроить ОС хоста на использование статического IP-адреса, как если бы он был назначен DHCP, вам пришлось бы редактировать файл хоста в гостевой ОС каждый раз, когда IP-адрес вашей ОС хоста менялся.

Эти веб-сайты действительно помогли:

http://support.microsoft.com/kb/972034#LetMeFixItMyselfAlways

http://mark-kirby.co.uk/2008/setting-up-virtual-hosts-on-os-x-leopard/

http://adactio.com/journal/1395

Возможно, вы захотите начать с проверки журналов доступа веб-сервера, чтобы увидеть, что на самом деле ему передается - как успешные, так и неудачные.