Veritabanlarıyla web arayüzü üzerinden çalışmak için phpMyAdmin adlı bir web düzenleyici mevcuttur. Bu araç, MySQL/MariaDB veritabanına bağlanır, mevcut veritabanlarını görüntüler, yeni veritabanları oluşturmanıza ve tablo verilerini düzenlemenize olanak tanır. Temel olarak mysql konsolunda yapabileceğiniz işlemleri çok daha kullanıcı dostu ve görsel olarak sunar, özellikle sık veri çalışmaları için idealdir. Ubuntu 20.04 üzerinde LAMP kurulumu yapılmış bir sisteme phpMyAdmin kurulumunu inceleyeceğiz.
Tüm ayarları root kullanıcısı ile yapıyoruz; normal bir kullanıcı iseniz komutlardan önce sudo ekleyin.
1. Gerekli bileşenleri ve veritabanı düzenleyicisini kuralım
apt install php-mbstring
apt install phpmyadmin
Kurulum sırasında, düzenleyicinin hangi web sunucusu için yapılandırılacağını seçmeniz istenecektir.
- [*]apache2
- []lighttpd
Bizim örneğimizde LAMP önceden kurulu olduğu için apache2’yi seçiyoruz.
Ardından, veritabanı düzenleyicisi için bir veritabanı oluşturulması istenecek; burada kullanıcı ayarları ve düzenleyicinin çalışması için gerekli diğer veriler saklanır. Bu adımda Evet seçin ve bir sonraki pencerede phpmyadmin kullanıcısı için bir şifre belirlemeniz istenecek. Şifreyi girin ve doğrulayarak ilerleyin.
Web hizmetini yeniden başlatarak yapılandırmamızı uygulayın:
/etc/init.d/apache2 restart
/etc/init.d/php7.4-fpm restart
2. Temel Ayarlar
phpMyAdmin çalışmasını kontrol etmek için http://server-ip/phpmyadmin bağlantısını ziyaret edin. Herhangi bir veritabanı için kullanıcı adı ve şifre girebilirsiniz, örneğin phpmyadmin kullanıcı adı ve belirlediğiniz şifre ile giriş yapabilirsiniz. Bazen birden fazla veritabanı ile çalışmak için bir kullanıcı oluşturmak ve root yetkilerini devretmek faydalı olabilir.
mysql -u root -p
CREATE USER 'alldbuser'@'localhost' IDENTIFIED BY 'sifre';
GRANT ALL PRIVILEGES ON . TO 'alldbuser'@'localhost';
FLUSH PRIVILEGES;
Artık alldbuser kullanıcısı ile giriş yaparak sunucudaki tüm veritabanlarını görebilirsiniz.
3. Güvenlik Ayarları
Veritabanı düzenleyicisini güvence altına almak, şifre tahminlerini ve potansiyel güvenlik açıklarını engellemek için sunucu düzeyinde bir kimlik doğrulama ekleyelim.
nano /usr/share/phpmyadmin/.htaccess
AuthType Basic
AuthName "Restricted Files"
AuthUserFile /etc/phpmyadmin/.htpasswd
Require valid-user
Bir kullanıcı ekleyin ve şifresini belirleyin:
htpasswd -c /etc/phpmyadmin/.htpasswd webdb-user
Web sunucusu düzeyinde ayarların uygulanması için /etc/apache2/apache2.conf dosyasındaki AllowOverride değerini All olarak değiştirin. Ayarlar şöyle görünmelidir:
AllowOverride All
Require all granted
Hizmeti yeniden başlatın:
/etc/init.d/apache2 restart
/etc/init.d/php7.4-fpm restart
Artık http://server-ip/phpmyadmin bağlantısına girdiğinizde giriş ekranı gözükecektir. Kullanıcı adı olarak webdb-user girin. Ayrıca, yalnızca belirli IP adreslerine erişim izni vermek ve diğer kullanıcılara “Forbidden” (Yasaklandı) mesajı göstermek için şu satırları .htaccess dosyasına ekleyebilirsiniz:
nano /usr/share/phpmyadmin/.htaccess
AuthType Basic
AuthName "Restricted Files"
AuthUserFile /etc/phpmyadmin/.htpasswd
Require valid-user
Allow from 77.88.99.11 22.33.44.55
Kurulum tamamlandı, parolalarınızı yalnızca SSL sertifikası ile korunan https protokolü üzerinden girmenizi öneririz.