ترفندهای لاراولی - آپلود لاراول در هاست اشتراکی

خب بعد از تلاش های فراوان و نوشتن و طراحی سایت کارفرما میگه سایت رو آنلاین کن توهم میگی اوکی اطلاعات هاست رو بده بیاد و اطلاعات رو میده میاد و میبینی هاست اشتراکی هست و تازه شانس بیاری
cPanel 😄 این شروع یک سری دردسر هست که وقتی زمان نگه داری و رفع باگ میشه بیشتر هم میشن.

من توی این سری چندتا از تجربیات خودم رو میگم، اگه شماهم تجربه ای داشتید برام بنویسید.

Laravel in cPanel
Laravel in cPanel


1- مرحله اول - زیپش کن

توی این مرحله کل فولدری که پروژه لاراولی ات توشه رو فشرده میکنی با فرمت زیپ (zip.)

چطور؟ اینطور که مشاهده میکنید:

Zip a folder
Zip a folder



اگر پروژه تون دیتابیس هم داشت که باید ازش اکسپورت بگیرید که اگه بلد نیستید اینو سرچ کنید:
how export mysql database

2- مرحله دوم - زیپو آپلودش کن

حالا برو تو cPanel و توی قسمت مدیریت فایل ها File Manager و توی پوشه public_html

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

برای دیتابیس هم باید اول یک دیتابیس بسازی در cPanel. چطور؟ اینطور که از این قسمت رو
MySQL® Databases کلیک میکنی. و بعد یک اسم انتخاب میکنی و دکمه Create Database رو میزنی.

MySQL® Databases in Cpanel
MySQL® Databases in Cpanel
Create Database
Create Database


حالا باید برای دیتابیس ات یک کاربر تعریف کنی و به کاربرت دسترسی کامل بدی. اطلاعاتی هم که برای دیتابیس و کاربرت میزاری مثل نام کاربری و پسورد رو ذخیره کن که نیازت میشه. سعی هم کن پسورد قوی بزاری یا از Password Generator خود cPanel استفاده کنی.

MySQL Add New User
MySQL Add New User


و در نهایت در قسمت Add User To Database کاربری که ساختید رو به دیتابیستون اضافه کنید و دسترسی های مورد نیاز رو بهش بدید (همه رو بهش بدید بره خوشحال باشه).

یادمه اولین باری که میخواستم پروژه لاراولی ام رو توی هاست اشتراکی آپلود کنم چالش های مختلفی داشتم که هرکدومشون الان یک درس و تجربست. برای هم

3- مرحله سوم - تنظیماتشو آماده کن

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

فایل اول public/index.php

این فایل index.php که در پوشه public پروژه هست اولین فایلی هست که لاراول نیاز داره برای شروع هسته اصلی اش پس مراقب باش دقیقا کاری که میگم رو بکنی. اول همه فایل ها توی پوشه public رو بیار توی روت پروژه ات یعنی یک فولدر بالاتر و بعد توی فایل index.php این دو خط رو تغییر بده.

از این :

require __DIR__.'/../bootstrap/autoload.php';
$app = require_once __DIR__.'/../bootstrap/app.php';

به :

require __DIR__.'/bootstrap/autoload.php';
$app = require_once __DIR__.'/bootstrap/app.php';


راه حل جایگزین (خودم اینو انجام میدم) :

بجای اینکه فایل های پوشه public رو جابجا کنم و فایل index.php رو دستکاری کنم، میام و فایل htaccess. رو ویرایش میکنم که راه سریع تر و تمیز تری هم هست. مسیرش؟ توی همون پوشه public

نمیبینیش؟ باید دیدن فایل های مخفی در cPanel رو فعال کنی چطور؟ اینطور:

دیدن فایل های مخفی در cPanel
دیدن فایل های مخفی در cPanel


اولا یه کپی از این فایل میگیرم و توی روت پیست میکنم پس الان 2 تا فایل htaccess. داریم یکی توی پوشه public یکی هم توی روت. حالا اینی که توی روت هست رو ویرایش میکنیم. راست کلیک کنید و گزینه edit رو بزنید میتونید یک فایل رو توی cPanel ویرایش کنید. حالا در بالای کدها این چندخط رو کپی کنید، سیو کنید و تمامممم.

<IfModule mod_rewrite.c>
   RewriteEngine On
   RewriteRule ^(.*)$ public/$1 [L]
</IfModule>


فایل دوم env.

این فایل هم که اطلاعات برنامه مثل دیتابیس و Email سرویس و ... توش ذخیره میشن پس باید آپدیت اش کنیم با اطلاعات دیتابیس جدیدمون، نام دیتابیس و نام کاربری و پسورد.

تنظیمات فایل env.
تنظیمات فایل env.


حالا دیگه سایت آماده است و باید توی آدرس دامین ات نمایش داده بشه. امیدوارم این مطلب برات مفید بوده باشه.

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