LINUX, TI E MUITO MAIS!
Cadastre-se agora e receba gratuitamente o ebook do Curso Linux Ubuntu, dicas imperdíveis para ter sucesso com Linux
Insira seu email no campo ao lado para receber AGORA o Ebook!

Aprenda como instalar um Servidor Web no Ubuntu para hospedar vários sites

Para instalar um servidor web no Ubuntu e hospedar vários sites é muito fácil, mas requer algumas configurações adicionais que não é preciso fazer se você pretende criar um servidor web para apenas um domínio.

Um servidor web no Ubuntu não tem necessidade de grandes configurações de hardware, claro levando em consideração um site com poucas visitas. Eu recebi algumas duvidas por email e por isso resolvi criar esse post para responder a mais de um leitor.

Aprenda como instalar um Servidor Web no Ubuntu para hospedar vários sites

Perguntas frequentes:

  • Como instalar um servidor web para hospedar o meu site?
  • Como instalar um servidor web completo no Ubuntu?
  • Como hospedar mais de um site no apache?

como criar um servidor web ubuntu rodar varios sites

Coloquei um passo a passo nesse post, para você instalar um servidor web no Ubuntu onde será possível a hospedagem de vários sites com domínios diferentes.

Claro que eu preciso imaginar que você já tem um ou mais domínios registrados e que a configuração DNS desses domínios apontem para o servidor onde será feito essa configuração.

Estarei usando alguns comandos para instalar aplicativos no Ubuntu Linux, se você tiver alguma duvida nesses comandos, eu sugiro a você baixar o EBOOK DO CURSO LINUX UBUNTU, É GRÁTIS.

1) COMO INSTALAR UM SERVIDOR WEB NO UBUNTU

apt-get install php5 php5-mysql mysql-server

Muita calma nesse momento, apesar de não constar no comando acima, o Ubuntu vai instalar por padrão o servidor Web Apache2, fique tranquilo.

Esse comando vai instalar

  • Servidor Web Apache2
  • Módulo php5 para rodar sites criados em php, o CMS WordPress por exemplo.
  • Servidor de banco de dados Mysql, você será questionado sobre a senha do usuário root do mysql.

2) CONFIGURAÇÃO DO APACHE PARA TRABALHAR COM VÁRIOS SITES

A Configuração do apache2, o nosso servidor web, está em /etc/apache2/

Leia também ...   LAMP no Linux: Aprenda a Instalar e Crie um Servidor WEB em Seu VPS

Abaixo, um arquivo de template para criação da configuração do apache2, onde será possível hospedar vários sites em um só servidor

vim /etc/apache2/sites-available/seu_site.com

Comece criando o arquivo conforme abaixo:

<VirtualHost *:80>
 ServerName dominio.net
 ServerAdmin [email protected]
ServerAlias dominio.net www.dominio.net
 DocumentRoot /var/www/dominio.net
<Directory />
 Options FollowSymLinks
 AllowOverride None
 </Directory>
<Directory /var/www/dominio.net>
 Options -Indexes FollowSymLinks MultiViews
 AllowOverride All
 Order allow,deny
 allow from all
 </Directory>
ErrorLog /var/log/apache2/error-dominio.net.log
# Possible values include: debug, info, notice, warn, error, crit,
 # alert, emerg.
 LogLevel warn
CustomLog /var/log/apache2/dominio.net.log combined
</VirtualHost>

Modifique esse arquivo de template conforme sua necessidade, apenas algumas observações.

A opção ServerName dominio.net, é o dominio do seu site, poderia ser um subdominio também, alguma coisa tipo ofertas.dominio.net

A opção DocumentRoot /var/www/dominio.net define o diretório onde será criado os arquivos do seu site, ou seja onde será instado o seu blog WordPress por exemplo.

3) APÓS INSTALAR O SERVIDOR WEB NO UBUNTU, DEVEMOS HABILITAR A NOVA CONFIGURAÇÃO

Esse arquivo de configuração ainda não está em uso, precisamos avisar para o apache que queremos habilitar outro site, para isso vamos usar o comando a2ensite.

cd /etc/apache2/sites-available/
a2ensite seu_site.com

4) HABILITAR O MOD REWRITE NO APACHE

Esse módulo fará a a reescrita das urls, será necessário para trabalhar com o wordpress

E executa o comando abaixo

cd /etc/apache2/mods-available
a2enmod rewrite

5) MUDAR PERMISSÃO DE ACESSO DO DIRETÓRIO DO SITE

Eu não pretendo discutir nada sobre segurança em sites agora, para facilitar nossa vida, vamos usar o usuário padrão do apache para mandar nesse diretório do nosso novo site.

mkdir /var/www/seu_site.com
chown www-data:www-data -R /var/www/seu_site.com

6) INSTALAÇÃO DO PHPMYADMIN

Para acessar nosso servidor de banco de dados Mysql, vamos usar o phpmyadmin, ele é uma aplicação em php que irá facilitar nossa vida na hora de criar um banco de dados, fazer backup, criar comando sql e muito mais.

apt-get install phpmyadmin

Para acessar

Leia também ...   9 mitos do Sistema Linux que você precisa ignorar (urgentemente)

http://ip-servidor/phpmyadmin/

7) CONFIGURAÇÃO DA AUTENTICAÇÃO PARA ACESSAR O PHPMYADMIN

Essa configuração é uma questão de segurança para o seu banco de dados, dessa forma para acessar o phpmyadmin será solicitado uma senha de autenticação no navegador.

Configuração no arquivo

vim /etc/phpmyadmin/apache.conf

No arquivo:

Na configuração: <Directory /usr/share/phpmyadmin>

Adicionar o linhas linhas:

<IfModule mod_authn_file.c>
 AuthType Basic
 AuthName "phpMyAdmin Setup"
 AuthUserFile /etc/phpmyadmin/htpasswd.setup
 </IfModule>
 Require valid-user

Agora, temos que criar o usuário, para fazer a autenticação, com o comando abaixo.

htpasswd htpasswd.setup seu_usuario

Dessa forma, quando acessar http://ip-servidor/phpmyadmin/ será solicitado a autenticação no navegador.

Depois dessa configuração, temos que reiniciar o apache com o comando abaixo:

/etc/init.d/apache2 restart

Então vamos recapitular o que fizemos até agora.

  • Instalamos o Apache2, o nosso servidor web do Ubuntu.
  • Instalamos também o php5, módulos necessários para rodar scripts em php e principalmente porque no futuro queremos instalar um site em WordPress.
  • Instalar o servidor de banco de dados Mysql
  • Foi instalado também o phpmyadmin, aplicação web para manipular nosso servidor de banco de dados
  • Configuramos o servidor apache2 para trabalhar com vários sites em um único servidor, criando um arquivo de template para esse site que poderá ser replicado para diversos outros.

Sendo assim, temos um servidor Web completo rodando em Linux com a distribuição Ubuntu, capaz de hospedar vários sites em php5, com banco de dados Mysql.

Para mais explicações sobre comando Linux, baixe o  EBOOK DO CURSO LINUX UBUNTU, É GRÁTIS.

E VOCÊ, JÁ CONFIGUROU UM SERVIDOR WEB ? O QUE ACHOU DESSE PEQUENO TUTORIAL. DEIXE UM COMENTARIO.

Valeu pessoal, até a próxima.

Pedro Delfino




Sobre pedrodelfino

Trabalha a mais de 14 anos com administração de sistemas LINUX, dedicado em ensinar novos profissionais a atuar com servidores. Saiba mais aqui. "Caso queira participar de uma aula online comigo utilize o formulário Acima"

  • Robson

    E sobre a segurança em um servidor web, vai fazer outro artigo?
    Eu sempre queria fazer um servidor no meu próprio computador, mas não sabia como. Agora quero saber sobre segurança queria proteger contra hacker de invasão.
    Agradeço pelo artigo, gostei muito, muito!

    • pedrodelfino

      Olá Robson

      Obrigado pelo comentário, bom saber que você gostou do artigo.

      Pretendo falar um pouco sobre segurança em servidores web.

      Fique ligado

      Até …

      • Nicolas

        eu nao consegui fazer nada sempre da erro

  • Vitor

    E para hospedar vários sites diferentes, com domínios diferentes, no mesmo servidor?

    • pedrodelfino

      Olá Vitor

      É o mesmo procedimento.

      Pode ser vários domínios diferente, ou até sub dominios.

      Até …

    • vitin Boladao

      OTARIOS !

  • anselmo

    Muito bom, vou montar o meu.
    Obrigado.

    • pedrodelfino

      Valeu pelo comentário Anselmo

      Espero que você tenha sucesso na configuração.

  • Leandro

    Muitoi bom seus Tutorias,parabéns e continue.

    • pedrodelfino

      Fala Leandro

      Blz ? Valeu pelo comentário …

  • Leandro

    Rsss… TUTORIAIS

  • Muito bom, parabéns!
    Obrigado por compartilhar seus conhecimentos.

    Abraços

    • pedrodelfino

      Valeu Marcos.

      Estou sempre tentando compartilhar algum conteúdo para ajudar a comunidade.

      Obrigado pelo comentário.

  • Fernando

    Olá Pedro, sou usuário iniciante de linux, desde que descobri o ubuntu, passei à me interessar cada vez mais por linux.
    Seus artigos são muito bons, e de grande ajuda aos que estão iniciando no universo linux.
    Atualmente meu foco é sistema para desktop, por esse motivo, gostaria que desse dicas de como solucionar problemas de pos instalção de sistemas operacionais, como instalar java, plugins de navegadores para acessar sites de banco, impressoras etc.
    Obrigado por disponibilizar seus conhecimentos que ajudam a popularizar cada vez mais esse poderoso sistema operacional.

    • pedrodelfino

      Fernando…

      Obrigado pela sugestão … estou vendo que grande parte dos leitores estão partindo para o desktop com ubuntu e isso é muito legal.

      Eu vo preparar mais dicas sobre esse assunto sim …

      Valeu pelo toque

  • Robson

    http://ip-servidor/phpmyadmin/

    Onde eu localizo esse ip-servidor?
    Creio que deve ser exatamente esse ip que tenho de colocar na fapesp.
    Como ter esse ip no meu computador?

    • Robson

      ifconfig | grep inet

      mas não é esse que tenho de colocar na fapesp, como obter um ip fixo?

    • pedrodelfino

      olá …

      para ver o ip do servidor vc deve usar o comando ifconfig …

      isso mesmo !!!

  • bruno mattos

    pedro,
    parabens por compartilhar tanto conhecimento sobre linux.
    conhece algum programa p linux para gerenciar uma pequena empresa(contas a pagar/receber etc).valeuu!!.

  • Cláudio Frank de Souza Aranha

    Boa Tarde Pedro.
    Parabéns por estas aulas de linux, elas tem me ajudado bastante no meu trabalho.
    Ja recomendei para meus amigos da faculdade.

    Até mais!

    • pedrodelfino

      Valeu Cláudio

      Obrigado pelo força.

  • Olá Pedro, gostei do tutorial, registrei três dominios para hospedar, setei os 3 pra o servidor qu criei, fiz todo o procedimento como acima.
    arquivo 1

    ServerName dominio1.net
    ServerAdmin [email protected]
    ServerAlias dominio.net http://www.dominio1.net
    DocumentRoot /var/www/dominio1.net

    Options FollowSymLinks
    AllowOverride None

    Options -Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    allow from all

    ErrorLog /var/log/apache2/error-dominio1.net.log
    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn
    CustomLog /var/log/apache2/dominio.net1.log combined

    arquivo 2

    ServerName dominio2.net
    ServerAdmin [email protected]
    ServerAlias dominio2.net http://www.dominio2.net
    DocumentRoot /var/www/dominio2.net

    Options FollowSymLinks
    AllowOverride None

    Options -Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    allow from all

    ErrorLog /var/log/apache2/error-dominio2.net.log
    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn
    CustomLog /var/log/apache2/dominio.net2.log combined

    porem quando vou acessar só abre o dominio1.net

    oque posso ter feito errado??
    lembrando que só tenho uma eth que é a eth0
    pode ser isso??

    • pedrodelfino

      Olá

      Vc lembrou de ativar o novo site?

  • A sim outra coisa que não apareceu ai no comentario acima usei a porta 80 nos tres…

  • Idalécio Pereira

    Boa tarde Pedro
    Gostei do tutorial, foi espectacular! Já consigo obter os dados da minha base de dados. Contudo, tenho ainda algumas questões: como fazer para que o site aceita somente o nome (http://idp.com) ao invés de (http://localhost/idp.com/index.php) para acessar o site?
    A outra não sei se pode ser posta aí é obter o ficheiro iso do ubuntu server 12.04 para criar o disco CD/DVD de instalação directa. É que actualmente tenho ubuntu server 12.04 instalado no VirtualBox e estes ficheiros não funcionam a partir de um CD/DVD gravado.

  • Amigo quando vou colocar http://ip-servidor/phpmyadmin/ dá erro dizendo que a pasta não existe , ou seja instelei tudo certo mas esta pasta não foi instalada

  • Diego

    Atualizei o arquivo hosts para o direcionamento local.

  • Muito mais para contribuir do que para criticar, na linha de comando:
    htpasswd htpasswd.setup seu_usuario
    Há um pequeno erro.
    O correto seria:
    htpasswd -c htpasswd.setup seu_usuario.
    Essa letra “C” com o sinal de menos é exigido para o primeiro usuário. A partir do segundo em diante é que se escreve da forma como está no post.
    Eu só aprendi isso porque recebi uma mensagem de erro do Putty, porque eu não sei nada de Linux.
    Muito obrigado pelo post! Excelente!

  • Não prestou para mim não.
    Tenho muito o que aprender ainda.
    O post é bem explicado, mas já que eu não consigo entender o conceito de VHost e como estes funcionam, não vai adiantar.
    Preciso mesmo de um painel para fazer esse trabalho para mim.

  • Luis

    Explicação simples e clara!
    Fácil de entender.
    Verdadeiro serviço público para os leitores em português.
    Parabéns e obrigado!

  • Parabéns pelo tutorial muito bom….

  • Claudio Henrique

    Parabéns, excelente tutorial!
    Facilmente TOP 3 relacionado a esse tema nas pesquisas do Google para pesquisas em português.

  • Marcos

    Cara, muito bom!

    Seguinte, se eu quisesse hospedar um site localmente, como eu faria? eu tenho domínio registrado, atualmente hospedado em um host externo… Como eu faria pra direcionar para minha rede local e distribuir o site.

  • Renato Ferreira

    Parabéns pela iniciativa de dividir seus conhecimentos.

  • Adilson

    Pode ser Qualquer Ubuntu?

  • iv4n

    O titulo do post ficaria mais coeso, se fosse instalar um “servidor web para sites PHP” ou um nome relacionado.

  • Olá, tenho muitas dúvidas, até meio chatas pois não entendo muito de servidores, mas as que você pode responder eu agradeço.
    Bom é o seguinte eu vi um tutorial de como montar um servidor e agora o seu de como configura-lo, mas ainda não sei se vale a pena monta-lo, se ele vai ficar rápido na hora de carregar o blog, se eu muda-lo para meu servidor ainda vou poder usar as funções do Tumblr, se a internet pode influenciar na velocidade de carregamento do blog, qual velocidade você recomendaria e se posso hospedar outros blogs ou servidor de jogos no meu servidor?

    As configurações do servidor que vou montar é:
    Placa mãe gigabyte, Pentium Dual Core E2160 1.8 ghz, DDR2 1 Gb e HD 160 e 320 Gb 7200 rpm. A internet é de 20 Mbps (2,0 Mb/s e 160 Kb/s).

  • Independentemente se é Wuindos ou Linux aqui no Brasil é muito caro um plano de host, Se Alguém estiver a procura de economizar de uma olhadinha nestas opções http://www.linode.com, http://www.sparknode.com/ e http://www.digitalocean.com. Pessoal quem quiser Ganhar $10 Dólares de bônus para usar na Digital Ocen aqui esta o link https://www.digitalocean.com/?refcode=097c519ff272 Em Breve Iremos Transferir para lá o site http://www.aguaslindastv.com.br pelos preços praticados aqui no Brasil vale a pena conferir este Host.

  • muniz

    sera que esse tutorial serve para todas as versoes de linux…porque agente sabe que para cada instalacao tem uns pré-requesitos e bibliotecas.
    muito bom tutorial!!!

  • Carlos Nascimento

    OLá Pedro, esse artigo é para configuração e instalação de um servidor web para vários site, isso como vc mesmo disse para site produzido na linguagem PHP se foi outra linguagem o precedimento seria diferente???

  • tadeu

    muito bom…

  • Pedro, venho aprendendo muito com seus post, obrigado. Mas Pedro queria criar um servidor web so que para intranet local. Como pproceder?

  • Olá Pedro! Em primeiro lugar parabéns por compartilhar os seus conhecimentos, gostaria de saber se o comando para baixar o php 4 é o mesmo (apt-get install php5 php5-mysql mysql-server), pois os meus sites estão todos com mysql ou mysqli para conexão ao bd, padrão que jé não eé mais aceito no PHP 5…

  • Luiz Anselmo

    Amigo, qual a versão do Ubuntu você está usando nessas configurações. vlw

  • Leonardo da Luz

    essa matéria não tem nem data…lindo…

  • Leonardo da Luz

    essa matéria não tem nem data…lindo…

  • Juliano Andrade

    muito bom artigo, trabalho com linux, mas ainda não me animei a fazer um server linux na minha rede com mikrotik, tenho medo de fazer dar uma tremenda dor de cabeça, mas estou bem impolgado em criar um servidor linux junto ao mikrotik com proxy.

  • Juliano Andrade

    Primeiramente vou montar um máquina com HD de 500G e 2G inicial de memória, depois coloco mais 2. Estou pensando em colocar um outro link de internet e daí não terei problemas com a rede que já ta funcionando com os clientes. Aí Pedro, tu é o cara, se tiver problemas vou recorrer a ti. rsrs

  • Lino Vieira

    Gostaria em primeiro lugar que até ao momento estou a gostar e seguir rigorosamente o tutorial. Contudo quando chego ao passo 3 e insiro os comandos demonstrados, aparece-me o seguinte erro “ERROR: Site test.com does not exist!”, onde “test.com” é o nome que dei ao meu respetivo site e dominio. É normal? ou coloquei algo errado nos passos anteriores ?