Servidor Web · 5 min read · Nov 29, 2025

Instalar Apache, PHP E MySQL No CentOS 7 (LAMP)

Este tutorial mostra como você pode instalar um servidor web Apache2 em um servidor CentOS 7.0 com suporte a PHP5 (mod_php) e suporte a MySQL. LAMP é a abreviação de L inux, A pache, M ySQL, P HP.

1 Nota Preliminar

Neste tutorial, eu uso o nome do host server1.example.com com o endereço IP 192.168.0.100. Essas configurações podem diferir para você, então você deve substituí-las onde apropriado.

Eu adicionarei o repositório EPEL aqui para instalar o phpMyAdmin mais recente da seguinte forma:

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*  
yum -y install epel-release

2 Instalando MySQL / MariaDB

MariaDB é um fork do MySQL do desenvolvedor original do MySQL, Monty Widenius. MariaDB é compatível com MySQL e eu escolhi usar MariaDB aqui em vez de MySQL. Para instalar o MySQL, fazemos a instalação do MariaDB assim:

yum -y install mariadb-server mariadb

Então, criamos os links de inicialização do sistema para o MySQL (para que o MySQL inicie automaticamente sempre que o sistema for inicializado) e iniciamos o servidor MySQL:

systemctl start mariadb.service  
systemctl enable mariadb.service

Defina senhas para a conta root do MySQL:

mysql_secure_installation

[root@server1 ~]# mysql_secure_installation

/usr/bin/mysql_secure_installation: linha 379: find_mysql_client: comando não encontrado

NOTA: É RECOMENDADO EXECUTAR TODAS AS PARTES DESTE SCRIPT PARA TODOS OS SERVIDORES MariaDB EM USO DE PRODUÇÃO! POR FAVOR, LEIA CADA PASSO CUIDADOSAMENTE!

Para fazer login no MariaDB e garantir sua segurança, precisaremos da senha atual

para o usuário root. Se você acabou de instalar o MariaDB, e

não definiu a senha root ainda, a senha estará em branco,

então você deve apenas pressionar enter aqui.

Digite a senha atual para root (pressione enter para nenhum):

<–ENTER

OK, senha usada com sucesso, prosseguindo…

Definir a senha root garante que ninguém possa fazer login no MariaDB

usuário root sem a devida autorização.

Definir senha root? [Y/n]

Nova senha:

<–yourmariadbpassword

Reinsira a nova senha:

<–yourmariadbpassword

Senha atualizada com sucesso!

Recarregando tabelas de privilégios..

… Sucesso!

Por padrão, uma instalação do MariaDB tem um usuário anônimo, permitindo que qualquer um

faça login no MariaDB sem precisar ter uma conta de usuário criada para

ele. Isso é destinado apenas para testes, e para tornar a instalação

ainda mais suave. Você deve removê-los antes de passar para um

environmento de produção.

Remover usuários anônimos? [Y/n]

<–ENTER

… Sucesso!

Normalmente, o root deve ser permitido apenas conectar a partir de ‘localhost’. Isso

garante que alguém não possa adivinhar a senha root pela rede.

Desabilitar login remoto do root? [Y/n]

<–ENTER

… Sucesso!

Por padrão, o MariaDB vem com um banco de dados chamado ‘test’ que qualquer um pode

acessar. Isso também é destinado apenas para testes, e deve ser removido

antes de passar para um ambiente de produção.

Remover banco de dados de teste e acesso a ele? [Y/n]

<–ENTER

  • Removendo banco de dados de teste…

… Sucesso!

  • Removendo privilégios no banco de dados de teste…

… Sucesso!

Recarregar as tabelas de privilégios garantirá que todas as alterações feitas até agora

entrem em vigor imediatamente.

Recarregar tabelas de privilégios agora? [Y/n]

<–ENTER

… Sucesso!

Limpando…

Tudo pronto! Se você completou todos os passos acima, sua instalação do MariaDB

agora deve estar segura.

Obrigado por usar o MariaDB!

[root@server1 ~]#

3 Instalando Apache2

CentOS 7 vem com o apache 2.4. O Apache2 está diretamente disponível como um pacote do CentOS 7.0, portanto, podemos instalá-lo assim:

yum -y install httpd

[root@server1 ~]# yum install httpd

Plugins carregados: fastestmirror, langpacks

Carregando velocidades de espelho do arquivo de host em cache

  • base: ftp.plusline.de

  • extras: mirror.23media.de

  • updates: mirror.23media.de

Pacote httpd-2.4.6-17.el7.centos.1.x86_64 já instalado e na versão mais recente

Nada a fazer

[root@server1 ~]#

Por padrão, o apache será instalado, se não, por favor, instale-o como mostrado acima

Agora configure seu sistema para iniciar o Apache na inicialização…

systemctl start httpd.service
systemctl enable httpd.service

No CentOS 7.0 usa-se o Firewall-cmd, então eu o personalizarei para permitir acesso externo à porta 80 (http) e 443 (https).

firewall-cmd --permanent --zone=public --add-service=http   
firewall-cmd --permanent --zone=public --add-service=https  
firewall-cmd --reload

Agora dirija seu navegador para http://192.168.0.100, e você deve ver a página de placeholder do Apache2:

4 Instalando PHP5

Podemos instalar o PHP5 e o módulo Apache PHP5 da seguinte forma:

yum -y install php

Devemos reiniciar o Apache depois:

systemctl restart httpd.service

5 Testando PHP5 / Obtendo Detalhes Sobre Sua Instalação do PHP5

O diretório raiz do site padrão é /var/www/html. Agora criaremos um pequeno arquivo PHP (info.php) nesse diretório e o chamaremos em um navegador. O arquivo exibirá muitos detalhes úteis sobre nossa instalação do PHP, como a versão do PHP instalada.

vi /var/www/html/info.php

Agora chamamos esse arquivo em um navegador (por exemplo, http://192.168.0.100/info.php):

Como você vê, o PHP5 está funcionando, e está funcionando através do Apache 2.0 Handler, como mostrado na linha do Server API. Se você rolar mais para baixo, verá todos os módulos que já estão habilitados no PHP5. O MySQL não está listado lá, o que significa que ainda não temos suporte ao MySQL no PHP5.

6 Obtendo Suporte ao MySQL No PHP5

Para obter suporte ao MySQL no PHP, podemos instalar o pacote php-mysql. É uma boa ideia instalar alguns outros módulos PHP5, pois você pode precisar deles para suas aplicações. Você pode pesquisar os módulos PHP5 disponíveis assim:

yum search php

Escolha os que você precisa e instale-os assim:

yum -y install php-mysql

No próximo passo, instalarei alguns módulos PHP comuns que são necessários por sistemas CMS como Wordpress, Joomla e Drupal:

yum -y install php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap curl curl-devel

Agora reinicie o Apache2:

systemctl restart httpd.service

Agora recarregue http://192.168.0.100/info.php em seu navegador e role para baixo novamente até a seção de módulos. Você deve agora encontrar muitos novos módulos como curl etc lá:

7 instalação do phpMyAdmin

phpMyAdmin é uma interface web através da qual você pode gerenciar seus bancos de dados MySQL.
phpMyAdmin pode agora ser instalado da seguinte forma:

yum install phpMyAdmin

Agora configuramos o phpMyAdmin. Mudamos a configuração do Apache para que o phpMyAdmin permita conexões não apenas de localhost (comentando a seção ):

vi /etc/httpd/conf.d/phpMyAdmin.conf
[...]  
Alias /phpMyAdmin /usr/share/phpMyAdmin
Alias /phpmyadmin /usr/share/phpMyAdmin

#
#   
#     # Apache 2.4
#     
#       Require ip 127.0.0.1
#       Require ip ::1
#     
#   
#   
#     # Apache 2.2
#     Order Deny,Allow
#     Deny from All
#     Allow from 127.0.0.1
#     Allow from ::1
#   
#



        Options none
        AllowOverride Limit
        Require all granted
  
  
[...] 

Em seguida, mudamos a autenticação no phpMyAdmin de cookie para http:

vi /etc/phpMyAdmin/config.inc.php
[...]
$cfg['Servers'][$i]['auth_type']     = 'http';    // Método de autenticação (config, http ou baseado em cookie)?
[...]

Reinicie o Apache:

systemctl restart  httpd.service

Depois, você pode acessar o phpMyAdmin em http://192.168.0.100/phpmyadmin/:

8 Links

Apache: http://httpd.apache.org/
PHP: http://www.php.net/
MySQL: http://www.mysql.com/
CentOS: http://www.centos.org/
phpMyAdmin: http://www.phpmyadmin.net/

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.