Servidor Web · 4 min read · Jan 07, 2026

Crie Seu Próprio Servidor Web Com BIND E Apache No CentOS 5 (Simplificado) - Página 2

Pulando novamente :) Desta vez um pouco mais longe, até a linha 1005, você deve ver:

NameVirtualHost *:80

A diretiva NameVirtualHost informa ao Apache que queremos usar hospedagem virtual baseada em nome, ou em termos mais simples, um monte de sites todos usando o mesmo endereço IP. Adicione algumas linhas em branco abaixo de ‘#NameVirtualHost *:80’ e na linha logo abaixo coloque NameVirtualHost e seu nome de host ou endereço IP seguido de :80. O ‘:80’ significa que estamos usando hospedagem virtual baseada em nome para o protocolo HTTP.

Então você deve produzir algo como isto:

NameVirtualHost host.website.com:80

Agora estamos quase terminando de configurar nosso arquivo httpd.conf. A única coisa que nos resta configurar é se alguém visitar nosso servidor usando o IP em vez do nome de domínio, devemos definir nosso nome de host padrão para ser visível por esses usuários. Podemos inserir isso no final do arquivo de configuração


    ServerAdmin [email protected]
    DocumentRoot /www
    ServerName 77.77.197.69
    ErrorLog logs/error_log
    CustomLog logs/access_log common

Para manter nosso

httpd.conf

mais fácil de gerenciar, devemos adicionar esta linha no final do arquivo:

Include conf/vhosts/*.conf

Significando que iremos incluir todas as entradas .conf de /etc/httpd/conf/vhosts onde armazenaremos os hosts virtuais para nossos sites à medida que os adicionamos. Será mais fácil de entender à medida que avançamos. Ok, estamos quase lá, salve httpd.conf e siga em frente.

Criando diretórios de sites

Agora devemos criar a estrutura de diretórios do site para gerenciar nossos sites adequadamente. Primeiro, vamos criar o diretório principal:

mkdir /www

Agora estamos tornando root o proprietário de /www:

chown root.root /www

Antes de prosseguir, precisamos fazer um ajuste, devemos adicionar uma zona para host.website.com em nosso named.conf porque a usamos como um nome de host em httpd.conf e teremos um erro se não fizermos isso. Então devemos adicionar isto ao named.conf

zone "host.website.com" IN {
        type master;
        file "/var/named/host.website.com.db";
};

E, claro, abaixo está o conteúdo do arquivo:

/var/named/chroot/var/named/host.website.com.db
$TTL 14400
@      86400    IN      SOA     ns1.website.com. [email protected]. (
                2008021501      ; serial, data de hoje+hoje
                86400           ; refresh, segundos
                7200            ; retry, segundos
                3600000         ; expire, segundos
                86400 )         ; minimum, segundos
host.website.com. 86400 IN NS ns1.website.com.
host.website.com. 86400 IN NS ns2.website.com.
host.website.com. IN A 77.77.197.69
localhost.host.website.com. IN A 127.0.0.1

Você pode adicionar quantos registros desejar. Antes de reiniciar o named, faça um link:

ln -s/var/named/chroot/var/named/host.website.com.db /var/named/host.website.com.db
service named restart

Agora voltamos à estrutura de diretórios. Então, adicionamos uma zona para nosso

website.com

agora precisamos de um diretório virtual para ele.

cd /www
mkdir website.com
cd website.com
mkdir html
mkdir html/cgi-bin
mkdir databases
mkdir logs

Como criamos um diretório para nosso site, tudo o que precisamos é de um usuário que será legível para gerenciar este nome de domínio. Podemos fazer isso com:

useradd -d /www/your-domain/ domain_user

ou se você quiser restringir o acesso ao shell para o usuário, use isto:

useradd -d /www/your-domain/ -s /sbin/nologin domain_user

Depois que o usuário foi adicionado, podemos modificar sua senha com:

passwd

Esse usuário ainda não tem seu “lar” :) lugar que ele possui, agora adicionamos isto:

cd /www && chown domain_user:domain_user website.com

Se você criar um diretório “databases”, então precisará mudar o proprietário para o usuário mysql, caso contrário, o MySQL não poderá escrever nos arquivos do banco de dados. Todos os diretórios, subdiretórios e arquivos relacionados a bancos de dados devem ser de propriedade do usuário mysql e podemos fazer isso com este comando:

cd website.com && chown -R mysql:mysql databases

Com isso, completamos a criação da estrutura de diretórios do site, agora a única coisa que resta a fazer é dizer ao Apache onde está nosso site e estamos todos prontos.

Agora vamos voltar um pouco quando estávamos configurando httpd.conf, inserimos uma linha lá:

Include conf/vhosts/*.conf

Agora você descobrirá por que fizemos isso, se ainda não souber. Como a pasta ainda não existe, devemos criá-la:

cd /etc/httpd/conf && mkdir vhosts

Agora vamos para dentro do diretório vhosts:

cd vhosts

e criamos um novo arquivo para nosso domínio:

nano website.com.80.conf

Devemos inserir o seguinte neste arquivo:


    ServerAdmin [email protected]
    ServerName website.com
    ServerAlias www.website.com
    DocumentRoot /www/website.com/html
    ScriptAlias /cgi-bin/ /www/website.com/html/cgi-bin/
    ErrorLog /www/website.com/logs/error_log
    CustomLog /www/website.com/logs/access_log combined

Finalmente chegamos ao ponto final agora, quando dissemos ao apache onde está o diretório do nosso site, agora cada solicitação do navegador para www.website.com será lida de /www/website.com/html; lá você deve colocar seus arquivos, ex: index.html. Agora podemos ligar nosso httpd, ou reiniciar se já estava ligado.

service httpd start

ou

service httpd restart

Se você estiver enfrentando algum problema com este tutorial ou com a configuração do Apache ou do BIND, não hesite em me contatar. Tenho certeza de que tive esses e até piores problemas - ficarei feliz em ajudar no meu tempo livre.

Autor

: Emir Ibrahimbegovic

E:

[email protected]

W:

www.green.ba

Agradecimentos a:

Tony Bhimani, Sébastien Wains, Nayyar Ahmad

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.