Como instalar o servidor LAMP no RHEL, CentOS, Rocky & AlmaLinux

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.

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.

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
Install Apache on Linux

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 SystemdPor que o init foi substituído pelo Systemd no Linux?.

# systemctl start httpd
# systemctl enable httpd
# systemctl status httpd
Manage Apache in Linux

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
NOTE: Make notice that using this rule will lose its effect after a system reboot or firewalld service restart because it opens on-fly rules, which are not applied permanently.

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
Open Apache Ports in 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
Verify Apache in Linux

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
Configure Apache Welcome Page

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
Apache Directory Listing

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
List PHP Modules

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
Install PHP Modules

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
List PHP Information

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
Set PHP Timezone

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
Install MariaDB on Linux

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
Manage MariaDB Service
Secure MariaDB in Linux

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
Connect MariaDB to Linux

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
Install PhpMyAdmin on Linux

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>
Allow Remote PhpMyAdmin Access

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/
PhpMyAdmin Dashboard

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.

Source:
https://www.tecmint.com/install-lamp-server-linux/