راه اندازی بات تلگرام با استفاده از فلاسک Flask و پایتون در سی پنل cPanel

در ادامه آموزشی که برای راه اندازی جنگو Django با سی پنل cPanel با استفاده از mod_passenger گذاشته بودیم امروز آموزش راه اندازی یک بات ساده تلگرام با استفاده از فریم ورک فلسک Flask را خواهیم داشت .

ابتدا از Lets Encrypt موجود در cPanel یک ssl رایگان بر روی دامنه مورد نظر نصب کرده و سپس از Python selector اقدام به نصب فریم ورک و ماژول تلگرام می کنیم :

telegram flask bot mod passenger

سپس فایل web.py حاوی کد های فلاسک برگرفته از مثال نمونه را ایجاد میکنیم :

from flask import Flask, request
import telegram
# CONFIG
TOKEN = 'YOUR_BOT_API'
HOST = 'YOURDOMAIN.COM'

global bot
bot = telegram.Bot(TOKEN)
app = Flask(__name__)

@app.route('/')
def hello():
    return 'Hello World! :)'

@app.route('/' + TOKEN, methods=['POST'])
def webhook():
    try:
       update = telegram.Update.de_json(request.get_json(force=True),bot)
       bot.sendMessage(chat_id=update.message.chat.id, text='Hello, there'.encode('utf-8'))
    except Exception as e:
       return str(e)
   return 'OK'

@app.route('/set_webhook', methods=['GET', 'POST'])
def setWebhook():
    s = bot.setWebhook(webhook_url='https://%s/%s' % (HOST,TOKEN))
    if s:
       return "webhook setup ok"
    else:
       return "webhook setup failed"

اکنون لازم است با ایجاد فایل passenger_wsgi.py فایل web.py را به وب سرور برای اتصال معرفی کنیم :

from web import app as application

در نهایت پایتون را از کنترل پنل python selector رستارت می کنیم . اکنون با مراجعه به

https://yourdomain.com

باید hello world ! به درستی نمایش داده شود و با رفتن به آدرس

https://yourdomain.com/set_webhook

باید پیام webhook setup ok نمایش داده شود. همچنین با ارسال یک درخواست json تست به :

https://yourdomain.com/TOKEN

نباید خطایی نشان داده شود و باید پیام ok نمایش داده شود. این درخواست test را می توان با  کتابخانه requests پایتون فرستاد:

import requests
requests.post("https://yourdomain.com/TOKEN",json={'test':'test'}).content

آموزش انتقال دامنه به میهن نیک

انتقال دامنه های ثبت شده به پنل میهن نیک به ترتیب زیر قابل انجام است :

۱- دریافت کد انتقال دامنه یا EPP Key

۲- عضویت در میهن نیک و تکمیل بخش اطلاعات لازم جهت ثبت دامنه در پنل کاربری -> اطلاعات کاربری

۳- شارژ حساب به مبلغ مورد نیاز جهت تمدید دامنه.
برای انتقال دامنه لازم است دامنه پس از منتقل شدن توسط میهن نیک تمدید شود.
قیمت ها از بخش ثبت آنلاین دامنه در سایت میهن نیک قابل مشاهده است.

۴- ایجاد تیکت در بخش پشتیبانی میهن نیک و ارائه  سه مورد : ۱. نام دامنه   ۲. کد انتقال و ۳. DNS های فعلی دامنه جهت شروع انتقال.

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

پس از تمام شدن فرایند انتقال می توانید در لینک زیر با جایگزینی دامنه خودتان به جای YOURDOMAIN.com اطلاعات WHOIS دامنه تان را مشاهده کرده و مطمئن شوید که ‌Registrar به ONLINENIC تغییر کرده باشد.

https://whois.domaintools.com/YOURDOMAIN.com

تایید دامنه

پس از ثبت دامنه های بین المللی یک پیغام در صفحه اصلی دامنه برای شما نمایان خواهد شد که متن این پیغام به صورت زیر می باشد :

domainname.com pending validation

The registrant details for domainname.com have not been validated yet, if you are the registrant please check your e-mail for instructions on how to validate and activate your domain.

این پیام به این معنی است که دامنه شما که در رسلو ثبت کرده اید در انتظار تایید می باشد ، اگر ثبت کنند (صاحب امتیاز دامنه) هستید برای تایید و فعال سازی دامین خود ایمیل خود را چک کنید ، برای فعال سازی دامنه ایمیلی همچون تصویر زیر دریافت می کنید .

هنگام ثبت دامنه یک ایمیل مشابه ایمیل زیر برای شما ارسال می شود که به منظور تایید دامین لازم است ابتدا بر روی لینک موجود در ایمیل خود کلیک نمایید.

taeedresello1

 

پس از کلیک بر روی لینک موجود در ایمیل صفحه ای باز می شود که فرمی نمایش داده می شود ، فرم را همانند تصویر زیر تکمیل و بر روی submit کلیک نمایید .

 

taeedresello2

پس از تکمیل فرمو انجام مراحل فوق از شما در پیغامی انگلیسی تشکر می شود و پیغام موفقیت آمیز بودن ثبت دامنه را به شما نمایش می دهد .

دامنه شما پس از چند ساعت دیگر فعال می شود و می توانید از دامنه استفاده کنید.

آموزش مپ نتورک Map Network برای دسترسی به هاست سی پنل cPanel

برای راحتی در استفاده از سرویس سی پنل یا دایرکت ادمین تان می توانید با استفاده از FTP اکانت خود را در My Computer ویندوزتان اضافه فرمایید

برای این منظور در My Computer بر روی Add a network location کلیک کنید:

مرحله ۱ مپ نتورک هاست سی پنل

سپس بر روی Next کلیک کنید:

مرحله ۲ مپ نتورک هاست سی پنل

بر روی Choose a custom network location کلیک کنید و Next بزنید:

مرحله ۳ مپ نتورک هاست سی پنل

آدرس سرور اف تی پی را به صورت ftp://your-server.com وارد کنید:

مرحله ۴ مپ نتورک هاست سی پنل

نام کاربری cPanel یا نام کاربری ایجاد شده برای اتصال به FTP را در  قسمت Username وارد کرده و Next بزنید:

مرحله ۵ مپ نتورک هاست سی پنل

نام دلخواه برای درایو مورد نظر تان انتخاب کنید:

مرحله ۶ مپ نتورک هاست سی پنل

تیک Open the network location when I click Finish را بزنید و بر روی FInish  کلیک کنید:

مرحله ۷ مپ نتورک هاست سی پنل

کلمه عبور cPanel یا اکانت FTP ایجاد شده را وارد کرده و تیک Save password را بزنید

مرحله ۸ مپ نتورک هاست سی پنل

محتویات اکانت هاست تان نمایش داده می شود اکنون می توانید نام درایو هاست تان را در سی پنل مشاهده فرمایید:

مرحله ۹ مپ نتورک هاست سی پنل

مرحله 10 مپ نتورک هاست سی پنل

آموزش هاست جنگو Django و پایتون python در سرویس های سیپنل cPanel

python django

در سرویس های پریمیوم میزبانی فایل های پایتون و جنگو و سایر فریم ورک های پایتون امکان پذیر است.

برای میزبانی فایل های پایتون با پسوند py. کافی است فایل را در شاخه cgi-bin درون شاخه اصلی وب سایتتان آپلود فرمایید و سپس از فایل منیجر cPanel فایل را انتخاب کرده و بر روی Permission کلیک کنید و تیک های مربوط به read و  execute را برای User, Group , Everyone فعال فرمایید. به این ترتیب با مراجه به سایتتان به صورت your-website.com/cgi-bin/your-file.py فایل پایتون اجرا می شود.

برای اجرای سایت های توسعه داده شده با فریم ورک جنگو لازم است ابتدا به واحد پشتیبانی تیکت زده و تقاضای فعال کردن پشتیبانی Django را بفرمایید. سپس یک شاخه در اکانت خود با نام پروژه جنگوی مربوطه مثلا project1 ایجاد نموده و فایل های جنگو را آپلود نمایید.

اکنون در همین شاخه project1 فایلی به نام passenger_wsgi.py ایجاد نموده و کدهای زیر را در آن قرار بدهید:

import project1.wsgi
application = project1.wsgi.application

دقت بفرمایید که در کدهای بالا project1 باید نام پروژه جنگوی  شما باشد.

اکنون وارد cPanel شده و به بخش Python Selector وارد شوید. و در قسمت Setup Python App نام شاخه ایجاد شده، نام وب سایت مورد نظرتان و نیز نسخه python مورد نظر را انتخاب نموده و بر روی Setup کلیک کنید:

نصب جنگو سی-پنل django cpanel install

در صورت موفقیت آمیز بودن، سایت شما ایجاد می شود. نصب جنگو سی-پنل django cpanel install

حال لازم است ماژول های پایتون مربوطه از جمله Django را نصب کنید. برای این کار از بخش Execute command می توانید دستور مربوط را وارد فرمایید:

pip install django django-extensions

اکنون بر روی دکمه Restart کلیک کنید تا تغییرات اعمال شوند. سایت شما هم اکنون آماده است.

اعضای پشتیبانی سایت گیگفا با Framework جنگو و زبان  Python تسلط دارند و پاسخگوی شما در راه اندازی سایت تان خواهند بود.

 

آموزش هاست نود جی اس node.js در سرویس های سی پنل cPanel

express-js node.js socket-io

در سرویس های پریمیوم cPanel می توان برنامه های نوشته شده با فریم ورک Node.js را میزبانی کرد. برای این کار ابتدا لازم است از واحد پشتیبانی تقاضای فعال کردن دسترسی SSH را بفرمایید. پس از فعال شدن دسترسی SSH با استفاده از نرم افزار PUTTY در ویندوز به SSH سرویس تان متصل بشوید. پکیج منیجر npm به صورت پیش فرض نصب است. با استفاده از دستور npm  می توانید ماژول های مورد نظر خود را نصب کنید مثلا برای نصب socket.io یا express.js :

‌npm install socket.io express

یا برای نصب bower و coffe script

npm install bower coffee-script

اکنون فایل های اجرای bower و coffee-script در شاخه

/home/USERNAME/node_modules/.bin

موجود می باشند که USERNAME نام کاربری سی پنل شما است. یعنی برای اجرای bower یا coffee از دستورات زیر می توان استفاده کرد:

/home/USERNAME/node_modules/.bin/coffee

/home/USERNAME/node_modules/.bin/bower

برای اجرای وب سرور express.js نصب شده کافی است یک screen اجرا کنیم و فایل مربوطه را با دستور node اجرا کنیم:

screen

node index.js

سپس با زدن Ctrl + D از screen خارج می شویم. برای اتصال مجدد به screen از  دستور

screen -r

می توان استفاده کرد. استفاده از screen به این دلیل است که در صورت قطع شدن از SSH سرور node.js ایجاد شده فعال باقی بماند.

اکنون اگر نرم افزار شما در پورت localhost:8000 در حال اجرا است می توانید سایت خود را تنظیم کنید تا کلیه request ها را به پورت ۸۰۰۰ فروارد کند. برای این کار باید کد زیر را در فایل htaccess. در شاخه اصلی سایتتان قرار بدهید:

RewriteEngine On
RewriteRule ^/?(.*)$ http://127.0.0.1:8000/$1 [P,L]

اکنون سایت شما توسط node.js میزبانی می شود 🙂

 

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

اگر از نسخه ویبالتین ۴ استفاده می کنید و به نسخه ۵ ارتقا بدهید ممکن است با مشکلات زیر مواجه شوید:

۱- صفحه مدیریت لود شود ولی لینک ها عمل نکنند و صفحه سفید نشان  بدهند. این مشکل با کپی کردن htaccess.txt نسخه ۵ بر روی htaccess. سایتتان برطرف می شود. اگر مشکل برطرف نشد راهنمای ویبالتین برای علت های رایج صفحه سفید را مشاهده کنید.

۲- لینک های تغییر کلمه عبور و پروفایل به درستی کار نکنند:‌ احتمالا قالب سایت شما با نسخه ۵ سازگار نیست. قالب پیش فرض را فعال کنید و بررسی کنید مشکل حل می شود

همچنین توصیه می شود پس از ارتقا از بخش تعمیرات -> عیب شناسی -> بررسی فایل های نسخه فعلی با ورژن فایل اقدام به صحت سنجی فایل ها کرده و فایل های اضافه را حذف کنید:

vb-blank-page

یعنی در عکس فوق باید فایل هایی که به عنوان File not recognized as part of vBulletin شناخته شدند حذف شوند.