Logo for Parsclick
توجه: سایت برای مدت چند روز از تاریخ ۱۸ نوامبر از کار خواهد افتاد...

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

  امید رجب آقا امید رجب آقا
  October 24, 2016 at 10:54 AM
  ۳ آبان، ۱۳۹۵ ساعت ۱۰:۵۴

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

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

  2. ruby -v
    git --verison

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

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

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

    gem install rhc
  5. انجام تنظیمات اولیه و احراز هویت
    1. برای تنظیمات rhc می بایست دستور زیر را وارد کنید.
    2. rhc setup
    3. پس از وارد کردن دستور بالا توضیحاتی مشابه توضیحات زیر برای شما ظاهر می شود . در نهایت برای انتخاب سرور Openshift می بایست دکمه اینتر را بفشارید

    4. 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|

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

    7. 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)

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

    9. 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.

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

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

  2. ruby -v

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


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

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

  4. gem install rhc

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

  6. rhc setup

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

  8. 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

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

  11. 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

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

  13. No SSH keys were found. We will generate a pair of keys for you.
    Created: C:\Users\User1\.ssh\id_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:\Users\User1\.ssh\id_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.

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

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

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

  • روش اول ساخت پروژه به وسیله وب سایت و محیط گرافیکی: (روشی که ما پیشنهاد می کنیم)

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

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

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

    openshift

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

    openshift

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

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

  3. rhc cartridges

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

  6. rhc app create parsclickphp php-5.4 mysql-5.5 phpmyadmin-4

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

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