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ı
- phpMyAdmin ve gerekli PHP eklentilerini kurmak
- Kurulum hatalarını (özellikle Validate Password) gidermek
- MySQL root erişimini parola tabanlı hale getirmek
- Apache’de
.htaccessdesteğini etkinleştirmek - 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)
- phpMyAdmin’e uzaktan erişim güvenli mi?
Hayır. Yalnızca güvenilir IP adreslerine izin verin veya VPN üzerinden bağlanın.
- .htaccess neden çalışmıyor?
AllowOverride All yönergesi eklenmemiş olabilir. Ekleyip Apache’yi yeniden başlatın.
- phpMyAdmin girişinde hata alıyorum.
Root hesabınız hala auth_socket kullanıyor olabilir. ALTER USER komutunu tekrar uygulayın.
- php-mbstring neden gerekli?
UTF-8 ve Türkçe karakterlerin doğru görüntülenmesi için gereklidir.
- 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
| İşlem | Komut |
|---|---|
| Apache’yi başlat | sudo systemctl start apache2 |
| Apache’yi durdur | sudo systemctl stop apache2 |
| Apache’yi yeniden başlat | sudo systemctl restart apache2 |
| MySQL durumunu kontrol et | sudo systemctl status mysql |
| phpMyAdmin adresi | https://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.