راه اندازی وب اپ روی Openshift

 

openshift

از ابتدای راه وب سرویس ها تا امروز برای ساخت یک وب سایت یا یک اپلیکیشن تحت وب می بایست میهمان میزبان هایی Web Servers چون VPS ها یا Host ها باشیم . عموماً هر برنامه نویس بسته به نیاز مشتری و دانشش از این میزبان ها استفاده می کند که بیشتر آن ها برای ما گران و نا عادلانه است، «مخصوصلاً اگر سیستم عاملی که میزبان در اختیار ما قرار دهد ویندوز باشد». همین ناعادلانه بودن و گران بودن سرور ها باعث شده خیلی ها سمت میزبانان با انصاف تری بگردند که چند اتفاق مهم در دنیای وب سرویس ها را رقم زد ،که مهم ترین آن ها جایگزینی گنو/لینوکس به جای ویندوز و یونیکس در دنیای وب سرور ها بود. دلیل این توجه این بود که لینوکس سیستم عاملی آزاد و مردمی بود که هیچکس آن را کنترل نمی کرد. همان موقع بود که شرکت RedHat روز به روز قوی تر و قوی تر شد تا جایی که امروز یکه تاز شرکت های تولید کننده سیستم عامل با هسته لینوکس است.

اما به هر دلیلی نتوانست ارزان کار کند و حتی کمی هم گران بود و این باعث شد خیلی از کاربرانش را از دست بدهد . حتی خیلی ها RedHat را محکوم به خیانت به دنیای GNU کردند .

RedHat که شرایط را این چنین دید با بر پایی سیستم های میزبانی کاماً مجانی ولی محدود توانست دوباره کاربران عادی را به سمت خود جذب کند. سرور های مجانی ولی محدود RedHat همان Openshift هستند که به شما امکان ساخت پروژه با اکثر زبان های برنامه نویسی را می دهد اما محدود به استفاده فقط ۳ گیگ فظا با یک پروژه و یا ۳ پروژه هر کدام یک گیگ فظا را به شما می دهد و اگر بیشتر از این میزان را نیاز داشتید می بایست حصاب خود را به حالت پریمیوم در آورید (باید پول پرداخت کنید).

اما داستان به اینجا ختم نمیشود , Openshift دارای یک سری کاتریج از قبل طراحی شده است که با انتخواب هر کدام از آن ها تمامی تنظیمات یک پروژه به شکل اتوماتیک را برای شما آماده سازی می کند. برای مثال اگر بخواهیم پروژه ای با Rails را بسازیم چند چیز را نیاز داریم ,که شامل Ruby , SQLite , Rails , Web Servers و … را باید نصب و آماده سازی کنیم , اما Openshift دو کاتریج دارد که مربوط به نصب ریلز است و با انتخواب یکی از آن ها و انجام فرایند ساخت یک پروژه ریلز می توانید به شکل کاملا آماده از می زبانی قدرتمند سرورهای رد هت به صورت مجانی لذت ببرید و پروژه خود را در آن up کنید .

تمامی سرورهای که با Openshift در اختیار میگیرید همه قابلیت ssh شدن را دارند. همچنین Openshift نرم افزار کنترلی به اسم rhc دارد که از طریق کامند لاینتان می توانید اپلیکیشنتان را ساخته و کنترل کنید.خیلی خوب است بدانیم rhc با روبی نوشته شده (این به این معنی است که RedHat روبی را قدرت مند دیده ) و با ssh نیز کار میکند.

ثبت نام در سایت Openshift

برای اینکه بتوانیم از سرویس های Openshift بهره مند شویم می بایست ابتدا در سایت مربوطه ثبت نام کنیم. روند کاملا ساده ای دارد و می توانید این کار را به تنهایی انجام دهید.

نصب rhc و پیش نیازها بر روی Unix Like Oses و Windows

قبل هر چیز باید بگویم rhc به روبی نیاز دارد و پروژه های ما با استاندارد های Git در Openshift به روز می شوند . پس قبل از هر چیز آن ها را نصب داشته باشید ( در مقاله و درس هایی نصب گیت و روبی به شکل کامل در سایت در اختیارتان قرار داده شده است به همین جهت اگر نیاز به کمک دارید لطفا به هر دو آن ها سر بزنید).

نصب بر روی سیستم عامل های Unix Like

اطمینان از نصب Git و Ruby در سیستم خود

ruby -v
git --verison

اگر تشخیص دادید یکی از آن ها نصب نیست ابتدا آن ها را نصب و سپس به مرحله بعد رجوع کنید.

تذکر: بر روی بعضی از سیستم عامل ها ssh نصب نیست اما در اکثر آن ها موجود می باشد پس وجود آن را نیز در سیستم کنترل کنید.

نصب rhc توسط منابع نرم افزاری روبی
با وارد کردن دستور زیر rhc نصب می شود:

gem install rhc

انجام تنظیمات اولیه و احراز هویت
برای تنظیمات rhc می بایست دستور زیر را وارد کنید.

rhc setup

پس از وارد کردن دستور بالا توضیحاتی مشابه توضیحات زیر برای شما ظاهر می شود . در نهایت برای انتخاب سرور Openshift می بایست دکمه اینتر را بفشارید

OpenShift Client Tools (RHC) Setup Wizard

This wizard will help you upload your SSH keys, set your application namespace, and check that other programs like Git are properly
installed.

If you have your own OpenShift server, you can specify it now. Just hit enter to use the server for OpenShift Online:
openshift.redhat.com.
Enter the server hostname: |openshift.redhat.com|

پس از اینتر می بایست در کادر داده شده ایمل ریجستر شده در Openshift را وارد و سپس رمز را وارد کرده و در نهایت دکمه اینتر را بفشارید.
در این مرحله توضیحاتی متشابه توضیحات زیر برای شما به نمایش در می آید که برای ثبت تنظیمات نام کاربری و پسورد و همچنین دیگر موارد مورد نیاز می بایست کلمه yes را تایپ و سپس اینتر کنید.

OpenShift can create and store a token on disk which allows to you to access the server without using your password. The key is stored
in your home directory and should be kept secret.  You can delete the key at any time by running 'rhc logout'.
Generate a token now? (yes|no) 

پس از فشردن دکمه اینتر می بایست خود rhc فعالیت هایی را آغاز کند که با مشاهده کردن ترمینال می توان آن ها را برسسی کرد و منتظر ماند تا به پایان برسند.

Generate a token now? (yes|no) yes
Generating an authorization token for this client ... lasts about 1 month
Saving configuration to /home/omilun/.openshift/express.conf ... done
Checking for git ... found git version 2.1.4
Checking common problems .. done
Checking for a domain ... omilun
Checking for applications ... none
Run 'rhc create-app' to create your first application.
  Do-It-Yourself 0.1                      rhc create-app <app name> diy-0.1
  JBoss Application Server 7              rhc create-app <app name> jbossas-7
  JBoss Data Virtualization 6             rhc create-app <app name> jboss-dv-6.1.0
  JBoss Enterprise Application Platform 6 rhc create-app <app name> jbosseap-6
  JBoss Unified Push Server 1.0.0.Beta1   rhc create-app <app name> jboss-unified-push-1
  JBoss Unified Push Server 1.0.0.Beta2   rhc create-app <app name> jboss-unified-push-2
  Jenkins Server                          rhc create-app <app name> jenkins-1
  Node.js 0.10                            rhc create-app <app name> nodejs-0.10
  PHP 5.3                                 rhc create-app <app name> php-5.3
  PHP 5.4                                 rhc create-app <app name> php-5.4
  PHP 5.4 with Zend Server 6.1            rhc create-app <app name> zend-6.1
  Perl 5.10                               rhc create-app <app name> perl-5.10
  Python 2.6                              rhc create-app <app name> python-2.6
  Python 2.7                              rhc create-app <app name> python-2.7
  Python 3.3                              rhc create-app <app name> python-3.3
  Ruby 1.8                                rhc create-app <app name> ruby-1.8
  Ruby 1.9                                rhc create-app <app name> ruby-1.9
  Ruby 2.0                                rhc create-app <app name> ruby-2.0
  Tomcat 6 (JBoss EWS 1.0)                rhc create-app <app name> jbossews-1.0
  Tomcat 7 (JBoss EWS 2.0)                rhc create-app <app name> jbossews-2.0
  Vert.x 2.1                              rhc create-app <app name> jboss-vertx-2.1
  WildFly Application Server 10           rhc create-app <app name> jboss-wildfly-10
  WildFly Application Server 8.2.1.Final  rhc create-app <app name> jboss-wildfly-8
  WildFly Application Server 9            rhc create-app <app name> jboss-wildfly-9

  You are using 0 of 3 total gears
  The following gear sizes are available to you: small

Your client tools are now configured.

حالا شما و سیستم عامتان قادر خواهید بود نرم افزار خود را بر روی Openshift سوار و آن را مدیریت کنید.

نصب بر روی Windows

ابتدا وجود Git و Ruby را بر روی ویندوز چک می کنیم. سپس دستور زیر را برای اطلاع از نصب Ruby در سیستم تان را وارد نمیایید:

ruby -v

اگر روبی نصب باشد می بایست پیامی مشابه پیام زیر را دریافت کنید:

ruby 1.9.3p550 (2014-10-27) [i386-mingw32]

پس از اینکه همه موارد پیش نیاز رعایت شدند می بایست نصب rhc را آغاز کنیم . با وارد کردن دستور زیر می توان rhc را از مخازن نرم افزاری Ruby نصب کرد:

gem install rhc

پس از نصب می بایست rhc را برای احراز هویت آماده سازی کرد . با وارد کردن دستور زیر می توان تنظیمات را آغاز کرد:

rhc setup

پس از وارد کردن دستور بالا توضیحاتی مشابه توضیحات زیر برای شما ظاهر می شود . در نهایت برای انتخاب سرور Openshift می بایست دکمه اینتر را بفشارید

OpenShift Client Tools (RHC) Setup Wizard

This wizard will help you upload your SSH keys, set your application namespace, and check that other programs like Git are properly
installed.

If you have your own OpenShift server, you can specify it now. Just hit enter to use the server for OpenShift Online:
openshift.redhat.com.
Enter the server hostname: |openshift.redhat.com|rhc setup

پس از اینتر می بایست در کادر داده شده ایمل ریجستر شده در Openshift را وارد و سپس رمز را وارد کرده و در نهایت دکمه اینتر را بفشارید.
در این مرحله توضیحاتی متشابه توضیحات زیر برای شما به نمایش در می آید که برای ثبت تنظیمات نام کاربری و پسورد و همچنین دیگر موارد مورد نیاز می بایست کلمه yes را تایپ و سپس اینتر کنید.

OpenShift can create and store a token on disk which allows to you to access the server without using your password. The key is stored in your home directory and should be kept secret. You can delete the key at any time by running 'rhc logout'.
Generate a token now? (yes|no) yes
Generating an authorization token for this client ... lasts about 1 day

پس از فشردن دکمه اینتر می بایست خود rhc فعالیت هایی را آغاز کند که با مشاهده کردن CMD می توان آن ها را بررسی کرد و منتظر ماند تا به پایان برسند. اگر در مابین فعالیت از شما دوباره yes|no را طلب کرد می بایست yes را وارد کنید.

No SSH keys were found. We will generate a pair of keys for you.
Created: C:UsersUser1.sshid_rsa.pub
Your public ssh key must be uploaded to the OpenShift server to access code.
Upload now? (yes|no) yes

Since you do not have any keys associated with your OpenShift account, your new key will be uploaded as the 'default' key

Uploading key 'default' from C:UsersUser1.sshid_rsa.pub ... done
Checking for a domain ... none

Your domain is unique to your account and is the suffix of the public URLs we assign to your applications. You may configure your domain here or leave it blank and use 'rhc domain create' to create a domain later. You will not be able to create applications without first creating a domain.

Please enter a domain (letters and numbers only) |<none>|: MyDomain
Your domain name 'MyDomain' has been successfully created
Checking for applications ... none

Run 'rhc app create' to create your first application.

Do-It-Yourself                            rhc app create <app name> diy-0.1
JBoss Application Server 7.1              rhc app create <app name> jbossas-7
JBoss Enterprise Application Platform 6.0 rhc app create <app name> jbosseap-6.0
Jenkins Server 1.4                        rhc app create <app name> jenkins-1.4
Node.js 0.10                              rhc app create <app name> nodejs-0.10
PHP 5.3                                   rhc app create <app name> php-5.3
PHP 5.4                                   rhc app create <app name> php-5.4
Perl 5.10                                 rhc app create <app name> perl-5.10
Python 2.6                                rhc app create <app name> python-2.6
Python 2.7 Community Cartridge            rhc app create <app name> python-2.7
Python 3.3 Community Cartridge            rhc app create <app name> python-3.3
Ruby 1.8                                  rhc app create <app name> ruby-1.8
Ruby 1.9                                  rhc app create <app name> ruby-1.9
Tomcat 6 (JBoss EWS 1.0)                  rhc app create <app name> jbossews-1.0
Tomcat 7 (JBoss EWS 2.0)                  rhc app create <app name> jbossews-2.0
Zend Server 5.6                           rhc app create <app name> zend-5.6

You are using 0 of 3 total gears
The following gear sizes are available to you: small

Your client tools are now configured.

حالا شما و Windows تان!! قادر خواهید بود نرم افزار خود را بر روی Openshift سوار یا بسازید و آن را مدیریت کنید.

ساخت پروژه با Openshift

برای ساخت پروژه از دو روش استفاده می کنند که هر دو کاملا صحیح است و بستگی به سلیقه شما دارد.

روش اول

ساخت پروژه به وسیله وب سایت و محیط گرافیکی: (روشی که ما پیشنهاد می کنیم)
برای توضیح این بخش می خواهم از کاتریج Ruby on Rails 4 استفاده کنم و همان طور که گفته شده با رجوع به خود سایت این کار را انجام می دهیم.

وارد حساب کاربریتان در Openshift شوید https://www.openshift.com

openshift

بر روی گزینه Create your first application now کلیک کنید.
در صفحه ای که باز شده می بایست به دنبال کاتریج مورد نظرتان بگردید و آن را انتخاب کنید.

openshift

openshift

وقتی کاتریج را انتخاب و بر رویش کلیک کردید ، صفحه جدیدی باز می شود که می بایست نام پروژه و نوع دیتابیس مورد نظر را در آن مشخص کنید و در انتها بر روی دکمه Create Application کلیک کرده و منتظر بمانید.

openshift

openshift

در انتها، اپلیکیشن شما آماده است تا توسعه داده شود . همچنین در صفحه آخر تمامی اطلاعات در مورد دیتابیس و چگونگی clone کردن پروژه بر روی کامپوترتان گفته شده است .

openshift

روش دوم

ساخت پروژه به وسیله rhc:
ابتدا باید در مورد rhc بدانیم که چه کامنت هایی دارد.برای این کار می بایست rhc را به تنهایی در کامند لاین خود تایپ و اینتر کنید تا همه چیز را به شما یاد دهد .

برای ساخت پروژه، به نام کاتریج های Openshift نیاز داریم . از آن جایی که قصد دارم از کاتریج PHP استفاده کنم پس می بایست نام دقیق کاتریجش را بدانم . دستور زیر اغلب کاتریج ها را به ما نشان می دهد:

rhc cartridges

برای ساخت پروژه ای با پی اچ پی عموماً از آخرین نسخه منتشر شده و MySQL و phpmyadmin استفاده می کنند. ما هم با دستور زیر و با توجه به نام کاتریج ها پروژه ای با استاندارد برای پروژه های PHP می سازیم. نام پروژه را نیز infuphp می گذاریم.
پس از این منتظر بمانید تا پروژه ی شما آماده کار شود

rhc app create infuphp php-5.4 mysql-5.5 phpmyadmin-4

پس از به اتمام رسیدن پروسه راه اندازی پروژه تمامی مشخصات دیتابیس و phpmyadmin به شما داده می شود و شما می توانید با پروژه تعامل بر قرار کنید. همچنین با اتمام این روند پوشه ای برای شما ظاهر می شود که با نام پروژه شما یکی است و می توانید با Git تغییرات را در پروژه سمت وب اعمال کنید.

مطالب مرتبط

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *