Ana içeriğe geç

Debian 10 Üzerinde phpMyAdmin Kurulumu (Kaynak Koddan) — Adım Adım Rehber

Debian 10 varsayılan depolarında phpMyAdmin bulunmadığı için kurulum kaynak koddan yapılır.
Bu rehber, Apache, MariaDB, PHP yapılandırması, blowfish_secret, open_basedir güvenliği,
pma kullanıcı oluşturma, create_tables.sql çalıştırma, temp dizini oluşturma,
.htaccess koruma gibi tüm adımları içerir.

Aşağıdaki adımlar birebir uygulanabilir yapıdadır.


📌 1. Sunucuyu Güncelleyin

sudo apt update && sudo apt upgrade -y
  • Kritik güncellemelerin tamamı uygulanır.

📌 2. Gerekli Paketleri Kurun


sudo apt install apache2 mariadb-server php php-cli php-mbstring php-zip php-gd php-json php-curl php-xml php-common unzip wget -y
  • phpMyAdmin için zorunlu PHP eklentileri burada kurulur.

📌 3. MariaDB Servisini Başlatın


sudo systemctl start mariadb
sudo systemctl enable mariadb
  • MariaDB otomatik başlar.

📌 4. phpMyAdmin Kaynak Kodunu İndirin


cd /usr/share
sudo wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.zip
sudo unzip phpMyAdmin-latest-all-languages.zip
sudo mv phpMyAdmin-*-all-languages phpmyadmin
sudo rm phpMyAdmin-latest-all-languages.zip
  • Her zaman son sürüm indirilir.

📌 5. Temp Dizini Oluşturun


sudo mkdir /usr/share/phpmyadmin/tmp
sudo chmod 777 /usr/share/phpmyadmin/tmp

phpMyAdmin bazı işlemler için geçici dizine ihtiyaç duyar.


📌 6. phpMyAdmin Yapılandırma Dosyasını Oluşturun


cd /usr/share/phpmyadmin
sudo cp config.sample.inc.php config.inc.php

📌 7. Rastgele blowfish_secret Anahtarı Ekleyin


openssl rand -base64 32

Çıkan anahtarı config.inc.php içine ekleyin:


$cfg['blowfish_secret'] = 'BURAYA_OLUŞTURULAN_ANAHTARI_YAPIŞTIR';

Bu anahtar çerez güvenliği içindir.


📌 8. phpMyAdmin İçin Veritabanı Tablolarını Oluşturun (GÜÇLENDİRİLMİŞ ADIM)


sudo mysql < /usr/share/phpmyadmin/sql/create_tables.sql

pmadb adı verilen meta tablolar arayüzün daha sağlıklı çalışmasını sağlar.


📌 9. pma Kullanıcısını Oluşturun (GÜÇLENDİRİLMİŞ ADIM)

  1. MariaDB konsoluna gir:

sudo mysql

  1. Komutları uygulayın:

CREATE USER 'pma'@'localhost' IDENTIFIED BY 'güçlü_sifre';
GRANT SELECT, INSERT, UPDATE, DELETE ON phpmyadmin.* TO 'pma'@'localhost';
FLUSH PRIVILEGES;
EXIT;
  • phpMyAdmin iç yönetim tabloları için özel kullanıcı gerekir.

📌 10. Apache Yapılandırmasını Ekleyin

  1. Dosyayı oluşturun:

sudo nano /etc/apache2/conf-available/phpmyadmin.conf

  1. İçeriği yapıştırın:

Alias /phpmyadmin /usr/share/phpmyadmin

<Directory /usr/share/phpmyadmin>
Options FollowSymLinks
DirectoryIndex index.php
AllowOverride All
Require all granted
</Directory>

<Directory /usr/share/phpmyadmin/setup>
Require local
</Directory>

📌 11. open_basedir Kısıtlaması (GÜVENLİK EKLEMESİ)

  1. PHP için güvenlik ekleyin:

sudo nano /etc/php/7.3/apache2/conf.d/phpmyadmin-security.ini

  1. İçerik:

open_basedir = /usr/share/phpmyadmin/:/usr/share/phpmyadmin/tmp/:/usr/share/phpmyadmin/vendor/
upload_tmp_dir = /usr/share/phpmyadmin/tmp
session.save_path = /usr/share/phpmyadmin/tmp

  1. Apache yeniden başlat:

sudo systemctl restart apache2

📌 12. phpMyAdmin Konfigürasyonunu Etkinleştirin


sudo a2enconf phpmyadmin
sudo systemctl reload apache2

📌 13. .htaccess Koruması Ekleyin (Opsiyonel Ama Tavsiye)


sudo nano /usr/share/phpmyadmin/.htaccess

  • İçerik:

AuthType Basic
AuthName "phpMyAdmin"
AuthUserFile /etc/phpmyadmin/.htpasswd
Require valid-user

  1. Şifre dosyasını oluşturun:

sudo mkdir /etc/phpmyadmin
sudo htpasswd -c /etc/phpmyadmin/.htpasswd admin

📌 14. phpMyAdmin’e Erişim

  • Tarayıcıdan:

http://sunucu-ip-adresi/phpmyadmin

❓ Sıkça Sorulan Sorular (SSS)

1: exit-code hatası alıyorum, SSH servisi başlamıyor. Ne yapmalıyım?

Bu genellikle /etc/ssh/sshd_config içinde yazım hatası olduğunda olur. Port, ListenAddress ve Protocol 2 gibi temel direktifleri kontrol edin.


2: Neden apt install phpmyadmin ile kurmadık?

Debian 10 depolarında phpMyAdmin bulunmadığından kaynak kurulum gereklidir.


3: blowfish_secret anahtarını kaybetmek sorun yaratır mı?

Hayır. Yeni anahtar belirleyebilirsiniz, sadece eski çerezler geçersiz olur.


4: LAMP kurulumu sırasında neden MariaDB var? MySQL kullanabilir miyim?

phpMyAdmin hem MariaDB hem MySQL ile tam uyumludur. İstediğini kullanabilirsin.


5: 404 Not Found hatası alıyorum. Neden?

Genelde şu komutun eksik olmasından kaynaklanır:


sudo a2enconf phpmyadmin
sudo systemctl reload apache2

🏁 Sonuç

Bu rehberle Debian 10 üzerinde phpMyAdmin’i kaynak koddan, Apache, MariaDB, PHP güvenlik ayarları, pma kullanıcı yapılandırması, open_basedir, temp dizini, .htaccess koruması gibi profesyonel üretim ortamına uygun adımlarla tamamlamış oldun.

Artık veritabanlarını güvenli ve pratik bir şekilde Rabisu Bulut platformunda yönetebilirsin.