Skip to main content

Ubuntu Üzerine phpMyAdmin Kurulumu ve Güvenli Kullanım Kılavuzu

💡 Bu Rehberde Ne Öğreneceksiniz?

Bu rehberde, Ubuntu 22.04 ve üzeri sürümlerde phpMyAdmin kurulumunu adım adım gerçekleştirecek,
MySQL root erişimini yapılandıracak ve Apache .htaccess ile ekstra bir güvenlik katmanı ekleyeceksiniz.
Ayrıca, $Validate Password$ hatası gibi yaygın kurulum sorunlarının çözümünü öğreneceksiniz.


🧠 Aşama 1 – İçeriği Anlamak

Ana Teknik Konu

Ubuntu Sunucuya phpMyAdmin Kurulumu ve Güvenli Erişim Yapılandırması

Hangi Problemi Çözüyor?

Komut satırı yerine, web tabanlı phpMyAdmin arayüzüyle MySQL veritabanlarını kolayca yönetmeyi sağlar.
Ayrıca, yaygın güvenlik açıklarını HTTP kimlik doğrulamasıyla engeller.

Kullanıcı Adımları

  1. phpMyAdmin ve gerekli PHP eklentilerini kurmak
  2. Kurulum hatalarını (özellikle Validate Password) gidermek
  3. MySQL root erişimini parola tabanlı hale getirmek
  4. Apache’de .htaccess desteğini etkinleştirmek
  5. htpasswd ile ek kimlik doğrulama eklemek

⚙️ 1. phpMyAdmin ve Gerekli PHP Eklentilerini Kurma

sudo apt update
sudo apt install phpmyadmin php-mbstring php-zip php-gd php-json php-curl

Bu komutlar phpMyAdmin ve gerekli PHP eklentilerini kurar.

Kurulum sırasında seçimler:

Web sunucusu → apache2

dbconfig-common → Evet

phpMyAdmin MySQL şifresi → Güçlü bir parola oluşturun

Hata Notu:

Eğer Validate Password eklentisi aktifse hata alabilirsiniz. Bu durumda kurulumu durdurun ve eklentiyi devre dışı bırakın:
sudo mysql
UNINSTALL COMPONENT "file://component_validate_password";
exit
sudo apt install phpmyadmin

Kurulumdan sonra mbstring eklentisini etkinleştirin:

sudo phpenmod mbstring
sudo systemctl restart apache2

🔐 2. MySQL Root Kullanıcısını Parola ile Yetkilendirme

Ubuntu’da MySQL root hesabı varsayılan olarak auth_socket ile giriş yapar. phpMyAdmin kullanmak için parola tabanlı yönteme geçin.

sudo mysql
ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'GucluSifre123!';
exit

Bu komut root hesabını parola ile kimlik doğrulama moduna geçirir.

Uyumluluk Notu:

Eski PHP sürümleri için aşağıdaki yöntemi tercih edebilirsiniz:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'GucluSifre123!';

👤 3. Özel MySQL Kullanıcısı Oluşturma (Önerilen)

sudo mysql
CREATE USER 'webadmin'@'localhost' IDENTIFIED BY 'CokGucluSifre!';
GRANT ALL PRIVILEGES ON *.* TO 'webadmin'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
exit

Bu kullanıcı, phpMyAdmin üzerinden veritabanlarını güvenli şekilde yönetebilir.


🧱 4. Apache Üzerinde Ek Güvenlik Katmanı (.htaccess)

phpMyAdmin sık saldırıya uğrayan bir uygulamadır. Bu nedenle ek HTTP kimlik doğrulaması eklenmelidir.

4.1. .htaccess Desteğini Etkinleştirme

sudo nano /etc/apache2/conf-available/phpmyadmin.conf

<Directory /usr/share/phpmyadmin> bloğuna şu satırı ekleyin:

AllowOverride All

Kaydedin ve Apache’yi yeniden başlatın:

sudo systemctl restart apache2

4.2. .htaccess Dosyası Oluşturma

sudo nano /usr/share/phpmyadmin/.htaccess

İçeriği aşağıdaki gibi yapın:

AuthType Basic
AuthName "Giris Kisitlandi"
AuthUserFile /etc/phpmyadmin/.htpasswd
Require valid-user

4.3. htpasswd ile Şifreli Kullanıcı Oluşturma

sudo htpasswd -c /etc/phpmyadmin/.htpasswd rabisu_admin

rabisu_admin için güçlü bir parola belirleyin. Ek kullanıcı eklemek için -c parametresini kullanmadan aynı komutu tekrarlayın.

Tarayıcıdan test edin: 🔗 https://tr1-node01.rabisu.cloud/phpmyadmin

Artık önce Apache kimlik doğrulaması, sonra phpMyAdmin girişi yapılacaktır.


❓ Sıkça Sorulan Sorular (SSS)

  1. phpMyAdmin’e uzaktan erişim güvenli mi?

Hayır. Yalnızca güvenilir IP adreslerine izin verin veya VPN üzerinden bağlanın.

  1. .htaccess neden çalışmıyor?

AllowOverride All yönergesi eklenmemiş olabilir. Ekleyip Apache’yi yeniden başlatın.

  1. phpMyAdmin girişinde hata alıyorum.

Root hesabınız hala auth_socket kullanıyor olabilir. ALTER USER komutunu tekrar uygulayın.

  1. php-mbstring neden gerekli?

UTF-8 ve Türkçe karakterlerin doğru görüntülenmesi için gereklidir.

  1. htpasswd kullanıcısını nasıl sıfırlarım?

Eski dosyayı silin veya sudo htpasswd /etc/phpmyadmin/.htpasswd yeni_kullanici komutuyla yeni kullanıcı ekleyin.


⚙️ Faydalı Komutlar

İşlemKomut
Apache’yi başlatsudo systemctl start apache2
Apache’yi durdursudo systemctl stop apache2
Apache’yi yeniden başlatsudo systemctl restart apache2
MySQL durumunu kontrol etsudo systemctl status mysql
phpMyAdmin adresihttps://sunucu-adresiniz/phpmyadmin

🚀 Sonuç

Tebrikler! Artık Ubuntu üzerinde phpMyAdmin güvenli şekilde çalışıyor. MySQL verilerinizi yönetirken hem şifreli erişim hem de HTTP doğrulamasıyla ek koruma sağladınız. ☁️ Rabisu Bulut platformunda güvenli, optimize edilmiş Ubuntu sunucularında bu yapılandırmayı hemen deneyebilirsiniz.