debian 12 · mariadb · apache · php

WordPress + phpMyAdmin
na Debianie 12

// Kompletny poradnik instalacji krok po kroku

01

Aktualizacja systemu

🧱

Przed instalacją zawsze aktualizuj system — unikasz problemów z zależnościami.

bash
sudo apt update && sudo apt upgrade -y
02

Instalacja Apache

🌐

Apache to serwer WWW, który będzie obsługiwał Twoje strony.

bash
sudo apt install apache2 -y
sudo systemctl enable apache2
sudo systemctl start apache2
🌐 Sprawdź w przeglądarce: http://IP-serwera — powinieneś zobaczyć stronę powitalną Apache.
03

Instalacja MariaDB

🐬

MariaDB to system baz danych kompatybilny z MySQL — WordPress i phpMyAdmin tego potrzebują.

bash
sudo apt install mariadb-server -y
sudo systemctl enable mariadb
sudo systemctl start mariadb

Zabezpieczenie bazy

bash
sudo mysql_secure_installation
04

Instalacja PHP

🐘

WordPress i phpMyAdmin wymagają PHP wraz z kilkoma rozszerzeniami.

bash
sudo apt install php php-mysql libapache2-mod-php \
  php-cli php-curl php-gd php-xml php-mbstring unzip -y

# Opcjonalnie (stabilność)
sudo apt install php-intl php-zip php-soap php-bcmath -y

sudo systemctl restart apache2
05

Instalacja phpMyAdmin

🧑‍💻
bash
sudo apt install phpmyadmin -y

# Jeśli nie podłączyło się automatycznie:
sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf
sudo a2enconf phpmyadmin
sudo systemctl reload apache2
🌐 Panel phpMyAdmin dostępny pod: http://IP-serwera/phpmyadmin
06

Tworzenie bazy danych

🗄️

Utwórz dedykowaną bazę i użytkownika dla WordPressa.

bash
sudo mysql
sql
CREATE DATABASE wordpress;
CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'silne_haslo';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
⚠️ Upewnij się że nazwa bazy to wordpress, nie worldpress — literówka spowoduje błąd połączenia!
07

Instalacja WordPress

🌍
bash
cd /var/www/html

sudo wget https://wordpress.org/latest.tar.gz
sudo tar -xvzf latest.tar.gz
sudo mv wordpress/* .
sudo rm -rf wordpress latest.tar.gz

# Uprawnienia
sudo chown -R www-data:www-data /var/www/html
sudo chmod -R 755 /var/www/html
08

Konfiguracja WordPress

⚙️
bash
sudo cp wp-config-sample.php wp-config.php
sudo nano wp-config.php

Ustaw dane połączenia

php
define('DB_NAME',     'wordpress');
define('DB_USER',     'wpuser');
define('DB_PASSWORD', 'silne_haslo');
define('DB_HOST',     'localhost');
🚀 Wejdź na http://IP-serwera i dokończ instalację przez kreator WordPress.

FIX

phpMyAdmin — Access Denied

🔐
❌ Błąd: Access denied for user 'root'@'localhost' — na Debianie 12 root loguje się przez unix_socket, co phpMyAdmin nie obsługuje.
⭐ Opcja A — użytkownik admin (ZALECANA)

Bezpieczniejsza i rekomendowana metoda — nie używaj root w phpMyAdmin.

🔧 Opcja B — ustaw hasło root

Prostsze rozwiązanie, ale mniej bezpieczne dla środowisk produkcyjnych.

Opcja A — stwórz użytkownika admin (zalecana)

bash
sudo mysql
sql
CREATE USER 'admin'@'localhost' IDENTIFIED BY 'StrongPass123!';
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;

Logowanie do phpMyAdmin: admin / StrongPass123!

Opcja B — zmień hasło root

bash — szybka metoda (jedna linia)
sudo mysql -e "ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'TwojeHaslo!'; FLUSH PRIVILEGES;"

Diagnostyka — sprawdź metodę logowania

sql
SELECT user, host, plugin FROM mysql.user WHERE user='root';

Jeśli widzisz auth_socket — musisz użyć opcji B z mysql_native_password.

FIX

wp-config.php — Uprawnienia i FS_METHOD

🛠️
⚠️ Jeśli WordPress nie może automatycznie zapisać wp-config.php — ustaw poprawne uprawnienia.

Popraw właściciela i prawa dostępu

bash
sudo chown -R www-data:www-data /var/www/html/wordpress

sudo find /var/www/html/wordpress -type d -exec chmod 755 {} \;
sudo find /var/www/html/wordpress -type f -exec chmod 644 {} \;

Dodaj FS_METHOD do wp-config.php

bash
sudo nano /var/www/html/wordpress/wp-config.php

Dodaj tę linię nad komentarzem /* That's all, stop editing! */:

php
define('FS_METHOD', 'direct');
✅ Po zapisaniu zmian WordPress powinien już działać bez błędów uprawnień.