1. Kurulum yapacağımız klasörü oluşturuyoruz:
cd ~
mkdir ssh2_install
cd ssh2_install
2. Gerekli dosyaları çekiyoruz
-OpenSSL & OpenSSL Development Package:
wget https://tik.lat/GZ0SY .pbone.net/mirror/ftp.centos.org/4.5/os/i386/CentOS/RPMS/openssl-0.9.7a-43.16.i686.rpm
wget https://tik.lat/JCqgf .pbone.net/mirror/ftp.centos.org/4.5/os/i386/CentOS/RPMS/openssl-devel-0.9.7a-43.16.i386.rpm
-libssh2:
Aşağıdaki adresten son sürümü temin edilebilir:
https://tik.lat/RXisL
-ssh2:
Aşağıdaki adresten son sürümü temin edilebilir:
https://tik.lat/Cwd22
wget https://tik.lat/isYJw .dl.sourceforge.net/sourceforge/libssh2/libssh2-0.18.tar.gz
wget https://tik.lat/5pJez .php.net/get/ssh2-0.10.tgz
3. Kuruluma geçiyoruz
OpenSSL Kurulumu
rpm -ihv openssl-0.9.7a-43.16.i686.rpm
rpm -ihv openssl-devel-0.9.7a-43.16.i386.rpm
libsssh2 Kurulumu
tar zxvf libssh2-0.18.tar.gz
cd libssh2-0.18
./configure
make all install
ssh2 Kurulumu
tar zxvf ssh2-0.10.tgz
cd ssh2-0.10
Bu aşamada SSH2′nin bir bug’ını düzeltmek zorundayız. Bu bug LIBSSH2_APINO tanımlanmadığı zaman oluşmaktadır
1. ssh2.c dosyasını nano ile açın
2. Aşağıda belirtilen satırları bulun
#if LIBSSH2_APINO < 200412301450
libssh2_session_methods(session, &kex, &hostkey, &crypt_cs, &crypt_sc, &mac_cs, &mac_sc, &comp_cs, &comp_sc, &lang_cs, &lang_sc);
3. Bulduğunuz satırları aşağıdaki satırlar ile değiştirin
#ifdef LIBSSH2_APINO
# if LIBSSH2_APINO < 200412301450
libssh2_session_methods(session, &kex, &hostkey, &crypt_cs, &crypt_sc, &mac_cs, &mac_sc, &comp_cs, &comp_sc, &lang_cs, &lang_sc);
# endif
4. Kaydedip çıkın
phpize
./configure --with-ssh2
SSH2 Modülümüz oluşturuldu, daha sonrasında bu modülü PHP’ye extension olarak ekliyoruz
1. PHP’nin kullandığı php.ini dosyamızı buluyoruz
php -i | grep "Loaded Configuration File"
2. Çıkan sonuçtaki dosyanın içindeki extension_dir konumunu arıyoruz
cat /usr/local/lib/php.ini | grep "extension_dir = "
3. ssh2.so dosyamızı extension_dir klasörümüze kopyalıyoruz
cp ssh2.so /usr/local/lib/php/extensions/no-debug-non-zts-20060613
4. php.ini dosyamıza extension olarak ssh2.so’yu ekliyoruz
echo "extension=ssh2.so" >> /usr/local/lib/php.ini
5. SSH2′nin yüklendiğini onaylamak için aşağıdaki komutu girdikten sonra aşağıdaki sonuçları elde etmeniz gerekiyor.
[root@Redback-AN-1 modules]# php -i | grep ssh2
Registered PHP Streams => php, file, data, http, ftp, compress.zlib, ssh2.shell, ssh2.exec, ssh2.tunnel, ssh2.scp, ssh2.sftp
ssh2
libssh2 version => 0.18
banner => SSH-2.0-libssh2_0.18
PWD => /root/ssh2_install/ssh2-0.10/modules
OLDPWD => /root/ssh2_install/ssh2-0.10
_SERVER["PWD"] => /root/ssh2_install/ssh2-0.10/modules
_SERVER["OLDPWD"] => /root/ssh2_install/ssh2-0.10
_ENV["PWD"] => /root/ssh2_install/ssh2-0.10/modules
_ENV["OLDPWD"] => /root/ssh2_install/ssh2-0.10
Son adım olarak httpd’ye restart atıyoruz
/etc/init.d/httpd restart
Artık SSH2 Extension’ınız kullanıma hazır =)