Apache2 + PHP5 + VirtualHosts no Debian e Ubuntu

Este é um tutorial de como instalar o Apache2, PHP5 (com suporte a MySQL) e configurar dois VirtualHosts. Testado no Debian Lenny E Ubuntu Karmic Koala.

[ Hits: 35.506 ]

Por: Fernando Luis Basso em 13/01/2010


A causa



Quando iniciei o estudo de PHP me deparei com o fato de que é necessário um servidor para poder processar o código. Não basta apenas criar o arquivo .php e querer abir no navegador.

Vou demonstrar aqui o que fiz para ter o meu ambiente de estudos PHP. Estes exemplos foram realizados em um Ubuntu 9.10 e em um Debian Lenny Linux.

O que vamos fazer é criar dois VirtualHosts:
  • www.estudo_1.home
  • www.estudo_2.home

Quando eu citar os comandos de terminal, o caractere "#" indica que o comando deve ser executado como root e "$" indica que o comando deve ser executado como usuário comum.

Obs.: Os seus computadores devem estar configurados com ip fixo.

Instalando os pacotes necessários:

# aptitude install apache2 php5 libapache2-mod-php5 php5-common php5-cgi php5-mysql

(php5-mysql é o módulo PHP que nos permite acessar o MySQL)

Vamos adicionar um usuário, o qual em sua $HOME ficarão os sites:

# useradd -m www -s /bin/bash
# passwd www


O primeiro comando adiciona o usuário www com sua pasta $HOME. O segundo comando é para criar uma senha para o usuário www.

Agora logue-se como usuário www.

Vamos criar os diretórios necessários para a hospedagem dos nossos dois sites:

mkdir -p public_html/estudo_1.home/public
$ mkdir -p public_html/estudo_2.home/public


Crie um arquivo chamado index.html na pasta public dos dois sites com algum conteúdo (html/php) qualquer.

Claro que ao invés de criar o user www, você pode aproveitar o seu próprio user de login do seu computador.

Criando os hosts virtuais:

# vim /etc/apache2/sites-available/www.estudo_1.home

Coloque o seguinte conteúdo dentro do arquivo:

<VirtualHost *:80>
    ServerName www.estudo_1.home
    DocumentRoot /home/www/public_html/estudo_1.home/public
</VirtualHost>

E também faça:

# vim /etc/apache2/sites-available/www.estudo_2.home

Coloque o seguinte conteúdo dentro do arquivo:

<VirtualHost *:80>
    ServerName www.estudo_2.home
    DocumentRoot /home/www/public_html/estudo_2.home/public
</VirtualHost>

Claro que tem muito mais opções, e eu nem sei muito, mas estas aí já fazem o necessário para um site básico.

Desabilite o site default do Apache e habilite os seus sites recém criados:

# a2dissite default
# a2ensite www.estudo_1.home
# a2ensite www.estudo_2.home


Editando o /etc/apache2/apache2.conf, certifique-se de que, por volta da linha 50, você tenha:

NameVirtualHost *:80
ServerName "www.estudos.home"
ServerRoot "/home/www"

Editando o /etc/apache2/ports.conf. Aqui, apenas certifique-se de que você tenha:

NameVirtualHost *:80
Listen 80

    Próxima página

Páginas do artigo
   1. A causa
   2. Tornar seus sites visíveis na LAN
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Introdução ao DevOps - Infraestrutura como código

Configurando Servidor de Nomes - DNS (Debian)

Servidor Internet (parte 1)

Debian Squeeze - Instalação e configuração no HP G42-371BR

Instalando OpenWrt no TP-LINK MR3420

  
Comentários
[1] Comentário enviado por nickmarinho em 15/01/2010 - 13:06h

Poderia ser mais interessante criar uma pasta "sites" dentro do seu diretorio pessoal, pois você precisa de permissão para escrever nos arquivos e diretórios e dessa forma você necessitaria de um chmod 770 ou 777 nos arquivos para poder usá-los.

Eu mesmo uso dessa forma.

Apenas uma sugestão minha.

[]s

[2] Comentário enviado por edivandoflf em 24/06/2010 - 15:30h

Muito bom, estou aprendendo php e este artigo vei bem na hora
Valeu cara.

[3] Comentário enviado por sydnei.lucchesi em 17/10/2010 - 11:49h

Caros,
Criei um servidor de arquivos e de web para desenvolvimento próprio mas estou com problema na configuração do Apache2.

Na instalação do Ubuntu 10.04 e o lamp, tudo correu perfeitamente mas enfrento o seguinte problema.

1- Configurei o apache2, instalei os módulos complementares;
2- criei o diretorio para o site: /var/www/site;
3- criei o arquivo site em /etc/apache2/sites-available;
4- configurei o endereço adequadamente;
5- reinicializei o apache2;

Só que o que eu recebo é apenas uma figura, cujo nome é site.gif.

Se na URL eu inserir o index.php ou o index.html recebo o erro 404.

Creio que esteja faltando alguma configuração básica no Apache2.

Procurei alguma diretriz em apache2.conf, mas lá não há qualquer menção a DirectoryIndex ou em qualquer outro arquivo do Apache2.

Se alguém tiver alguma idéia eu agradeço.

Em outras distros foi tudo tranquilo, mas depois que decid mudar para Ubuntu 10.04, toda atualizada, me dei mal. É só problema e olha que já refiz a instalação umas três vezes.

Grato pela atenção.

[4] Comentário enviado por ij.souza1988 em 31/03/2011 - 20:22h

Maravilha meu caro, Vou usar a experiência adquirida aqui para implementar um Intranet na empresa em que trabalho.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts