Ubuntu’da phpMyAdmin Nasıl Kurulur ve Güvenliği Sağlanır (Tam Rehber)
phpMyAdmin, MySQL ve MariaDB veritabanlarını tarayıcı tabanlı grafik arayüz aracılığıyla yönetmek için en yaygın olarak kullanılan açık kaynaklı araçlardan biridir. Geliştirici, sistem yöneticisi veya web sitesi sahibi olsun, SQL sorguları çalıştırmaktan veri içe aktarma/dışa aktarmaya kadar karmaşık veritabanı işlemlerini önemli ölçüde basitleştirir — komut satırı uzmanlığı gerektirmez.
Ancak phpMyAdmin varsayılan olarak genel bir URL aracılığıyla erişilebildiğinden, güvenliği sağlanmamış olarak bırakmak ciddi bir risktir. Bu kapsamlı rehber, phpMyAdmin’i Ubuntu 20.04/22.04 üzerine yüklemeniz, Apache ile yapılandırmanız ve birden fazla güvenlik katmanı kullanarak yetkisiz erişime karşı güçlendirmeniz konusunda size yol gösterir.
İçindekiler
- Ön Koşullar
- Adım 1 — Sistemi ve Paket İndeksini Güncelleyin
- Adım 2 — phpMyAdmin’i Yükleyin
- Adım 3 — phpMyAdmin için Apache’yi Yapılandırın
- Adım 4 — phpMyAdmin’i HTTP Temel Kimlik Doğrulaması ile Güvenli Hale Getirin
- Adım 5 — IP Adresi ile Erişimi Kısıtlayın (İsteğe Bağlı ancak Önerilir)
- Adım 6 — Trafiği Şifrelemek için SSL’yi Etkinleştirin
- Adım 7 — phpMyAdmin’e Erişin
- Yaygın Sorunları Giderme
- Sonuç
Ön Koşullar {#prerequisites}
Başlamadan önce, aşağıdaki gereksinimlerin yerine getirildiğinden emin olun:
- Ubuntu 20.04 veya 22.04 çalıştıran bir sunucu (fiziksel veya sanal)
- MySQL veya MariaDB yüklü ve aktif olarak çalışıyor
- Apache2 web sunucusu yüklü
- sudo ayrıcalıklarına sahip bir kullanıcı hesabı
- Sunucunuza işaret eden bir alan adı veya statik IP adresi
- (Önerilir) Şifreli HTTPS erişimi için geçerli bir SSL sertifikası
> İpucu: Henüz bir sunucu ortamınız yoksa, AlexHost VPS Barındırması‘nı düşünün — phpMyAdmin’i güvenli bir şekilde çalıştırmak için ideal olan, tam yönetilen veya yönetilmeyen Linux VPS planları, anında sağlama, kök erişimi ve SSD depolama ile.
Adım 1 — Sistemi ve Paket İndeksini Güncelleyin {#step-1}
Her zaman paket listelerinizi yenileyerek ve bekleyen sistem güncellemelerini uygulayarak başlayın. Bu, phpMyAdmin’in en son sürümünü yüklemenizi ve bağımlılık çatışmalarından kaçınmanızı sağlar.
sudo apt update && sudo apt upgrade -yAdım 2 — phpMyAdmin’i Yükleyin {#step-2}
Resmi Ubuntu APT deposu kullanarak phpMyAdmin’i yükleyin:
sudo apt install phpmyadmin -yYükleme sırasında etkileşimli bir yapılandırma sihirbazı görünecektir. Bu adımları dikkatlice izleyin:
2.1 — Web Sunucusu Seçin
Otomatik olarak yapılandırılacak bir web sunucusu seçmeniz istenecektir:
Please choose the web server that should be automatically configured to run phpMyAdmin.
[*] apache2
[ ] lighttpdapache2 seçmek için spacebar tuşunu kullanın, ardından <Ok> vurgulamak için Tab tuşuna basın ve Enter tuşuna basın.
2.2 — Veritabanını dbconfig-common ile Yapılandırın
Ardından, dbconfig-common kullanarak phpMyAdmin için bir veritabanı yapılandırmanız istenecektir:
Configure database for phpmyadmin with dbconfig-common?Evet‘i seçin. Daha sonra phpMyAdmin’in iç veritabanı kullanıcısı için bir MySQL uygulama parolası girmeniz istenecektir. Güçlü bir parola girin veya otomatik olarak oluşturulması için boş bırakın.
2.3 — Yüklemeyi Doğrulayın
Yükleme tamamlandıktan sonra phpMyAdmin’in yüklü olduğunu doğrulayın:
dpkg -l phpmyadminYüklü paket sürümünü gösteren bir satır görmelisiniz.
Adım 3 — phpMyAdmin için Apache’yi Yapılandırın {#step-3}
Bazı Ubuntu yapılandırmalarında, phpMyAdmin Apache yapılandırma dosyası otomatik olarak etkinleştirilmez. Bunu manuel olarak kontrol edin ve etkinleştirin.
3.1 — phpMyAdmin Yapılandırmasını Etkinleştirin
sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf
sudo a2enconf phpmyadmin3.2 — Yapılandırma Dosyasını Doğrulayın
İçeriğini gözden geçirmek için yapılandırma dosyasını açın:
sudo nano /etc/apache2/conf-available/phpmyadmin.confDosya aşağıdaki yönergeleri (veya benzerini) içermelidir:
Alias /phpmyadmin /usr/share/phpmyadmin
<Directory /usr/share/phpmyadmin>
Options Indexes FollowSymLinks
DirectoryIndex index.php
<IfModule mod_authz_core.c>
# Apache 2.4
<RequireAny>
Require all granted
</RequireAny>
</IfModule>
</Directory>
<Directory /usr/share/phpmyadmin/setup>
<IfModule mod_authz_core.c>
# Apache 2.4
<RequireAny>
Require all granted
</RequireAny>
</IfModule>
</Directory>Dosyayı CTRL+X, ardından Y, ardından Enter ile kaydedin ve kapatın.
3.3 — Apache’yi Yeniden Başlatın
Yapılandırma değişikliklerini uygulayın:
sudo systemctl restart apache2Apache’nin hatasız çalıştığını doğrulayın:
sudo systemctl status apache2Adım 4 — phpMyAdmin’i HTTP Temel Kimlik Doğrulaması ile Güvenli Hale Getirin {#step-4}
Varsayılan olarak, sunucunuzun IP adresini bilen herkes phpMyAdmin oturum açma sayfasına ulaşabilir. HTTP Temel Kimlik Doğrulaması katmanı eklemek, kullanıcılar phpMyAdmin oturum açma formunu görmeden önce ikinci bir parola kapısı oluşturur.
4.1 — apache2-utils’i Yükleyin
sudo apt install apache2-utils -y4.2 — Parola Dosyasını ve Kullanıcıyı Oluşturun
Bir .htpasswd dosyası oluşturun ve ilk yönetici kullanıcınızı ekleyin. your_admin_user yerine seçtiğiniz kullanıcı adını yazın:
sudo mkdir -p /etc/phpmyadmin
sudo htpasswd -c /etc/phpmyadmin/.htpasswd your_admin_userParola girmeniz ve onaylamanız istenecektir. Daha sonra ek kullanıcılar eklemek için (dosyayı üzerine yazacak olan -c bayrağı olmadan):
sudo htpasswd /etc/phpmyadmin/.htpasswd another_user4.3 — phpMyAdmin Apache Yapılandırmasını Güncelleyin
Kimlik doğrulamayı zorunlu kılmak için phpMyAdmin yapılandırma dosyasını düzenleyin:
sudo nano /etc/apache2/conf-available/phpmyadmin.conf<Directory /usr/share/phpmyadmin> bloğunu bulun ve içine aşağıdaki satırları ekleyin:
<Directory /usr/share/phpmyadmin>
Options Indexes FollowSymLinks
DirectoryIndex index.php
# HTTP Basic Authentication
AuthType Basic
AuthName "Restricted Access — Authorized Personnel Only"
AuthUserFile /etc/phpmyadmin/.htpasswd
Require valid-user
<IfModule mod_authz_core.c>
<RequireAny>
Require valid-user
</RequireAny>
</IfModule>
</Directory>Dosyayı kaydedin ve kapatın.
4.4 — Apache’yi Yeniden Başlatın
sudo systemctl restart apache2Artık /phpmyadmin adresine gitmek, phpMyAdmin oturum açma sayfasını görüntülemeden önce HTTP kimlik doğrulaması kimlik bilgilerini isteyecektir.
Adım 5 — IP Adresi ile Erişimi Kısıtlayın (İsteğe Bağlı ancak Önerilir) {#step-5}
Daha güçlü koruma için phpMyAdmin erişimini yalnızca belirli güvenilir IP adreslerine kısıtlayın. Bu, sunucunuza her zaman sabit bir IP’den erişiyorsanız (örneğin, bir ofis ağı veya VPN) özellikle yararlıdır.
phpMyAdmin Apache yapılandırmasını düzenleyin:
sudo nano /etc/apache2/conf-available/phpmyadmin.conf<Directory> bloğunu IP tabanlı kısıtlamalar içerecek şekilde değiştirin:
<Directory /usr/share/phpmyadmin>
Options Indexes FollowSymLinks
DirectoryIndex index.php
AuthType Basic
AuthName "Restricted Access"
AuthUserFile /etc/phpmyadmin/.htpasswd
<RequireAll>
Require valid-user
Require ip 203.0.113.50
# Add more trusted IPs below:
# Require ip 198.51.100.0/24
</RequireAll>
</Directory>203.0.113.50 yerine gerçek güvenilir IP adresinizi veya alt ağınızı yazın. Dosyayı kaydedin ve Apache’yi yeniden başlatın:
sudo systemctl restart apache2> Not: IP adresiniz sık sık değişiyorsa, statik IP’ye sahip bir VPN kullanmayı düşünün veya HTTP Temel Kimlik Doğrulaması’na SSL ile birlikte güvenin.
Adım 6 — Trafiği Şifrelemek için SSL’yi Etkinleştirin {#step-6}
Veritabanı kimlik bilgilerini düz HTTP üzerinden göndermek kritik bir güvenlik riskidir. Her zaman phpMyAdmin’e HTTPS üzerinden erişmelisiniz. İki ana yaklaşım vardır:
Seçenek A — Let’s Encrypt SSL Sertifikası Kullanın (Ücretsiz)
Sunucunuza işaret eden bir alan adınız varsa, Certbot’u yükleyin:
sudo apt install certbot python3-certbot-apache -y
sudo certbot --apache -d yourdomain.comCertbot, Apache’yi otomatik olarak HTTP’den HTTPS’ye yönlendirecek ve ücretsiz, otomatik yenilenen bir sertifika yükleyecektir.
Seçenek B — Ticari SSL Sertifikası Kullanın
Hassas verileri işleyen üretim ortamları için, ticari olarak verilen bir SSL sertifikası daha güçlü güven sinyalleri ve garanti koruması sağlar. AlexHost SSL Sertifikaları‘ndan doğrudan güvenilir SSL sertifikaları alabilirsiniz; Etki Alanı Doğrulaması (DV) ile Genişletilmiş Doğrulama (EV) sertifikalarına kadar seçenekler mevcuttur.
SSL sertifikanızı yükledikten sonra, phpMyAdmin URL’nizin https:// kullandığından emin olun:
https://yourdomain.com/phpmyadminAdım 7 — phpMyAdmin’e Erişin {#step-7}
Yükleme ve güvenlik önlemleri yerinde olduğunda, tarayıcınızı açın ve şu adrese gidin:
https://your_server_ip_or_domain/phpmyadminSırayla iki kimlik doğrulama istemiyle karşılaşacaksınız:
- HTTP Temel Kimlik Doğrulaması istemi —
htpasswdile oluşturduğunuz kullanıcı adı ve parolayı girin - phpMyAdmin oturum açma sayfası — MySQL/MariaDB kullanıcı adınızı (örneğin,
root) ve parolasını girin
Başarılı oturum açmadan sonra, phpMyAdmin grafik arayüzü aracılığıyla MySQL veritabanlarınıza tam erişim sahibi olacaksınız.
Yaygın Sorunları Giderme {#troubleshooting}
phpMyAdmin 404 Bulunamadı Hatası Döndürüyor
Apache yapılandırması bağlı veya etkinleştirilmemiş olabilir. Şu komutu çalıştırın:
###
