Instalando LAMP em uma Instância EC2

LAMP é um acrônimo utilizado para descrever a combinação de software composta pelo sistema operacional Linux, o servidor web Apache, o sistema de gerenciamento de banco de dados MySQL e a linguagem de programação PHP. Essa configuração é amplamente utilizada para desenvolvimento e hospedagem de aplicativos web dinâmicos.

Apache é um servidor web de código aberto conhecido por sua confiabilidade e desempenho. Ele atua como um intermediário entre o cliente (navegador) e o servidor, processando solicitações HTTP e fornecendo as respostas correspondentes. O Apache oferece recursos avançados de configuração e extensibilidade, permitindo a hospedagem de múltiplos sites e a implementação de regras de redirecionamento, autenticação, segurança e muito mais.

MySQL é um sistema de gerenciamento de banco de dados relacional amplamente utilizado. Ele fornece uma estrutura robusta para armazenar e recuperar dados de forma eficiente. O MySQL suporta a linguagem SQL, permitindo a criação e manipulação de bancos de dados, tabelas, consultas e outros elementos relacionados. Com sua estabilidade, desempenho e ampla adoção, o MySQL é uma escolha popular para aplicativos web que requerem armazenamento e recuperação eficientes de dados.

PHP é uma linguagem de programação de código aberto projetada para o desenvolvimento de aplicativos web dinâmicos. Com o PHP, é possível criar páginas web interativas e funcionais, realizar operações de banco de dados, manipular arquivos, processar formulários e muito mais. O PHP é altamente compatível com o Apache e o MySQL, permitindo a criação de aplicativos web completos e escaláveis. Sua sintaxe amigável e suporte extensivo a bibliotecas tornam o PHP uma escolha popular entre desenvolvedores web.

Ao combinar o Linux como sistema operacional, o Apache como servidor web, o MySQL como banco de dados e o PHP como linguagem de programação, o LAMP oferece uma plataforma sólida e flexível para o desenvolvimento e hospedagem de aplicativos web. Essa configuração é amplamente adotada pela sua estabilidade, segurança, escalabilidade e suporte ativo da comunidade. O LAMP se tornou uma base confiável para a criação de uma variedade de aplicativos web, desde sites simples até sistemas complexos e dinâmicos.

Iniciando a instalação

Se você estiver utilizando Fedora, CentOS ou Red Hat Enterprise este outro artigo pode ser muito útil: https://marcomapa.com/artigos/instalar-servidor-apache-mysql-e-php-lamp-no-linux-fedora-red-hat-e-centos/

Agora utilizando o Amazon Linux 2023, será necessário alguns passos diferentes que serão mostrados à seguir.

1-) Conecte-se na sua Instância EC2 por SSH.
Caso tenha dúvidas, este artigo pode ser útil: https://marcomapa.com/artigos/acessando-uma-instancia-ec2-por-ssh/

2-) Atualize o sistema com o comando:

sudo dnf update -y	

3-) Vamos iniciar instalando o Apache e PHP com os drivers para MySQL dos pacotes disponibilizados pela AWS:

sudo dnf install -y httpd wget php-fpm php-mysqli php-json php php-devel

4-) Para o MySQL vamos utilizar o MariaDB:

sudo dnf install mariadb105-server

5-) Vamos iniciar o Apache:

sudo systemctl start httpd

6-) Agora vamos habilitá-lo para iniciar automaticamente sempre que a instância for reiniciada:

sudo systemctl enable httpd

7-) Podemos conferir o status do Apache executando:

sudo systemctl is-enabled httpd

8- ) Adicionaremos permissão para que o user [ec2-user]* possa manipular os arquivos:

sudo usermod -a -G apache ec2-user

*-) Caso você tenha alterado o user de utilização da instância, altere [ec2-user] para o novo nome.

9-) Para surtir efeito, é necessário deslogar (exit) e reconectar à Instância.

Testando o Apache

10-) Por padrão, o diretório inicial do Apache está disponível em [/var/www/html]:

cd /var/www/html

11-) Crie um arquivo do tipo php.info com o seguinte comando:

echo "<?php phpinfo(); ?>" > /var/www/html/phpinfo.php	

a-) Caso retorne a mensagem: “Permission denied”, Refaça os passos nº8 e 9

12-) Com o arquivo criado, pode-se ver o resultado acessando pelo computador, ou celular, o endereço: http://ip.de.sua.instancia/phpinfo.php

Sucesso !! Temos apresentada a tela com as configurações de nosso PHP. Por questões de segurança, após validar o funcionamento do servidor, remova este arquivo com o comando.

rm /var/www/html/phpinfo.php

Configurando o MySQL

13-) Inicie o MariaDB:

sudo systemctl start mariadb

14-) Por padrão, a instalação do MySQL acarreta em liberar funções úteis nas etapas de desenvolvimento e testes, mas que comprometem a segurança no ambiente de produção. Visando evitar isso, faremos uso da instalação com a opção [mysql_secure_installation] disponivel no MariaDB e que inibe vulnerabilidades de uma instalação default:

sudo mysql_secure_installation

a-) O prompt que surge, solicitará a senha atual do usuário root do MySQL. Como ainda não foi definida, apenas pressione Enter;

b-) Digite Y para definir uma senha,
(se precisar de ajuda p/ criar a senha, este link pode ser útil: https://www.marcomapa.com/gerador_senha.php);

c-) Digite Y para remover contas anônimas;
d-) Digite Y para desabilitar acesso remoto ao root login;
e-) Digite Y para remover bancos de testes;
f-) Digite Y para recarregar as tabelas de privilégios e salvar suas alterações;

15-) Configurando para que o MariaDB inicie automaticamente após reinicializações:

sudo systemctl enable mariadb

Maravilha!! Temos instalados todos os serviços pertencentes ao LAMP.

No próximo tutorial, aprenderemos a configurar o phpMyAdmin (https://marcomapa.com/artigos/instalando-o-phpmyadmin-em-uma-instancia-ec2/).

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Qual o Resultado? *