Como Instalar um Servidor Web LAMP na AWS EC2

por | 14.abr.2016 | AWS

Como Instalar um Servidor Web LAMP na AWS EC2

O seguinte guia o ajudará a instalar um servidor Apache com suporte ao PHP e ao MySQL em uma instância EC2 que utiliza o Amazon Linux. Desta forma, você poderá usar tal instância para rodar um ou múltiplos sites e até mesmo sua aplicação PHP.

Premissas

Este guia assume que você já esteja rodando uma instância EC2 com o Amazon Linux instalado e que seu DNS público possa ser acessado através da Internet. Você também precisa ter configurado o seu Security Group para permitir acesso SSH (porta 22), HTTP (porta 80) e HTTPS (porta 443).

Para mais informações sobre tal procedimento, consulte o guia da Amazon: Configurando a Amazon EC2

Instalando o Servidor LAMP na AWS EC2

  1. Conecte em sua instância.
  2. Para garantir que todos os pacotes estejam atualizados, realize uma rápida atualização de softwares em sua instância usando o seguinte comando:

[ec2-user ~]$ sudo yum update –y

Nota: a opção –y instala todas as atualizações sem pedir confirmação.

  1. Para instalar o Apache, o MySQL e o PHP utilize o seguinte comando:

[ec2-user ~]$ sudo yum install -y httpd24 php56 mysql56-server php56-mysqlnd

  1. Inicie o serviço do Apache

[ec2-user ~]$ sudo service httpd start

  1. Use o comando chkconfig para fazer com que o serviço do Apache inicialize automaticamente toda vez que o sistema for reinicializado.

[ec2-user ~]$ sudo chkconfig httpd on

Nota: Para verificar se o serviço está ativo, utilize o seguinte comando:

[ec2-user ~]$ chkconfig --list httpd

Você deverá receber o seguinte resultado:

httpd    0:off   1:off   2:on    3:on    4:on    5:on    6:off

  1. Faça um teste em seu web server. Abra uma nova janela em seu navegador e insira o endereço DNS público ou endereço IP público de sua instância. Você deverá ver a seguinte página de teste:

Nota: o Apache Document Root no Amazon Linux ficará no caminho /var/www/html. O proprietário desta pasta é o root.

servidor apache LAMP na aws ec2

 

Ajustando as permissões

Para permitir que o ec2-user manipule os arquivos no diretório /var/www será preciso modificar as permissões e a propriedade do diretório. Definindo as permissões

  1. Adicione o grupo www à sua instância.

[ec2-user ~]$ sudo groupadd www

  1. Adicione o seu usuário (neste caso, o ec2-user) ao grupo www.

[ec2-user ~]$ sudo usermod -a -G www ec2-user

Nota: É preciso fazer logout e login novamente para validar o novo grupo.

  1. Faça logout.

[ec2-user ~]$ exit

  1. Acesse novamente sua instância.
  1. Altere o group ownership do diretório /var/www e de seu conteúdo para o grupo www.

[ec2-user ~]$ sudo chown -R root:www /var/www

  1. Altere as permissões de /var/www e de seus subdiretórios adicionando permissões de escrita para o grupo e para definir o ID do grupo nos futuros diretórios.

[ec2-user ~]$ sudo chmod 2775 /var/www[ec2-user ~]$ find /var/www -type d -exec sudo chmod 2775 {} \;

  1. Altere as permissões recursivamente no /var/www e em seus subdiretórios a fim de adicionar permissões de escrita para o grupo.

[ec2-user ~]$ find /var/www -type f -exec sudo chmod 0664 {} \;

Deixando a instalação do MySQL segura

  1. Inicie o servidor MySQL:

[ec2-user ~]$ sudo service mysqld startI

  1. Rode o comando mysql_secure_installation  

[ec2-user ~]$ sudo mysql_secure_installation  

  1. Quando perguntado, insira uma senha para a conta root.
  2. A senha do root por padrão é em branco, portanto, basta pressionar Enter.
  3. Digite Y para definir a senha. Digite a nova senha duas vezes. Certifique-se de armazenar esta senha um lugar seguro.
  4. Digite Y para remover as contas de usuários anônimos..
  5. Digite Y para desativar o login remoto do root.
  6. Digite Y para remover a base de dados de teste.
  7. Digite Y para recarregar as privilege tables e salvar as alterações.
  1. Configure o serviço MySQL para iniciar sempre que o sistema reiniciar.

[ec2-user ~]$ sudo chkconfig mysqld on

Conclusão

Muito bem! Agora você já deve ter um servidor LAMP na AWS rodando em sua instância EC2 e funcionando corretamente. Qualquer dúvida ou sugestão, por favor, comente na seção abaixo. Abraços!