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)
- MariaDB konsoluna gir:
sudo mysql
- 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
- Dosyayı oluşturun:
sudo nano /etc/apache2/conf-available/phpmyadmin.conf
- İç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İ)
- PHP için güvenlik ekleyin:
sudo nano /etc/php/7.3/apache2/conf.d/phpmyadmin-security.ini
- İç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
- 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
- Ş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.