Pesquisa de site

Instale Apache, MariaDB, PHP (pilha LAMP) no Ubuntu 18.04 LTS Server


Como você já deve saber, a pilha LAMP é uma plataforma popular de desenvolvimento web de código aberto que pode ser usada para executar e implantar sites dinâmicos e aplicativos baseados na web. Normalmente, a pilha LAMP consiste em servidor web Apache, bancos de dados MariaDB/MySQL, linguagens de programação PHP/Python/Perl. LAMP é o acrônimo de Linux, MariaDB/MYSQL, PHP/P<ython/Perl. Neste tutorial, veremos como instalar o Apache, MariaDB, PHP (pilha LAMP) no servidor Ubuntu 18.04 LTS.

Instale Apache, MariaDB, PHP (pilha LAMP) no Ubuntu 18.04 LTS Server

Para os fins deste tutorial, usarei a seguinte caixa de teste.

  • Sistema operacional: Servidor Ubuntu 18.04 LTS de 64 bits
  • Endereço IP: 192.168.225.22/24

1. Instale o servidor web Apache

Para instalar o servidor web Apache, execute o seguinte comando no Terminal:

sudo apt install apache2

Verifique se o servidor web Apache está rodando ou não:

$ sudo systemctl status apache2
● apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
Drop-In: /lib/systemd/system/apache2.service.d
└─apache2-systemd.conf
Active: active (running) since Fri 2018-07-06 11:42:35 UTC; 27s ago
Main PID: 2079 (apache2)
Tasks: 55 (limit: 2322)
CGroup: /system.slice/apache2.service
├─2079 /usr/sbin/apache2 -k start
├─2081 /usr/sbin/apache2 -k start
└─2082 /usr/sbin/apache2 -k start

Jul 06 11:42:35 ubuntuserver systemd[1]: Starting The Apache HTTP Server...
Jul 06 11:42:35 ubuntuserver systemd[1]: Started The Apache HTTP Server.

O serviço Apache está carregado e em execução!

1.1 Ajuste o firewall para permitir o servidor web Apache

Por padrão, o navegador Apache não pode ser acessado de sistemas remotos se você tiver habilitado o firewall UFW no Ubuntu 18.04 LTS. Você deve permitir o tráfego http e https via UFW seguindo as etapas abaixo.

Primeiro, vamos ver quais aplicativos instalaram um perfil usando o comando:

$ sudo ufw app list
Available applications:
Apache
Apache Full
Apache Secure
OpenSSH

Como você pode ver, os aplicativos Apache e OpenSSH possuem perfis UFW instalados.

Se você olhar o perfil “Apache Full ”, verá que ele permite o tráfego para as portas 80 e 443:

$ sudo ufw app info "Apache Full"
Profile: Apache Full
Title: Web Server (HTTP,HTTPS)
Description: Apache v2 is the next generation of the omnipresent Apache web
server.

Ports:
80,443/tcp

Agora, execute o seguinte comando para permitir o tráfego de entrada HTTP e HTTPS para este perfil:

$ sudo ufw allow in "Apache Full"
Rules updated
Rules updated (v6)

Se você não quiser permitir o tráfego https, mas apenas o tráfego http (80), execute este comando:

sudo ufw app info "Apache"

Agora, abra seu navegador e navegue até http://localhost/ ou http://IP-Address/.

Se você vir uma tela como a acima, você está pronto para prosseguir. O servidor Apache está funcionando!

2. Instale MariaDB

MariaDB é o substituto imediato do servidor de banco de dados MySQL.

Para instalá-lo, execute:

sudo apt install mariadb-server mariadb-client

A versão do MariaDB nos repositórios oficiais do Ubuntu pode estar desatualizada. Se você deseja instalar o MariaDB mais recente, adicione o repositório oficial do MariaDB para Ubuntu e instale-o conforme mostrado abaixo.

Primeiro, adicione o repositório MariaDB e importe a chave conforme mostrado abaixo.

sudo apt-get install software-properties-common
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8 
sudo add-apt-repository 'deb [arch=amd64,arm64,ppc64el] http://sgp1.mirrors.linux-console.net/mariadb/repo/10.3/ubuntu bionic main'

Após adicionar o repositório, execute os seguintes comandos para instalar o MariaDB.

sudo apt update
sudo apt install mariadb-server

Verifique se o serviço MariaDB está rodando ou não usando o comando:

sudo systemctl status mysql

Exemplo de resultado:

● mariadb.service - MariaDB database server
Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2018-07-06 11:52:12 UTC; 2min 39s ago
Main PID: 3869 (mysqld)
Status: "Taking your SQL requests now..."
Tasks: 27 (limit: 2322)
CGroup: /system.slice/mariadb.service
└─3869 /usr/sbin/mysqld

Jul 06 11:52:13 ubuntuserver /etc/mysql/debian-start[3906]: mysql
Jul 06 11:52:13 ubuntuserver /etc/mysql/debian-start[3906]: performance_schema
Jul 06 11:52:13 ubuntuserver /etc/mysql/debian-start[3906]: Phase 6/7: Checking and upgrading tables
Jul 06 11:52:13 ubuntuserver /etc/mysql/debian-start[3906]: Processing databases
Jul 06 11:52:13 ubuntuserver /etc/mysql/debian-start[3906]: information_schema
Jul 06 11:52:13 ubuntuserver /etc/mysql/debian-start[3906]: performance_schema
Jul 06 11:52:13 ubuntuserver /etc/mysql/debian-start[3906]: Phase 7/7: Running 'FLUSH PRIVILEGES'
Jul 06 11:52:13 ubuntuserver /etc/mysql/debian-start[3906]: OK
Jul 06 11:52:13 ubuntuserver /etc/mysql/debian-start[3975]: Checking for insecure root accounts.
Jul 06 11:52:13 ubuntuserver /etc/mysql/debian-start[3979]: Triggering myisam-recover for all MyISAM tables and aria-recover for all Aria tables

Mysql está rodando!

2.1 Configurar senha do usuário administrativo (root) do banco de dados

Durante a instalação do MariaDB, será definida a senha para a conta do usuário administrativo (root).

Se você tentar configurar a senha manualmente usando o comando:

mysql_secure_installation

Você não pode fazer login e definir a senha. Você verá um erro como abaixo.

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
 SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none): 
ERROR 1698 (28000): Access denied for user 'root'@'localhost'
Enter current password for root (enter for none):

Para corrigir esse problema, faça login como administrador do banco de dados MySQL usando o comando:

sudo mysql -u root

Após fazer login no prompt do MySQL, execute os seguintes comandos um por um.

use mysql;
update user set plugin='' where User='root';
flush privileges;
\q

Agora, você pode definir a senha administrativa do banco de dados usando o comando:

mysql_secure_installation

Digite a senha e pressione a tecla ENTER para aceitar os valores padrão.

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
 SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none): # Press ENTER
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

Set root password? [Y/n] # Press ENTER
New password: # Enter password
Re-enter new password: # Re-enter password
Password updated successfully!
Reloading privilege tables..
 ... Success!

By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] # Press ENTER
 ... Success!

Normally, root should only be allowed to connect from 'localhost'. This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] # Press ENTER
 ... Success!

By default, MariaDB comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] # Press ENTER
 - Dropping test database...
ERROR 1008 (HY000) at line 1: Can't drop database 'test'; database doesn't exist
 ... Failed! Not critical, keep moving...
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] # Press ENTER
 ... Success!

Cleaning up...

All done! If you've completed all of the above steps, your MariaDB
installation should now be secure.

É isso. A senha da conta do usuário administrativo do banco de dados foi definida.

3, Instale o PHP

Para instalar o PHP, execute:

sudo apt install php libapache2-mod-php php-mysql

Após instalar o PHP, crie o arquivo info.php na pasta raiz do Apache. Normalmente, a pasta de documentos raiz do Apache será /var/www/html/ ou /var/www/ na maioria das distribuições Linux baseadas em Debian. No Ubuntu 18.04 LTS, é /var/www/html/.

Crie info.php na pasta raiz do Apache conforme mostrado abaixo.

sudo vi /var/www/html/info.php

Adicione as seguintes linhas:

<?php
phpinfo();
?>

Salve e saia do arquivo. Reinicie o serviço Apache para que as alterações tenham efeito.

sudo systemctl restart apache2

Agora, abra seu navegador e digite: http://IP-address/info.php na barra de endereço.

Você ficará satisfeito com uma tela como a abaixo.

Instale módulos PHP

Para melhorar a funcionalidade do PHP, você pode instalar alguns módulos PHP adicionais.

Para listar os módulos PHP disponíveis, execute:

sudo apt-cache search php- | less

Exemplo de resultado:

Use as setas e para mover para cima e para baixo entre o resultado. Para sair do resultado, digite q.

Para encontrar os detalhes de qualquer módulo php específico, por exemplo php-gd, execute:

sudo apt-cache show php-gd

Para instalar um módulo php, execute:

sudo apt install php-gd

Para instalar todos os módulos (embora não seja necessário), execute:

sudo apt-get install php*

Não se esqueça de reiniciar o serviço Apache após instalar qualquer módulo php.

Parabéns! Configuramos com sucesso a pilha LAMP no servidor Ubuntu 18.04 LTS.

Leia também:

  • Instalar pilha Apache, MySQL, PHP (LAMP) no Ubuntu 18.04 LTS
  • Instale Nginx, MariaDB, PHP (LEMP Stack) no Ubuntu 18.04 LTS
  • Instale a pilha Apache, MariaDB, PHP (LAMP) no Arch Linux
  • Instale a pilha Nginx, MariaDB, PHP (LEMP) no Arch Linux

E isso é tudo por agora. Como você pode ver, configurar a pilha LAMP no Ubuntu é absolutamente fácil e direto. Qualquer pessoa com experiência limitada pode configurar facilmente a pilha LAMP. Mais coisas boas estão por vir. Fique atento!

Saúde!

Artigos relacionados