אכסון - כיצד להתקין אפליקצית ריילס עם FastCGI?

  אכסון ריילס למטרות לימוד   14/07/2009

תגיות:


במדריך אנו יוצאים מתוך נקודת הנחה שהנכם לומדים פיתוח בסביבת רובי און ריילס והנכם מתקינים אתר רובי און ריילס בפעם הראשונה, כמו כן שיש לכם על המחשב המקומי אפליקצית ריילס שפיתחתם והנכם מעוניינים להתקין אותה לשימוש אונליין. בנוסף כרגע אין לכם עניין להשתמש ב SVN GIT & Capistrano.

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

שלב א

בדקו את הודעת הדוא"ל שקיבלתם מאיתנו לאחר הקמת החשבון שלכם בא תמצאו שלושה נתונים חשובים:

  • כתובת IP של השרת עליו מאוחסן האתר שלכם.
  • שם המשתמש והסיסמא של החשבון שלכם.
  • קישור לממשק הניהול cPANEL.

התחברו לשרת FTP - ftp://your_domain ולממשק הניהול ונסו להתבונן ולהבין במה מדובר, השתדלו לא לבצע שינויים בשלב זה.

שלב ב

צרו את בסיס הנתונים שלכם (MySql) דרך ממשק cPANEL.
צרו בסיס נתונים.
צרו משתמש לבסיס הנתונים.
שייכו את המשתמש שיצרתם לבסיס הנתונים שיצרתם.

שימו לב לעובדה שהשמות של בסיס הנתונים והמשתמש תמיד יתחילו בשם החשבון שלכם וקו תחתון account_dbname & account_username חשוב לשים לב לזה כאשר תגדירו את קובץ yml.

יבאו את בסיס הנתונים מהמחשב שלכם לשרת בעזרת phpMyAdmin תמצאו קישור ב cPANEL.

שלב ג

התחברו ב SSH לשרת (למשתמשי חלונות - בעזרת PuTTY)

פשוט מלאו את כתובת הדומיין שלכם בשדה המתאים ולחצו על Open ראו תמונה:

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

בבקשה שימו לב שאנו מקימים אפליקצית ריילס בגרסה 2.2.2 מכיוון שמגרסה  2.3.2 יש בעיה עם FastCGI

username@rubyonrails.org.il [~]# rails _2.2.2_ yourapp

שלב ד

בשלב זה יש שתי תיקיות, אחת על השרת (סביבת הפקה) ואחת על המחשב שלכם (סביבת פיתוח).

עליכם להכין גרסאות לסביבת הפקה עבור הקבצים:

  • myapp/config/environment.rb
  • myapp/config/routes.rb
  • myapp/config/database.yml
  • myapp/public/.htaccess

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

.htaccess

שימו לב שמגרסה Rails 2.1.x קובץ .htaccess לא קיים, על כן באפשרותכם להוריד אותו כאן: htaccess.zip.

environment.rb

# Uncomment below to force Rails into production mode when
# you don't control web/app server and can't set it the proper way
ENV['RAILS_ENV'] ||= 'production'

הורידו את סימן ההערה מהמשפט שבתמונה כדי לגרום לאפליקציה לעבור למצב הפקה.

חשוב מאוד! אף פעם אל תריצו אפליקציה על שרת הפקה במצב פיתוח.

routes.rb

	map.root :controller => "controllername"

ודאו כי בקובץ routes הנכם מפנים ל controller הראשי

database.yml

production:
adapter: mysql
database: yourhostingusername_yourdbname
username: yourhostingusername_yourdbusername
password: yourpassword

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

שלב ה

העתיקו קבצים לשרת, מומלץ לעשות זאת בשלבים

  • שנו שם תיקית app על השרת ל app_old
  • העתיקו את תיקית app כמו שהיא לשרת.
  • העתיקו מתיקית WebServer שיצרתם את 3 הקבצים הרלוונטיים לתוך תיקית config על השרת.
  • העתיקו את קובץ .htaccess לתיקית public.
  • העתיקו את תיקיות התמונות קבצי ה CSS ו javascript.
  • אם יש לכם קבצים נוספים בתיקית vandor העתיקו אותם גם.
  • שנו את שם הקובץ index.html בתיקית public על השרת ל index_old.html.

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

השלב האחרון

אם אינכם מחוברים עדיין התחברו ב SSH לשרת 

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

username@rubyonrails.org.il [~]# mv ~/public_html ~/public_html_backup

username@rubyonrails.org.il [~]# ln -s ~/yourapp/public ~/public_html

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

אם יש תקלה כל שהיא השתמשו בלוג השגיאות שב cPANEL ובתיקית log של האפליקציה שלכם כדי לנסות ולהבין מה לא עובד ולמה, במידה ועדיין יש בעיה כתבו אותה ב פורום וננסה לעזור

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

username@rubyonrails.org.il [~]# killall -u username dispatch.fcgi

בהצלחה!

Bookmark and Share

תגובות


מיכל - 27/07/2009

הערות למדריך:
1. FTP- יש לדעתי להסביר איך יוצרים קישור FTP דרך add network place
2. לגבי יבוא בסיס הנתונים יש לציין את האפשרות לייבא את הDB כולל נתונים או רק סכמה ולהסביר איך לעשות יצוא של בסיס הנתונים של הפיתוח.
3. אנחנו העברנו אפליקצייה שפותחה בגרסא 2.3.2, כאשר רצינו לשנות את קובץ ה environment לא היה בו בכלל הפקודה, ונאלצנו להוסיף אותה... ENV...
4.בהוראות ההעתקה, צריך לאמר באופן מפורש לגבי תיקיית PUBLIC אלו תיקיות להעתיק
5. יש שגיאת כתיב במילה VANDOR, צריך להיות VENDOR


ארז - 27/07/2009

הי מיכל
תודה להערות
אני אעדכן את המדריך בהתאם להערות שלך

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


מיכל - 27/07/2009

שימו לב שבפקודה

rails _2.2.2_ yourapp

יש רווח (כפי שכאן מודגש) בין מספר גרסת RAILS לבין שם האפליקציה.

אחרת נוצרת תיקייה של גרסה 2.3.2





- שימו לב שכל השדות מלאים כנדרש אחרת הטופס לא ישלח.