17 de janeiro de 2018 - Frederico Marinho
Instalando o PHP 7.1 no Ubuntu 14.04 com Apache2, MySQL 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á…
Atualização 09/06/2018
Já utilizei esse mesmo tutorial para instalar o servidor web completo com PHP 7.1 no Ubuntu 16.04 e recentemente no Ubuntu 18.04, então não se aplica somente ao 14.04.
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.
Antes de continuar então, acesse esse post sobre como fazer a limpeza.
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 aptitude install python-software-properties software-properties-common
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 libapache2-mod-php7.1 php7.1-mysql php7.1-common php7.1-curl php7.1-json php7.1-xml php7.1-soap
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 desejada para o 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.
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 aptitude install php7.1-mbstring php7.1-gettext php7.1-gd php7.1-zip
Habilitar os pacotes com os comandos:
sudo phpenmod mbstring
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>
** ATENÇÃO: Se você copiou e colou o código acima, edite o arquivo novamente e reescreva as aspas (“). **
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.
Para completar o tutorial:
Para que seu servidor fique 100% funcional para desenvolvimento web, você pode querer habilitar o mod_rewrite e o uso do Htaccess para utilização de URL’s amigáveis.
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.
Daí é só iniciar o Apache:
sudo service apache2 restart
—
-
Access denied for user ‘root@localhost’
Essa mensagem indica que o usuário root não tem acesso ao Phpmyadmin. Para permite o login do root no PhpMyAdmin, execute os seguintes comandos:
- Acesse o mysql com o usuário root (informe o password para entrar):
mysql -u root -p
- Depois de logado no mysql, digite:
use mysql;
UPDATE user SET plugin='mysql_native_password' WHERE User='root';
FLUSH PRIVILEGES;
exit;
Não sabe a senha do root no Mysql?
Então, faça isso:
sudo service mysql stop
sudo mysqld_safe --skip-grant-tables --skip-networking &
use mysql;
update user set authentication_string=PASSWORD("") where User='root';
update user set plugin="mysql_native_password" where User='root';
flush privileges;
quit;
Agora você vai conseguir logar com o root no PhpMyAdmin.
Referências
https://blog.hostonnet.com/ubuntu-16-04-phpmyadmin-root-login-problem
https://www.digitalocean.com/community/tutorials/how-to-reset-your-mysql-or-mariadb-root-password
0
Bom dia Frederico, tudo bem?
Tu sabe se ainda dá para instalar o php7 no ubuntu 14?
Obrigado
Com certeza. Você seguiu o tutorial e não conseguiu?
O primeiro comando do python não funcionou aqui em ubuntu 18.04, a saída foi essa:
“Nenhuma versão candidata para python-software-properties
Unable to apply some actions, aborting”
Paulo, vc conseguiu instalar o software-properties-common? Esse é o pacote alternativo do python-software-properties.