CyberPanel phpMyAdmin Otomatik Giriş Sorunu ve Kesin Çözümü
Bu sayfayı ekleyen: #Netler
CyberPanel kullanıcılarının en sık karşılaştığı teknik sorunlardan biri, kontrol paneli üzerinden phpMyAdmin'e erişmeye çalışırken yaşanan otomatik giriş (SSO / Single Sign-On) hatasıdır. Panel üzerinden veritabanına girmeye çalıştığınızda şifre ekranında takılıyorsanız veya boş bir sayfa ile karşılaşıyorsanız, doğru yerdesiniz.
Bu rehberde, SSH bağlantısı kullanarak CyberPanel phpMyAdmin otomatik giriş sorununu adım adım nasıl çözeceğinizi anlatıyoruz.
CyberPanel phpMyAdmin Otomatik Giriş Sorunu Nedir?
CyberPanel, kullanıcıların şifre girmeden veritabanlarına tek tıkla erişebilmesi için arka planda bir SSO (Tekli Oturum Açma) mekanizması kullanır. Güncellemeler, eksik dosyalar veya yapılandırma (configuration) hataları nedeniyle bu köprü kopabilir. Sonuç olarak phpMyAdmin'e otomatik geçiş yapılamaz.
Adım Adım phpMyAdmin Otomatik Giriş Sorununun Çözümü
İşleme başlamak için sunucunuza SSH (PuTTY veya Terminal) üzerinden root yetkisiyle bağlanmanız gerekmektedir.
1. phpMyAdmin Dizininin Kontrol Edilmesi ve Kurulumu
Öncelikle CyberPanel'in kamuya açık dizinine giderek phpMyAdmin klasörünün varlığını kontrol edelim.
SSH terminalinizde şu komutu çalıştırın:
cd /usr/local/CyberCP/public
ls -laEğer bu dizinde phpmyadmin adında bir klasör yoksa, gerekli dosyaları indirip arşivden çıkarmanız gerekir. Klasör yoksa aşağıdaki bash komutlarını sırasıyla çalıştırın:
cd /usr/local/CyberCP/public
wget -v https://github.com/josephgodwinkimani/cyberpanel-mods/raw/main/phpmyadmin.zip
unzip phpmyadmin.zip2. config.inc.php Yapılandırma Dosyasının Oluşturulması
phpmyadmin klasörü içinde SSO ayarlarını tutacak olan config.inc.php dosyasının doğru yapılandırılması kritik öneme sahiptir.
/usr/local/CyberCP/public/phpmyadmindizinine gidin.config.inc.phpdosyasını düzenleyin (veya yoksa oluşturun):
nano /usr/local/CyberCP/public/phpmyadmin/config.inc.php- Dosya içeriğini aşağıdaki kodlar ile değiştirin:
Önemli:
$cfg['blowfish_secret']kısmına güvenlik için kendinize özel, rastgele 32 karakterlik karmaşık bir metin yazın.
<?php
$cfg['blowfish_secret'] = 'a8b7c6d5e4f3g2h1i0j9k8l7m6n5o4p3'; // Kendinize özel rastgele bir kod yazın
$i = 0;
$i++;
/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'signon';
$cfg['Servers'][$i]['SignonSession'] = 'CyberCPSession';
$cfg['Servers'][$i]['SignonURL'] = '/phpmyadmin/phpmyadminsignin.php';
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['AllowNoPassword'] = false;
$cfg['UploadDir'] = '';
$cfg['SaveDir'] = '';3. SSO Otomatik Giriş Köprüsü: phpmyadminsignin.php
Giriş yaparken CyberPanel jetonlarını (token) doğrulayacak ve phpMyAdmin oturumunu otomatik başlatacak dosyayı hazırlamamız gerekiyor.
phpmyadminklasörü içerisindephpmyadminsignin.phpadında bir dosya oluşturun:
nano /usr/local/CyberCP/public/phpmyadmin/phpmyadminsignin.php- Aşağıdaki PHP kodunu yapıştırın:
Dikkat: Kod içerisindeki
$db_password = "";satırında tırnak işaretlerinin arasına sunucunuzun Root MySQL / MariaDB şifresini yazmayı unutmayın./usr/local/CyberCP/CyberCP/settings.pybu dosya içinde mysql root şifresi bulunuyor buradan alabilirsiniz.settings.pydosyasını değiştirmeyin.
<?php
declare (strict_types = 1);
/* Session çerezlerini aktif ediyoruz */
ini_set('session.use_cookies', 'true');
$secure_cookie = false;
session_set_cookie_params(0, '/', '', $secure_cookie, true);
$session_name = 'CyberCPSession';
session_name($session_name);
@session_start();
// CyberPanel SSO Bridge Script
if ($_SERVER['REQUEST_METHOD'] === 'POST' && ! empty($_POST['username']) && ! empty($_POST['token'])) {
$username = $_POST['username'];
$token = $_POST['token'];
// Buraya root mysql şifrenizi girin!
$db_password = "MYSQL_ROOT_SIFRENIZI_BURAYA_YAZIN";
// CyberPanel veritabanına bağlanıp token kontrolü yap
$conn = new mysqli('localhost', 'root', $db_password, 'cyberpanel', null, '/var/run/mysqld/mysqld.sock');
if ($conn->connect_error) {
$conn = new mysqli('localhost', 'root', $db_password, 'cyberpanel');
}
if (! $conn->connect_error) {
$stmt = $conn->prepare("SELECT password FROM databases_globaluserdb WHERE username = ? AND token = ?");
$stmt->bind_param("ss", $username, $token);
$stmt->execute();
$result = $stmt->get_result();
if ($row = $result->fetch_assoc()) {
$password = $row['password'];
// Token'ı güvenlik için temizle
$update = $conn->query("DELETE FROM databases_globaluserdb WHERE username = '" . $username . "'");
// phpMyAdmin signon oturumunu başlat ve bilgileri aktar
if ($username == "admin") {
$_SESSION['PMA_single_signon_user'] = "root";
$_SESSION['PMA_single_signon_password'] = $db_password;
} else {
$escaped_user = $conn->real_escape_string($username);
$escaped_pass = $conn->real_escape_string($password);
// MySQL/MariaDB kullanıcısının şifresini güncelle ve yetkileri yenile
$alter_sql = "ALTER USER '{$escaped_user}'@'localhost' IDENTIFIED BY '{$escaped_pass}'";
if ($conn->query($alter_sql)) {
$conn->query("FLUSH PRIVILEGES");
} else {
die("Giriş yetkisi güncellenemedi.");
}
$_SESSION['PMA_single_signon_user'] = $username;
$_SESSION['PMA_single_signon_password'] = $password;
}
// phpMyAdmin ana sayfasına yönlendir
header('Location: /phpmyadmin/index.php');
exit();
}
$stmt->close();
$conn->close();
}
}
// Token eşleşmezse veya doğrudan girilirse işlem sonlandırılır
exit();Sonuç ve Test
Tüm dosyaları kaydedip kapattıktan sonra, CyberPanel yönetici panelinize geri dönün. Databases > Access phpMyAdmin (Veritabanları > phpMyAdmin'e Erişim) menüsüne tıklayın.
Eğer tüm adımları doğru uyguladıysanız ve MySQL root şifrenizi dosyaya yazdıysanız, phpMyAdmin şifre sormadan otomatik olarak açılacaktır.
Özetle Ne Yaptık?
- Eksik phpMyAdmin dosyalarını sunucuya indirdik.
- SSO (Single Sign-On) giriş yöntemini destekleyen
config.inc.phpdosyasını oluşturduk. - CyberPanel token sistemi ile phpMyAdmin oturumunu bağlayan
phpmyadminsignin.phpköprü yazılımını ekledik.
CyberPanel veya sunucu yönetimi ile ilgili yaşadığınız diğer sorunlar için yorum yapabilir veya destek alabilirsiniz!
Yorumlar (0)
Henüz yorum yok. İlk yorumu siz yapın!
Yorum Yap
Yorum yapmak için giriş yapın veya kayıt olun.