Este tutorial está baseado na versão do Linux Ubuntu 20.4 LTS.
Uma versão atualizada para o Linux Ubuntu 22.04.3 LTS está disponível em: https://github.com/EdsonMSouza/Apache-PHP-MariaDB
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.
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/.
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
sudo apt install apache2
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.
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
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
sudo systemctl restart apache2
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
sudo apt install mariadb-server mariadb-client
sudo systemctl status mariadb
- Se o comando não finalizar, pressione
CTRL+C
para sair.
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.
Digite o seguinte comando:
sudo mysql
Você terá na tela algo semelhante a:
MariaDB [(none)]>
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;
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
CREATE DATABASE bd_teste;
USE bd_teste;
CREATE TABLE tb_teste (id int primary key not null auto_increment, nome varchar(50));
INSERT INTO tb_teste (nome) VALUES ("Primeiro Nome");
INSERT INTO tb_teste (nome) VALUES ("Segundo Nome");
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)
quit;
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
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
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.
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}
}
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.