Last active
August 3, 2017 15:30
-
-
Save igoralves1/3321a796ba619614cb4e251f4a2fee76 to your computer and use it in GitHub Desktop.
Fazer NginX ler um arquivo que se econtra numa pasta fora da maquina virtual
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Temos uma pasta test.com dentro do windows, em uma pasta aa_share | |
Temos uma maquina virtual ubuntu com NginX com servidor. | |
O NginX aponta para ~/vhosts. | |
Dentro de vhosts temos um link simbolico que aponta para ~/media/aa_share/test.com. | |
Quando tentamos abrir o site test.com recebemos um erro de permission deneid. | |
Parece que n'ao [e permitido ao nginx accessar o arquivo test.com dentro do arquivo | |
compratilhado aa_share que se encontra fisicamente dentro do windows. | |
a solucao que encontrei foi: | |
1-fazer media/ pertencer a ila:www-data | |
2-dentro de media temos | |
root vboxsf sf_aa_share | |
dentro de aa_share todos os folders sao root:vboxsf | |
colocar o usuario www-data dentro do grupo vboxsf | |
$sudo usermod -aG vboxsf www-data | |
com isso gnix pode ler o que esta dentro de /media/sf_aa_share/test.com | |
$ sudo apt-get install net-tools | |
$ ifconfig | |
docker0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 | |
inet 172.17.0.1 netmask 255.255.0.0 broadcast 0.0.0.0 | |
inet6 fe80::42:cbff:fec5:1cee prefixlen 64 scopeid 0x20<link> | |
ether 02:42:cb:c5:1c:ee txqueuelen 0 (Ethernet) | |
RX packets 12 bytes 456 (456.0 B) | |
RX errors 0 dropped 0 overruns 0 frame 0 | |
TX packets 297 bytes 25070 (25.0 KB) | |
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 | |
enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 | |
inet 10.0.2.15 netmask 255.255.255.0 broadcast 10.0.2.255 | |
inet6 fe80::47b:92d:dad9:dd0 prefixlen 64 scopeid 0x20<link> | |
ether 08:00:27:1f:0d:7d txqueuelen 1000 (Ethernet) | |
RX packets 106174 bytes 108401954 (108.4 MB) | |
RX errors 0 dropped 0 overruns 0 frame 0 | |
TX packets 38544 bytes 5342653 (5.3 MB) | |
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 | |
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 | |
inet 127.0.0.1 netmask 255.0.0.0 | |
inet6 ::1 prefixlen 128 scopeid 0x10<host> | |
loop txqueuelen 1000 (Local Loopback) | |
RX packets 536 bytes 42320 (42.3 KB) | |
RX errors 0 dropped 0 overruns 0 frame 0 | |
TX packets 536 bytes 42320 (42.3 KB) | |
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 | |
veth9646dee: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 | |
inet6 fe80::3cc0:8dff:fe9c:e572 prefixlen 64 scopeid 0x20<link> | |
ether 3e:c0:8d:9c:e5:72 txqueuelen 0 (Ethernet) | |
RX packets 12 bytes 624 (624.0 B) | |
RX errors 0 dropped 0 overruns 0 frame 0 | |
TX packets 72 bytes 8420 (8.4 KB) | |
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 | |
Fazendo o browser do host (windows) apontar para dentro da maquina virtual ubuntu e especificamente para o site test.com | |
1- Passar a maquina virtual de nat para bridge - reiniciar a maquina | |
2- Entrar no ubuntu, dentro da maquina virtual e escrever ifconfig no terminal para saber qual o ip da maquina virtual. No meu exemplo o meu ip era 10.20.1.205 | |
3 - Abrir o browser de dentro do host (windows) e escrever 10.20.1.205. Veremos aparecer welcome nginx!. Isso quer dizer que o servidor nginx esta sendo acessado de dentro do windows. | |
4-Atribuir o virtual host. Queremos que o site www.test.com no browser do host windows possa acessar test.com dentro do nginx no ubuntu, que por sua vez acessa o conteudo da pasta aa_share no windows | |
5-Modificar o arquivo C:\Windows\System32\drivers\etc\hosts para 10.20.1.205 test.com. | |
6-Assim, quando escrevemos test.com no browser do windows, essa chamada ira emcaminha a url para dentro da maquina virtual do ubuntu e o virtualhost test.com sera acessado dentro do nginx. | |
Com isso poderemos testar um projeto em linux usando os arquivos de dentro do windows, sem fazer uso de docker ou vagrant. | |
!! |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment