LAMP significa Linux, Apache, MariaDB / MySQL e PHP, todos de código aberto e de uso gratuito. É a pilha de software mais comum que alimenta sites dinâmicos e aplicativos da web.
Linux é o sistema operacional; Apache é o servidor da web; MariaDB / MySQL é o servidor de banco de dados e PHP é a linguagem de script do lado do servidor responsável pela geração de páginas da web dinâmicas.
ÍNDICE DE CONTEÚDO
Pré-requisitos
Para seguir este tutorial, você precisa de um sistema operacional Ubuntu 20.04 em execução no computador local ou em um servidor remoto.
Se você estiver procurando por um VPS (Virtual Private Server), poderá registrar uma conta no DigitalOcean através deste link especial para obter $ 100 de crédito grátis. (Apenas para novos usuários).
Pode registrar uma conta na Vultr também através deste link.
E se você precisar configurar a pilha LAMP com um nome de domínio, recomendo a compra de nomes de domínio no NameCheap, porque o preço é baixo e eles oferecem a proteção da privacidade de quem é vitalícia.
Mas também recomendamos a Hostgator para registros de domínios se preferir.
Vamos lá, siga as etapas abaixo para instalar sua LAMP Stack no Ubuntu!
Etapa 1: atualizar pacotes de software
Antes de instalar a pilha LAMP, é uma boa ideia atualizar os pacotes de repositório e software. Execute os seguintes comandos no seu sistema operacional Ubuntu 20.04.
sudo apt update
sudo apt upgrade
Etapa 2: Instalar o Servidor Web Apache
Digite o seguinte comando para instalar o servidor Web Apache. O pacote apache2-utils instalará alguns utilitários úteis, como a ferramenta de benchmarking do servidor HTTP Apache (ab).
sudo apt install -y apache2 apache2-utils
Depois de instalado, o Apache deve ser iniciado automaticamente. Verifique seu status com systemctl.
systemctl status apache2
Saída de amostra:
● apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2020-04-11 11:31:31 CST; 2s ago
Docs: https://httpd.apache.org/docs/2.4/
Process: 53003 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
Main PID: 53011 (apache2)
Tasks: 55 (limit: 19072)
Memory: 6.4M
CGroup: /system.slice/apache2.service
├─53011 /usr/sbin/apache2 -k start
├─53012 /usr/sbin/apache2 -k start
└─53013 /usr/sbin/apache2 -k start
Dica: Se o comando acima não sair imediatamente, você pode pressionar a tecla Q para recuperar o controle do terminal.
Se não estiver em execução, use systemctl para iniciá-lo.
sudo systemctl start apache2
Também é uma boa ideia permitir que o Apache inicie automaticamente no momento da inicialização do sistema.
sudo systemctl enable apache2
Verifique a versão do Apache:
apache2 -v
Resultado:
Server version: Apache/2.4.41 (Ubuntu) Server built: 2020-03-05T18:51:00
Agora digite o endereço IP público do seu servidor Ubuntu 20.04 na barra de endereços do navegador. Você deve ver o “Funciona!” Página da Web, o que significa que o servidor da Web Apache está sendo executado corretamente.
Se você estiver instalando o LAMP no computador Ubuntu 20.04 local, digite 127.0.0.1 ou localhost na barra de endereços do navegador.
Se a conexão for recusada ou falhou ao concluir, pode haver um firewall impedindo solicitações de entrada para a porta TCP 80. Se você estiver usando o firewall iptables, precisará executar o seguinte comando para abrir a porta TCP 80.
sudo iptables -I INPUT -p tcp --dport 80 -j ACCEPT
Se você estiver usando o firewall UFW, execute este comando para abrir a porta TCP 80.
sudo ufw allow http
Agora precisamos definir www-data (usuário do Apache) como o proprietário da raiz do documento (também conhecida como raiz da web). Por padrão, ele pertence ao usuário root.
sudo chown www-data:www-data /var/www/html/ -R
Por padrão, o Apache usa o nome do host do sistema como global ServerName. Se o nome do host do sistema não puder ser resolvido no DNS, provavelmente você verá o seguinte erro após executar o comando sudo apache2ctl -t.
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1. Set the 'ServerName' directive globally to suppress this message
Para resolver este problema, podemos definir um global ServerName no Apache. Use o editor de texto de linha de comando nano para criar um novo arquivo de configuração.
sudo nano /etc/apache2/conf-available/servername.conf
Adicione a seguinte linha neste arquivo:
ServerName localhost
Salve e feche o arquivo. Para salvar um arquivo no editor de texto Nano, pressione Ctrl+O e Enter para confirmar. Para sair, pressione Ctrl+X. Então habilite este arquivo de configuração.
sudo a2enconf servername.conf
Recarregue o Apache para que a alteração tenha efeito.
sudo systemctl reload apache2
Agora, se você executar o comando sudo apache2ctl -t novamente, não verá a mensagem de erro acima.
Etapa 3: Instalar o servidor de banco de dados MariaDB
MariaDB é um substituto para o MySQL. Ele é desenvolvido por ex-membros da equipe do MySQL que estão preocupados que o Oracle possa transformar o MySQL em um produto de código fechado. Digite o seguinte comando para instalar o MariaDB no Ubuntu 20.04.
sudo apt install mariadb-server mariadb-client
Depois de instalado, o servidor MariaDB deve ser automaticamente visualizado. Use systemctl para verificar seu status.
systemctl status mariadb
Resultado:
● mariadb.service - MariaDB 10.3.22 database server Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2020-04-10 14:19:16 UTC; 18s ago Docs: man:mysqld(8) https://mariadb.com/kb/en/library/systemd/ Main PID: 9161 (mysqld) Status: "Taking your SQL requests now..." Tasks: 31 (limit: 9451) Memory: 64.7M CGroup: /system.slice/mariadb.service └─9161 /usr/sbin/mysqld
Se não estiver em execução, inicie-o com este comando:
sudo systemctl start mariadb
Para permitir que o MariaDB inicie automaticamente no momento da inicialização, execute
sudo systemctl enable mariadb
Agora execute o script de segurança pós-instalação.
sudo mysql_secure_installation
Quando solicitar que você digite a senha root do MariaDB, pressione a tecla Enter, pois a senha root ainda não está definida. Em seguida, digite y para definir a senha raiz do servidor MariaDB.
Em seguida, você pode pressionar Enter para responder a todas as perguntas restantes, o que removerá o usuário anônimo, desabilitará o login raiz remoto e remover o banco de dados de teste. Esta etapa é um requisito básico para a segurança do banco de dados MariaDB. (Observe que Y é maiúsculo, o que significa que é a resposta padrão.)
Por padrão, o pacote MariaDB no Ubuntu usa unix_socket para autenticar o login do usuário, o que basicamente significa que você pode usar o nome de usuário e a senha do sistema operacional para fazer login no console do MariaDB. Portanto, você pode executar o seguinte comando para efetuar login sem fornecer a senha root do MariaDB.
sudo mariadb -u root
Para sair, execute
exit;
Verifique as informações da versão do servidor MariaDB.
mariadb --version
Como você pode ver, instalamos o MariaDB 10.3.22.
mariadb Ver 15.1 Distrib 10.3.22-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2
Etapa 4: Instale o PHP7.4
No momento da redação deste artigo, o PHP 7.4 é a versão estável mais recente do PHP e possui uma pequena margem de desempenho em relação ao PHP 7.3. Digite o seguinte comando para instalar o PHP 7.4 e alguns módulos PHP comuns.
sudo apt install php7.4 libapache2-mod-php7.4 php7.4-mysql php7.4-common php7.4-cli php7.4-json php7.4-opcache php7.4-readline
Ative o módulo Apache php7.4 e reinicie o servidor Web Apache.
sudo a2enmod php7.4 sudo systemctl restart apache2
Depois disso, você pode verificar o status do módulo PHP usando o seguinte comando:
apache2ctl -M | grep php
Verifique as informações da versão do PHP.
php7.4 --version
Resultado:
PHP 7.4.3 (cli) (built: Mar 26 2020 20:24:23) ( NTS ) Copyright (c) The PHP Group Zend Engine v3.4.0, Copyright (c) Zend Technologies with Zend OPcache v7.4.3, Copyright (c), by Zend Technologies
Para testar scripts PHP com o servidor Apache, precisamos criar um arquivo info.php no diretório raiz do documento.
sudo nano /var/www/html/info.php
Cole o seguinte código PHP no arquivo
<?php phpinfo(); ?>
Para salvar um arquivo no editor de texto Nano, pressione Ctrl+O e pressione Enter para confirmar. Para sair, pressione Ctrl+X.
Agora, na barra de endereços do navegador, insira seu-ip/info.php. Substitua seu-ip pelo seu IP real. Se você seguir este tutorial no computador local, digite 127.0.0.1/info.php ou localhost/info.php.
Você deve ver as informações PHP do seu servidor. Isso significa que os scripts PHP podem ser executados corretamente com o servidor da web Apache.
Como executar o PHP-FPM com Apache
Existem basicamente duas maneiras de executar o código PHP com o servidor da web Apache:
- Módulo PHP Apache
- PHP-FPM.
Nas etapas acima, o módulo Apache PHP 7.4 é usado para manipular o código PHP, o que geralmente é bom. Mas, em alguns casos, você precisa executar o código PHP com PHP-FPM. Aqui está como.
Desative o módulo Apache PHP 7.4.
sudo a2dismod php7.4
Instale o PHP-FPM.
sudo apt install php7.4-fpm
Ativar módulo proxy_fcgi e setenvif.
sudo a2enmod proxy_fcgi setenvif
Habilite o arquivo de configuração /etc/apache2/conf-available/php7.2-fpm.conf.
sudo a2enconf php7.4-fpm
Reinicie o Apache para que as alterações tenham efeito.
sudo systemctl restart apache2
Agora, se você atualizar a página info.php em seu navegador, verá que a API do servidor foi alterada de Apache 2.0 Handler para FPM/FastCGI, o que significa que o servidor da Web Apache passará solicitações de PHP para PHP-FPM.
Parabéns! Você instalou com êxito a pilha LAMP (Apache, MariaDB e PHP7.4) no Ubuntu 20.04.
Para segurança do seu servidor, você deve excluir o arquivo info.php agora para evitar olhares indiscretos.
sudo rm /var/www/html/info.php
- Veja Também: Como Instalar a pilha LEMP no Ubuntu 20.04
- Como instalar o WordPress com LAMP no Ubuntu 18.4