Ubuntu Üzerine phpMyAdmin Kurulumu ve Güvenliği: Kapsamlı Bir Rehber
Veritabanı yönetimi, modern web uygulamalarının ve sunucu altyapılarının ayrılmaz bir parçasıdır. MySQL ve MariaDB gibi ilişkisel veritabanı yönetim sistemleri, bu alandaki en popüler seçeneklerdendir. Ancak, komut satırı arayüzü (CLI) üzerinden veritabanı yönetimi, özellikle yeni başlayanlar veya karmaşık görevleri hızlıca yerine getirmek isteyenler için zorlayıcı olabilir. İşte bu noktada phpMyAdmin devreye girer. phpMyAdmin, MySQL ve MariaDB veritabanlarını web tabanlı bir arayüz üzerinden kolayca yönetmeyi sağlayan, açık kaynaklı ve yaygın olarak kullanılan bir araçtır. Bu makalede, Ubuntu işletim sistemi üzerinde phpMyAdmin’in nasıl kurulacağını ve en önemlisi, olası güvenlik açıklarına karşı nasıl sağlam bir şekilde korunacağını adım adım inceleyeceğiz.
phpMyAdmin Nedir?
phpMyAdmin, PHP ile yazılmış, web tabanlı bir MySQL/MariaDB istemcisidir. Temel amacı, kullanıcıların bir web tarayıcısı üzerinden veritabanı sunucularını yönetmelerini kolaylaştırmaktır. Bu araç sayesinde kullanıcılar, veritabanlarını ve tabloları oluşturabilir, değiştirebilir ve silebilir; alanları ve indeksleri yönetebilir; SQL sorguları çalıştırabilir; kullanıcıları ve izinleri düzenleyebilir; veritabanlarını içe ve dışa aktarabilir ve çok daha fazlasını yapabilirler. phpMyAdmin’in sunduğu sezgisel grafik arayüzü, komut satırı bilgisi olmayan kullanıcıların bile veritabanı işlemlerini kolayca gerçekleştirmesine olanak tanır. Dünya genelinde milyonlarca web sitesi ve uygulama, arka uç veritabanı yönetimi için phpMyAdmin’e güvenmektedir. Bu yaygın kullanım, onu hem çok güçlü bir araç hem de potansiyel güvenlik riskleri açısından hedef haline getirmektedir. Bu nedenle, doğru kurulum ve özellikle güvenlik adımları hayati öneme sahiptir.
Ön Gereksinimler
phpMyAdmin kurulumuna başlamadan önce, sunucunuzda belirli yazılımların kurulu ve yapılandırılmış olması gerekmektedir. Bu ön gereksinimler, sorunsuz bir kurulum süreci için temel oluşturur.
Ubuntu İşletim Sistemi
Bu rehber, Ubuntu sunucu işletim sistemini hedef almaktadır. Genellikle LTS (Uzun Süreli Destek) sürümleri tercih edilir (örneğin Ubuntu 20.04 LTS, 22.04 LTS).
LAMP/LEMP Yığını
phpMyAdmin, PHP tabanlı bir uygulama olduğu için bir web sunucusu, PHP yorumlayıcısı ve bir veritabanı sunucusu gerektirir. Bu genellikle bir LAMP (Linux, Apache, MySQL/MariaDB, PHP) veya LEMP (Linux, Nginx, MySQL/MariaDB, PHP) yığını anlamına gelir.
- Web Sunucusu: Apache veya Nginx. Bu rehberde her ikisi için de gerekli yapılandırma adımları anlatılacaktır.
- Veritabanı Sunucusu: MySQL veya MariaDB. phpMyAdmin’in bağlanacağı bir veritabanı sunucusunun kurulu ve çalışır durumda olması gerekir.
- PHP: phpMyAdmin’in çalışabilmesi için PHP ve gerekli uzantıları (örneğin
php-mbstring,php-zip,php-gd,php-json,php-curl,php-mysql/php-mysqli,php-xml,php-bz2,php-intl) kurulu olmalıdır. Kurulum sırasında eksik uzantılar otomatik olarak yüklenebilir veya manuel olarak eklenmesi gerekebilir.
Root veya sudo Yetkilerine Sahip Kullanıcı
Kurulum ve yapılandırma işlemleri için sunucuda sudo yetkilerine sahip bir kullanıcıya veya doğrudan root kullanıcısına erişiminiz olmalıdır.
phpMyAdmin Kurulumu
Ön gereksinimler sağlandıktan sonra, phpMyAdmin’i Ubuntu sunucunuza kurmaya başlayabiliriz.
Sistem Güncelleme
Herhangi bir yazılım kurulumuna başlamadan önce, sistem paket listelerinizi güncellemek ve mevcut paketleri yükseltmek iyi bir uygulamadır. Bu, bağımlılık sorunlarını önlemeye yardımcı olur ve en son güvenlik yamalarına sahip olmanızı sağlar.
sudo apt update
sudo apt upgrade
phpMyAdmin Paketini Kurma
phpMyAdmin paketi, Ubuntu’nun varsayılan depolarında mevcuttur. Aşağıdaki komut ile kurulumu başlatabilirsiniz:
sudo apt install phpmyadmin
Kurulum sırasında size bazı sorular sorulacaktır:
- Web sunucusu seçimi: Kurulum sihirbazı, phpMyAdmin’i otomatik olarak yapılandırmak istediğiniz web sunucusunu seçmenizi isteyecektir. Klavyenizdeki boşluk tuşu ile (Spacebar) Apache veya Nginx (eğer Nginx kullanıyorsanız) seçeneğini işaretleyin. Eğer Nginx kullanıyorsanız, burada Apache’yi seçip daha sonra manuel yapılandırma yapmanız gerekecektir. Eğer Apache kullanıyorsanız, Apache2’yi seçip Enter tuşuna basın.
- Veritabanı yapılandırması: phpMyAdmin’in kendi dahili veritabanını yapılandırmasını isteyip istemediğiniz sorulacaktır. Genellikle “Yes” (Evet) seçeneğini seçmek iyi bir uygulamadır. Bu, phpMyAdmin’in ayarlarını ve geçici verilerini depolamak için bir veritabanı oluşturmasını sağlar.
- MySQL uygulama kullanıcı parolası: phpMyAdmin’in MySQL sunucusuna bağlanmak için kullanacağı bir parola belirlemeniz istenecektir. Bu parola, phpMyAdmin’in kendi veritabanı kullanıcı parolasıdır. Güçlü bir parola belirlediğinizden emin olun.
Kurulum tamamlandığında, phpMyAdmin dosyaları genellikle /usr/share/phpmyadmin dizinine yerleştirilir.
Web Sunucusu Yapılandırması
phpMyAdmin’i web tarayıcınızdan erişilebilir hale getirmek için web sunucunuzu doğru şekilde yapılandırmanız gerekir.
Apache için
Eğer kurulum sırasında Apache2’yi seçtiyseniz, apt paketi otomatik olarak gerekli yapılandırmaları yapmalıdır. phpMyAdmin için bir Apache yapılandırma dosyası (/etc/phpmyadmin/apache.conf) oluşturulur ve bu dosya Apache’nin ana yapılandırma dosyasına dahil edilir. Bu dosyayı etkinleştirmek için:
sudo a2enconf phpmyadmin
Ardından, Apache servisini yeniden başlatın:
sudo systemctl restart apache2
Artık web tarayıcınızda http://sizin_sunucu_ip_adresiniz_veya_alan_adiniz/phpmyadmin adresine giderek phpMyAdmin’e erişebilmelisiniz.
Nginx için
Nginx kullanıyorsanız, phpMyAdmin’i manuel olarak yapılandırmanız gerekecektir. Nginx, Apache gibi otomatik yapılandırma sağlamaz. Sanal ana bilgisayar (server block) yapılandırma dosyanıza phpMyAdmin için bir konum (location) bloğu eklemelisiniz. Örneğin, sitenizin yapılandırma dosyası /etc/nginx/sites-available/varsayilan ise:
sudo nano /etc/nginx/sites-available/varsayilan
Aşağıdaki bloğu server bloğunuzun içine ekleyin:
location /phpmyadmin {
root /usr/share/;
index index.php index.html index.htm;
location ~ ^/phpmyadmin/(doc|sql|setup)/ {
deny all;
}
location ~ /\.ht {
deny all;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/phpX.X-fpm.sock; # phpX.X-fpm.sock kısmını kendi PHP sürümünüze göre ayarlayın (örn. php8.1-fpm.sock)
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
PHP sürümünüzü doğru şekilde ayarladığınızdan emin olun (örneğin, php8.1-fpm.sock yerine php7.4-fpm.sock kullanıyorsanız). Değişiklikleri kaydedin ve kapatın. Ardından Nginx yapılandırmasını test edin ve servisi yeniden başlatın:
sudo nginx -t
sudo systemctl restart nginx
Şimdi http://sizin_sunucu_ip_adresiniz_veya_alan_adiniz/phpmyadmin adresinden phpMyAdmin’e erişebilirsiniz.
MySQL/MariaDB Kullanıcı Oluşturma
phpMyAdmin’e giriş yapmak için MySQL veya MariaDB kullanıcı kimlik bilgilerine ihtiyacınız olacaktır. root kullanıcısı ile giriş yapmak genellikle önerilmez. Bunun yerine, kısıtlı yetkilere sahip yeni bir kullanıcı oluşturmak daha güvenlidir. Aşağıdaki adımlarla yeni bir veritabanı kullanıcısı oluşturabilirsiniz:
sudo mysql -u root -p
MySQL kabuğuna girdikten sonra, yeni bir kullanıcı oluşturun ve ona gerekli izinleri verin. Örneğin, phpmyadminuser adında ve guclu_sifre parolalı bir kullanıcı oluşturalım:
CREATE USER 'phpmyadminuser'@'localhost' IDENTIFIED BY 'guclu_sifre';
GRANT ALL PRIVILEGES ON . TO 'phpmyadminuser'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;
UYARI: Yukarıdaki GRANT ALL PRIVILEGES komutu, kullanıcıya tüm veritabanları üzerinde tam yetki verir. Bu, genellikle bir geliştirme ortamı için uygun olabilir, ancak bir üretim ortamında, kullanıcıya yalnızca ihtiyaç duyduğu belirli veritabanları üzerinde yetki vermek çok daha güvenlidir. Örneğin, belirli bir veritabanı (mydb) için yetki vermek isterseniz:
CREATE USER 'mywebappuser'@'localhost' IDENTIFIED BY 'guclu_sifre';
GRANT SELECT, INSERT, UPDATE, DELETE ON mydb.* TO 'mywebappuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
phpMyAdmin’e giriş yaparken, bu yeni oluşturduğunuz kullanıcı adını ve parolasını kullanın.
phpMyAdmin Güvenliğini Sağlama
phpMyAdmin, veritabanlarınıza doğrudan erişim sağladığı için potansiyel bir güvenlik açığıdır. Bu nedenle, kurulumdan sonra güvenliğini sağlamak mutlak bir zorunluluktur. İşte phpMyAdmin’i güvence altına almak için alabileceğiniz önemli adımlar:
Giriş Adresini Değiştirme
Varsayılan olarak /phpmyadmin adresinden erişilebilir olması, saldırganların kolayca hedef almasına neden olur. Bu adresi daha az tahmin edilebilir bir şeyle değiştirmek, ilk savunma hattınızı oluşturur.
- Apache için:
/etc/phpmyadmin/apache.confdosyasını düzenleyin veAlias /phpmyadmin /usr/share/phpmyadminsatırını bulun./phpmyadminkısmını istediğiniz başka bir şeyle değiştirin, örneğin/mysecretadminpanel.sudo nano /etc/phpmyadmin/apache.confAlias /mysecretadminpanel /usr/share/phpmyadminDeğişiklikleri kaydettikten sonra Apache’yi yeniden başlatın:
sudo systemctl restart apache2 - Nginx için: Nginx yapılandırma dosyanızdaki (örn.
/etc/nginx/sites-available/varsayilan)location /phpmyadmin { ... }bloğunu bulun ve/phpmyadminkısmını istediğiniz başka bir şeyle değiştirin.sudo nano /etc/nginx/sites-available/varsayilanlocation /mysecretadminpanel { root /usr/share/; ... }Değişiklikleri kaydedip Nginx’i yeniden başlatın:
sudo nginx -t sudo systemctl restart nginx
Artık phpMyAdmin’e yeni belirlediğiniz adres üzerinden erişmeniz gerekecektir.
Web Sunucusu Kimlik Doğrulaması (HTTP Basic Authentication)
phpMyAdmin’in kendi giriş ekranına ek olarak, web sunucusu düzeyinde ek bir kimlik doğrulama katmanı eklemek, güvenlik seviyenizi önemli ölçüde artırır. Bu, potansiyel saldırganların phpMyAdmin’in giriş ekranına bile ulaşmadan önce bir kullanıcı adı ve parola girmesini gerektirir.
Apache için
Apache’de .htaccess dosyalarını kullanarak HTTP Basic Authentication uygulayabiliriz. İlk olarak, /usr/share/phpmyadmin dizininde .htaccess dosyalarının kullanılmasına izin verildiğinden emin olun. Bunun için /etc/phpmyadmin/apache.conf dosyasını düzenleyin ve bloğu içinde AllowOverride All olduğundan emin olun. Eğer AllowOverride None ise, bunu AllowOverride All olarak değiştirin.
sudo nano /etc/phpmyadmin/apache.conf
Options FollowSymLinks
DirectoryIndex index.php
AllowOverride All # Bu satırı None yerine All yapın
...
Ardından, bir parola dosyası oluşturun. Örneğin, /etc/apache2/htpasswd.users yolunda bir dosya oluşturalım ve adminpma adında bir kullanıcı ekleyelim:
sudo htpasswd -c /etc/apache2/htpasswd.users adminpma
Parola oluşturmanız istendiğinde güçlü bir parola girin. İlk kullanıcı için -c parametresini kullanın. Daha sonraki kullanıcılar için -c parametresini kullanmayın, aksi takdirde dosya yeniden oluşturulur ve önceki kullanıcılar silinir.
Şimdi /usr/share/phpmyadmin dizinine bir .htaccess dosyası oluşturun:
sudo nano /usr/share/phpmyadmin/.htaccess
İçine şunları ekleyin:
AuthType Basic
AuthName "Restricted Access"
AuthUserFile /etc/apache2/htpasswd.users
Require valid-user
Değişiklikleri kaydedin ve Apache’yi yeniden başlatın:
sudo systemctl restart apache2
Artık phpMyAdmin’e erişmeye çalıştığınızda, önce bir tarayıcı açılır penceresi ile Apache kimlik doğrulaması isteyecektir.
Nginx için (Basic Auth)
Nginx için de benzer bir parola dosyası oluşturmamız gerekiyor. Apache’nin htpasswd aracını kullanabiliriz:
sudo apt install apache2-utils # htpasswd aracı için gerekli olabilir
sudo htpasswd -c /etc/nginx/htpasswd.users adminpma
Parola oluşturmanız istendiğinde güçlü bir parola girin.
Ardından, Nginx yapılandırma dosyanızdaki phpMyAdmin location bloğuna aşağıdaki satırları ekleyin:
sudo nano /etc/nginx/sites-available/varsayilan
location /mysecretadminpanel { # veya kendi belirlediğiniz adres
root /usr/share/;
index index.php index.html index.htm;
auth_basic "Restricted Access";
auth_basic_user_file /etc/nginx/htpasswd.users;
...
}
Değişiklikleri kaydedin, Nginx yapılandırmasını test edin ve servisi yeniden başlatın:
sudo nginx -t
sudo systemctl restart nginx
Nginx de artık phpMyAdmin’e erişimden önce ek bir kimlik doğrulama isteyecektir.
SSL/TLS Kullanımı (HTTPS)
phpMyAdmin’e her zaman şifreli bir bağlantı üzerinden eriştiğinizden emin olun. Bu, kullanıcı adlarınızın, parolalarınızın ve veritabanı verilerinizin ağ üzerinde düz metin olarak gönderilmesini engeller. Let’s Encrypt gibi ücretsiz SSL/TLS sertifikaları sağlayan hizmetler sayesinde HTTPS uygulamak artık çok kolaydır.
Eğer henüz HTTPS kullanmıyorsanız, web sunucunuz için bir Let’s Encrypt sertifikası kurmayı düşünmelisiniz. Certbot aracı bu süreci otomatikleştirir:
sudo apt install certbot python3-certbot-apache # Apache için
sudo apt install certbot python3-certbot-nginx # Nginx için
Ardından, sertifikayı almak ve yapılandırmak için uygun komutu çalıştırın (alan adınızı doğru şekilde girin):
sudo certbot --apache -d sizin_alan_adiniz.com # Apache için
sudo certbot --nginx -d sizin_alan_adiniz.com # Nginx için
Certbot, sizi yönlendirecek ve otomatik olarak HTTPS’yi yapılandıracaktır. Kurulumdan sonra, phpMyAdmin’e https://sizin_alan_adiniz.com/mysecretadminpanel adresinden eriştiğinizden emin olun.
Veritabanı Kullanıcı Yetkilerini Kısıtlama
phpMyAdmin’e giriş yapmak için kullanılan MySQL/MariaDB kullanıcısının yetkilerini yalnızca ihtiyaç duyduğu kadar kısıtlayın. root kullanıcısı ile veya GRANT ALL PRIVILEGES verilmiş bir kullanıcı ile giriş yapmak çok risklidir. Yukarıda bahsedildiği gibi, belirli bir veritabanı veya belirli işlemler için yetkiler tanımlayın.
REVOKE ALL PRIVILEGES ON . FROM 'phpmyadminuser'@'localhost';
GRANT SELECT, INSERT, UPDATE, DELETE ON specific_database.* TO 'phpmyadminuser'@'localhost';
FLUSH PRIVILEGES;
Bu, phpMyAdmin kullanıcısının yetkisiz işlemleri gerçekleştirmesini engeller.
Varsayılan Kullanıcı Adını Değiştirme
phpMyAdmin’in kendi giriş ekranında, MySQL/MariaDB için varsayılan kullanıcı adı “root”tur. Eğer root kullanıcısı ile giriş yapıyorsanız (ki önerilmez), bu kullanıcı adını da değiştirmeyi düşünmelisiniz. Ancak daha iyi bir yaklaşım, yukarıda belirtildiği gibi root kullanıcısı yerine kısıtlı yetkilere sahip yeni bir kullanıcı oluşturmak ve onu kullanmaktır.
İki Faktörlü Kimlik Doğrulama (2FA)
phpMyAdmin’in kendisi yerleşik bir 2FA özelliğine sahip değildir. Ancak, web sunucusu düzeyinde (örneğin Apache veya Nginx modülleri aracılığıyla) veya sunucuya erişim için (SSH) 2FA uygulayarak genel güvenliği artırabilirsiniz. Ayrıca, phpMyAdmin’in önüne bir ters proxy (reverse proxy) koyarak ve bu proxy üzerinde 2FA uygulayarak da bu özelliği dolaylı yoldan entegre edebilirsiniz. Bu, daha ileri düzey bir yapılandırma gerektirir ancak mümkün olan en yüksek güvenlik seviyesini sunar.
Güvenlik Duvarı (UFW)
Sunucunuzda bir güvenlik duvarı (örneğin UFW – Uncomplicated Firewall) etkinleştirin ve yalnızca gerekli portlara (SSH için 22, HTTP için 80, HTTPS için 443) izin verin. phpMyAdmin’e erişimi, yalnızca belirli IP adreslerinden (örneğin ofisinizin veya evinizin IP adresi) kısıtlayarak ek bir güvenlik katmanı ekleyebilirsiniz.
sudo ufw enable
sudo ufw allow ssh
sudo ufw allow http
sudo ufw allow https
sudo ufw allow from SIZIN_IP_ADRESINIZ to any port 443 comment 'Allow phpMyAdmin access from specific IP'
Bu, phpMyAdmin’in genel internete açık olmasını engeller ve yalnızca sizin belirlediğiniz güvenli kaynaklardan erişilebilir olmasını sağlar.
Güncel Tutma
phpMyAdmin’i ve bağımlılıklarını (PHP, MySQL/MariaDB, web sunucusu) düzenli olarak güncel tutun. Yazılım güncellemeleri genellikle güvenlik açıklarını kapatan yamalar içerir. Sisteminizi düzenli olarak güncellemek için:
sudo apt update
sudo apt upgrade
phpMyAdmin Yapılandırma Dosyası Güvenliği
phpMyAdmin’in ana yapılandırma dosyası /etc/phpmyadmin/config.inc.php veya /usr/share/phpmyadmin/config.inc.php (kurulum şekline göre değişebilir) hassas bilgiler içerebilir. Bu dosyanın izinlerinin doğru ayarlandığından emin olun, böylece yalnızca kök kullanıcı veya web sunucusu kullanıcısı tarafından okunabilir olur.
sudo chmod 640 /etc/phpmyadmin/config.inc.php
sudo chown root:www-data /etc/phpmyadmin/config.inc.php # Apache için
sudo chown root:nginx /etc/phpmyadmin/config.inc.php # Nginx için
Bu, yetkisiz kullanıcıların bu dosyaya erişmesini engeller.
Sık Karşılaşılan Sorunlar ve Çözümleri
phpMyAdmin kurulumu ve kullanımı sırasında bazı yaygın sorunlarla karşılaşabilirsiniz. İşte bunlardan bazıları ve olası çözümleri:
phpMyAdmin not found veya 404 Hatası
Bu hata genellikle web sunucusunun phpMyAdmin’in konumunu bulamadığı veya yanlış yapılandırıldığı anlamına gelir.
- Çözüm:
- Web sunucusu yapılandırma dosyanızı (Apache için
apache.confveya Nginx içinserverbloğu) kontrol edin. phpMyAdmin’in doğru yolda (/usr/share/phpmyadmin) olduğundan ve doğru şekilde dahil edildiğinden/tanımlandığından emin olun. - Apache kullanıyorsanız,
sudo a2enconf phpmyadminkomutunu çalıştırdığınızdan ve Apache’yi yeniden başlattığınızdan emin olun. - Nginx kullanıyorsanız,
root /usr/share/;satırının doğru konumda olduğundan ve PHP-FPM soket yolunun (fastcgi_pass unix:/run/php/phpX.X-fpm.sock;) doğru olduğundan emin olun. - Web sunucunuzu yeniden başlattığınızdan emin olun (
sudo systemctl restart apache2veyasudo systemctl restart nginx). - Erişim adresini değiştirdiyseniz, yeni adresi (örneğin
/mysecretadminpanel) kullandığınızdan emin olun.
- Web sunucusu yapılandırma dosyanızı (Apache için
MySQL/MariaDB Bağlantı Sorunları
phpMyAdmin’e giriş yaparken “Cannot connect to MySQL server” veya benzeri bir hata alabilirsiniz.
- Çözüm:
- MySQL/MariaDB sunucusunun çalışır durumda olduğundan emin olun:
sudo systemctl status mysqlveyasudo systemctl status mariadb. Çalışmıyorsa, başlatın:sudo systemctl start mysql. - Kullanıcı adınızın ve parolanızın doğru olduğundan emin olun.
- Oluşturduğunuz MySQL kullanıcısının
localhost‘tan veya phpMyAdmin’in çalıştığı IP adresinden bağlanma iznine sahip olduğundan emin olun. - phpMyAdmin’in kendi yapılandırma dosyasında (
/etc/phpmyadmin/config.inc.php) veritabanı bağlantı ayarlarının doğru olduğundan emin olun (nadiren gerekli olur, ancak kontrol etmekte fayda var).
- MySQL/MariaDB sunucusunun çalışır durumda olduğundan emin olun:
mcrypt veya Diğer PHP Uzantıları Eksik
phpMyAdmin, çalışması için belirli PHP uzantılarına ihtiyaç duyar. Eksik uzantılar nedeniyle hatalar alabilirsiniz.
- Çözüm:
- Gerekli PHP uzantılarını manuel olarak kurun. Örneğin, PHP 8.1 için:
sudo apt install php8.1-mysql php8.1-mbstring php8.1-zip php8.1-gd php8.1-json php8.1-curl php8.1-xml php8.1-bz2 php8.1-intl - Kurulumdan sonra web sunucunuzu (Apache veya Nginx + PHP-FPM) yeniden başlatın.
- Gerekli PHP uzantılarını manuel olarak kurun. Örneğin, PHP 8.1 için:
Yetkilendirme Sorunları
phpMyAdmin’e giriş yapabilseniz bile belirli veritabanı işlemlerini gerçekleştiremiyorsanız, bu genellikle yetkilendirme sorunudur.
- Çözüm:
- Giriş yaptığınız MySQL kullanıcısının gerekli yetkilere sahip olduğundan emin olun. MySQL/MariaDB kabuğuna girerek (
sudo mysql -u root -p) veSHOW GRANTS FOR 'kullanici_adiniz'@'localhost';komutunu çalıştırarak mevcut yetkileri kontrol edebilirsiniz. - Gerekirse
GRANTkomutu ile yetkileri güncelleyin veFLUSH PRIVILEGES;komutunu çalıştırın.
- Giriş yaptığınız MySQL kullanıcısının gerekli yetkilere sahip olduğundan emin olun. MySQL/MariaDB kabuğuna girerek (
Sonuç
phpMyAdmin, MySQL ve MariaDB veritabanlarını yönetmek için son derece kullanışlı ve güçlü bir araçtır. Ubuntu üzerinde kurulumu nispeten basittir, ancak güvenlik adımları kesinlikle göz ardı edilmemelidir. Bu makalede özetlenen adımları izleyerek, phpMyAdmin kurulumunuzu güvenli hale getirebilir ve veritabanı yönetim deneyiminizi hem verimli hem de riskten uzak tutabilirsiniz. Giriş adresini değiştirmek, web sunucusu kimlik doğrulaması eklemek, HTTPS kullanmak, veritabanı kullanıcı yetkilerini kısıtlamak ve güvenlik duvarı kuralları uygulamak, güvenli bir phpMyAdmin ortamı oluşturmanın temel taşlarıdır. Unutmayın, güvenlik sürekli bir süreçtir; bu nedenle sisteminizi ve phpMyAdmin’i düzenli olarak güncellemek, potansiyel tehditlere karşı en iyi savunmadır.
