O Ubuntu 16.04 LTS Xenial Xerus já vem com PHP7 em seus repositórios padrão. Neste caso você não vai precisar usar PPA de terceiros ou até mesmo repositórios PPA para instalar o PHP7 no Ubuntu 16.04 LTS ou derivados. Neste tutorial, vamos ver como instalar Apache, MariaDB e PHP7 (LAMP stack) no Ubuntu 16.04 LTS Xenial Xerus.
Atualizando o Ubuntu 16.04 LTS
Antes de instalar qualquer software, é sempre recomendado atualizar o Ubuntu 16.04. Para isso digite os comandos abaixo:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
Instalar o Servidor Web Apache
Digite este comando para instalar o servidor Web Apache:
sudo apt-get install apache2 apache2-utils
Instalar Apache, MariaDB e PHP7 (LAMP Stack) no Ubuntu 16.04 LTS
Depois de instalado o Apache deve ser iniciado automaticamente. Confira seu status com o comando systemctl.
systemctl status apache2
Exemplo de saída no terminal:
Loaded: loaded (/etc/init.d/apache2; bad; vendor preset: enabled)
Drop-In: /lib/systemd/system/apache2.service.d
??apache2-systemd.conf
Active: active (running) since Wed 2016-05-11 11:21:57 EDT; 32s ag
Se não estiver em execução, use o comando systemctl para iniciá-lo:
sudo systemctl start apache2
Também é uma boa ideia deixar o Apache iniciar automaticamente quando o Ubuntu 16.04 for iniciado, ou seja, durante o boot o serviço será ativado automaticamente:
sudo systemctl enable apache2
Verifique a versão do Apache:
apache2 -v
Exemplo de saída:
Server built: 2017-05-11T11:31:57
Instalar Apache, MariaDB e PHP7 (LAMP Stack) no Ubuntu 16.04 LTS
Você pode usar o seguinte comando para buscar o endereço IP público do servidor Ubuntu 16.04:
sudo apt-get install curl
curl http://icanhazip.com
Finalmente, precisamos criar o www-data (usuário Apache) como o proprietário do diretório raiz da web:
sudo chown www-data /var/www/html/ -R
Instalar MariaDB
MariaDB é uma substituição drop-in para o MySQL. Ele é desenvolvido por ex-membros da equipe do MySQL que se preocupam que a Oracle possa transformar o MySQL em um produto de código fechado. Muitas distribuições e empresas Linux migraram para MariaDB. Então vamos instalar o MariaDB em vez do MySQL.
sudo apt-get install mariadb-server mariadb-client
Depois de instalado, o servidor MariaDB geralmente é iniciado automaticamente. Use systemctl para verificar seu status:
systemctl status mysql
Exemplos de saída:
Loaded: loaded (/etc/init.d/mysql; bad; vendor preset: enabled)
Active: active (running) since Wed 2017-05-11 11:32:01 EDT; 1min 30s ago
Docs: man:systemd-sysv-generator(8)
Se não estiver em execução, inicie-o com este comando:
sudo systemctl start mysql
Para ativar o MariaDB automaticamente quando o Ubuntu 16.04 for reinicializado execute o comando abaixo:
sudo systemctl enable mysql
Agora execute o script de segurança pós-instalação:
sudo mysql_secure_installation
Instalar o PHP7
Digite o seguinte comando para instalar as extensões PHP7 e PHP7:
sudo apt-get install php7.0-fpm php7.0-mysql php7.0-common php7.0-gd php7.0-json php7.0-cli php7.0-curl libapache2-mod-php7.0
Ative o módulo Apache php7.0 e reinicie o servidor Web Apache:
sudo a2enmod php7.0
sudo systemctl restart apache2
Teste o PHP
Para testar a versão cli do PHP7, basta digitar este comando:
php –version
Exemplo de saída:
PHP 7.0.4-7ubuntu2 (cli) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies
with Zend OPcache v7.0.6-dev, Copyright (c)71999-2017, by Zend Technologies
Para testar o PHP com o servidor Apache, primeiro crie um arquivo test.php no diretório raiz da Web.
sudo nano /var/www/html/test.php
Cole o seguinte código PHP no arquivo:
<?php phpinfo(); ?>
Instalar Apache, MariaDB e PHP7 (LAMP Stack) no Ubuntu 16.04 LTS
Existem agora basicamente duas maneiras de executar o código PHP com o servidor web Apache:
- Módulo PHP do Apache
- PHP-FPM.
Mas se você quiser usar o PHP-FPM para executar o código PHP, então você precisa do módulo mod_proxy_fcgi do Apache para habilitar execute o seguinte comando:
sudo a2enmod proxy_fcgi
sudo nano /etc/apache2/sites-available/000-default.conf
Adicione ProxyPassMatch no arquivo:
ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined ProxyPassMatch ^/(.*\.php(/.*)?)$ unix:/run/php/php7.0-fpm.sock|fcgi://localhost/var/www/html/
sudo systemctl restart apache2
Agora vamos Iniciar o php7.0-fpm
sudo systemctl enable php7.0-fpm
Agora vamos ativar php7.0-fpm para iniciar no momento da inicialização do sistema:
sudo systemctl enable php7.0-fpm
Verificar status:
systemctl status php7.0-fpm
Exemplo de Saída:
Loaded: loaded (/lib/systemd/system/php7.0-fpm.service; enabled; vendor pre
set: enabled)
Active: active (running) since Wed 2017-05-11 11:50:05 EDT; 2s ago