Este exemplo vamos aplicar em um servidor web para uso de hospedagem de um CMS Joomla. Baixe a versão mais recente do Apache 2.4.2 (atualmente).
Instalando as as dependências para o Apache2 aptitude install libapr1 libapr1-dev libaprutil1 libaprutil1-dev -y
Baixe a versão desejada e mova para /usr/src/
sudo su
cd /usr/src/
curl http://apache.mirror.pop-sc.rnp.br/apache//httpd/httpd-2.4.2.tar.gz -o httpd-2.4.2.tar.gz
tar -xzvf httpd-2.4.1.tar.gz
ln -s /usr/src/httpd-2.4.2 /usr/src/apache2
Agora vamos configurar e compilar o 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
make
make install
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
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
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
make
make install
Copiar o arquivo do PHP para o local abaixo:
cp php.ini-production /usr/local/apache2/php/php.ini
Para o apache vamos criar o usuario e grupo com os seguintes commandos:
groupadd apache
useradd -g apache apache
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
Para teste vamos iniciar nosso apache com o comando: /usr/local/apache2/bin/apachectl start
Para teste das coonfiguraçãoes use o comando: /usr/local/apache2/bin/apachectl -t
Syntax OK
Para teste do PHP e do Apache2 crie um arquivo com:
vim /usr/local/apache2/htdocs/phpinfo.php
<?php
phpinfo();
?>
Mudando o local do arquivo para startar o Apache2 cp /usr/local/apache2/bin/apachectl /etc/init.d/apache2
Colocando o apache2 na inicialização: insserv -f apache2