در این پست خواهید خواند:
عموما هاستهای اشتراکی فاقد دسترسی SSH هستند. این دسترسی برای اجرای دستورات لینوکس و انجام کارهایی است که یا از طریق ابزارهای کنترل پنل نمیتوان انجام داد. یا خیلی سختتر انجام میشوند. مثلاً نصب Laravel نیاز به دسترسی SSH دارد. اما اگر این امکان فراهم نبود، باز هم با استفاده از این آموزش، میتوانید آن را نصب نمائید.
در این آموزش نحوه نصب لاراول روی هاست و نحوه انتقال از سیستم به هاست بررسی میشود.
- نصب لاراول خام روی هاست اشتراکی که دسترسی SSH روی آن فعال نیست.
- انتقال لاراول نصب شده از روی رایانه شخصی (Local Host) به روی هاست اشتراکی.
معمولا برای نصب لاراول میبایستی از Composer استفاده کرد. همانطور کهیمیدانید Composer وظیفه گردآوری تمامی متعلقات نرم افزاری لاراول تنها به کمک یک دستور را دارد.. پس هر چند که ما میتوانیم از طریق پیوند دانلود در صفحهٔ Github پروژهٔ لاراول، بستهٔ Laravel را دریافت نمائیم. اما با بارگذاری این بسته روی فضای میزبانی، لاراول کار نمیکند و عملاً هم امکان شبیه سازی کاری که Composer برای ما انجام میدهد وجود ندارد، زیرا بسیار دشوار میباشد.
انتقال فایل های لاراول:
اگر بخواهیم یک لاراول خام روی هاست اشتراکی نصب نمائیم، از قبل نیاز داریم ابتدا لاراول را روی رایانهٔ شخصی با Composer ایجاد نمائیم. سپس آن را بعد از فشرده سازی، به هاست اشتراکی منتقل نمائیم. که در این حالت تمامی نیازمندی های نرم افزاری لاراول وجود دارد و پروژهٔ ما به خوبی کار خواهد کرد.
پس اگر از قبل پروژهٔ خود را روی رایانهٔ شخصیتان (لوکال هاست) ایجاد کرده باشید، کافی است از کل پوشهٔ لاراول یک نسخه به صورت فشرده شده ایجاد نمائید و آن را به هاست خود منتقل نمائید.
بعد از آپلود فایل فشردهٔ لاراول روی هاست اشتراکی در مسیر root و نه public_html (یعنی باید حتماً فایل زیپ در بالاترین سطح هاست بارگذاری شود)، به File Manager رفته و آن را از حالت فشرده خارج نمائید. توجه فرمائید بعد از خارج شدن از حالت فشرده، میبایست یک پوشه مثلا با نام laravel در مسیر ریشه (root) داشته باشید که داخل آن تمامی نیازمندی های لاراول و احتمالاً پروژهٔ شما میباشد. حال فایل zip را حذف نمائید.
وارد پوشهٔ 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 را به درستی تنظیم کرده باشید. اگر این گونه باشد، سایت پروژهٔ شما باید به خوبی کار کند.