Linux Sunucularda PHP SSH2 Eklentisi Kurulumu ve Yapılandırması

PHP SSH2 eklentisi (PHP SSH2 Extension), web sunucunuzda çalışan PHP betiklerinin uzak bir sunucuya SSH (Secure Shell) protokolü üzerinden güvenli bir şekilde bağlanmasını, komut çalıştırmasını ve SFTP üzerinden dosya aktarımı yapmasını sağlayan kritik bir modüldür.

Özellikle oyun sunucusu yönetim panellerinde (Counter-Strike, Minecraft, Rust vb.), WHMCS gibi otomasyon yazılımlarının uzak sunucu yönetimi modüllerinde ve özel sunucu dağıtım (deployment) scriptlerinde PHP SSH2 eklentisine sıkça ihtiyaç duyulur.

Bu rehberde, DoğruHost VDS veya Fiziksel sunucularınızda libssh2 ve ssh2 eklentilerini SSH (Terminal) üzerinden adım adım nasıl kurup aktifleştireceğinizi anlatıyoruz.

1. Gerekli Bağımlılıkların (Dependencies) Yüklenmesi

PHP SSH2 modülünün derlenebilmesi ve sorunsuz çalışabilmesi için sistemde C derleyicisi (gcc), PHP geliştirme kütüphaneleri (php-devel) ve libssh2 paketlerinin yüklü olması gerekir.

SSH terminalinizde root yetkisiyle aşağıdaki komutu çalıştırarak gerekli bağımlılıkları yükleyin:


# AlmaLinux, Rocky Linux, CentOS ve RHEL sistemlerde:
dnf install gcc php-devel php-pear make libssh2 libssh2-devel -y

(Eski nesil bir CentOS sürümü kullanıyorsanız dnf yerine yum komutunu tercih edebilirsiniz.)

2. PECL Üzerinden SSH2 Modülünün Derlenmesi

Gerekli sistem kütüphanelerini yükledikten sonra PHP'nin paket yöneticisi olan PECL aracılığıyla SSH2 eklentisini indirim derliyoruz:


pecl install -f ssh2

⚙️ Kurulum Esnasında Beliren Uyarı:

Derleme sırasında terminal sizden libssh2 prefix konumunu doğrulamanızı isteyebilir. Herhangi bir yol yazmadan doğrudan Enter tuşuna basarak varsayılan dizinle kuruluma devam edebilirsiniz.

3. SSH2 Modülünü PHP Yapılandırmasına (php.ini) Eklemek

Derleme tamamlandıktan sonra ssh2.so uzantılı modül dosyasının PHP tarafından tanınması için konfigürasyon dosyasına eklenmesi gerekir.

A) Aktif php.ini Dosya Konumunu Tespit Etme

Sunucunuzdaki aktif php.ini dosyasının dizinini öğrenmek için şu komutu çalıştırın:


php -i | grep "Loaded Configuration File"

B) Modülü Yapılandırma Dosyasına Tanımlama

Çıktıda görünen php.ini yoluna göre modülü aktif edebilirsiniz.

  • 1. Yöntem (Doğrudan php.ini Dosyasına Eklemek):


    echo "extension=ssh2.so" >> /usr/local/lib/php.ini
    
  • 2. Yöntem (RPM / Modüler Yapılar İçin - Önerilen): Modüler bir Linux dağıtımı kullanıyorsanız, php.ini dosyasını bozmadan ayrı bir modül dosyası oluşturmak çok daha sağlıklı bir yaklaşımdır:


    echo "extension=ssh2.so" > /etc/php.d/20-ssh2.ini
    

4. SSH2 Eklentisinin Doğrulanması ve Servislerin Yeniden Başlatılması

Yaptığımız değişikliklerin geçerli olması için web sunucunuzu (ve varsa PHP-FPM servisini) yeniden başlatmanız gerekmektedir.


# Web sunucusu ve Proxy servislerini yeniden başlatın
systemctl restart httpd
systemctl restart nginx

# Eğer PHP-FPM kullanıyorsanız:
systemctl restart php-fpm

Modülün Aktifliğini Kontrol Etme

Modülün PHP CLI tarafında başarıyla yüklendiğini teyit etmek için terminalde şu sorguyu çalıştırın:


php -m | grep -i "ssh2"

Eğer ekrana ssh2 yanıtı dönüyorsa eklenti başarıyla yüklenmiştir.

???? DoğruHost İpuçları ve Web Testi (phpinfo)

Eklentinin web siteleriniz üzerinden de aktif olarak göründüğünü teyit etmek için sitenizin public_html dizininde geçici bir info.php dosyası oluşturabilirsiniz:


<?php
// Geçici test dosyası: info.php
phpinfo();
?>

Tarayıcınız üzerinden [domainadiniz.com/info.php](https://domainadiniz.com/info.php) adresine giderek sayfa içerisinde CTRL + F kısayolu ile "ssh2" kelimesini aratın. Ekranda SSH2 Support: enabled tablosunu görüyorsanız kurulum eksiksiz tamamlanmış demektir. Test sonrasında güvenlik gerekçesiyle info.php dosyasını silmeyi unutmayın.

Sunucu optimizasyonu, cPanel/Plesk PHP eklenti yönetimi veya game server altyapı kurulumlarında yardıma ihtiyaç duyarsanız, DoğruHost 7/24 uzman teknik destek ekibimizle dilediğiniz zaman iletişime geçebilirsiniz.

Projenizi Bir Sonraki Seviyeye Taşıyın

Web sitenizi güvenilir, hızlı ve modern bir altyapı üzerinde hayata geçirmek için doğru zamanı seçin. Doğru Host, ihtiyaçlarınıza uygun güçlü hosting çözümleriyle her adımda yanınızda.