15%

Tüm Hosting Hizmetlerinde %15 indirim

Becerilerini test et ve herhangi bir hosting planında İndirim kazan

Kodu kullanın:

Skills
Başlayın
01.11.2024

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

  1. Ön Koşullar
  2. Adım 1 — Sistemi ve Paket İndeksini Güncelleyin
  3. Adım 2 — phpMyAdmin’i Yükleyin
  4. Adım 3 — phpMyAdmin için Apache’yi Yapılandırın
  5. Adım 4 — phpMyAdmin’i HTTP Temel Kimlik Doğrulaması ile Güvenli Hale Getirin
  6. Adım 5 — IP Adresi ile Erişimi Kısıtlayın (İsteğe Bağlı ancak Önerilir)
  7. Adım 6 — Trafiği Şifrelemek için SSL’yi Etkinleştirin
  8. Adım 7 — phpMyAdmin’e Erişin
  9. Yaygın Sorunları Giderme
  10. 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 -y

Adım 2 — phpMyAdmin’i Yükleyin {#step-2}

Resmi Ubuntu APT deposu kullanarak phpMyAdmin’i yükleyin:

sudo apt install phpmyadmin -y

Yü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
  [ ] lighttpd

apache2 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 phpmyadmin

Yü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 phpmyadmin

3.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.conf

Dosya 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 apache2

Apache’nin hatasız çalıştığını doğrulayın:

sudo systemctl status apache2

Adı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 -y

4.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_user

Parola 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_user

4.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 apache2

Artı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.com

Certbot, 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/phpmyadmin

Adı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/phpmyadmin

Sırayla iki kimlik doğrulama istemiyle karşılaşacaksınız:

  1. HTTP Temel Kimlik Doğrulaması istemihtpasswd ile oluşturduğunuz kullanıcı adı ve parolayı girin
  2. 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:

###

15%

Tüm Hosting Hizmetlerinde %15 indirim

Becerilerini test et ve herhangi bir hosting planında İndirim kazan

Kodu kullanın:

Skills
Başlayın