
Minha configuração
Quero configurar uma VM Ubuntu para atuar como um servidor web para desenvolvimento.
Razão
Quero ter um ambiente de desenvolvimento o mais próximo possível do ambiente de produção real.
Problema
A configuração acima falhou. Continuo recebendo um arquivo não encontrado quando navego parahttp://projeto1.localhost:8888
O que eu tentei
Eu adicionei www-data
ao grupo vboxsf
usando
sudo adduser www-data vboxsf
antes de tentar qualquer uma das opções abaixo.
- Como mencionado, tentei a configuração acima. Erro de arquivo não encontrado na página da web.
- Eu tentei a configuração acima, mas link simbólico de
/var/virtual/project1
para/media/sf_WebApps/project1
. Erro de arquivo não encontrado na página da web. - Eu tentei chown
/media/sf_WebApps
deroot:vboxsf
parawww-data:vboxsf
. Não é possivel. - Tentei chmod
/media/sf_WebApps
para 755. Não é possível. - Fiz uma cópia
/media/sf_WebApps/project1
e coloquei a cópia dentro do arquivo/var/virtual
. Isso funciona,mas não é isso que eu quero. Por que não?Porque quero usar facilmente meus programas host, como o aplicativo github mac e o editor de texto sublime, para fazer alterações na base de código e vê-la refletida quando eu visitar o navegador.
Responder1
A resposta é encontradaaqui de serverfault.
Basicamente, você precisa montar a pasta compartilhada (já montada) como outro usuário.
Tipo
mount -t vboxsf SHARE_NAME -o rw,dmode=777,gid=GROUP_ID,uid=USER_ID /path/on/guest
Neste caso, será
mount -t vboxsf WebApps -o rw,dmode=777,gid=GROUP_ID,uid=USER_ID /var/virtual/some_folder_name
Se você quiser fazer essa montagem toda vez que ligar o sistema operacional convidado, crie um arquivo em /etc/init/SOMETHING.conf, com algo assim:
description "SOME DESCRIPTION"
start on starting
task
exec mount -t vboxsf WebApps -o rw,dmode=777,gid=GROUP_ID,uid=USER_ID /var/virtual/some_folder_name
Para descobrir qual é o seu uid ou gid
id -u username
id -g username
Solução de problemas:
Lembre-se sempre de criar primeiro o ponto de montagem.
Lembre-se sempre de instalar o GuestAdditions primeiro. Você pode consultarhttp://docs-v1.vagrantup.com/v1/docs/base_boxes.htmlem Instalar adições para convidados.
sudo apt-get install linux-headers-$(uname -r) build-essential
sudo apt-get install dkms -y
sudo mount /dev/cdrom /media/cdrom
sudo sh /media/cdrom/VBoxLinuxAdditions.run
Responder2
- Para editar /etc/group
- Para encontrar a linha que contém "vboxsf"
- Para adicionar conta após dois pontos (como www-data). Se precisar adicionar várias contas, você pode separá-las por vírgula
- Faça login novamente ou reinicie
Responder3
Fiz algo semelhante à solução @KimStacks, mas não consegui /etc/init/SOMETHING.conf
trabalhar no Ubuntu 18.04 LTS, mesmo mudandostart on starting
gostar start on startup
doExemplo de estouro de pilha.
Achei essas etapas muito mais fáceis:
Faça um ponto de montagem permanente (use este local em vez de
/media
montado):sudo mkdir /some/location
Obtenha o uid e o gidde
www-data
:id www-data
Edite o arquivo crontab:
sudo crontab -e
Adicione uma
@reboot
linhapara fazê-lo funcionar na inicialização(substituaUSER_ID
eGROUP_ID
pelo uid e gid das etapas anteriores):@reboot mount -t vboxsf VirtualBoxFolderShareName /some/location -o uid=USER_ID,gid=GROUP_ID