Quando fiz isso pela primeira vez, tive muitos problemas para fazer com que minha pilha LAMP funcionasse bem com minha pilha WAMP - recebi muitos erros "você não tem permissão para acessar este" quando naveguei para o localhost.
Eu tentei várias configurações de host virtual do Apache, nenhuma das quais me permitia acessar os arquivos.
O que funcionou foi usar mount --bind
para colocar minhas pastas do windows nas pastas linux correspondentes. Se isso funcionar, você perceberá que a página de destino padrão do ubuntu para localhost foi substituída pelo "funciona" do Windows. Note que qualquer arquivo linux será escondido pelos arquivos do windows com o mesmo nome.
Eu tenho uma entrada fstab
que monta minha partição do windows em /media/windows
.
A solução foi para
Monte e ligue os arquivos nos locais corretos:
Primeiro, crie um "arquivo upstart" com esses conteúdos como mencionado aqui.
Execute isso no terminal:
gksu gedit /etc/init/mount-bind.conf
Cole isso, alterando o ... para o caminho para seus htdocs. Obviamente, teste esses comandos no terminal para ter certeza de que os caminhos estão corretos. As localizações dos arquivos linux são o bit importante.
#
# bind mounts
#
description "bind"
start on stopped mountall
script
mount --bind '/media/windows/.../htdocs' /var/www/html
mount --bind '/media/windows/ProgramData/MySQL/MySQL Server 5.5/data' /var/lib/mysql
end script
Com esses dois comandos eu cheguei perto, mas o InnoDB estava impedindo o mysql de iniciar. O problema é a verificação do tamanho do arquivo de log do InnoDB. Uma solução fácil é ter um sistema operacional usando um arquivo de log diferente do outro. Caso contrário, somente o sistema operacional mais recente iniciará o mysql. Você também pode excluir os arquivos toda vez que iniciar ou desligar, mas é mais fácil manter registros separados. Eles compartilham alterações muito bem, apenas não os arquivos de log.
Alterar a localização do arquivo de log do MySQL
No Ubuntu, em /etc/mysql/my.cnf
, adicione esta linha na seção InnoDB:
innodb_log_group_home_dir = /var/log/mysql
Isso resolveu para mim.
Advertência: o linux é mais "sensível a maiúsculas e minúsculas" que o Windows. Onde o Windows vai alegremente pegar uma imagem com capitalização diferente e servir, o Linux não. Naturalmente, os desenvolvedores da Web reais sempre são exatos em sua capitalização.