Problemas de leitura de pasta compartilhada do Virtualbox do Apache

3

Eu tenho um problema com arquivos em um compartilhamento montado dentro de uma máquina Virtualbox.

O problema é que, embora eu possa ver o conteúdo dos arquivos suficientemente bem a partir do shell, os mesmos arquivos ficam ligeiramente corrompidos, truncados ou em versões antigas, às vezes quando servidos via http através de um servidor Apache.

O problema parece acontecer apenas quando o arquivo atinge um determinado tamanho (100-200 caracteres). Às vezes, caracteres não legíveis são adicionados ao final, resultando em pequenos pontos de interrogação no navegador. Outro sintoma comum é que quando o arquivo é alterado do host, não é possível obter o Apache para servir a nova versão. (O problema não está relacionado a ETags e o Apache tem permissões de leitura perfeitas em todos os arquivos. Também duvido que esteja relacionado apenas a codificações.)

Realmente parece um problema no nível do sistema de arquivos que só se manifesta no Apache.

Alguns fatos:

Anfitrião: MacBook Pro / Snow Leopard

Convidado: Fedora 16

Apache: 2.2.22

VirtualBox: 4.1.8

Eu tentei montar o fstab, mas também manualmente, mudando o ID do usuário para o apache.

Peço desculpas pela vaga descrição do problema, mas eu realmente não sei por onde começar e espero conseguir algumas dicas na direção certa. É o Mac, o Virtualbox, o Fedora ou o Apache o verdadeiro problema?

UPDATE: Eu sei que há mais do que o Apache httpd não servindo os arquivos corretamente - em algum momento, quando eu criar uma nova pasta no host, a entrada é mostrada como um monte de pontos de interrogação ao fazer uma listagem de diretório no concha do convidado. É quase desnecessário dizer que não posso atravessar essa nova pasta até que eu tenha reiniciado o convidado.

    
por jgivoni 27.04.2012 / 20:40

2 respostas

2

Dê uma olhada no ingresso no link , lá eles sugerem o que você já encontrou, que é o diretiva EnableSendfile . Desligar esta diretiva parece resolver o problema em nossos servidores.

    
por 03.05.2012 / 07:13
0

Algumas pesquisas por "apache mmap" revelam que o Apache usará mmap (2) para acessar arquivos quando os arquivos excederem um determinado tamanho (que parece ser o padrão de 1 byte em sistemas não-SunOS). Esse problema pode ser causado por um bug no suporte do VirtualBox para acesso ao mmap a pastas compartilhadas.

    
por 27.04.2012 / 20:55