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á 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.

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, 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
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 RHEL e CentOS migraram seus scripts de inicialização de SysV para SystemdPor que o init foi substituído por 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 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
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 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
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 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
Configure Apache Welcome Page

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

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

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

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
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 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
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 uma instrução quit.

mysql -u root -p
MariaDB > show databases;
MariaDB > quit
Connect MariaDB to Linux

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
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” sob a 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 Apache Web e direcione seu navegador para o endereço URL.

# systemctl restart httpd

http://server_IP/phpmyadmin/
PhpMyAdmin Dashboard

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.

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