檔案

條目標籤“SSH2”

SSH2的安裝PHP Shell連接庫

אין תגובות 4月28日,2009 評論

在本教程中,我們將學習如何通過PHP腳本打開一個SSH連接 - 幾款機型將安裝在服務器上,你可以做到這一點!

安裝需要的三(3)以下軟件包:

OpenSSL的Libssh2SSH2

要求:

  • 根訪問服務器
  • PHP是在服務器上安裝

OpenSSL是安裝在默認情況下,許多Linux發行版,所以沒有需要安裝它,但可以肯定,運行以下命令:

rpm -qa | grep openssl

במידה והחבילה מותקנת, הפלט אמור להציג משהו בסגנון הזה:

openssl-0.9.8e-7.el5
openssl-devel-0.9.8e-7.el5

הערה: הגרסאות תלויות במערכת ההפעלה המותקנת בשרת שלך, ולכן ייתכן כי בשרת שלך יוצגו גרסאות אחרות.

אם לא מוצג כלום, סימן שהחבילה OpenSSL אינה מותקנת בשרת וצריך להתקין אותה(בקלות, דרך מנהל ההורדות yum) – לכן, הריצו את הפקודה הבאה:

yum install openssl

החבילה השנייה שצריכים להתקין היא libssh2 . בד"כ היא אינה מגיעה בהפצות של לינוקס כברירת מחדל וצריך להוריד אותה ממקור כלשהו, כמו זה:

wget http://www.libssh2.org/download/libssh2-Version.tar.gz
tar -zxvf libssh2-Version.tar.gz
cd libssh2-Version

לשם הדגמה, אלו פעולות שצריך לבצע עבור ספריית ה libssh2 החדשה ביותר(לרגע כתיבת שורות אלו):

wget http://www.libssh2.org/download/libssh2-1.2.7.tar.gz
tar -zxvf libssh2-1.2.7.tar.gz
cd libssh2-1.2.7
./configure
make
make install

כשכל הקבצים יקומפלו(compile), ספריית ה libssh2 תותקן בשרת שלכם.

הדבר הבא שצריך להתקין זהו המודל לPHP שהוא ssh2 .

ניתן להתקין מודל זה בכמה דרכים, כמו שימוש בPECL, PEAR או בהורדה ישירה וקימפול המודל ידנית.

אני אשתמש באפשרות השלישית מכיוון שבזמן האחרון PECL או PEAR לא עושים בידיוק את העבודה.

wget http://pecl.php.net/get/ssh2-Version.tgz
tar -xzf ssh2-Version.tgz
cd ssh2-Version

לשם הדגמה, אלו פעולות שצריך לבצע עבור ספריית ה ssh2 החדשה ביותר(לרגע כתיבת שורות אלו):

wget http://pecl.php.net/get/ssh2-0.11.2.tgz
tar -xzf ssh2-0.11.2.tgz
cd ssh2-0.11.2
phpize && ./configure –-with-ssh2 && make

במידה והקימפול הסתיים ללא שגיאות, כמעט סיימת. הדבר היחידי שנשאר לעשות הוא להעתיק את המודל ssh2.so מ:

/ssh2-Version/modules/

לשם הדגמה, המיקום של המודל ssh2.so בגרסה ההחדשה ביותר(לרגע כתיבת שורות אלו) צריך להיראות ככה:

/ssh2-0.11.0/modules/

לתקיית התוספות שלכם בPHP(בד"כ התקייה שבה נמצא קובץ ההגדרות – php.ini ), ניתן לבדוק את הנתיב על-ידי בדיקת הקובץ php.ini .

עכשיו בצעו אתחול לApache וסיימנו :)

רק נשאר להריץ סקריפט בכדי לבדוק שהכל תקין.

FAQ:

  1. במידה ולאחר הרצת הפקודה:
phpize && ./configure –with-ssh2 && make

אתם מקבלים שגיאה כמו:

make: *** [ssh2.lo] Error 1

תצטרכו לעשות שינוי קטן.

ערכו את הקובץ ssh2.c (כשאתם עדיין בתקייה של /ssh2- Version /modules/) על-ידי הפקודה:

nano ssh2.c

וחפשו את השורה:

#if LIBSSH2_APINO < 200412301450

ושנו אותה למשהו כמו:

#if LIBSSH2_VERSION_NUM < 0x001000

שמרו את הקובץ והריצו שוב את הפקודה:

phpize && ./configure –with-ssh2 && make

בהצלחה!

קטגוריות: לינוקס תגיות: , , , ,