Como executo o Apache em uma VM, mas ele tem arquivos do host?

1

OK, isso é um pouco complicado de explicar, mas eu farei o meu melhor.

Estou executando o Apache em uma VM (Modo Windows XP) e quero:

  1. Armazenar e editar arquivos de sites na minha máquina principal (host)
  2. Sirva-os no navegador dentro da VM (guest)

Atualmente, estou armazenando, editando e servindo tudo na VM, mas obviamente isso é inútil para backup, git, etc., então quero tirá-los da máquina virtual e colocá-los em diretórios físicos.

Meu arquivo de hosts da VM aponta todos os domínios para 127.0.0.1:

127.0.0.1    davestewart.local
127.0.0.1    davestewart.remote

Meu arquivo httpd-vhosts.conf do VM Apache tem esta aparência:

NameVirtualHost *:80

<VirtualHost *:80>
    ServerName localhost
    DocumentRoot "c:/xampp/htdocs"
</VirtualHost>

<VirtualHost *:80>
    ServerName davestewart.local
    ServerAlias www.davestewart.local
    DocumentRoot "c:/xampp/htdocs/davestewart.co.uk"
    <Directory "c:/xampp/htdocs/davestewart.co.uk">
        Options Indexes FollowSymLinks
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

<VirtualHost *:80>
    ServerName davestewart.remote
    DocumentRoot "//dave-desktop/work"
    <Directory "//dave-desktop/work">
        Options Indexes FollowSymLinks
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

A versão local do site é excelente, e é totalmente visível na VM, mas a versão .remote produz um XAMPP 403 Access proibido! página.

Minhas habilidades de servidor se estendem a algumas edições de .htaccess e .conf, geralmente hackeando coisas de tutoriais on-line, mas sem nenhum conhecimento real do que estou fazendo (diferentemente da codificação, que acho muito mais fácil).

Obrigado Dave

    
por davestewart 07.06.2013 / 11:16

2 respostas

0

Considere usar o Vagrant . Por padrão, a VM terá todos os arquivos da pasta raiz disponíveis em /vagrant . Assim, você pode configurar o Apache (na VM) para servir arquivos em /vagrant/web - e os arquivos servidos serão aqueles no subdiretório web da pasta onde o Vagrantfile está localizado. Você pode encontrar mais informações nos documentos .

    
por 07.06.2013 / 12:14
0

Por que você não experimenta links simbólicos? Eu sei que funciona no Linux. Basta ter os arquivos na sua unidade host. Em seguida, crie um link simbólico em sua VM para a unidade host. Voila Os arquivos estão no host, mas a VM "pensa" que eles são locais.

Atualmente, usamos essa configuração para uma espécie de backdoor em nossos arquivos através do site do nosso escritório para que possamos ter acesso aos nossos arquivos de trabalho no campo. Mas nós não queremos nossos arquivos de trabalho "no" servidor web, mas precisamos que o servidor web os envie para o campo através do nosso site. Links simbólicos estão funcionando muito bem para nós.

    
por 02.08.2013 / 07:59