Configurando PHP com MySQL e Apache no Centos 7

1. Configurando PHP com MySQL e Apache no Centos 7

Rodrigo
omag0

(usa Debian)

Enviado em 16/07/2017 - 17:34h

Depois de muito pedir ajuda aqui no VOL, resolvi fazer esse post para ajudar aos novatos. Primeiramente peço desculpas se esse não for o local ideal.
Aqui irei ensinar a instalar e configurar o PHP com banco de dados MySQL e webserver Apache, na distribuição Centos 7 de 64 bits.
Antes de começar algumas informações: Esse post é para a distribuição CENTOS 7 e provavelmente não ira funcionar em outras distribuições (com algumas mudanças ira funcionar sem problemas, mas não é essa a minha intenção). Não irei usar o LAMP ou qualquer programa similar. Iremos instalar um a um, manualmente.
Porque o Centos? Como já muito discutido em fóruns pela internet e aqui mesmo no VOL, não existe uma distribuição melhor que a outra, existe aquela que melhor se adapta as suas necessidades. Gosto do Centos pela sua estabilidade e seu longo termo de suporte. Vejo esses dois itens ideal para uma máquina de desenvolvedor web (independente da linguagem escolhida).

Primeiro passo: Instalando os repositórios necessários:
Após instalar o Centos 7, será necessário instalar alguns repositórios extras para instalar os programas necessários.

1) INSTALANDO REPOSITÓRIOS
1A) EPEL. Basta digitar no terminal "sudo yum install epel-release.noarch" (digite sem as aspas, na verdade todos os comandos aqui descritos, retire as aspas)

1B) NUX (esse repositório não é necessário para o PMA, mas é fundamental para instalar programas de mídia como o VLC e o OBS entre outros) - faca o download aqui http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm. Após concluído abra o terminal e navegue até a pasta onde fez o download (geralmente é na pasta Download, ai basta fazer "cd Download"). Dê permissão com o comando "chmod +x nome-do-arquivo" (uma dica, basta colocar as 3 primeiras letras e apertar a tecla TAB que faz autocomplet). após permissão dada instale com o comando "sudo yum install nome-do-arquivo".

1C) REMIX - repositório com o PHP - faca o download http://rpms.remirepo.net/enterprise/remi-release-7.rpm. Após concluído, abra o terminal e navegue até o arquivo e dê permissão com "chamod +x nome-do-arquivo". Após dada a permissão, instale com o comando "sudo yum install nome-do-arquivo".

1D) Vá até a página do MySQL https://www.mysql.com/, faca seu cadastro, e depois clique em Downloads, depois MySQL Community Edition (última opcao) , depois MySQL Community Server (primeira opção), mude a opção para RED HAT ENTREPRISE LINUX / ORACLE LINUX, escolha a primeira opcao RED HAT ENTREPRISE LINUX 7 / ORACLE LINUX 7 (x86, x64), depois clique na imagem do pinguim, e depois escolha a primeira opção Red Hat Enterprise Linux 7 / Oracle Linux 7 (Architecture Independent), RPM Package. Após concluído o download dê permissão ao arquivo com "chmod +x nome-do-arquivo". Depois de dada a permissão instale com "sudo yum install nome-do-arquivo".

Agora atualize o seu Sistema Operacional. No terminal digite "sudo yum update". Reinicie o pc.

2) INSTALANDO E INICIANDO OS PROGRAMAS PROGRAMAS.
2 A) Instalando o apache - digite o comando "sudo yum install httpd." após o ponto digite a tecla TAB duas vezes. Aguarde e ele irá mostras todos os httpds disponíveis para instalar. Instale o httpd.x86_64 e o httpd-tools.x86_64. Após concluídos inicie o APACHE com o comando "sudo systemctl start httpd.service". Após iniciar digite o seguinte comando para o APACHE iniciar junto com o sistema operacional " sudo systemctl enable httpd.service". Para verificar se o APACHE está ativo (ou no jargão RODANDO) basta digitar o comando "sudo systemctl status httpd.service". E para parar o APACHE basta digitar o comando "sudo systemctl stop httpd.service".

2B) Instalando o MySQL. Digite o comando "sudo yum install mysql" e aperte a tecla TAB duas vezes, aguarde. Irá mostrar todas as opções de MySQL que você pode instalar. Tais como servidores, servidores de testes, drivers para conexões com determinadas linguagens, etc. Para o PHP e apache você irá precisar destes:
mysql-community-client.x86_64
mysql-community-common.x86_64
mysql-community-devel.x86_64
mysql-community-libs-compat.x86_64
mysql-community-libs.x86_64
mysql-community-server.x86_64
mysql-connector-odbc-debuginfo.x86_64
mysql-connector-odbc-setup.x86_64
mysql-connector-odbc.x86_64
mysql-workbench-community.x86_64 - este é um GUI (graphic user interface) ou seja uma interface gráfica para gerenciar o MySQL.
Após tudo instalado, vamos iniciar o MySQL. Digite "sudo systemctl start mysqld" e aperte a tecla TAB. Aguarde e ele ira autocompletar (ou mostrar as opcoes (a correta é sudo systemctl start mysqld.service). Agora vamos configurar para o MySQL iniciar com o sistema operacional. Digite "sudo systemctl enable mysqld.service". Para ver o status do MySQL digite "sudo systemctl status mysqld.service". E para parar o MySQL digite o comando "sudo systemctl stop mysqld.service". O MySQL vem com uma senha aleatória para usuário root (ou super usuário) como padrão. Vamos configurar nossa propria senha. Digite o comando "grep 'temporary password' /var/log/mysqld.log" e irá mostrar a senha. Guarde-a. Agora digite o seguinte comando:
"sudo mysql_secure_installation". Primeiro digite a senha que foi mostrada. Aperte ENTER. Depois digite a Sua SENHA. Ele ira perguntar se deseja digitar uma senha para root. Digite N (de no) Ira depois fazer uma serie de perguntas, digite SIM para tudo. Pronto agora temos nosso MySQL com a nossa senha root. Para acessar no terminal digite "mysql -uroot -p" aperte ENTER e depois sua senha e ENTER novamente.

3) Instalando o php. Indico instalar o PHP versão 7.1. Para isso digite "sudo yum install php71" depois aperte TAB duas vezes, aguarde. Irá mostrar o PHP e varias "bibliotecas" necessárias para funcionar de acordo com o que será usado por você. Eu instalo essas aqui:
php71-php-cli.x86_64 php71-php-pdo.x86_64
php71-php-common.x86_64 php71-php-pecl-apfd.x86_64
php71-php-dba.x86_64 php71-php-pecl-http.x86_64
php71-php-dbg.x86_64 php71-php-pecl-json-post.x86_64
php71-php-devel.x86_64 php71-php-pecl-mongodb.x86_64
php71-php-embedded.x86_64 php71-php-pecl-mysql.x86_64
php71-php-json.x86_64 php71-php-pecl-propro.x86_64
php71-php-mbstring.x86_64 php71-php-pecl-raphf.x86_64
php71-php-mcrypt.x86_64 php71-php-pgsql.x86_64
php71-php-mysqlnd.x86_64 php71-php.x86_64
php71-php-opcache.x86_64 php71-runtime.x86_64
php71-php-pdo-dblib.x86_64 php71.x86_64
(Atenção cada linha acima contem dois arquivos, mas como não consigo dar o espaçamento necessário, estão quase colados)
Provavelmente no começo, quando você esta aprendendo, não ira precisar de tudo isso. Mas como é ultra leve e não atrapalha em nada, acho melhor instalar tudo e caso precise de algo, já tem instalado. Caso precise de outra biblioteca que não citei, basta instalar você mesmo com o comando "sudo um instal php" e pressionar a tecla TAB duas vezes para listar tudo de PHP que existe no repositório REMI.

Agora com tudo instalado vamos as configurações.

3 - CONFIGURANDO O AMBIENTE
3A) APACHE. precisamos configurar o arquivo httpd.conf. Se você seguiu tudo como fiz até agora, esse arquivo estará em etc/httpd/conf/httpd.conf .
Então abra o terminal e digite "sudo nano /etc/httpd/conf/httpd,conf". O seu editor de texto NANO ira abrir o arquivo e iremos mudar as seguintes linhas:
(importante: todo o texto que tiver cerquilha (#) é um comentário. Para o texto ser de fato um comando, não pode ter o cerquilha(#).)
Onde há ServerName e algo escrito depois, retire a cerquilha (#) apague tudo na linha e digite
ServerName localhost
mais abaixo onde há DocumentRoot "/var/www/httpd" retire o httpd e deixe somente /var/www/
mais abaixo onde há Directory "/var/www/httpd" retire o httpd e deixe somente o /var/www/
Mas, porque tirar o httpd?
Esse é o caminha onde suas aplicações Irão ficar, para o servidor "enxerga-las". Acho desnecessário ter duas pastas só pra isso. Então fica somente o www e dentro dela você cria suas pastas com seus projetos. Exemplo: www/projeto_loja_sapatos, www/projeto_aprender, e por ai vai.
Se você não tirasse iria ficar assim: www/httpd/projeto_loja_sapatos, www/httpd/projeto_aprender....
Salve e feche.
Pronto, de inicio o apache está configurado. Porém as rotas não estão. As rotas são importantes quando você usa .htaccess. Mas isso será para outro post! :D. As mudanças ainda não estão valendo ainda. Para isso precisamos reiniciar o APACHE. No terminal digite "sudo systemctl restart httpd.service".

3B)PHP agora precisamos configurar o php.ini. Se você fez tudo certo então o seu arquivo estará em /etc/opt/remi/php71/php.ini. Abra o terminal e digite "sudo nano /etc/opt/remi/php71/php.ini" . (diferente do httpd.conf aqui os comentários não são com cerquilha (#) e sim com ponto e virgula ( ; )) Procure a linha display_errors = Off e mude para display_errors = On. depois procure a linha display_startup_errors = Off e mude para display_startup_errors = On. Essas duas mudanças serão de grande ajuda para o desenvolvedor. Quando você estiver testando o código no navegador e tiver algum código errado, ira mostrar no navegador. Reinicie o seu APACHE novamente com o comando "sudo systemctl restart httpd.service".

4) DANDO PERMISSÃO A PASTA WWW.
Antes de tudo, dentro da pasta www, podemos apagar a pasta httdp, já que editamos o arquivo httpd.conf acima.
Agora falta apenas dar permissão a pasta. abra o terminal e digite "cd var". Com isso você irá entrar no diretório var. Agora digite o comando "sudo chmod 777 -R www/". chmod é permissão. Há topicos aqui explicando isso. Por isso uma breve explicação. 7 é o numero máximo de permissão. então sera 7 para leitura, 7 para escrita e 7 para esqueci.. hehehe alguem ajuda! e o -R é de recursividade, para aplicar a todas as pastas dentro da pasta www.
Depois é necessário dar permissão para o SE LINUX (mais informacoes aqui https://www.vivaolinux.com.br/artigo/SELinux-Seguranca-em-Servidores-GNU-Linux) com o código "sudo /sbin/restorecon -R www/". Reinicie o servidor APACHE com o comando "sudo systemctl restart httpd.service".

Agora vamos testar. Crie um arquivo qualquer dentro da pasta www, vamos chamar de testa.php. abra com seu editor preferido e digite o seguinte código
<?php
phpinfo();
?>
salve. Abre o navegador e digite localhost/testa.php

Pronto! tudo funcionado !
Estou escrevendo de um teclado em espanhol não configurado. Haverá erros. Peco ao Administrador, caso tenha paciência que os corrija. E caso você encontrou algum erro, pode corrigir.
O meu MUITO OBRIGADO a todos do VOL que me ajudaram nesses anos!
Abraco a todos.
Rodrigo!






  


2. Re: Configurando PHP com MySQL e Apache no Centos 7

Buckminster
Buckminster

(usa Debian)

Enviado em 16/07/2017 - 20:42h

Transforme num artigo e publique aqui no VOL.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts