Last active
August 18, 2025 02:36
-
-
Save mateusreis/fd76c955fe74dd8ef48451fcced11896 to your computer and use it in GitHub Desktop.
LAMP Debian 13 - 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| By Mateus Reis - 17/08/2025 - sem revisão, mas funcionou | |
| 1.1: Update Software Packages and Install wget | |
| $ sudo apt update | |
| $ sudo apt install wget -y | |
| 1.2: Install Apache | |
| $ sudo apt install apache2 -y | |
| $ systemctl status apache2 | |
| 1.3: Install PHP on Debian 13 | |
| $ sudo apt -y install php php-cgi php-mysqli php-pear php-mbstring libapache2-mod-php php-common php-phpseclib php-mysql | |
| $ php --version | |
| 1.4: Install and Set Up MariaDB on Debian 12 | |
| $ sudo apt install mariadb-server mariadb-client -y | |
| $ systemctl status mariadb | |
| $ sudo mariadb-secure-installation | |
| As you have not yet set a root password for your database, hit Enter to skip the initial query. Complete the following queries: | |
| a. Switch to unix_socket authentication [Y/n]. Enter n to skip. | |
| b. Set root password? [Y/n]. Type y and press Enter to create a strong root password for your database. c. If you already have a root password, enter n to answer the Change the root password question. | |
| d. Remove anonymous users? [Y/n]. Type y and press Enter. | |
| e. Disallow root login remotely? [Y/n]. Type y and press Enter. | |
| f. Remove test database and access to it? [Y/n]. Type y and confirm with Enter. | |
| g. Reload privilege tables now? [Y/n]. Type y and confirm with Enter. | |
| Create New MariaDB User: | |
| $ sudo mysql -u root | |
| $ sudo mysql -u root -p | |
| > CREATE DATABASE YOUR_DB; | |
| > SHOW DATABASES; | |
| > CREATE USER 'user1'@localhost IDENTIFIED BY 'password1'; | |
| > SELECT User FROM mysql.user; | |
| > GRANT ALL PRIVILEGES ON *.* TO 'user1'@localhost IDENTIFIED BY 'password1'; | |
| > GRANT ALL PRIVILEGES ON YOUR_DB.* TO 'user1'@localhost; | |
| > FLUSH PRIVILEGES; | |
| > SHOW GRANTS FOR 'user1'@localhost; | |
| > DROP USER 'user1'@localhost; | |
| 2: Download phpMyAdmin | |
| $ wget -P Downloads https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.tar.gz | |
| 3: Check phpMyAdmin GPG Key | |
| $ wget -P Downloads https://files.phpmyadmin.net/phpmyadmin.keyring | |
| $ cd Downloads | |
| $ gpg --import phpmyadmin.keyring | |
| $ wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.tar.gz.asc | |
| $ gpg --verify phpMyAdmin-latest-all-languages.tar.gz.asc | |
| 4: Unpack and Configure phpMyAdmin | |
| $ sudo mkdir /var/www/html/phpMyAdmin | |
| $ sudo tar xvf phpMyAdmin-latest-all-languages.tar.gz --strip-components=1 -C /var/www/html/phpMyAdmin | |
| 5: Secure phpMyAdmin Instance | |
| $ sudo cp /var/www/html/phpMyAdmin/config.sample.inc.php /var/www/html/phpMyAdmin/config.inc.php | |
| $ sudo nano /var/www/html/phpMyAdmin/config.inc.php | |
| Locate the following line and add a secret passphrase between the single quotes: | |
| $cfg['blowfish_secret'] = ''; | |
| For example: | |
| $cfg['blowfish_secret'] = 'My_Secret_Passphras3!'; | |
| $ sudo chmod 660 /var/www/html/phpMyAdmin/config.inc.php | |
| $ sudo chown -R www-data:www-data /var/www/html/phpMyAdmin | |
| Restart Apache: | |
| $ sudo systemctl restart apache2 | |
| http://localhost/phpMyAdmin | |
| Deu pau de permissao? | |
| $ cd /var/www/html/phpMyAdmin/ | |
| $ sudo chown www-data:www-data config.inc.php | |
| Deu erro: | |
| >> mysqli::real_connect(): (HY000/1698): Access denied for user 'root'@'localhost' | |
| Solução: Crie um novo usuário para o phpMyAdmin | |
| A maneira mais segura e recomendada de resolver isso é não usar o usuário root para aplicações como o phpMyAdmin. Em vez disso, crie um novo usuário com privilégios específicos para o banco de dados. | |
| Acesse o MariaDB/MySQL como root: | |
| No terminal, execute o comando para acessar o MariaDB com privilégios de superusuário (root do sistema). | |
| $ sudo mysql -u root | |
| Crie um novo usuário: | |
| Dentro do prompt do MariaDB, crie um novo usuário e defina uma senha forte. | |
| > CREATE USER 'admin'@'localhost' IDENTIFIED BY 'Dados2010'; | |
| Conceda privilégios ao novo usuário: | |
| Dê ao novo usuário as permissões necessárias para gerenciar bancos de dados. | |
| > GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost' WITH GRANT OPTION; | |
| Recarregue os privilégios: | |
| Atualize as tabelas de permissões para que as mudanças tenham efeito imediatamente. | |
| > FLUSH PRIVILEGES; | |
| Saia do MariaDB: | |
| > EXIT; | |
| Mude a configuração do phpMyAdmin | |
| Agora, você precisa editar o arquivo de configuração do phpMyAdmin para usar o novo usuário. | |
| Abra o arquivo de configuração: | |
| $ sudo nano /var/www/html/phpMyAdmin/config.inc.php | |
| Atualize a linha de usuário: | |
| Procure pela linha que define o usuário e altere-a para o novo usuário que você criou: | |
| $cfg['Servers'][$i]['user'] = 'admin'; | |
| $cfg['Servers'][$i]['password'] = 'Dados2010'; | |
| Salve e saia: | |
| Pressione Ctrl + O para salvar e Ctrl + X para sair. | |
| Depois de seguir esses passos, você poderá fazer login no phpMyAdmin com o usuário e senha que acabou de criar, evitando o problema de acesso negado do usuário root. Essa abordagem é mais segura, pois evita que a aplicação use o usuário com privilégios de superusuário. | |
| $ echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/teste.php | |
| > http://localhost/test.php | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment