Laravel نام یک فریم ورک (چارچوب) برای زبان برنامه نویسی PHP است که بر پایهٔ آن پروژههای خوبی را میتوان پیاده سازی کرد. اگر هاست اشتراکی سی پنل تهیه کرده باشید، شاید برای شما هم جالب باشد که بدانید حتی بدون استفاده از SSH (خط فرمان لینوکس) و تنها از طریق امکانات پایه cPanel مثل File Manger به صورت دستی قادرید پروژه های لاراول خود را روی هاست راه اندازی کنید و میزبانی نمایید.
انتقال و اجرای پروژه لاراول روی هاست اشتراکی طی دو مرحله صورت می پذیرد:
- راه اندازی برنامه روی هاست اشتراکی
- انتقال پایگاه داده بدون استفاده از دستورات انتقال!
راه اندازی برنامه روی هاست اشتراکی
ما فرض را بر این میگذاریم که پروژهٔ خود را روی رایانه شخصی (localhost) راه اندازی کردید و همه چیز به خوبی کار میکند. فرض دیگر این است که از Laravel 5.0 استفاده میکنید.
حال با فرض اینکه نام پروژهٔ شما laravel50 است، ساختار پوشه بندی زیر برای آن در نظر گرفته شده است:
توجه : پیشنهاد میشود که به سند htaccess دست نزنید و تغییری در آن اعمال نفرمایید.
۱- کل اسناد و پوشههای پروژه را که روی رایانه شخصیتان وجود دارد را به صورت فشرده در آورید. فرض میکنیم اسم این سند laravel50.zip باشد.
۲- کنترل پنل فضای میزبانی (cPanel یا DirectAdmin) را باز کرده و سند فشرده شده را روی روی هاست بارگذاری کنید (با استفاده از File Manager). دقت کنید که سند فشرده شده را حتما در مسیر پوشهٔ خانگی (root Directory) بارگذاری کنید؛ نه در public_html !
۳- حالا سند فشرده (laravel50.zip) را در همان جا از حالت فشرده خارج کنید. File Manger در سی پنل باید به شکل زیر باشد:
۴- حالا پوشه laravel50 را باز میکنیم و هر آنچه که درون پوشه public وجود دارد را به مسیر public_html منتقل (MOVE) میکنیم. حالا میتوانیم پوشهٔ خالی شدهٔ public را حذف کنیم.
۵- به مسیر public_html میرویم و سند index.php را پیدا میکنیم. روی آن راست کلیک کرده و دستور Code Edit را برای ویرایش آن انتخاب میکنیم. ویرایشگر متنی باز خواهد شد.
۶- خطوط زیر را پیدا کرده (خط 22 و 36)
require __DIR__.'/../bootstrap/autoload.php'; ... $app = require_once __DIR__.'/../bootstrap/app.php';
۷- به موارد زیر تغییر میدهیم.
require __DIR__.'/../laravel50/bootstrap/autoload.php'; ... $app = require_once __DIR__.'/../laravel50/bootstrap/app.php';
دقت داشته باشید که تغییر باید متناسب با مسیری از اسناد لاراول باشد که روی هاست بارگذاری کردید. به عنوان مثال مسیر سند /../laravel50/bootstrap/autoload.php زمانی صحیح است که نام پوشهای که اسناد لاراول در آنجا قرار گرفته است laravel50 است (طبق آموزش اینجا).
۸- لطفاً اطلاعات موجود در سند htaccess را تغییر ندهید! مگر اینکه کاملاً از انجام این تغییرات اطلاعات کافی داشته باشید. محتویات این سند باید به صورت زیر باشد:
<IfModule mod_rewrite.c> <IfModule mod_negotiation.c> Options -MultiViews </IfModule> RewriteEngine On # Redirect Trailing Slashes… RewriteRule ^(.*)/$ /$1 [L,R=301] # Handle Front Controller… RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L] </IfModule>
۹- اگر مراحل گفته شده را به درستی انجام داده باشید، اگر به نشانی http://yourdomain.ir (نشانی صفحه اصلی سایت) بروید، باید با خطای عدم اتصال به پایگاه داده مواجه گردید. نگران نباشید. در قسمت بعدی باید پایگاه داده را به هاست اشتراکی خود منتقل کنید.
انتقال پایگاه داده
یکی از اتفاقهای جالب راجع به لاراول، این است که با یک دستور سادهٔ php artisan migrate میتوانید دیتابیس را برپاسازی کنید. اما چون قصد ما کار روی هاست اشتراکی است، و نه کار روی سرور اختصاصی یا مجازی، باید از روش جایگزین بهره ببریم. این کار تا حد 10 تا جدول به سادگی امکان پذیر است.
۱- یک پایگاه داده بسازید. در کنترل پنلی مثل سی پنل با استفاده از بخش Mysql Database Wizard به راحتی میتوانید پایگاه داده را ساخته و کاربر آن را هم ایجاد کنید. حالا آنها را به هم متصل کنید. فراموش نکنید که همهٔ privileges ها را هم برای کاربر پایگاه داده انتخاب کنید. نام کاربری و رمز عبور آنها را هم در جایی یادداشت کنید.
۲- حالا از PHPMyAdmin برای ساخت جدولهای پایگاه داده استفاده میکنیم. پس وارد PHPMyAdmin رایانهٔ شخصی شده و ساختار تمامی جدول ها را به صورت دستی روی PHPMyAdmin هاست اشتراکی ایجاد میکنیم.
یک راه حل ساده تری هم هست. اینکه وارد PHPMyAdmin رایانهٔ شخصیمان شده و پایگاه داده پروژه را یافته و از فهرست بالا روی export کلیک میکنیم و با این ابزار از کل پایگاه داده خروجی تهیه میکنیم.
حالا به phpMyAdmin روی هاست اشتراکی رفته و این مراحل را روی آن هم تکرار میکنیم. با این تفاوت که این بار دستور import را برای درون ریزی انتخاب میکنیم.
بعد از اینکه با موفقیت درون ریزی دیتابیس انجام شد، پیام Success Message دریافت خواهید کرد.
۳- روی File Manager در کنترل پنل به پوشه laravel50 (پوشهٔ پروژه لاراول) میرویم. سند config/database.php را باز کرده و آن را ویرایش میکنیم.
در خط 55 قسمت MySQL configuration نام کاربری و رمز عبور پایگاه داده را باید جایگزین نمایید. دقت داشته باشید که این اطلاعات به درستی وارد شده باشد.
اگر مراحل بالا را به درستی انجام داده باشید، پروژه شما همینک به درستی کار خواهد کرد.