خیلی از هاستهای اشتراکی که فروخته میشوند، فاقد دسترسی SSH هستند. این دسترسی به جهت اجرای دستورات خط فرمان لینوکس و انجام کارهایی است که یا از طریق ابزارهای کنترل پنل نمیتوان انجام داد. یا خیلی سختتر انجام میشوند. مثلاً نصب Laravel هم برای راحتی کار، نیاز به دسترسی SSH دارد. اما اگر این امکان فراهم نبود، باز هم با استفاده از این آموزش، قادرید از پس این کار برآیید.
از این آموزش برای دو هدف میتوان استفاده کرد:
- یکی نصب لاراول خام روی هاست اشتراکی که دسترسی SSH روی آن فعال نیست.
- دوم انتقال لاراول نصب شده از روی رایانه شخصی (Local Host) به روی هاست اشتراکی.
به طور معمول برای نصب لاراول میبایستی از Composer کمک گرفت. زیرا Composer کارش این است که تمامی متعلقات نرم افزاری لاراول را گردآوری میکند و تنها به کمک یک دستور، بستهٔ لاراول را برپا میسازد. پس هر چند که ما میتوانیم از طریق پیوند دانلود در صفحهٔ Github پروژهٔ لاراول، بستهٔ Laravel را دریافت کنیم. اما با بارگذاری این بسته روی فضای میزبانی، لاراول کار نمیکند و عملاً هم امکان شبیه سازی کاری که Composer برای ما انجام میدهد وجود ندارد، چون خیلی سخت است.
انتقال اسناد لاراول
پس ما اگر خواسته باشیم یک لاراول خام روی هاست اشتراکی نصب کنیم، از قبل نیاز داریم ابتدا لاراول را روی رایانهٔ شخصی با Composer ایجاد کنیم. سپس آن را بعد از فشرده کردن، به هاست اشتراکی منتقل کرده و آن را از حالت فشرده خارج کنیم. که در این حالت تمامی متعلقات نرم افزاری لاراول وجود دارد و پروژهٔ ما به خوبی کار خواهد کرد.
پس اگر از قبل پروژهٔ خود را روی رایانهٔ شخصیتان (لوکال هاست) ایجاد کرده باشید، کافی است از کل پوشهٔ لاراول یک نسخه به صورت فشرده شده بگیرید و آن را به هاست خود منتقل کنید. یا اگر نمیتوانید این کار را بکنید، ما از قبل بستهٔ کامل فریم ورک لاراول را که با Composer ایجاد شده است را تهیه کردیم و علاوه بر بخش دانلود فایل وبنولوگ، از طریق پیوند زیر هم میتوانید آن را دریافت نمایید.
بعد از آپلود سند فشردهٔ لاراول روی هاست اشتراکی در مسیر root و نه public_html (یعنی باید حتماً سند فشرده در بالاترین سطح بارگذاری شود)، به File Manager رفته و آن را از حالت فشرده خارج کنید. دقت کنید بعد از خارج شدن از حالت فشرده، باید یک پوشه مثلا با نام laravel در مسیر ریشه (root) داشته باشید که داخل آن تمامی متعلقات لاراول و احتمالاً پروژهٔ شماست. حال سند فشرده را پاک کنید.
داخل پوشهٔ laravel شده و پوشهٔ public را باز کنید. این پوشه همان مسیری است که باید فایلهای پروژهٔ در آنجا جای گیرد. الان کافی است محتویات این پوشه را به مسیر public_html منتقل کنید. از قبل باید هر آنچه در مسیر public_html بوده را حذف کرده باشید. بهتر است در File Manager نمایش اسناد مخفی را هم فعال کنید.
حالا به مسیر public_html رفته و سند index.php را باز کنید که این کار با کلیک روی دستور Edit در cPanel انجام شدنی است. تقریباً خطوط 24 و 38 را باید پیدا کنید و تغییراتی در آن ایجاد کنید.
require __DIR__.'/../vendor/autoload.php';
...
$app = require_once __DIR__.'/../bootstrap/app.php';
به
require __DIR__.'/../laravel/vendor/autoload.php';
...
$app = require_once __DIR__.'/../laravel/bootstrap/app.php';
با این کار الان سند index.php به خوبی اسناد autoload.php و bootstrap/app.php را درون پروژه بارگذاری میکند. فقط به مسیرهای اسناد دقت داشته باشید که اشتباه نباشد. محتویات سند .htaccess را تغییر ندهید. مگر اینکه واقعاً بدانید در حال انجام چه کاری هستید.
اگر همهٔ کارها به خوبی انجام شده باشند، الان با وارد شدن به دامنهٔ سایت، قادرید صفحهٔ اصلی لاراول را مشاهده کنید. تا این مرحله، اگر تازه میخواهید کار با لاراول را شروع کنید، الان وقتش است. اما اگر سندی که روی هاستتان بارگذاری کردید، پروژهٔ آماده از روی رایانهٔ شخصیتان بوده، باید پایگاه داده را هم به صورت دستی به فضای میزبانیتان انتقال دهید. برای این کار ادامه مطلب را مطالعه کنید.
انتقال پایگاه داده
یکی از چیزهای جذاب که راجع به فریم ورک Laravel وجود دارد، این است که میتوان با یک دستور ساده پایگاههای داده را برپاسازی کرد؛ php artisan migrate . اما ما در اینجا روی هاست اشتراکی بدون دسترسی SSH در حال کار هستیم. پس چنین امکانی فعلا نداریم! خود خودمان به صورت دستی پایگاه داده را ساخته و انتقال جداول آن را انجام میدهیم.
وارد کنترل پنل هاست میشویم. در بیشتر موارد بخشی با نام MySQL Databases برای ساخت دیتابیس وجود دارد. پس این کار را انجام داده و کاربر آن را به همراه دسترسی all privileges برای پایگاه داده ایجاد مینماییم. پس از آن با PHPMyAdmin جداول پایگاه داده را میسازیم. اول وارد PHPMyAdmin رایانه شخصی میشویم و دقیقاً ساختار جداول آنجا را روی PHPMyAdmin هاست اشتراکی ایجاد میکنیم.
البته یک راهکار سادهتر هم وجود دارد و آن استفاده از ابزار export در PHPMyAdmin رایانه شخصی و سپس درون ریزی آن روی هاست اشتراکی با استفاده از ابزار Import است. اگر کار کردن با PHPMyAdmin را یاد داشته باشید، انتقال جداول پایگاه داده کار سختی نیست.
سپس با استفاده از File Manager به پوشهٔ لاراول رفته و سند config/database.php را باز نمایید. تقریباً پیرامون خط ۵۱ مقادیر database و username و password را با مقادیری که در مرحلهٔ قبلی به دست آوردید جایگزین کنید. سند را ذخیره کنید. مطمئن باشید که تمامی موارد اتصال به پایگاه داده MySQL را به درستی تنظیم کرده باشید. اگر این گونه باشد، سایت پروژهٔ شما باید به خوبی کار کند.