Escrito em por arquivado em Blog, Debian. Total de Acessos:244.

O Apache (httpd) é realmente um guerreiro, um Software Livre gratuito e poderoso. Tão poderoso que está há tantos anos como o Servidor Web mais utilizado em “sites realmente ativos”.
Um guerreiro que se preze tem que saber utilizar várias armas, e com o Apache não é diferente. Entre as armas mais utilizadas estão: PHP, Python e Ruby on Rails, além de suportar vários sites simultâneos ou “vhosts”.

No meu caso, preciso do PHP, pois todos os sites são desenvolvidos utilizando o WordPress.

Depois de ter preparado os servidores, comecei a instalação dos pacotes:

root@server:~# apt-get update
root@server:~# apt-get install apache2 php5 libapache2-mod-php5 php5-gd php5-curl

No Debian, por padrão, os arquivos de configuração ficam na pasta /etc/apache2, os arquivos de log em /var/log/apache2 e os arquivos públicos em /var/www, além do usuário e grupo padrão, o www-data.

Na pasta de configuração do apache2, temos:

apache2.conf  conf.d  envvars  magic  mods-available  mods-enabled  ports.conf  sites-available  sites-enabled

O arquivo apache2.conf é o arquivo principal do apache, nele estão linkados, entre outras coisas, o arquivo ports.conf (responsável por configurar as portas onde o apache deve escutar), os arquivos da pasta conf.d e das pastas mods-enabled  e sites-enabled, que contêm os módulos e os sites ativos respectivamente.

Nas pastas *-available estão os módulos e sites disponíveis que podem ser ativados com:

root@server:~#  a2enmod modulo
root@server:~#  a2ensite site

ou ainda criando um link:

root@server:~# ln -s mods-available/modulo mods-enabled/modulo
root@server:~# ln -s sites-available/site sites-enabled/site

Como preciso de vários sites no mesmo host, faço as configurações na pasta sites-available:

root@server:~# vim blog.diegoneves.eti.br
<VirtualHost *:80>
ServerAdmin diego@diegoneves.eti.br    #E-mail do admin, no caso o meu
ServerName blog.diegoneves.eti.br    #Endereço do site, pode ser criado também um "ServerAlias" com o apelido
DocumentRoot /var/www/blog.diegoneves.eti.br    #A Pasta publica do site
<Directory />
Options FollowSymLinks
</Directory>
<Directory /var/www/blog.diegoneves.eti.br>
Options Indexes FollowSymLinks MultiViews
Order allow,deny
allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/blog.diegoneves.eti.br.error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/blog.diegoneves.eti.br.access.log combined
</VirtualHost>

root@server:~#  a2ensite blog.diegoneves.eti.br
Enabling site blog.diegoneves.eti.br.
To activate the new configuration, you need to run:
service apache2 reload
root@server:~#  /etc/init.d/apache2 reload

Com isso, sempre que chegar uma requisição para o domínio blog.diegoneves.eti.br na porta 80, o apache se encarregará de processar e exibir os arquivos na pasta /var/www/blog.diegoneves.eti.br.

Existem muitas outras formas de configurar o Apache2, como o utilizado em revendas ou servidores com vários sites gerenciados por pessoas diferentes, cada site na pasta do respectivo usuário, ou uma blindagem com chroot, que serão abordadas depois.