17 de janeiro de 2018 - Frederico Marinho

Instalando o LAMP no Ubuntu 14.04 com PHP 7.1 e PHPMyAdmin

 

Tive um pouquinho de dificuldade em preparar o ambiente com as ferramentas que utilizo no Ubuntu 14.04. O meu tá redondinho há mais de 3 anos, obrigado, mas a questão é que fui fazer o mesmo no computador de uma amiga e deu uma trabalheira danada. Principalmente com o PHPMyAdmin, que lambança ele aprontou comigo! Tá certo, eu tava um pouco enferrujado, mas poderia ser mais fácil né…

Enfim, esse tutorial é pra ajudar a mim (se precisar de novo) e a quem também concorda que o 14.04 é a melhor versão do Ubuntu até agora (mais estável) e que não quer ficar abrindo abas e mais abas pra chegar na solução. Vamos lá…

Preparando o sistema

Antes de começar a instalar os pacotes propriamente ditos, devemos arrumar tudo para que o processo como um todo fique mais fácil e com menos possibilidade de erros.

Removendo os pacotes já instalados e versões anteriores

Antes de começar, vamos limpar a casa!

Não é obrigatório, mas sugiro fortemente remover qualquer versão que já esteja instalada no seu computador pra não dificultar o trabalho.

No terminal, entre com todos os comandos abaixo:

sudo apt-get remove --purge php5*
sudo apt-get autoremove

Vai remover qualquer pacote relacionado à qualquer versão do PHP 5 que estiver instalada.

sudo apt-get remove --purge php7*
sudo apt-get autoremove

Agora o mesmo com versões do PHP 7.

sudo apt-get remove --purge apache*
sudo apt-get autoremove

Com o Apache, se já tiver instalado.

sudo apt-get remove --purge mysql*
sudo apt-get autoremove
sudo rm -rf /var/lib/mysql
sudo rm -rf /etc/mysql

Com o MySQL.

sudo apt-get remove --purge phpmyadmin*
sudo apt-get autoremove
sudo apt-get autoclean

E pra fechar, com o PHPMyAdmin.

Pronto! É como começar a desenhar numa folha em branco…

Aptitude – O apt com atitude!

Bom, acabei de inventar esse significado que é bem lógico, então nada demais, mas é basicamente isso que o Aptitude faz: substitui o apt-get e ainda resolve as dependências dos pacotes que estão sendo instalados. Ou seja, se é probabilidade de menos problema a vista, tô dentro…

Instale usando o, adivinhe, apt-get:

sudo apt-get install aptitude

Atualizando repositórios

Precisamos de um repositório novo para instalar o PHP 7.1 através do aptitude. Para isso, vamos instalar o python-software-properties que vai disponibilizar o comando add-apt-repository que nos permite adicionar o repositório PPA (Personal Package Archives) de forma mais prática.

Digite no terminal:

sudo apt-get install python-software-properties

Pronto! Só isso.. agora podemos começar pra valer!

LAMP: Linux + Apache + MySQL + PHP

Nesse caso é o PLAMP : PHP+Linux+Apache+MySQL+PHPMyAdmin (acabei de inventar). Vamos por a mão na massa.

Instalando o PHP 7.1

Tanto para o PHP quanto para o Apache é necessário adicionar um novo PPA e atualizar o apt-get. Faça:

sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo aptitude install php7.1

Instalando o Apache 2

sudo add-apt-repository ppa:ondrej/apache2
sudo apt-get update
sudo aptitude install apache2

Instalando MySQL

sudo aptitude install mysql-server

Quando solicitado, informe a senha do usuário root do mysql.

DICA: não deixe a senha em branco, coloque pelo menos uma senha fácil. Vai simplificar bastante o processo de instalação.

Obs.: Tentei instalar o mysql-server-5.6 mas pelo menos comigo não deu muito certo. Recebi o seguinte erro:

Os pacotes a seguir têm dependências desencontradas:
mysql-server-5.6 : Depende: mysql-common (>= 5.6.22-1~) mas 5.5.58-0ubuntu0.14.04.1 está para ser instalado
Recomenda: libhtml-template-perl mas não será instalado
E: Impossível corrigir problemas, você manteve (hold) pacotes quebrados

Não consegui resolver, se alguém tiver uma ideia, comente por favor. Acabei instalando a versão de repositório do MySQL mesmo.

Pacotes extras

Você também pode querer ou precisar instalar alguns pacotes extras, dependendo do seu projeto. A linha abaixo instala os pacotes mais comuns utilizados por aí:

sudo aptitude install libapache2-mod-php7.1 php7.1-mysql php7.1-curl php7.1-json php7.1-common php7.1-xml

Instalando o PHPMyAdmin

Aqui é que começa o problema. Toda vez que tentava instalar o PHPMyAdmin, ele instalava o PHP 5.5 e daí configurava o Apache e o MySQL pra funcionar nessa nova versão, ignorando completamente o PHP 7.1 que tinha instalado anteriormente. Ou seja, ficava um caos.

A questão é que a versão de repositório do PHPMyAdmin do Ubuntu 14.04 não é compatível com o PHP 7.1, mas existe sim uma versão que funciona. Nesse caso, temos que fazer alguns processos manualmente. Vamos lá:

Download da versão do PHPMyAdmin compatível com o PHP 7.1. Digite no terminal:

wget https://files.phpmyadmin.net/phpMyAdmin/4.6.4/phpMyAdmin-4.6.4-all-languages.tar.gz
sudo cp phpMyAdmin-4.6.4-all-languages.tar.gz /usr/share
cd /usr/share
sudo tar xvf phpMyAdmin-4.6.4-all-languages.tar.gz
sudo mv phpMyAdmin-4.6.4-all-languages phpmyadmin

Instale os pacotes necessários ao PHPMyAdmin

sudo apt-get install php7.1-mcrypt php7.1-mbstring php7.1-mbstring php7.1-gettext

Habilitar os pacotes com os comandos:

sudo phpenmod mcrypt
sudo phpenmod mbstring

Agora reinicie o PHP-FPM para que as alterações façam efeito. Se já não tem o pacote, instale antes. Digite:

sudo aptitude install php7.1-fpm
sudo service php7.1-fpm restart

Configurar o Apache para reconhecer o PHPMyAdmin:

sudo vi /etc/apache2/sites-available/000-default.conf

Em qualquer lugar depois de “DocumentRoot /var/www/html”, insira as linhas:

Alias /phpmyadmin “/usr/share/phpmyadmin/”
<Directory “/usr/share/phpmyadmin/”>
Order allow,deny
Allow from all
Require all granted
</Directory>

Reinicie o Apache:

sudo service apache2 restart

Pronto! Já teria que estar funcionando.

Teste o Apache+PHP+MySQL e PHPMyAdmin entrando com o endereço no navegador:

http://localhost/phpmyadmin

Se estiver tudo certinho, você conseguirá acessar o PHPMyAdmin.


Erros conhecidos (e suas soluções)

  • Alerta ao iniciar o Apache

Se em algum momento, ao tentar iniciar/reiniciar o Apache 2, você receber essa mensagem:

Restarting web server apache2
apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1 for ServerName
… waiting apache2:
Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1 for ServerName

Não se preocupe, é apenas um alerta amigável e não é realmente um problema. Basta inserir a linha:

ServerName localhost

ou no arquivo httpd.conf ou no apache2.conf em /etc/apache2 e reiniciar o Apache. Você verá que a mensagem vai sumir.

  • Apache não inicia devido a falha no “configtest”

Ao tentar iniciar/reiniciar você recebe essa mensagem:

* Restarting web server apache2 [fail]
* The apache2 configtest failed.
Output of config test was:
Segmentation fault (core dumped)
Action ‘configtest’ failed.
The Apache error log may have more information.

Eu resolvi esse problema apenas digitando no terminal:

sudo a2dismod php7.1

Daí é só iniciar o Apache, comigo funcionou perfeitamente!


Referências

https://stackoverflow.com/questions/34060036/have-trouble-installing-phpmyadmin-on-php7-apache-2-4-7-ubuntu

https://www.digitalocean.com/community/questions/phpmyadmin-or-alternative-for-php7-nginx-mysql-5-7-ubuntu-16-04

https://askubuntu.com/questions/256013/apache-error-could-not-reliably-determine-the-servers-fully-qualified-domain-n

0

Desenvolvimento web / Linux / PHP / Ubuntu

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *