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á concentrar-se em como instalar e configurar o famoso conjunto LAMP com PhpMyAdmin na última versão do RHEL e distribuições baseadas em 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, siga em frente e instale o serviço binário do Apache (httpd) fornecido pelas 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 RHEL e CentOS migraram seus scripts de inicialização de SysV para Systemd – Por que o init foi substituído por 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 firewall-cmd, que é o comando padrão para gerenciar 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 do 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 de boas-vindas 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 alterações 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 da 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 a partir da lista acima, mas para um suporte básico de 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 Document Root do Apache usando o seguinte comando, reinicie o serviço httpd e direcione seu navegador para o endereço http://server_IP/info.php.
# echo "<?php phpinfo(); ?>" > /var/www/html/info.php # systemctl restart httpd

10. Se você receber um erro sobre Data e Fuso Horário do PHP, abra o arquivo de configuração php.ini, procure e descomente a declaração date.timezone, acrescente sua localização física e reinicie o daemon do Apache.
# vi /etc/php.ini
Localize e altere a linha date.timezone para ficar assim, usando 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 proteger o banco de dados (definir uma senha de root, desabilitar 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 uma instrução quit.
mysql -u root -p MariaDB > show databases; MariaDB > quit

Passo 4: Instale 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, pode instalar o pacote PhpMyAdmin ativando 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” sob a 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 Apache Web e direcione seu navegador para o endereço URL.
# systemctl restart httpd http://server_IP/phpmyadmin/

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