como permitir nginx no convidado vm acessar pastas compartilhadas no sistema operacional do host?

1

Minha configuração

Euqueroconfigurarumubuntuvmparafuncionarcomoumservidorwebparadesenvolvimento.

Razão

Euqueroterumambientededesenvolvimentoomaispróximopossíveldoambientedeproduçãoreal.

Problema

Aconfiguraçãoacimafalhou.Eucontinuorecebendoumarquivonãoencontradoquandoeunavegopara link

O que eu tentei

Eu adicionei www-data ao grupo vboxsf usando

sudo adduser www-data vboxsf

antes de experimentar qualquer um dos itens abaixo.

  1. Como mencionado, tentei a configuração acima. Erro de arquivo não encontrado na página da Web.
  2. Eu tentei a configuração acima, mas o link simbólico de / var / virtual / project1 para / media / sf_WebApps / project1. Erro de arquivo não encontrado na página da Web.
  3. Eu tentei chown /media/sf_WebApps de root:vboxsf to www-data:vboxsf . Não é possível.
  4. Tentei chmodar o /media/sf_WebApps para 755. Não é possível.
  5. Eu fiz uma cópia de /media/sf_WebApps/project1 e coloco a cópia dentro de /var/virtual . Isso funciona, mas isso não é o que eu quero. Por que não? Porque eu quero usar facilmente meus programas host como github mac app e sublime editor de texto para fazer alterações no base de código e vê-lo refletido quando eu visito no navegador.
por Kim Stacks 04.01.2013 / 08:07

2 respostas

2

A resposta é encontrada aqui a partir do serverfault .

Basicamente, você precisa montar a pasta compartilhada (já montada) como outro usuário.

Digite

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 você ligar o sistema operacional convidado, crie um arquivo em /etc/init/SOMETHING.conf, com algo parecido com isto:

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 o que é seu uid ou gid

 id -u username
 id -g username

Solução de problemas:

Lembre-se sempre de primeiro criar o ponto de montagem primeiro.

Lembre-se sempre de instalar primeiro o GuestAdditions. Você pode consultar o link em Instalar adições de convidado.

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
    
por 04.01.2013 / 10:05
1
  1. Para editar o / etc / group
  2. Para encontrar a linha, contenha "vboxsf"
  3. Para adicionar uma conta após os dois pontos (como www-data). Se você precisar adicionar várias contas, poderá separá-las por commma
  4. Reiniciar ou reiniciar
por 21.02.2018 / 08:44