Como instalar o ambiente LAMP

Atualizado para o Ubuntu 17.10 e posteriores

 
Introdução:

LAMP é o acrônimo para Linux + Apache + MySQL + PHP, ambiente mais popular para servidores Web. Obviamente, a esta altura o Linux já está instalado. Resta, portanto, instalar o AMP. Adicionalmente, este tutorial funciona como introdução para a instalação de serviços que necessitam destes programas, como o Wordpress e o OwnCloud.


Nota: a versão 16.04 do Ubuntu introduziu o PHP 7.0. Segue, portanto, o tutorial atualizado, com instruções tanto para a instalação da versão corrente do LAMP, com o PHP 7.0, quanto para a instalação do LAMP com PHP 5, para quem estiver usando versões anteriores do Ubuntu.


[Atualização] O Ubuntu 17.10 introduziu algumas novidades. Além de ter adotado o PHP 7.2, o método de autenticação do MySQL mudou, para utilizar automaticamente as credenciais do usuário root do sistema.

Isso pode ser muito bacana para alguns desenvolvedores, mas para quem utiliza o banco de dados conectados a programas como o phpMyAdmin e o MySQL Workbench, ou CMS como o WordPress e o Drupal, eles podem não funcionar sem o método tradicional de credenciamento.

Instalando o Apache:

No Terminal (Ctrl+Alt+T), digite:


a) PHP 7.2 [Ubuntu 7.10 em diante]:

sudo apt install apache2 libapache2-mod-php7.2  


b) PHP 7.0:

sudo apt install apache2  libapache2-mod-php7.0


c) PHP 5:

sudo apt-get install apache2 libapache2-mod-php5


d) Para todas as versões:

Para testar a instalação, abra o navegador web e digite o seguinte endereço:

http://localhost/

ou


http://endereço-de-ip-do-servidor/

Instalando o MySQL:

Após instalar o Apache, é hora de instalar o MySQL:


a) PHP 7.2 [Ubuntu 7.10 em diante]:

sudo apt install mysql-server mysql-client php7.2-mysql


b) PHP 7.0:

sudo apt install mysql-server mysql-client php7.0-mysql


c) PHP 5:

sudo apt-get install mysql-server mysql-client php5-mysql


d) Alteração do método de credenciamento [Apenas Ubuntu 7.10 em diante]:

Se você utiliza o Ubuntu 17.10, ou mais recente, deve ter notado que não foi requerido o cadastramento de uma senha durante a instalação do MySQL. Isso se deve ao fato de que o Ubuntu passou a utilizar as próprias credenciais do sistema para validar os usuários no MySQL, o que pode inviabilizar a utilização de alguns serviços que interagem com o banco de dados.

Pelo novo modelo de credenciamento, para acessar o console do MySQL, basta digitar o comando abaixo:

sudo mysql -u root

Repare que não foi utilizado o parâmetro "-p", referente à senha do usuário root do MySQL, pois será utilizada a mesma do sistema.

Para resetar esse comportamento e retornar ao método clássico de credenciamento dos usuários no MySQL, use os comandos a seguir:

No Terminal (Ctrl+Alt+T), comece se logando ao MySQL:

sudo mysql -u root

Uma vez logado, rode cada um dos comando a seguir, um por um:

USE mysql;

UPDATE user SET plugin='mysql_native_password' WHERE User='root';

FLUSH PRIVILEGES;

exit;


Reinicie o MySQL com o comando a seguir.


sudo systemctl restart mysql.service


Siga para o item "e" abaixo.


e) Para todas as versões:

Para tornar a instalação segura, rode o comando abaixo:

sudo mysql_secure_installation

 

 

Quando instado a tanto, responda às perguntas da seguinte forma:


Would you like to setup VALIDATE PASSWORD plugin? (Y, se quiser usar o plugion de validação, N, se não achar necessário).
Enter current password for root (enter for none): [digite uma senha segura]
Change the root password? N (Nota: se tiver seguido o passo "d", insira aqui a senha de root que será utilizada.)

Remove anonymous users? Y
Disallow root login remotely? Y
Remove test database and access to it? Y
Reload privilege tables now? Y


Responda "Yes" para as demais perguntas, até o final.

Para testar a instalação do MySQL, rode o seguinte comando no Terminal:

sudo service mysql status

Instalando o PHP e outros módulos:

Após instalar o servidor de dados, rode os comandos abaixo, no Terminal, para instalar o PHP e outros módulos:

a) PHP 7.2 [Ubuntu 7.10 em diante]:

sudo apt install php7.2


sudo apt install php7.2-curl php7.2-gd php7.2-intl php-pear php-imagick php7.2-imap php-memcache memcached php7.2-ps php7.2-pspell php7.2-recode php7.2-snmp php7.2-sqlite php7.2-tidy php7.2-xmlrpc php7.2-xml php7.2-xsl build-essential php7.2-dev php7.2-json php7.2-fpm php7.2-cli php7.2-mbstring php7.2-zip snmp php-ssh2 php7.2-opcache php-apcu

b) PHP 7.0:

sudo apt install php7.0


sudo apt install php7.0-curl php7.0-gd php7.0-intl php-pear php-imagick php7.0-imap php-mcrypt php7.0-mcrypt php-memcache memcached php7.0-ps php7.0-pspell php7.0-recode php7.0-snmp php7.0-sqlite php7.0-tidy php7.0-xmlrpc php7.0-xml php7.0-xsl build-essential php7.0-dev php7.0-json libapache2-mod-fastcgi php7.0-fpm php7.0-cli php7.0-mbstring php7.0-zip php-xml-parser snmp php-ssh2 php7.0-opcache php-apcu


c) PHP 5:

sudo apt-get install php5


sudo apt-get install php5-curl php5-gd php5-intl php-pear php5-imagick php5-imap php5-mcrypt php5-memcache memcached php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl build-essential php5-dev php5-json php5-fpm php5-cli php-xml-parser snmp libssh2-php


c) Para todas as versões:

Para testar a instalação do PHP, crie uma página de teste, com a ajuda do Nano, da seguinte forma: no Terminal, digite:


sudo nano /var/www/html/testphp.php


Será aberto com um documento vazio. Copie e cole (Shift+Ctrl+V) as seguintes linhas:

<?php
phpinfo();
?>


Salve o documento e feche o Nano com a seguinte sequência de teclas: Ctrl+X, Y (ou "s", se o sistema estiver em português) e Enter. Em seguida, reinicie o Apache com o comando abaixo:

sudo service apache2 restart

Outras opções interessantes:


sudo service apache2 restart|stop|start|reload


Abra o navegador web e digite o seguinte endereço:


http://localhost/testphp.php







Notas finais:

Com o LAMP instalado, é possível desenvolver sítios-web dinâmicos inteiramente em seu computador pessoal, para depois transferí-lo inteiramente para o servidor-web remoto. Outra opção é transformar seu computador em um servidor-web, o que quer dizer que sterceiros poderão acessar seu site diretamente em sua máquina. Por fim, o LAMP pode ser utilizado para rodar aplicações-web locais, como o OwnCloud.