Site icon RDR-IT

Ubuntu 22.04: instalar um servidor LAMP (Linux Apache MariaDB PHP)

Visão geral da LÂMPADA

Neste tutorial, vou explicar como instalar um servidor LAMP no Ubuntu 22.04.

LAMP significa Linux Apache MariaDB PHP, é um conjunto de software que encontramos frequentemente quando queremos correr um servidor Web.

Com o LAMP pode operar:

Para a parte Linux, irei utilizar a distribuição Ubuntu 22.04.

Para além da instalação dos componentes, darei algumas explicações neste tutorial, bem como alguns elementos de configuração.

Não vou falar sobre a instalação do Ubuntu neste tutorial e iremos directamente para a parte do software AMP.

Apache2 – Servidor Web

O Apache2 será o serviço web, será responsável pelo processamento dos pedidos HTTP e HTTPS.

Instalar o Apache2 no Ubuntu 22.04

Para instalar o Apache2 digite o seguinte comando:

sudo apt install apache2

Confirme a instalação dos pacotes, pode adicionar -y ao comando de instalação para não ter confirmação

Aguarde enquanto instala o Apache2…

O servidor Apache2 está instalado.

Teste como funciona o Apache 2

A forma mais fácil de testar a operação é aceder ao servidor.

Inicie um browser e introduza o endereço IP do servidor como url http://w.x.y.z

Deverá chegar à seguinte página:

A página de índice encontra-se na seguinte pasta: /var/www/html

Esta pasta contém o conteúdo padrão do site.

Ficheiros de configuração do Apache2

Os ficheiros de configuração do Apache estão localizados no seguinte local no Ubuntu 22.04: /etc/apache2

O ficheiro de configuração principal do Apache2 é o apache2.conf.

No Ubuntu e no Debian encontramos várias pastas como esta:

Nas pastas xxxxx disponíveis iremos encontrar os elementos de configuração disponíveis não aplicados ao Apache2 e na pasta xxxxx-enabled iremos encontrar as configurações que estão carregadas.

Geralmente para aplicar uma configuração, disponibilizamos um link simbólico do ficheiro localizado em xxxxx na pasta habilitada para xxxxx.

Alguns comandos úteis para o Apache2

Aqui está uma lista de comandos para o Apache2:

Ver estado do serviço:

sudo systemctl status apache2

Recarregue a configuração do Apache2

sudo systemctl reload apache2

Pare o serviço Apache2:

sudo systemctl stop apache2

Inicie o serviço Apache2:

sudo systemctl start apache2

Reinicie o serviço Apache2:

sudo systemctl restart apache2

Activer le service Apache2 au démarrage de Ubuntu :

sudo systemctl enable apache2

Teste a configuração dos ficheiros Apache2;

sudo apachectl configtest

Apache2: criar um host virtual baseado no nome

Adicionar um host virtual permite executar vários sites no mesmo servidor web Apache2.

O facto de ser baseado no nome (URL) permite que vários hosts virtuais utilizem o mesmo endereço IP e as portas 80 e 443. O Apache2 utilizará o url (nome de domínio) para processar pedidos e entregar o conteúdo correto.

Para ilustrar este tutorial, vou criar um virtualhost com base no nome que terá o url lamp.rdr-it.com

Comece por criar uma pasta que irá receber os ficheiros:

sudo mkdir /var/www/lamp

Na pasta /etc/apache2/sites-available, iremos criar um ficheiro que conterá a configuração do site.

sudo nano /etc/apache2/sites-available/lamp.rdr-it.com.conf

Aqui está o conteúdo do ficheiro:

Elementos a modificar:

Vamos agora criar um link simbólico do ficheiro na pasta /etc/apache2/sites-enables para activar a configuração do virtualhost.

sudo ln -s /etc/apache2/sites-available/lamp.rdr-it.com.conf /etc/apache2/sites-enabled/

Teste a configuração do Apache 2:

sudo apachectl configtest

Se não for devolvido nenhum erro de bloqueio, reinicie o serviço Apache2:

sudo systemctl restart apache2

Agora tem um site que pode responder ao URL http://lamp.rdr-it.com.

Para que o virtualhost funcione, deve apontar o nome de domínio para o IP do servidor Apache2 e criar pelo menos um ficheiro index.html.

Adicione regras UFW para Apache2

Se tiver activado a firewall no Ubuntu 22.04 com UFW, precisa de adicionar regras para permitir o tráfego para as portas 80 e 443 do Apache.

Existem várias soluções para tal:

Utilize os aplicativos:

sudo ufw allow Apache Full

Por portas para permitir o tráfego nas portas 80 e 443:

sudo ufw allow 80
sudo ufw allow 443

MariaDB – Servidor de base de dados

Passaremos agora para o servidor de base de dados que irá armazenar os dados, neste tutorial irei utilizar o MariaDB, para o MySQL é quase a mesma coisa.

Instalar MariaDB no Ubuntu 22.04

Para instalar o servidor de base de dados MariaDB digite o seguinte comando:

sudo apt install mariadb-server -y

Na captura não coloquei a opção -y, tive de confirmar a escolha.

Assim que a instalação estiver concluída, verifique o funcionamento do servidor MariaDB:

sudo systemctl status mariadb

O servidor MariaDB está instalado e funcional.

Criando uma base de dados e um utilizador

Vamos agora criar uma base de dados (lâmpada) e um utilizador (lâmpada) no servidor MariaDB.

Para começar, deve ligar-se ao servidor MariaDB com o seguinte comando :

sudo mysql

Vamos agora utilizar a linguagem SQL para a criação da base de dados, do utilizador e da atribuição de direitos.

Para criar a base de dados:

CREATE DATABASE lamp;

Para verificar se a base de dados foi criada, insira a seguinte consulta:

SHOW DATABASES;

Vamos agora criar o utilizador da lâmpada que terá a password lamp-password e que poderá ligar-se a partir de qualquer endereço IP:

CREATE USER 'lamp'@'%' IDENTIFIED BY 'lamp-password';

O % permite ligar a partir de qualquer endereço IP, para limitar a ligação ao local, substitua por localhost.

Agora deve conceder os direitos da base de dados ao utilizador, para tal, faça os seguintes pedidos:

GRANT ALL PRIVILEGES ON lamp.* TO 'lamp'@'%';
FLUSH PRIVILEGES;

O primeiro pedido concede todos os direitos às tabelas (.*) na base de dados de lâmpadas ao utilizador ‘lamp’@’%’

A segunda solicitação permite recarregar os direitos.

No MariaDB, um utilizador é identificado pelo seu login e de onde se pode ligar, por isso o utilizador é xxx@yyy e não apenas xxx, o que permite atribuir diferentes direitos consoante o local onde o utilizador faz login.

Para visualizar as permissões de um utilizador:

SHOW GRANTS FOR 'lamp'@'%';

Complementos MariaDB

Aqui estão algumas informações adicionais sobre o MariaDB.

Os ficheiros de configuração encontram-se na seguinte pasta: /etc/mysql

Por motivos de compatibilidade, o nome da pasta é mysql

Nos comandos, pode-se utilizar o mysql ou o mariadb.

Os ficheiros da base de dados estão localizados em: /var/lib/mysql.

Os logs do MariaDB estão localizados na pasta: /var/log/mysql.

PHP

O último componente da pilha LAMP é o PHP, que é uma linguagem de programação/script muito utilizada no desenvolvimento.

Com o Apache, existem duas formas de fazer o PHP funcionar:

Neste tutorial, vou mostrar-vos os dois.

Pessoalmente prefiro utilizar o PHP-FPM que utiliza um serviço separado que permite dissociar o Apache do PHP.

Além disso, a utilização do PHP-FPM permite executar várias versões diferentes do PHP em simultâneo.

À data em que este tutorial foi escrito, nos repositórios Ubuntu 22.04, a versão fornecida era o PHP 8.1

Se quiser outra versão do PHP, deve passar pelo repositório ppa:ondrej/php.

Instale o PHP como módulo Apache

Para instalar o PHP digite o seguinte comando:

sudo apt install php libapache2-mod-php php-mysqli -y

Assim que a instalação estiver concluída, digite o seguinte comando para testar o PHP:

php -v

Este comando apresenta a versão do PHP

Vamos agora testar o PHP através do Apache com um ficheiro php que colocaremos na pasta /var/www/html.

Crie o ficheiro phpinfo.php

sudo nano /var/www/html/phpinfo.php

Copie o seguinte conteúdo para o ficheiro:

Num browser, aceda ao seguinte endereço: http://ip-lamp-server/phpinfo.php

A seguinte página é apresentada:

A API do servidor informa-nos o Apache 2.0 Handler, o que indica que foi utilizado o módulo Apache PHP

PHP-FPM com Apache2

Veremos agora como usar o PHP-FPM com o Apache2.

Se tiver instalado o módulo Apache PHP, iremos primeiro desativá-lo:

sudo a2dismod php8.1

Reinicie o Apache:

sudo systemctl restart apache2

Para validar que o Módulo PHP está desativado apresenta a página phpinfo.php, deve ter o código na página pois o código PHP já não é interpretado.

Instale o PHP-FPM:

sudo apt install php php-fpm php-mysql

Verifique se o serviço php-fpm foi iniciado:

sudo systemctl status php8.1-fpm

Para funcionar, deve ativar dois módulos no Apache:

sudo a2enmod proxy_fcgi proxy

Reinicie o Apache para ter em conta os novos módulos:

sudo systemclt restart apache2

Poderemos passar para a configuração do virtualhost, antes de exibirmos os processos PHP:

ll /run/php

Aqui só tenho um processo para PHP 8.1 em FPM (php8.1-fpm.sock)

Agora, deve informar o Apache que os ficheiros . php devem ser processados ​​pelo php-fpm.

Esta directiva é feita nos ficheiros virtualhost.

Aqui, iremos modificar o virtualhost padrão:

sudo nano /etc/apache2/sites-available/000-default.conf

Na parte VirtualHost adicione:

Teste a configuração do Apache:

sudo apachectl configtest

Reinicie o Apache:

sudo systemctl restart apache2

Mostre novamente a página phpinfo.php.

Aqui podemos ver ao nível da API do servidor que temos FPM/FastCGI


Agora já sabe como instalar um servidor LAMP no Ubuntu 22.04.

Este tutorial deverá poder ser aplicado no Ubuntu 20.04 e no Debian.

Exit mobile version