Instalando Servidor Apache, MySQL e PHP (LAMP) no Linux (Fedora, Red Hat e CentOS)
Todo desenvolvedor Web precisa de um ambiente de testes, pro pessoal que trabalha com Windows, as opções são o ISS da Microsoft, ou o WAMP que é a versão do LAMP para ambiente Microsoft.
Nunca me pareceu muito prático testar aplicações Web no Windows, já que a grande maioria dos servidores no mundo são Linux, sempre mantive uma máquina virtual com ISS configurado apenas para testar aplicações ASP e seus derivados, mas como a maior parte de meu trabalho sempre esteve no PHP e MySQL, o Linux acabou ganhando preferência no meu dia a dia.
Vamos aprender a instalar os serviços, lembrando que o aprendido aqui também vale para colocar um servidor Web em produção, claro que pouco conveniente, pois hoje os custos de hospedagens profissionais estão cada vez mais baixos, não justificando o investimento em infra para manter um servidor ligado 24 horas hospedando um site pessoal.
O primeiro passo para iniciarmos a instalação, é abrir o terminal, e em seguida logar como usuário root, digitando:
su
dê um enter.
agora insira sua senha de root, configurada quando você instalou sua distro Linux no seu computador.
Após feito isso, vamos iniciar instalando o Apache, com o comando:
dnf install httpd -y
Caso sua máquina esteja utilizando alguma versão anterior do Fedora, o comando retornará erro, então, substitua o ‘dnf’ por ‘yum’, ficando assim:
yum install httpd -y
Agora vamos ativar o serviço de httpd para iniciar automaticamente em cada inicialização do seu sistema operacional:
systemctl enable httpd
Iniciando o serviço httpd pela 1ª vez usando o seguinte comando:
systemctl start httpd
Como nem tudo é perfeito, pode aparecer o seguinte erro:
‘Job for httpd.service failed. See 'systemctl status httpd.service' and
'journalctl -xn' for details.’
Para resolver, elimine todo o conteúdo encontrado em ‘/ etc / hostname’ .
Coloque "Localhost" em "Servername" em ‘/ etc / httpd / conf / httpd.conf’ e ajuste o firewall para permitir que o serviço httpd seja acessado de clientes remotos, utilizando os seguintes comandos:
firewall-cmd --permanent –add-service=http
e
firewall-cmd --permanent –add-service=https
Reinicie o serviço de seu Firewall:
firewall-cmd --reload
suba o serviço httpd, utilizando:
systemctl start httpd
Feito isso, seu Apache já está rodando na máquina, para testar, abra um navegador Web e digite na barra de endereços:
http://seu-ip/ (sabendo que ‘seu-ip’ é o nº de seu IP em sua rede local)
ou
http://localhost/
ou ainda:
http://127.0.0.1/
Você visualizará a tela Padrão do Servidor Apache. Terminando assim a 1ª parte de nosso trabalho.
Vamos agora instalar o serviço de Banco de Dados MySQL. Como opção prática e robusta, recomendo o MariaDB.
Para instalá-lo, vamos dar este comando no terminal:
dnf install mariadb mariadb-server -y
Assim como no caso da instalação do Apache, caso a versão de sua distro retorne erro, utilize:
yum install mariadb mariadb-server -y
Após a instalação, vamos ativar o início automático dos serviços, sempre que o computador seja ligado:
systemctl enable mariadb
E iniciá-lo pela 1ª vez:
systemctl start mariadb
O próximo passo é Definir a senha Root de seus bancos MySQL, pois por padrão, ela fica em branco após a instalação, possibilitando o fácil acesso aos databases criados.
Aplique o comando:
mysql_secure_installation
Com isso, aparecerá no terminal o setup para que você possa configurar a senha root. Observe a linha:
‘ Change the root password? [Y/n] y ‘
Pressione a tecla 'y' e dê um enter, (caso seu Linux esteja em português, substitua o ‘y’ por ‘s’).
New password:
Digite para criar sua senha root e dê enter
Re-enter new password:
Redigite a sua senha criada no passo anterior e dê um novo enter.
Password updated successfully!
Pronto ! Sua senha root agora está configurada 🙂
Agora só está faltando instalarmos o serviço PHP
Utilizaremos o comando:
dnf install php -y
Ou no caso de versão anterior do Linux:
yum install php -y
Feito isso, vamos testá-lo.
Vamos criar um arquivo chamado ‘testphp.php’ na pasta principal da instalação do Apache:
vi /var/www/html/testphp.php
Adicione as seguintes linhas de código:
<?php
phpinfo();
?>
Reinicie o serviço httpd:
systemctl restart httpd
Agora, de volta no seu navegador vamos digitar na barra de endereços:
http://localhost/testphp.php
Será exibido todos os detalhes sobre o PHP como a versão, data de construção e comandos, além de outros recursos.
Vamos instalar o módulo php-mysql com o seguinte comando:
dnf install php-mysql -y
ou
yum install php-mysql -y
Sempre que você instalar algum novo módulo, lembre-se de reiniciar o serviço utilizando:
systemctl restart httpd
E para finalizarmos, vamos instalar um ambiente gráfico para gerenciarmos nossos Bancos de Dados. E para tal tarefa, nada melhor do que nosso querido phpMyAdmin 😀
dnf install phpmyadmin -y
ou
dnf install phpmyadmin -y
Por padrão, o phpMyAdmin pode ser acessado apenas de seu localhost. Para acessá-lo de uma máquina em sua rede, execute os seguintes passos.
Edite o arquivo ‘/etc/httpd/conf.d/phpMyAdmin.conf’ :
vi /etc/httpd/conf.d/phpMyAdmin.conf
Localize os trechos:
<RequireAny>
Require ip 127.0.0.1
Require ip ::1
Require all granted
</RequireAny>
Altere para :
<RequireAny>
#Require ip 127.0.0.1
#Require ip ::1
Require all granted
</RequireAny>
Observação. Existe mais de um único trecho neste arquivo onde você precisará fazer esta alteração.
Salve e feche este arquivo de configuração e Reinicie seu o serviço:
systemctl restart httpd
Agora é só testar seu serviço phpMyAdmin. Na barra de endereços em seu navegador, digite:
http://localhost/phpmyadmin
Você será direcionado para a tela de login do ambiente. Nesta tela, você deve entrar com o usuário root e a senha que você definiu na configuração do MariaDB.
Pronto, seu LAMP está preparado para o uso. Você pode agora criar ou importar seus bancos, e testar seus fontes com muita facilidade.