Como eu transmitiria um subdomínio / nome virtual em um servidor local com pessoas conectadas à mesma rede?

5

Eu tenho um servidor conectado ao roteador que tem o Ubuntu 12.04. Está com o apache / mysql / php todo instalado pronto para ir. a estrutura da pasta é assim:

/var/www -- this isnt the root
-/libs
-/logs
-/public - this is the root
-/vhosts - all subdomains go here

Eu tenho uma pasta em vhosts chamada mysite. Eu fui em / etc / apache2 / sites-disponível e criou um arquivo e aqui estão os conteúdos - > ( arquivo vhost ). e também adicionei uma entrada no arquivo / etc / hosts contendo: 127.0.1.1 mysite.dev e também fiz

sudo a2ensite mysite

Eu tentei acessar o site de um computador via mysite.dev e nosso ip público no servidor, mas não consegui visualizá-lo. o diretório público na estrutura acima é exibido em todos os computadores quando eu tento o nosso ip público. mas para qualquer coisa adicionada em vhosts o site não vai mostrar. não há nenhum domínio ligado é apenas o nosso ip. Eu tentei mudar a porta de 80 para dizer 9999 no arquivo mysite em sites disponíveis e tentei myip: 9999, mas isso não funcionou tanto. o que estou fazendo errado?

edite: eu esqueci de mencionar que o servidor está oculto no roteador.

    
por Sarmen B. 17.10.2012 / 19:42

1 resposta

1

Acessável em algumas máquinas locais

Se você quiser que mysite.dev funcione em apenas algumas máquinas locais, você sempre pode editar seus arquivos / etc / hosts . O Windows também tem arquivos hosts que você pode editar, que estão localizados em C: \ Windows \ System32 \ drivers \ etc \ hosts .

No arquivo hosts no computador que você deseja configurar para poder acessar o mysite.dev, basta adicionar isso ao final dele (Windows e Linux):

SERVERIP mysite.dev www.mysite.dev

Onde você substitui SERVERIP pelo endereço IP local do seu servidor executando o Apache.

Acessível em toda a rede local

Se você quiser que ele funcione em sua rede local, você terá um servidor DNS e configurará o servidor DHCP da rede para que suas máquinas locais façam todas as suas consultas DNS através do seu servidor.

Primeiro, vamos instalar o bind .

sudo apt-get install bind9

Depois, vamos começar a configurar a ligação e adicionar uma zona DNS, neste caso, o mysite.dev . Comece editando seu arquivo /etc/bind/named.conf.local e adicione o seguinte bloco a ele:

zone "mysite.dev" {
    type master;
    file "/etc/bind/zones/mysite.dev;
}

Em seguida, crie o direcotyr / etc / bind / zones .

sudo mkdir /etc/bind/zones

Agora, vamos adicionar o arquivo de zona para o domínio mysite.dev . Crie e edite o arquivo /etc/bind/zones/mysite.dev e adicione o seguinte a ele:

$ORIGIN . ; -*- zone -*-
$TTL 600    ; 10 minutes
mysite.dev          IN SOA  YOURSERVERNAME. hostmaster.mysite.dev. (
                    2012102300 ; serial
                    6H         ; refresh
                    30M        ; retry
                    4W         ; expire
                    10M        ; minimum (10 minutes)
                )
                NS  YOURSERVERNAME.
                A   YOURSERVERIP

$ORIGIN mysite.dev.
www         A   YOURSERVERIP

Agora, dê uma olhada aqui. Você precisa alterar as duas ocorrências de YOURSERVERNAME e as duas ocorrências de YOURSERVERIP referências àquelas que correspondem ao seu servidor. Por exemplo, server01.local e 10.0.0.2 . Para descobrir o nome do seu servidor, digite hostname -f em uma janela de terminal no seu servidor.

Se você vai mudar alguma coisa neste arquivo de zona (como adicionar subdomínios mais tarde ou algo assim), você deve lembrar de atualizar o número de série . Neste caso, é 2012102300 . O valor deve ser definido para um valor mais alto, por ex. 2012102301 .

Reinicie o serviço bind com sudo service bind9 restart e o servidor DNS deverá estar ativo e em execução para o seu domínio. Você provavelmente deve testar isso executando dig @localhost mysite.dev do próprio servidor antes de ir para a próxima etapa. Você também pode testá-lo a partir de um computador cliente na rede com dig @YOURSERVERIP mysite.dev , onde YOURSERVERIP é o endereço IP do seu servidor.

Agora, a última coisa que você precisa fazer é atualizar a configuração dos servidores DHCP e definir seu servidor local como o servidor DNS (secundário, se possível). Isso, infelizmente, eu não posso te ajudar com isso facilmente.

Acessível na internet

Como não existe um nome de domínio de nível superior chamado .dev , é necessário que a ICANN crie esse nome. Nesse ponto, o sistema de inscrição de gTLDs está fechado, mas talvez seja possível solicitar o DPN .dev em algum momento no futuro. Note que eles provavelmente querem um monte de dinheiro para isso.

    
por carestad 23.10.2012 / 21:57