Como instalar o Apache, PHP 7, MySQL e phpMyAdmin no CentOS 7

Servidores Linux 18 de Novembro de 2019 às 20:23

Apesar da instalação do famoso "LAMP stack" ser bem simples e direta no Ubuntu 18.04, infelizmente ela é um pouco mais complicada no CentOS, pois precisamos adicionar repositórios adicionais para completar esta tarefa. Para este tutorial, usamos um droplet da Digital Ocean com a imagem do CentOS 7.6 x64.

Antes de começarmos, será necessário ativar alguns repositórios adicionais em nosso sistema, para que possamos ter acesso aos pacotes mais recentes do PHP e do MySQL. Para isto, execute os comandos abaixo como super usuário (um por vez).

yum install epel-release
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
rpm -Uvh http://repo.mysql.com/mysql-community-release-el7-7.noarch.rpm

Instalando o PHP 7.2

Com os repositórios adicionais configurados, iremos começar instalando o PHP 7.2.

yum --enablerepo=remi-php72 install php

O instalador de pacotes poderá lhe questionar várias vezes se deseja importar as chaves dos repositórios informados acima, digite Y e pressione ENTER. Em seguida iremos instalar as extensões mais comuns da linguagem. Você pode adicionar mais extensões a qualquer momento caso deseje.

yum --enablerepo=remi-php72 install php-mysql php-xml php-soap php-xmlrpc php-mbstring php-json php-gd php-mcrypt

Ao término da instalação, digite "php -v" para verificar se o PHP foi instalado corretamente.

[[email protected] ~]# php -v
PHP 7.2.24 (cli) (built: Oct 22 2019 11:15:01) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

Feito isso, o PHP já está instalado em seu servidor, porém ainda precisamos instalar o Apache2 e o MySQL.

Instalando o Apache2

Para instalar o Apache2 usando o repositório EPEL, use o comando abaixo.

yum --enablerepo=epel,remi install httpd

Após a instalação, inicie o serviço e ative-o durante o boot do sistema, para caso o seu servidor seja reiniciado.

systemctl start httpd.service && systemctl enable httpd.service

Para testar basta iniciar o seu navegador e acessar o IP de seu servidor. Caso você veja uma tela similar à imagem abaixo, quer dizer que a instalação ocorreu sem nenhum problema.

Tela inicial do Apache2 no CentOS

A pasta de arquivos web no CentOS fica por padrão em "/var/www/html", qualquer arquivo que você colocar dentro desta pasta estará acessível em seu servidor.

Para testar se o PHP já está sendo executado dentro do Apache2, digite o comando abaixo, que irá criar um arquivo "info.php" dentro da pasta web de seu servidor.

echo "<?php phpinfo();" >> /var/www/html/info.php

Acesse o arquivo "info.php" em seu servidor através do navegador, você deverá ver uma tela similar a esta.

Tela gerada pelo phpinfo(); 

Agora remova a tela padrão do Apache2, com o comando abaixo.

> /etc/httpd/conf.d/welcome.conf && systemctl restart httpd.service

Caso acesse novamente o seu endereço IP, verá que aquela tela que vem por padrão na instalação já não existe mais.

Existe somente o arquivo "info.php" que criamos anteriormente

Instalando o MySQL

Digite o comando abaixo para instalar o servidor MySQL.

yum install mysql-server

Com o MySQL instalado, inicie seu serviço.

systemctl start mysqld.service

Agora iremos definir uma senha para o usuário root no localhost e remover os usuários e tabelas de testes do MySQL.

mysql_secure_installation

Siga as instruções geradas pelo comando e responda de acordo com o a sua necessidade. Lembrando que não é recomendável deixar a conta "root" acessível de fora do servidor por questões de segurança.

Caso tudo tenha dado certo, ative o serviço do MySQL durante o boot.

systemctl restart mysqld.service && systemctl enable mysqld.service

Instalando o phpMyAdmin

Para instalar o phpMyAdmin, execute o comando abaixo:

yum --enablerepo=remi-php72 install phpmyadmin

Crie um link simbólico para ativar o phpMyAdmin.

ln -s /usr/share/phpMyAdmin /var/www/html/phpmyadmin

Agora acesse o phpMyAdmin em seu navegador, digitando o IP de seu servidor "/phpmyadmin". Informe o usuário "root" e a senha que você especificou durante a instalação do MySQL.

Tela do phpMyAdmin

Nunca deixe o phpMyAdmin público em seu servidor em produção, pois há diversas vulnerabilidades que podem ser exploradas através desta aplicação. Assim que terminar o que você precisa fazer com o phpMyAdmin, remova o link simbólico, evitando que a aplicação fique exposta na internet.

rm /var/www/html/phpmyadmin

Prefira sempre o acesso através de túneis SSH para realizar a manutenção em seu banco de dados.


Através destes comandos, você terá o famoso "LAMP stack" sendo executado em seu servidor CentOS.

Lembre-se que esta é a configuração mais básica possível e não abordamos diversos temas como módulos do Apache2, Virtual Hosts, configurações no PHP.ini. Talvez futuramente tenhamos alguns artigos sobre isto aqui no tecdicas. Enquanto isso você pode conferir nossos outros artigos sobre servidores.

Caso tenha tido algum problema ou queira dar uma sugestão, deixe seu comentário abaixo.

Renan Cavalieri

Analista de Sistemas e autor do tecdicas