// Kompletny poradnik instalacji krok po kroku
Przed instalacją zawsze aktualizuj system — unikasz problemów z zależnościami.
sudo apt update && sudo apt upgrade -y
Apache to serwer WWW, który będzie obsługiwał Twoje strony.
sudo apt install apache2 -y
sudo systemctl enable apache2
sudo systemctl start apache2
http://IP-serwera — powinieneś zobaczyć stronę powitalną Apache.
MariaDB to system baz danych kompatybilny z MySQL — WordPress i phpMyAdmin tego potrzebują.
sudo apt install mariadb-server -y
sudo systemctl enable mariadb
sudo systemctl start mariadb
sudo mysql_secure_installation
WordPress i phpMyAdmin wymagają PHP wraz z kilkoma rozszerzeniami.
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
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
http://IP-serwera/phpmyadmin
Utwórz dedykowaną bazę i użytkownika dla WordPressa.
sudo mysql
CREATE DATABASE wordpress;
CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'silne_haslo';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
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
sudo cp wp-config-sample.php wp-config.php
sudo nano wp-config.php
define('DB_NAME', 'wordpress');
define('DB_USER', 'wpuser');
define('DB_PASSWORD', 'silne_haslo');
define('DB_HOST', 'localhost');
http://IP-serwera i dokończ instalację przez kreator WordPress.
Access denied for user 'root'@'localhost' — na Debianie 12 root loguje się przez unix_socket, co phpMyAdmin nie obsługuje.
Bezpieczniejsza i rekomendowana metoda — nie używaj root w phpMyAdmin.
Prostsze rozwiązanie, ale mniej bezpieczne dla środowisk produkcyjnych.
sudo mysql
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!
sudo mysql -e "ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'TwojeHaslo!'; FLUSH PRIVILEGES;"
SELECT user, host, plugin FROM mysql.user WHERE user='root';
Jeśli widzisz auth_socket — musisz użyć opcji B z mysql_native_password.
wp-config.php — ustaw poprawne uprawnienia.
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 {} \;
sudo nano /var/www/html/wordpress/wp-config.php
Dodaj tę linię nad komentarzem /* That's all, stop editing! */:
define('FS_METHOD', 'direct');