Como instalar e configurar o Apache no CentOS 6?

De Wiki
Ir para: navegação, pesquisa

O Apache é um servidor web de livre utilização, que utiliza o protocolo HTTP. Já o PHP, é uma linguagem de script open source especialmente utilizada para programação web, normalmente embutida em HTML.

Instalação

Para instalar o Apache com PHP em seu servidor, siga os passos abaixo:

1. Abra uma nova janela do "Terminal" ou execute o “Console” em seu painel;
NOTA: Para informações sobre como utilizar o console, acesse Como utilizar o Console no painel do CloudFlex?.


2. Execute os seguintes comandos:
yum update
yum install httpd mod_ssl php php-mysql php-devel php-gd php-pecl-memcache php-pspell php-snmp php-xmlrpc php-xml


3. Após a instalação dos pacotes, execute o comando abaixo para que o Apache inicie automaticamente com a inicialização do servidor:
sudo chkconfig httpd on


4. Por fim, execute o seguinte comando para iniciar o serviço do Apache:
service httpd start

Configurações recomendadas

Para melhor performance e aumento da segurança no uso do Apache com PHP, recomendamos a realização dos seguintes passos:

Apache

Instalar o Mod Security

O Mod Security é um firewall para aplicação web de detecção e prevenção contra intrusos. Para instalá-lo, siga os passos abaixo:

1. Instale os pacotes necessários para instalação do Mod Security:
yum install gcc make
yum install libxml2 libxml2-devel httpd-devel pcre-devel curl-devel


2. Execute os seguintes comandos para instalar o Mod Security:
yum install wget
cd /usr/src
wget https://www.modsecurity.org/tarball/2.9.1/modsecurity-2.9.1.tar.gz
tar xzf modsecurity-2.9.1.tar.gz
cd modsecurity-2.9.1
./configure
make install


3. Copie o arquivo de configuração do Mod Security para a pasta do Apache:
cp modsecurity.conf-recommended /etc/httpd/conf.d/modsecurity.conf
cp unicode.mapping /etc/httpd/conf.d/


4. Após a cópia, acesse a pasta do Apache e altere as seguintes variáveis no arquivo modsecurity.conf:
cd /etc/httpd/conf.d
SecRuleEngine On
SecRequestBodyAccess Off


5. Insira a linha abaixo para carregar o módulo modsecurity no arquivo httpd.conf:
cd /etc/httpd/conf

LoadModule security2_module modules/mod_security2.so


6. Por fim, reinicialize o serviço:
service httpd restart

Instalar o Mod Evasive

Como o Mod Security não possui uma regra para proteção a ataques de negação de serviço, recomendamos a utilização do Mod Evasive. Para instalá-lo, siga os passos abaixo:

1. Execute os seguintes comandos:
cd /usr/src 
wget http://pkgs.fedoraproject.org/repo/pkgs/mod_evasive/mod_evasive_1.10.1.tar.gz/784fca4a124f25ccff5b48c7a69a65e5/mod_evasive_1.10.1.tar.gz
tar xzf mod_evasive_1.10.1.tar.gz
cd mod_evasive
apxs -cia mod_evasive20.c 


2. Crie e edite o arquivo /etc/httpd/conf.d/evasive.conf:
<IfModule mod_evasive20.c>
DOSHashTableSize 3097 
DOSPageCount 20
DOSSiteCount 100
DOSPageInterval 3
DOSSiteInterval 5
DOSBlockingPeriod 300
DOSEmailNotify "<SUA CONTA DE EMAIL>"
DOSLogDir "/var/log/apache2/mod_evasive"
</IfModule>


3. Por fim, reinicialize o serviço:
service httpd restart

PHP

Recomendamos a alteração do padrão da variável session.name (PHPSESSID) para prevenção de ataques do tipo Session Fixation.

session.name = (Nome desejado Ex. MYSESSID)

VSFTPD (FTP)

Para facilitar a manipulação de arquivos em seu servidor Web, recomendamos instalar o serviço FTP (VSFTPD). Para isso, siga os passos abaixo:

1. Execute os seguintes comandos:
yum install vsftpd


2. Insira ou altere as seguintes configurações no arquivo de configuração do VSFTPD (/etc/vsftpd/vsftpd.conf):
anonymous_enable=NO
chroot_local_user=YES


3. Crie um usuário para acesso FTP:
useradd my_webuser


4. Atribua uma senha ao usuário:
passwd my_webuser


5. Para que o usuário FTP não possua acesso a todo servidor, recomendamos a criação de um link para a pasta onde é publicado o conteúdo web (Padrão = /var/www/html/).
mkdir /home/my_webuser/public_html
mount --bind /var/www/html/ /home/my_webuser/public_html/
chown my_webuser.my_webuser /home/my_webuser/public_html


6. Para que este link não se perca, inclua a seguinte linha no arquivo /etc/fstab:
/var/www/html/ /home/my_webuser/public_html none bind 0 0


7. Após a realização de todos os procedimentos, realize o restart do serviço vsftpd:
service vsftpd restart