Pular para o conteúdo

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.
Fernando Luis Basso athunye
Hits: 36.833 Categoria: Linux Subcategoria: Configuração
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

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>
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

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

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
   1. A causa
   2. Tornar seus sites visíveis na LAN
Nenhum artigo encontrado.

Execução automática de comandos na inicialização do modo gráfico

Configurando Nocat + Radius modo passive

Instalação do Asterisk - Distribuição Meucci

50 toques antes de instalar o Slackware 14.1

Instalando Prolink Pixelview PV-BT878P+

#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

Entre na sua conta para comentar.