X

Instalando e Hardenizando um Servidor Apache2

V 2.4.1 + PHP V 5.4.0 + Debian Squeeze

Neste exemplo vamos aplicar em um servidor web externo para  uso de hospedagem de em CMS Joomla.
Baixe a versão mais recente do Apache 2.4.2 (atualmente)

1) Vamos atualizar o Servidor:
#aptitude update && aptitude dist-upgrade -y

2) Agora vamos instalar as dependências para o apache
#aptitude install libapr1 libapr1-dev libaprutil1 libaprutil1-dev -y

3) Baixe a versão e mova para  /usr/src/
# cd /usr/src
# wget http://apache.mirror.pop-sc.rnp.br/apache//httpd/httpd-2.4.2.tar.gz
#tar -xzvf httpd-2.4.1.tar.gz
#cd httpd-2.4.1/
4) Agora vamos configurar a compilação do apache:./configure –prefix=/usr/local/apache2 –enable-so –enable-cgi –enable-info –enable-rewrite
–enable-speling –enable-usertrack –enable-deflate –enable-ssl –enable-mime-magic

5) # make

6) #make install

7) Agora vamos instalar as bibliotecas que são dependências para que o PHP tenha suporte ao MySQL
# aptitude install libmysql++-dev libmysqlclient-dev libmysqld-dev -y

8) Agora vamos baixar a versão mais recente do PHP e Descompactar no dir /usr/scr/ – faça o download de www.php.net/get/php-5.4.6.tar.gz/from/a/mirror e mova para o diretório acima citado e descompacte

9) Fazendo a compilação do PHP com uns módulos adicionais
./configure –with-apxs2=/usr/local/apache2/bin/apxs –prefix=/usr/local/apache2/php
–with-config-file-path=/usr/local/apache2/php –with-zlib –with-gettext –with-mysql –with-mysqli –with-mcrypt=/usr/local/bin/mcrypt –enable-mbstring
Sobre os módulos acima alem do mysql por padrão foi adicionado o mysqli para que o joomla funcione corretamente (alguns usuario criam websites no joomla com mysqli portanto para que o nosso servidor funcione corretamente devera ter este modulo habilitado.
Já a parte do –with-mcrypt=/usr/local/bin/mcrypt –enable-mbstring é para o phpmyadmin na versão mais recente se conectar em um servidor MySQL externo.

Porem antes da compilação acima necessita baixar e instalar os modulos Mcrypt e LibMcrypt

10) # make

11) #make install

12) Copiar o arquivo do PHP para o local abaixo:
# cp php.ini-production /usr/local/apache2/php/php.ini

13) Para que o apache vamos criar o usuario e grupo
# groupadd apache
# useradd -g apache apache

14) Já no arquivo do apache em /usr/local/apache2/conf/http.conf edite as configuração:
DocumentRoot “/home/www”
Ou seja os usuario depois e logado via FTPS vão usar a partição HOME/WWW para armazenar seus arquivos em pasta separadas por sites.
Exemplo site01 do usuario joao ficara em /home/www/joao/site01

15) Para teste vamos iniciar nosso apache com o comando
# /usr/local/apache2/bin/apachectl start

16) Para teste das coonfiguraçãoes use o comando abaico:
# /usr/local/apache2/bin/apachectl -t
Syntax OK

17) Para teste do PHP e do Apache2 crie um arquivo com:
# vim /usr/local/apache2/htdocs/phpinfo.php

<?php
    phpinfo();
?>

18) Mudando o local do arquivo para startar o APACHE
cp /usr/local/apache2/bin/apachectl /etc/init.d/apache2

19) Colocando o apache2 na inicialização
# insserv -f apache2