Stack LEMP?
A stack LEMP é um conjunto de diferentes softwares, necessários para servir grande parte dos actuais websites.
O nome LEMP é o acrónico das palavras Linux, Nginx (pronunciado Engine X), MySQL e PHP.
O Linux é o sistema operativo em questão, sendo que neste tutorial vamos utilizar o Ubuntu, uma distruíção com base no Linux.
O Nginx é o Servidor Web, responsável por servir as páginas web.
O MySQL é o sistema de base de dados.
O PHP é a linguagem de programação, adoptada em grande parte pela internet.
Instalação
Este tutorial pressupõe que já dispõem de uma máquina com o sistema operativo Ubuntu, pronto a funcionar.
Caso não seja este o caso, aqui fica um tutorial de como o fazer:
Tutorial
Nginx
A instalação do Nginx é bastante simples, pois encontra-se disponível nos repositórios oficiais do Ubuntu.
Antes de proceder à instalação de qualquer software, devem de realizar uma atualização dos respositórios:
sudo apt update && sudo apt upgrade
Em seguida instalamos o Nginx:
sudo apt install nginx
Com a instalação concluída o servidor web já se encontra em funcionamento, ao aceder ao mesmo será exibida a seguinte página:

MySQL
A instalação do MySQL é também bastante simples, basta correr o seguinte comando:
sudo apt install mysql-server
Com o MySQL instalado vamos configurar o mesmo com o seguinte comando:
sudo mysql_secure_installation
Este comando irá reforçar a segurança da nossa instalação, serão feitos vários ajustes, desde a verificação do tipo de passwords, bem como a remoção das contas e base de dados de teste.
No momento de criação deste tutorial, a versão de MySQL instalada encontra-se configurada de forma a não permitir o acesso root ao MySQL, usando uma password.
É possível alterar este comportamento com o seguinte comando:
sudo msyql ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password_escolhida'; FLUSH PRIVILEGES; exit
Como isto a vossa base de dados MySQL encontra-se pronta a usar.
PHP
A instalação do PHP não foge à norma, como na instalação dos restantes softwares, este encontra-se nos repositórios oficiais do Ubuntu.
sudo apt install php7.4-fpm php7.4-mysql
Neste momento o PHP encontra-se instalado e pronto a usar.
Ainda existem alguns ajustes a serem feitos, nomeadamente configurar o Nginx a interagir com o PHP.
Vamos então criar um novo ficheiro:
sudo nano /etc/nginx/sites-available/packagedroid.com
O Nginx utiliza server blocks onde configuramos as propriedades de cada servidor web.
Isto permite servir vários websites, com diferentes domínios e configurações na mesma máquina.
Dentro do novo ficheiro vamos introduzir a seguinte configuração:
server {
listen 80;
root /var/www/html;
index index.php index.html index.htm index.nginx-debian.html;
server_name packagedroid.com;
location / {
try_files $uri $uri/ =404;
}
location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
}
location ~ /.ht {
deny all;
}
}
A configuração aqui apresentada encontra-se disponível no website oficial do Nginx, podem consultar aqui.
Com o ficheiro criado, vamos criar um symlink, de forma a indicar ao Nginx que configuração usar.
sudo ln -s /etc/nginx/sites-available/packgedroid.com /etc/nginx/sites-enabled/
E removemos o symlink da configuração default
sudo unlink /etc/nginx/sites-enabled/default
Agora basta verificar por erros de configuração ou syntax na configuração criada
sudo nginx -t
E recarregar o serviço do Nginx de forma a utilizar a nova configuração
sudo systemctl reload nginx
Com isto vamos então testar a nossa instalação do PHP em conjunto com o Nginx, para isso criamos um ficheiro na pasta root do webserver:
sudo nano /var/www/html/info.php
E escrevemos o seguinte bloco de código:
<?php phpinfo();
Agora basta aceder ao mesmo URL que anteriormente acedemos para testar o Nginx, com a indicação do ficheiro em questão info.php, que resultará na seguinte página:











Responder