Chvanikoff
@Chvanikoff

Apache запущенный под VirtualBox не отдает часть файлов при подключении со стороны хоста

Окружение, на всякий случай:
Apache 2.2.20 крутится на Ubuntu server 11.10 x86 под VirtualBox 4.1.4 Хост — Win7 x64.
Между осями поднят сетевой мост.
DocumentRoot для Apache под Ubuntu — примонтированная директория, являющаяся директорией с файлами под вин (расшарено средствами VirtualBox).

Проблема:
при попытке открыть один из проектов, часть изображений в нем не загружается. А другая — имеющая точно такой же адрес, только имя файла отличное, — загружается. То есть:
servername/project/templates/default/images/userpic.png — не загружается
servername/project/templates/default/images/new.png — загружается
При этом все файлы, разумеется, на месте. Права везде корректные.
Вот что в апачевском access.log:

192.168.0.111 - - [07/Nov/2011:03:50:35 +0400] "GET /project/templates/default/images/new.png HTTP/1.1" 200 511 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.874.106 Safari/535.2"
192.168.0.111 - - [07/Nov/2011:03:50:50 +0400] "GET /project/templates/default/images/userpic.png HTTP/1.1" 200 291 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.874.106 Safari/535.2"


При этом апач отдает все файлы корректно, если запрос локальный

Ах да, на всякий случай: кэш чистил :-)
  • Вопрос задан
  • 3197 просмотров
Пригласить эксперта
Ответы на вопрос 7
wartur
@wartur
Я недавно имел дело с этой темой. После долгих тестов нашел проблему именно в расширениях VirtualBox. Когда апач работает через примонтированные виртуальные директории он отдает файлы какими-то битыми, починить, почитать или производить другие действия мне не удалось — все упирается в виртуалбокс.

(я так понимаю для хостинга тебе надо, мол места побольше)
У меня было 2 решения:
1) создание еще одного VHD с большим разделом и уже туда заливать.
2) создать тру сетевую папку, и примонтировать через сетевой мост минуя виртуалбокс. (не тестировал но зуб даю заработало-бы)

Выбрал первый вариант, так как у меня высокая степень безопасности супервизора и я отклоняю любые запросы от виртуалок.

PS: Привед друг ))). Имею абсолютно идентичную систему работы у себя на домашнем сервере за исключением, того что у меня debian и вин. сервер с дримспарка.
Ответ написан
@rPman
Уже очень давно код встроенного SMB-сервера (через который организуется встроенный шаринг файлов хост системы внутрь гостевой) кривой и глючный, баги висят годами, и не чинятся. Все дело, как я понимаю в кешировании данных.

Лучшее что можно посоветовать — не пользоваться этим механизмом.

p.s. если у вас в вируталке linux, гостевая windows — попробуйте перейти на colinux.org
это основанный на технологии user mode linux, когда никакой виртуализации процессора не происходит, а оборудование эмулируется через ядро colinux… это я к чему? тамошний встроенный механизм шаринга папок у меня год/два назад не глючил.
Сам linux переносится тупо backup/restore. из недостатков, xorg нужен под windows (есть готовые сборки portable colinux)
Ответ написан
afi
@afi
Заметил странность, если из хостовой ОС (win7) создаешь файл в общем каталоге, то в гостевой (ubuntu) он видится как, "? имя_файла" и имеет нулевой размер.

Но самое странное, что такое случается с файлами с определенным именем, например, «targets.html», в то время как файлы с другими именами создаются без проблем.
Ответ написан
@Lampus
Как сеть настроена между хостом и виртуальной машиной? Предположение чисто из разряда телепатии, но прозреваю проблему с MTU.
Ответ написан
@cat_crash
Использую связку VirtualBox (Ubuntu Server 10.04 LTS ) на Win7 x64. На виртуалке поднято 2 интерфейса: NAT и HostOnly
Все файлы проектов держу в виртуальной машине, и доступаюсь к ним из Windows через Samba.
Имхо самый «правильный» способ с точки зрения отсуствия геммора и как бонус — удобно бекапиться.
Ответ написан
Комментировать
Riateche
@Riateche
Если проблемы с VirtualBox решить не удастся, советую попробовать colinux. Для него есть готовый образ debian, в котором вы без проблем развернете всё, что вам нужно. И быстрее будет.
Ответ написан
Комментировать
mrsombre
@mrsombre
Веб-программист
Советую посмотреть вот сюда httpd.apache.org/docs/2.0/mod/core.html#enablesendfile
For NFS or SMB mounted files, this feature may be disabled explicitly for the offending files
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы