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.
[root@centos-s-1vcpu-1gb-sfo2-01 ~]# 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.
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.
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.
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.
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.