להתגלגל עם Ruby On Rails – חלק ד’

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

רובי און ריילסעד כה סקרנו את תשתית הפיתוח רובי און ריילס בהיבטים שונים כמו יתרונות השימוש בתשתית רובי און ריילס (חלק א’), מנגנוני cache ויכולת העבודה מול מסדי נתונים (חלק ב’) וגם על הביצועים והגודל (חלק ג’) .

כדי שלכל הסקרנים והסקרניות יהיה תירוץ לבלות מול המחשב בסופ”ש ולהשתעשע, נסיים בסקירה של דרכי התקנה ופריסה של ריילס ועורכי קוד מומלצים.

הקדמה והתנצלות

בשונה מהמקובל בעולם האינטרנט הישראלי, מאמר זה יקפח קלות את משתמשי מערכות ההפעלה של מיקרוסופט לטובת משתמשי מקינטוש ולינוקס. לא, אין בכוונתי לפתוח בעוד חזית במלחמת מערכות ההפעלה או להעליב אף אחד, אלא להיות תכליתי ומעשי. מכיוון שריילס הינה פרוייקט קוד פתוח המיועד לבניית יישומי אינטרנט ואינה בנוייה על טכנולוגיות של מיקרוסופט, סביבתה הטבעית היא בעולם הלינוקס, יוניקס ושות’. כמובן שניתן להתקין ולהשתמש בריילס גם על Windows, אך הדבר משול ללבישת מעיל גשם בקיץ – אפשרי, אך מיותר. משתמשי חלונות הקוראים שורות אלו, אנא קבלו את התנצלותי הכנה על ההתעלמות הזמנית ואת תקוותי שהסקרנות תגבר על הספקנות ותגרום לכם לעבור למערכת הפעלה ידידותית יותר למתכנת. כמו כן, בשל מגוון הפצות הלינוקס והשונות ביניהן, אביא דוגמאות של התקנה על אובונטו, בשל נפוצותה.

מתקינים

הדרך הקלה ביותר להתקין את ריילס היא להשתמש במנהל התוספים החביב של רובי – ruby gem. חדי העין שביניכם הבחינו בוודאי שאין gems בלי רובי, ולכן עלינו לוודא שרובי מותקנת לפני שנוכל להמשיך. משתמשי מקינטוש העובדים עם OS X 10.5 Leopard צריכים להתקין את Xcode הכלולה בדיסק ההתקנה של מערכת ההפעלה. התקנת Xcode תתקין את קבצי המקור של רובי ותאפשר התקנה של gems באמצעות מנהל החבילות. משתמשי לינוקס צריכים להתקין את רובי (כולל קבצי המקור, בדר”כ עם סיומת dev), את ri, rdoc, irb, rubygems, ואת ruby-mysql אם ברצונכם לאפשר תמיכה במסד הנתונים MySQL.

התקנה באובונטו תראה כך:

sudo apt-get install ruby rdoc irb ruby1.8-dev rubygems

למרות שגירסה 1.9 של רובי היא הגירסה הרשמית כבר זמן מה, ברירת המחדל באובונטו ובמקינטוש היא עדיין גירסה 1.8 של רובי. אם ברצונכם להשתמש ברובי 1.9, יהיה עליכם להתקינה ידנית מקבצי המקור (מקינטוש), או להורות למנהל החבילות במפורש להשתמש בגירסה 1.9 (אובונטו).

אחרי שרובי ו rubygems הותקנו בהצלחה, נריץ משורת הפקודה את הפקודה הבאה, שתעדכן את gems קשישא לגירסתו העדכנית:

sudo gem update –system

כל שנותר לנו עתה הוא להתקין את ריילס באופן הבא:

sudo gem install rails

משתמשי מקינטוש הרוצים לעבוד עם MySQL יוכלו להעזר במדריכים כמו באתר של רובי און ריילס או בבלוג exceptionz כדי להתקין את מתאם MySQL כהלכה:

פריסה על שרתים

בימי קדם, אחת מנקודות החולשה העיקריות של ריילס היתה הסיבוכיות הכרוכה בפריסתה על גבי שרת היעד עליו אמור לרוץ היישום. בלי להכנס לכל הפרטים המלוכלכים, נמלמל תודה חרישית על שהיום המצב טוב בהרבה, בעיקר לבני התמותה שלא מדברים bash שוטפת. למעשה, פריסת יישום ריילס על גבי שרת מורכבת משני חלקים – השרת עצמו והמתאם באמצעותו יכול השרת להריץ יישומים הכתובים ברובי. בכל הנוגע לשרת עצמו, שלושת האפשרויות הפופולריות הן Apache, Nginx ו Lighttpd. באשר למתאם, השרתים הנ”ל תומכים בשני סוגי מתאמים: FCGI – זמין עבור שלושת השרתים הנ”ל. Phusion Passenger – זמין עבור Apache ו Nginx. משני המתאמים הנ”ל, Phusion Passenger, העובד בצורה דומה ל mod_php של Apache, הוא ללא ספק המתאם המועדף כיום הן מבחינת ביצועים והן מבחינת קלות התקנה ושימוש. אולם, אם אין ברשותכם שרת ייעודי בשליטתכם, סביר להניח ששרת באחסון משותף יתמוך ב FCGI (או ב FastCGI הישן יותר) ותוכלו להריץ את היישום שלכם בדרך זו.

מידע על הפריסה והמתאמים השונים ניתן למצוא בקישורים הבאים:

Phusion Passenger כולל מדריכים מקיפים להתקנה והגדרה של המתאם.
פרטים על מתאם FCGI ל Nginx
פרטים על מתאם FCGI ל lighttpd
פרטים על מתאם FCGID ל Apache
על שימוש ב FGCID עם ריילס – (ההוראות הן למקינטוש, אך העקרונות זהים בלינוקס, למעט תהליך התקנת החבילות)

נסכם את חלק הפריסה במספר טיפים:

– Nginx ו lighttpd הם שרתים מדור חדש יותר מאשר Apache הוותיק, ונחשבים בחלק מהמקרים לבעלי ביצועים טובים במעט. אם אין לכם העדפה מסויימת או חובה להשתמש ב Apache שווה לבדוק אותם.

– שימוש ב FCGI מצריך את התקנת התוסף הרלבנטי לרובי באמצעות הפקודה:
sudo gem install fcgi

– עליכם לשנות את ההגדרות בקובץ dispatcher.rb בתוך תיקיית public כך שהיישום ישתמש במתאם עימו בחרתם לעבוד.

– זכרו שללא קשר לשרת איתו בחרתם לעבוד, עליכם להגדיר את תיקיית public של היישום שלכם כתיקיית הבסיס (DocumentRoot ב Apache) החשופה כלפי חוץ. שאר תיקיות היישום אינן אמורות להיות ציבוריות.

– משתמשי מקינטוש יוכלו להוריד Preference Pane לניהול Passenger

מילות סיכום

כולי תקווה שסדרת המאמרים על ריילס הציתה את סקרנותכם וגירתה אתכם, ולו במעט, לגלות קצת יותר את הטכנולוגיה הנפלאה הזו. מפאת קוצר היריעה, נאלצתי להמנע מפירוט רב יותר, בעיקר בכל הקשור לתהליכי התקנה ופריסה, אך אני בטוח שלא תתקשו למצוא את המידע הדרוש לכם לאחר חיפוש מהיר בגוגל. אם אתם עובדים עם סביבת העבודה Eclipse תוכלו להתקין את תוסף הפיתוח המצויין של ריילס, הנקרא RadRails דרך האתר של Aptana Studio. לחילופין, תוכלו להשתמש בעורך הקוד החינמי Komodo Edit התומך בשפת רובי.

תכנות נעים!

זהר ארד עובד כמפתח client-side בחברת מטהקפה מזה שנתיים וחצי וכ Webmaster של אתר קול הקמפוס מזה ארבע שנים. מערכת ניוזגיק מודה לזהר ארד על  סדרת הכתבות המצויינת.

זהר ארד

בן 35, קיבוצניק שהדרים לעיר הגדולה, מפתח client-side בנשמתו (מטהקפה, קול הקמפוס 106fm ואחרים). משתמש מקינטוש מושבע (שחוטא גם בלינוקס בשעות הפנאי). מעדיף הכל פשוט, מינימליסטי ועובד טוב ומשתדל להמנע מדברים עם הלוגו של מיקרוסופט ונהגי מוניות כעסנים. אוהב הרבה Web, מתובלת בג’אווהסקריפט, HTML, CSS, פייתון ורובי, ספרים, פפאיות ומוזיקה מהחנות (בדיסק המקורי). מתנודד תדיר בין אקזיסטנציאליזם לאינדיבידואליזם ונכון להיום עדיין אוחז ב-fetish לא מוסבר לצבים.

הגב

9 Comments on "להתגלגל עם Ruby On Rails – חלק ד’"

avatar
Photo and Image Files
 
 
 
Audio and Video Files
 
 
 
Other File Types
 
 
 
Sort by:   newest | oldest | most voted
Erez Ben Shoham
Guest

אהבתי – “מעיל גשם בקיץ”
למה הפסקת שם?
כמו ללכת עם נעלי עקב לטיול בהרים
כמו לאכול שוקולד עם עגבניה
כמו לנגב את ה…. עם נייר זכוכית
כמו לנסוע עד אילת ברוורס
אפשר להמשיך עוד ועוד….

הסרטון הבא יכול להמחיש מדוע סביבת מק המתאימה ביותר
http://vimeo.com/1517359

בכל זאת התקנת ריילס על חלונות מאד קלה עם InstantRails
http://instantrails.rubyforge.org/wiki/wiki.pl?…

מדריך נוסף של סימון
http://hamesila.co.il/

בהצלחה,

ארז

זהר
Guest

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

Erez Ben Shoham
Guest

זהר אני משתמש בחלונות מאז dos
אני בעצם צוחק על עצמי

זהר
Guest

חחחח….. ואתה גם מריץ ריילס על שרת חלונות?
אולי יום אחד זה יעבור לך :)

trackback

[…] – תשתית פיתוח לפרפקציוניסטים (חלק א) להתגלגל עם Ruby On Rails – חלק ד’ מתויג כ: IDCC 2009, גד מאיר, מיקרוסופט, קהילת פיתוח blog […]

trackback

[…] ריילס. בנוסף, Engine Yard, הינה מובילה טכנולוגית בקהילות רובי וריילס, ומעורבת הן בפיתוח הפרוייקטים הללו והן במתן חסות לכלים […]

Murgyalbertina
Guest

must check for more detail for gift

blogspot.ru
Guest

Somebody necessarily lend a hand to make seriously articles
I might state. This is the first time I

frequented your website page and so far? I amazed with the

research you made to create this particular submit

amazing. Magnificent task!

Theodore
Guest

There are actually a lot of details like that to take into consideration.

That could

be a great level to carry up. I provide the ideas above as

normal inspiration but clearly there are questions just like the one you

convey up the place a very powerful factor

shall be working in trustworthy good faith. I

don?t know if finest practices have emerged round issues like that,
but

I’m positive that your job is clearly identified as a fair game. Each boys

and girls really feel the affect of only a second’s

pleasure, for the rest of their lives.

wpDiscuz

תגיות לכתבה: