A LAMP stack is a collection of four different software (Linux, Apache, MySQL, and PHP) that programmers or web developers use to create and deploy websites or applications.
Este tutorial irá se concentrar em como instalar e configurar o famoso conjunto LAMP com PhpMyAdmin na última versão do RHEL e em distribuições baseadas no RHEL como CentOS, Oracle Linux, Rocky e AlmaLinux.
Tabela de Conteúdos
Requisitos
Dependendo da distribuição utilizada, utilize os seguintes links para realizar uma instalação mínima do sistema, utilizando um endereço IP estático para configuração de rede.
- Como Baixar e Instalar o RHEL 9 Gratuitamente
- Como Baixar e Instalar o RHEL 8 Gratuitamente
- Instalação do CentOS Stream 9 Linux
- Instalação do CentOS 7 Linux
- Como Instalar o Rocky Linux 9 Passo a Passo
- Como Instalar o AlmaLinux 9 Passo a Passo
Passo 1: Instalar o Servidor Web Apache
1. Após realizar uma instalação mínima do sistema e configurar a interface de rede do seu servidor com um Endereço IP Estático, vá em frente e instale o serviço binário do Apache (httpd) fornecido pelos repositórios oficiais usando o seguinte comando yum.
# yum install httpd

2. Após concluir a instalação do Apache, use os seguintes comandos para gerenciar o daemon do Apache, já que o RHEL e o CentOS migraram seus scripts de inicialização do SysV para o Systemd – Por que o init foi substituído pelo Systemd no Linux?.
# systemctl start httpd # systemctl enable httpd # systemctl status httpd

3. No próximo passo, certifique-se de permitir o acesso ao Apache abrindo as portas 80 e 443 no Firewall usando o firewall-cmd, que é o comando padrão para gerenciar o Firewalld através do daemon.
# firewall-cmd --add-service=http # firewall-cmd --add-service=https # systemctl restart firewalld
Para aplicar regras consistentes de iptables no firewall usando a opção --permanent
e reinicie o serviço firewalld para que as mudanças entrem em vigor.
# firewall-cmd --permanent --add-service=http # firewall-cmd --permanent --add-service=https # systemctl restart firewalld

Alguns comandos importantes Firewalld para gerenciar o firewall, conforme apresentado abaixo:
# firewall-cmd --state # firewall-cmd --list-all # firewall-cmd --list-interfaces # firewall-cmd --get-service # firewall-cmd --query-service service_name # firewall-cmd --add-port=80/tcp
4. Para verificar a funcionalidade Apache, abra um navegador remoto e digite o endereço IP do seu servidor usando o protocolo HTTP na URL, e uma página padrão deve aparecer como na captura de tela abaixo.
http://server_IP

5. Por enquanto, o caminho DocumentRoot do Apache está definido para o caminho do sistema /var/www/html, que por padrão não fornece nenhum arquivo de índice. Se você deseja ver uma lista de diretórios do seu caminho DocumentRoot.
Abra o arquivo de configuração do Apache welcome e defina a instrução Indexes de –
para +
no diretivo LocationMatch, usando a captura de tela abaixo como exemplo.
# vi /etc/httpd/conf.d/welcome.conf

6. Após fazer as alterações, feche o arquivo, reinicie o serviço do Apache para refletir as mudanças e recarregue a página do seu navegador para ver o resultado final.
# systemctl restart httpd

Etapa 2: Instalar Suporte PHP para Apache
7. Antes de instalar o suporte de linguagem dinâmica PHP para Apache, obtenha uma lista completa de módulos e extensões PHP disponíveis usando o seguinte comando.
# yum search php

8. Dependendo do tipo de aplicativos que você deseja usar, instale os módulos PHP necessários da lista acima, mas para um suporte básico MySQL/MariaDB no PHP e PhpMyAdmin você precisa instalar os seguintes módulos.
# yum install php php-mysql php-pdo php-gd php-mbstring

9. Para obter uma lista completa de informações sobre o PHP a partir do seu navegador, crie um arquivo info.php no diretório raiz do Apache usando o seguinte comando, reinicie o serviço httpd e direcione seu navegador para o endereço http://endereço_IP_do_servidor/info.php.
# echo "<?php phpinfo(); ?>" > /var/www/html/info.php # systemctl restart httpd

10. Se você receber um erro no PHP relacionado ao fuso horário, abra o arquivo de configuração php.ini, pesquise e descomente a declaração date.timezone, acrescente sua localização física e reinicie o daemon Apache.
# vi /etc/php.ini
Localize e altere a linha date.timezone para que fique assim, utilizando a lista de Fusos Horários Suportados pelo PHP.
date.timezone = Continent/City

Passo 3: Instalar e Configurar o Banco de Dados MariaDB
11. A distribuição RHEL mudou do MySQL para o MariaDB como seu sistema de gerenciamento de banco de dados padrão. Para instalar o banco de dados MariaDB, use o seguinte comando.
# yum install mariadb-server mariadb

12. Após a instalação do pacote MariaDB, inicie o daemon do banco de dados e use o script mysql_secure_installation para garantir a segurança do banco de dados (definir uma senha de root, desativar o login remoto do root, remover o banco de dados de teste e remover usuários anônimos).
# systemctl start mariadb # systemctl enable mariadb # systemctl status mariadb # mysql_secure_installation


13. Para testar a funcionalidade do banco de dados, faça login no MariaDB usando sua conta de root e saia usando o comando quit.
mysql -u root -p MariaDB > show databases; MariaDB > quit

Passo 4: Instalar o PhpMyAdmin para Gerenciar o MySQL
14. Por padrão, os repositórios oficiais não fornecem nenhum pacote binário para a Interface Web do PhpMyAdmin. Se você não se sente confortável usando a linha de comando do MySQL para gerenciar seu banco de dados, você pode instalar o pacote PhpMyAdmin habilitando o repositório remi usando o seguinte comando.
# yum install -y https://rpms.remirepo.net/enterprise/remi-release-9.rpm [On CentOS/RHEL 8] # yum install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm [On CentOS/RHEL 8] # yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm [On CentOS/RHEL 7]
Após habilitar o repositório remi, instale o PhpMyAdmin.
# yum install phpmyadmin

15. Em seguida, configure o PhpMyAdmin para permitir conexões de hosts remotos editando o arquivo phpmyadmin.conf, localizado no diretório conf.d do Apache, comentando as seguintes linhas.
# vi /etc/httpd/conf.d/phpMyAdmin.conf
Adicione a linha “Require all granted” abaixo da linha “Require local” conforme mostrado.
<Directory /usr/share/phpMyAdmin/> AddDefaultCharset UTF-8 Require local Require all granted </Directory>

16. Para poder fazer login na interface Web do PhpMyAdmin, reinicie o serviço Web do Apache e direcione seu navegador para o endereço URL.
# systemctl restart httpd http://server_IP/phpmyadmin/

Passo 5: Habilitar o Sistema LAMP em Linux de Forma Global
17. Se você precisa que os serviços MariaDB e Apache sejam iniciados automaticamente após a reinicialização, emita os seguintes comandos para habilitá-los de forma global no sistema.
# systemctl enable mariadb # systemctl enable httpd
Isso é tudo o que é necessário para uma instalação básica do LAMP em distribuições baseadas no RHEL. A próxima série de artigos relacionados à pilha LAMP irá discutir como criar Virtual Hosts, gerar Certificados SSL e Chaves, e adicionar suporte para transações SSL para o Apache HTTP Server.