آپلود لاراول در هاست اشتراکی، سی پنل ، دایرکت ادمین

آپلود لاراول در هاست اشتراکی، سی پنل ، دایرکت ادمین

راهنمای مطالعه مقاله

درود دوستان، تو این مقاله نحوه بارگذاری سایت لاراولی رو در هاست اشتراکی توضیح خواهم داد، برای آپلود سایت روی هاست اشتراکی چند تا کار هست که باید انجام بدید. در این مقاله یک سایت لاراولی را بارگذاری و تنظیم میکنیم.

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

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

قبل از این که فایل های پروژه را روی هاست آپلود کنیم لازم است این چند تا کار رو انجام دهید:

اگر فایل جاوا اسکریپت یا scss یا .. دارید که نیاز به کامپایل توسط vite.config.js داره حتما دستور بیلد رو بزنید تا فایل ها کامپایل شوند:

npm run build

در ادامه این دستور را بزنید تا مطمن شوید تمام کتابخانه های مورد نیاز پروژه نصب شده اند:

composer install

مطمن شید متغییر APP_KEY در فایل .env دارای مقدار باشد و اگر نیست این دستور را بزنید تا یک کلید تولید شود:

php artisan key:generate

بعد از اجرای دستور بالا باید در فایل .env همچین چیزی ببینید:

APP_KEY=base64:2TgSGjGhRofhC1HfuyFVGFTufjFhfg674Hf6=

پروژه های لاراول درخواست های http رو از پوشه public اجرا میکنند و لازمه تمام درخواست ها رو به این پوشه ارسال کنیم ، روش های مختلفی برای اینکار هست که من راحت ترین روش رو بهتون میگم.

یک فایل به نام .htaccess در پوشه اصلی پروژه یعنی دقیقا کنار فایل composer.json ایجاد کنیدو کدهای زیر رو در اون قرار بدید:

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

این فایل تمام درخواست هایی که به پوشه اصلی میاد رو به پوشه پابلیک انتقال میدهد.

حالا پروژه ما اماده است تا روی هاست آپلود شود. تمام فایل های پروژه به غیر از پوشه node_modules را زیپ کنید دقت کنید پوشه vendor هم تو زیپ قرار بدید و در پوشه public_html هاست آپلود کنید.

هماهنگ کردن نسخه PHP پنل با پروژه

دقت کنید که حتما ورژن php سی پنل با ورژن php که پروژه رو توسعه دادید یکی باشه، یعنی اگر روی لوکال از پی اچ پی 8.4 استفاده کردید روی سی پنل هم این ورژن پی اچ پی رو تنظیم کنید برای اینکار در منوی اصلی سی پنل از قسمت software گزینه Select PHP Version رو انتخاب کنید.

1206852386753d6e59c179.png

صفحه انتخاب نسخه PHP باز میشه که از قسمت Current PHP version نسخه مدنظرتون رو انتخاب کنید و دکمه Apply رو بزنید.

9206138386753d8b11953a.png

نسخه PHP سی پنل تغییر کرد و کار رو ادامه میدیم.

ایجاد دیتابیس در هاست اشتراکی برای لاراول

در ادامه نیاز به ایجاد یک دیتابیس داریم ، وارد سی پنل بشید و از بخش Databases گزینه Manage my databases را انتخاب کنید:

800571833675144de540e7.png

در این صفحه در قسمت Create new database اسم دیتابیس مد نظرتون رو وارد کنید برای مثال من blog گذاشتم توجه کنید اسم دیتابیس به صورت خودکار یک پیشوند هم میگیره و در نهایت دکمه Create Database را بزنید.

3260245686751470381700.png

بعد از ایجاد دیتابیس، به یک یوزر برای دیتابیس هم نیاز دارید در همین صفحه Manage my databases به طرف پایین اسکرول کنید تا برسید به قسمت Add new user در قسمت username یک اسم برای کاربر دیتابیس انتخاب کنید و در قسمت password یک رمز عبور برای دسترسی به دیتابیس وارد کنید.

78556728767514cd20f5f1.png

در نهایت بعد از ایجاد دیتابیس و یوزر لازمه که یوزر ایجاد شده رو به دیتابیس متصل کنید ، اگر کمی بیشتر به طرف پایین اسکرول کنید بعد از قسمت ایجاد یوزر، یه قسمت دیگه هست با عنوان Add user to database ، با انتخابگر اول یوزری که ایجاد کردید را انتخاب کنید و در انتخابگر دوم دیتابیسی که ایجاد کردید رو انتخاب کنید و دکمه Add رو بزنید.

8526029416753d2a927284.png

در ادامه یه صفحه جدید باز میشه که از شما میخواد دسترسی های این کاربر به دیتابیس رو مشخص کنید ، گاهی وقتا نیاز دارید کاربر فقط دسترسی خواندن اطلاعات از دیتابیس رو داشته باشه و دسترسی ثبت چیزی روی دیتابیس رو نداشته باشه از این قسمت میتونید دسترسی های مد نظرتون رو مشخص کنید اما نیاز داریم کاربرمون تمام دسترسی ها رو به دیتابیس داشته باشه ، تیک ALL PRIVILEGES رو بزنید و دکمه Make Changes رو کیلیک کنید.

5774185116753d3a24edcc.png

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

تنظیمات اتصال به دیتابیس در لاراول

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

DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=opencoda_blog #اسم دیتابیسی که ساختیم
DB_USERNAME=root #نام کاربر دیتابیس که ایجاد کردیم
DB_PASSWORD=BRM&1234 #رمز عبوری که انتخاب کردیم برای کاربر دیتابیس

اجرای مایگریشن های لاراول در هاست اشتراکی سی پنل

در زمان آپلود پروژه لاراولی ممکنه هاست شما دسترسی ترمینال داشته باشه یا نداشته باشه که در هر دو صورت رو توضیح خواهم داد.

اجرای مایگریشن لاراول بدون دسترسی بدون ترمینال

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

اجرای مایگریشن لاراول در هاست اشتراکی با دسترسی ترمینال

اگر در هاست دسترسی ترمینال دارید از قسمت Advanced گزینه Terminal رو انتخاب کنید و با دستور زیر وارد پوشه public_html بشید:

cd public_html

و دستور اجرای مایگریشن ها رو بزنید:

php artisan migrate

یکی از مهم ترین کارهایی که بعد از آپلود پروژه لاراولی باید انجام بدید اجرای دستور storage:link هست. این دستور پوشه storage که محل آپلود فایل ها هست رو به پوشه public لارول متصل میکند تا فایل ها برای دانلود در دسترس باشند.

برای اجرای دستور آرتیسان بدون دسترسی به ترمینال، از منوی اصلی سی پنل وارد File Manager بشید و برید به پوشه public_html و فایل web.php در پوشه routes پروژه تون رو ویرایش کنید و کد زیر رو آخر فایل اضافه کنید:

Route::get('/storage-link', function () {
    Artisan::call('storage:link');
   dd("storage linked successfully");
});

این تکه کد یه مسیر جدید ایجاد میکند، مرورگر رو باز کنید و این مسیر که میشه https://yourdomain.com/storage-link رو باز کنید. بعد از اینکه پیام storage linked successfully رو دیدید وارد File manager سی پنل بشید و به پوشه public پروژه برید باید مثل تصویر پایین پوشه storage اومده باشه.

73690944467545a41b2877.png

چنانچه در پنلتون دسترسی ترمینال دارید کار بسیار آسان می شود از قسمت Advanced سی پنل گزینه Terminal رو انتخاب کنید و دستورات زیر رو بزنید:

cd public_html
php artisan storage:link

و تمام پروژه شما به طور کامل نصب و آماده استفاده است.

لاراول
آپلود لاراول در هاست اشتراکی، سی پنل ، دایرکت ادمین

آپلود لاراول در هاست اشتراکی، سی پنل ، دایرکت ادمین

قبل از این که فایل های پروژه را روی هاست آپلود کنیم حتما باید چند تا کار رو انجام بدیم تا پروژه لاراولی ما به درستی کار کنه در ادامه نحوه بارگذاری صحیح لاراول را خواهیم دید

رضا مسعودی رضا مسعودی
1403-09-05