Como implantar um stack LAMP em um Cloud Server com Ubuntu Linux?

De Wiki
Ir para: navegação, pesquisa


O que é LAMP?

LAMP é um grupo de softwares e de código aberto utilizado em servidores Web.

Sua sigla significa Linux, Apache, MySQL e PHP.

Como instalar?

LAMP Server

1. Para iniciar a instalação, é necessário a atualização da lista de pacotes do Ubuntu:

sudo apt-get update

2. Após a atualização, realize o seguinte comando para instalar o LAMP em seu servidor:

sudo apt-get install lamp-server^ 

OBS: É necessário o "^" ao final do comando.

2.1. Durante o processo de instalação, você deve definir a senha de root do MySQL:

Debian01.png

Debian02.png

3. Após este processo, os serviços encontram-se instalados em seu Cloud Infraestrutura.

Configurações recomendadas

Para melhor performance e aumento de segurança, recomendamos a realização dos seguintes passos:

Apache

Instalar o Mod Security:

O Mod Security é um firewall para aplicação Web que protege seu servidor Apache.

1. Para instalá-lo, o seguinte comando é usado:

sudo apt-get install libapache2-modsecurity

2. Para configurá-lo, é necessário copiar o arquivo padrão de configuração para modsecurity.conf conforme o exemplo abaixo:

sudo cp /etc/modsecurity/modsecurity.conf-recommended /etc/modsecurity/modsecurity.conf

3. Após a realização da copia, alterar as seguintes variáveis no arquivo modsecurity.conf:

SecRuleEngine On
SecRequestBodyAccess Off

4. Adicione ao arquivo /etc/apache2/mods-enabled/mod-security.conf a seguinte configuração:

Include "/usr/share/modsecurity-crs/*.conf"

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 que a realiza:

1. Para instalá-lo utilize os comandos:

sudo apt-get install libapache2-mod-evasive
sudo mkdir /var/log/apache2/mod_evasive && chmod 777 /var/log/apache2/mod_evasive

2. Crie e edite o arquivo /etc/apache2/mods-available/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. Realize o restart do serviço apache

service apache2 restart

PHP

1. Alterar variáveis no php.ini (/etc/php5/apache2/php.ini):

  • session.name: A alteração do padrão dessa variável previne 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):

1. Execute os seguintes comandos para instalação:

sudo apt-get install python-software-properties
sudo add-apt-repository ppa:thefrontiergroup/vsftpd
sudo apt-get update
sudo apt-get install vsftpd

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

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
chroot_local_user=YES
allow_writeable_chroot=YES

3. Crie um usuário para acesso FTP:

useradd ftpuser

4. Atribua uma senha ao usuário:

passwd ftpuser

5. Crie uma pasta para o usuário e atribua as devidas permissões:

mkdir /home/ftpuser
chown ftpuser.ftpuser /home/ftpuser/

6. 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/).

mkdir /home/ftpuser/public_html
mount --bind /var/www/ /home/ftpuser/public_html/
chown ftpuser.ftpuser /home/ftpuser/public_html

7. Para que este link não se perca recomendamos a inclusão da seguinte linha no arquivo /etc/fstab:

/var/www/ /home/ftpuser/public_html none bind 0 0

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

service vsftpd restart