TUTORIAL LINUX + APACHE + PHP + MySQL
Este tutorial está baseado na versão do Linux Ubuntu 20.4 LTS.
Os recursos para a instalação da máquina virtual foram configurados para atender a grande maioria de usuários. Entretanto, podem ocorrer casos em que haverá a necessidade de ajustes. Para isso, procure tutoriais no YouTube ou Google para resolução de problemas.
Aqui o objetivo é mostrar apenas a instalação e configuração do ambiente e dos programas.
Os comandos Linux não serão explicados, ficando como sugestão para estudos e aprendizagem do sistema operacional Linux.
Instalação do VirtualBox (Oracle)
A instalação está baseada em sistemas Windows. Se você já utiliza o Linux, não há a necessidade de instalar a máquina virtual e você já pode pular para "Instalação do Apache, PHP e MySQL".
Faça o download do programa VirtualBox no endereço: https://www.virtualbox.org/ e siga os seguintes passos:
- Execute a instalação seguindo as orientações apresentadas.
- Faça o download da imagem de instalação do Linux Ubuntu 20.4 LTS e salve em um local de sua preferência. O arquivo terá aproximadamente 3GB. Link para download: https://ubuntu.com/download/desktop/thank-you?version=20.04.2.0&architecture=amd64
- Abra o VirtualBox.
- Crie uma máquina virtual e dê o nome de Linux Ubunut 20.4 LTS.
- Em "Type" (Tipo), selecione Linux.
- Em "Version" (Versão), selecione Ubuntu (64-bit) ou (32bit) - depende a versão que foi baixada.
- Selecione a quantidade RAM. É recomendado no mínimo 1024MB (1GB).
- Selecione a segunda opção para o tipo de "Hard Disk" (Disco Rígido) - "Virtual".
- Ma próxima tela, selecione a primeira opção
VDI
. - Na próxima tela, selecione a primeira opção ou "Dinamicamente Alocado".
- Informe o tamanho para o disco a ser criado. É recomendado no mínimo 10GB.
- Clique em criar (Create) e aguarde.
- Dê um duplo clique sobre o nome da máquina criada para inicializá-la.
- Se não for identificada a imagem do Linux, clique no menu Dispositivos (Devices) e adicione um Disco Ótico Virtual, apontando para o local onde a imagem do Linux foi salva.
- Aguarde a inicialização, e prossiga com a instalação do Linux, selecionando "Install Ubutuntu" (Instalar o Ubuntu).
Caso necessário, faça ajustes de acordo com a disponibilidade dos seus recursos de hardware (Memória e Vídeo).
Se ocorrer algum erro durante a instalação, procure a solução no StackOverflow ou no YouTube.
Você pode visualizar as telas de instalação (em inglês) em https://itsfoss.com/install-linux-in-virtualbox/.
Instalação do Apache, PHP e MySQL
Siga corretamente todas as etapas a seguir para a isntalação dos programas necessários, assim como suas configurações.
Para executar comandos no terminal do Linux é necessário pressionar a tecla ENTER
ao final de cada instrução.
Acesse o Terminal do Linux pressionando as teclas CTRL+ALT+T
. Uma outra forma é pressionar a tecla Windows
e digitar cmd
Primeiro, precisaremos atualizar o índice do repositório do sistema para instalar a versão mais recente do Apache2 (Servidor Web)
sudo apt-get update
A seguir atualize os pacotes. (Pressione Y
quando solicitado).
sudo apt-get upgrade
Abrindo as portas 22 (SSH), 80 (HTTP) and 443 (HTTPS) e habilitando o Firewall (ufw). Execute um comando de cada vez.
sudo ufw allow ssh
sudo ufw allow 80
sudo ufw allow 443
sudo ufw enable
Instalando o servidor Apache
sudo apt install apache2
Testando a instalação do Apache
sudo systemctl status apache2
- Pressione CTRL+C para sair.
- Em seguida, abra o navegador da web (Firefox) e acesse a página de boas-vindas do apache, digitando: http://localhost.
Instalando o PHP7.4 (Linguagem de Programação)
sudo apt install php7.4 php7.4-mysql php-common php7.4-cli php7.4-json php7.4-common php7.4-opcache libapache2-mod-php7.4
Verificando a instalação do PHP 7.4
Retorne para o Terminal do Linux e digite:
php --version
O resultado será semelhante ao apresentado a seguir.
PHP 7.3.26 (cli) (built: Jan 5 2021 15:10:35) ( ZTS MSVC15 (Visual C++ 2017) x64
) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.3.26, Copyright (c)
1998-2018 Zend Technologies
Reinicializando o servidor Apache para integrar o PHP
sudo systemctl restart apache2
Testando o funcionamento do servidor com o PHP
Digite no Terminal do Linux o comando a seguir para criar um arquivo que mostrará as configurações atuais do PHP no navegador.
echo '<?php phpinfo(); ?>' | sudo tee -a /var/www/html/phpinfo.php > /dev/null
Teste no navegador o funcionamento com a url: http://localhost/phpinfo.php
Se tudo estiver "OK", será mostrada uma página com as informações do PHP.
Exclua o arquivo criado com o seguinte comando:
sudo rm /var/www/html/phpinfo.php
Instalando o servidor de banco de dados MariaDB (MySQL)
sudo apt install mariadb-server mariadb-client
Verificando o status da instalação do MariaDB
sudo systemctl status mariadb
- Se o comando não finalizar, pressione
CTRL+C
para sair.
Protegendo o MariaDB
sudo mysql_secure_installation
Como não existe uma senha de root definida para o banco de dados, você deve simplesmente pressionar Enter
quando receber a seguinte mensagem: Enter current password for root (enter for none):
Na próxima pergunta, pressione Y para definir uma senha de root (mantenha-a segura e protegida!) e siga as orientações.
Para as próximas perguntas, você pode pressionar Enter
para cada um dos itens.
Acessando o MySQL via CLI (Command Line)
Digite o seguinte comando:
sudo mysql
Você terá na tela algo semelhante a:
MariaDB [(none)]>
Criação de usuário no MariaDB
Criando um usuário admin padrão no banco de dados diferente de root.
Para isso, digite as linhas abaixo (uma linha por vez) e pressione ENTER
para executá-la.
Não esqueça de colocar o ponto-e-vírgula ";
" no final de cada linha.
CREATE USER 'admin'@'localhost' IDENTIFIED BY 'admin';
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost';
FLUSH PRIVILEGES;
quit;
Acessando o MariaDB
Para acessar o MariaDB com o novo usuário criado, digite o comando a seguir e informe a senha definida anteriormente (admin) quando solicitado:
sudo mysql -u admin -p
Criando um banco de dados no MariaDB
CREATE DATABASE bd_teste;
bd_teste
Selecionando o banco USE bd_teste;
Criando uma tabela de dados
CREATE TABLE tb_teste (id int primary key not null auto_increment, nome varchar(50));
Inserindo registros na tabela (tb_teste)
INSERT INTO tb_teste (nome) VALUES ("Primeiro Nome");
INSERT INTO tb_teste (nome) VALUES ("Segundo Nome");
Verificando as inclusões realizadas
SELECT * FROM tb_teste;
O resultado deverá ser igual ao mostrado abaixo.
+----+---------------+
| id | nome |
+----+---------------+
| 1 | Primeiro Nome |
| 2 | Segundo Nome |
+----+---------------+
2 rows in set (0.000 sec)
Sair do MariaDB
quit;
Testando a conexão do PHP com o banco de dados MariaDB
Criando um diretório para colocar um arquivo de teste de conexão do PHP com o banco de dados criado anteriormente bd_teste:
sudo mkdir /var/www/html/teste
Acessando o diretório criado
cd /var/www/html/teste
Execute o comando ls -la
para realizar a listagem do diretório e verificar se ele está vazio. O resultado deste comando pode ser visualizado abaixo.
drwxr-xr-x 2 root root 4096 ago 8 21:22 .
drwxr-xr-x 3 root root 4096 ago 8 21:22 ..
Para criar o script PHP
(programa) e fazer a conexão com o banco de dados bd_teste, vamos utilizar a biblioteca PDO de acesso a dados. Para isso, digite o seguinte comando para abrir o editor de textos (Nano
):
sudo nano index.php
Digite as instruções a seguir no arquivo aberto:
<?php
try {
$conn = new PDO('mysql:host=localhost;dbname=bd_teste', 'admin', 'admin');
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$data = $conn->query('SELECT * FROM tb_teste');
foreach($data as $key => $value) {
print("Id: " . $value[0] . "</br>");
print("Nome: " . $value[1] . "</br>");
print("</br></br>");
}
} catch(PDOException $e) {
echo 'ERROR: ' . $e->getMessage();
}
Para salvar o arquivo, pressione as teclas CTRL+X
simultaneamente, depois digite Y
e, por fim, pressione ENTER
para fechar o editor de textos.
Execute novament o comando ls -la
para realizar a listagem do diretório e verificar se o arquivo foi criado corretamente. O resultado deste comando pode ser visualizado abaixo, mostrando o arquivo index.php
.
drwxr-xr-x 2 root root 4096 ago 8 21:27 .
drwxr-xr-x 3 root root 4096 ago 8 21:22 ..
-rw-r--r-- 1 root root 469 ago 8 21:27 index.php
Testando o funcionamento do programa
Acesse novamente o navegador e digite: http://localhost/teste
Se tudo ocorreu como o esperado, deverá ser mostrado no navegador os dados cadastrados anteriormente no banco de dados.
Agora é só estudar e desenvolver suas aplicações.
Como citar este conteúdo
Souza, Edson Melo de. (2021, August 7). Tutorial Linux-PHP-MySQL no VirtualBox.
Available in: https://github.com/EdsonMSouza/tutorial_lamp_virtualbox
Ou BibTeX para LaTeX:
@misc{Souzaem2021LAMP,
author = {Souza, Edson Melo de},
title = {Tutorial Linux-PHP-MySQL no VirtualBox},
url = {https://github.com/EdsonMSouza/tutorial_lamp_virtualbox},
year = {2021},
month = {August}
}
License
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.