سی ام اس نویسسی ام اس نویسیاد بگیر، سیستم خودتو بنویس
مجلهتماس با ما
سی ام اس نویسسی ام اس نویس

CMS نویس مرجعی برای آموزش برنامه نویسی وب و PHP، توسعه افزونه‌های اختصاصی وردپرس، طراحی ورک‌فلو و اتوماسیون با n8n و توسعه CMS های اختصاصی است. هدف ما ارائه آموزش‌های کاربردی و راهکارهای حرفه‌ای برای توسعه‌دهندگان، کسب‌وکارها و علاقه‌مندان به دنیای برنامه‌نویسی است.

پیوندهای سریع
محصولات فیزیکیمحصولات دیجیتالدوره‌های آموزشی
سی ام اس نویس
مجله سی ام اس نویستماس با ماپنل کاربری
سی ام اس نویس — تمامی حقوق برای سی ام اس نویس محفوظ است. © 1406 تماس با ما09307711941
آموزش نصب و اجرای Laravel روی OpenLiteSpeed

آموزش نصب و اجرای Laravel روی OpenLiteSpeed

ممدیر کل سیستم ۲۰ مهر ۱۴۰۵ ۱۳ دقیقه مطالعه ۱ بازدید
آموزش نصب و اجرای Laravel روی OpenLiteSpeed

لاراول یکی از فریم‌ورک‌های پرکاربرد PHP برای توسعه وب‌سایت‌ها و برنامه‌های تحت وب است. پس از توسعه پروژه، باید آن را روی یک سرور مناسب مستقر کنیم تا کاربران بتوانند از طریق دامنه به آن دسترسی داشته باشند.

OpenLiteSpeed یک وب‌سرور مبتنی بر معماری LiteSpeed است که در بسیاری از سرورها و محیط‌های میزبانی استفاده می‌شود. این وب‌سرور می‌تواند درخواست‌های کاربران را مدیریت کند و با استفاده از PHP از طریق LiteSpeed SAPI، برنامه‌های مبتنی بر PHP را اجرا کند.

اگر قصد دارید پروژه Laravel خود را روی OpenLiteSpeed اجرا کنید، باید تنظیمات PHP، مسیر ریشه وب‌سایت، Rewrite Rules و دسترسی فایل‌ها را به‌درستی انجام دهید.

در این مقاله، مراحل اصلی راه‌اندازی Laravel روی OpenLiteSpeed را بررسی می‌کنیم.

OpenLiteSpeed چیست و چه تفاوتی با Nginx و Apache دارد؟

OpenLiteSpeed یک وب‌سرور مستقل است که برای ارائه محتوای وب و اجرای برنامه‌های تحت وب استفاده می‌شود. این وب‌سرور از قابلیت‌هایی مانند Rewrite Rules، ارتباط با PHP و مدیریت Virtual Host پشتیبانی می‌کند.

تفاوت اصلی وب‌سرورها در معماری، روش پیکربندی، نحوه اجرای PHP، قابلیت‌های کش و امکانات مدیریتی آن‌هاست.

وب‌سرورکاربرد
OpenLiteSpeedمیزبانی وب‌سایت‌ها و اجرای برنامه‌های PHP با پیکربندی LiteSpeed
Nginxوب‌سرور و Reverse Proxy با معماری رویدادمحور
Apacheوب‌سرور با امکانات گسترده پیکربندی و ماژول‌های مختلف

انتخاب وب‌سرور به ساختار سرور، نیازمندی‌های پروژه و تجربه مدیر سیستم بستگی دارد. صرف استفاده از OpenLiteSpeed به این معنی نیست که تمام پروژه‌های Laravel بدون تنظیمات اضافی سریع‌تر اجرا خواهند شد.

پیش‌نیازهای اجرای Laravel روی OpenLiteSpeed

قبل از شروع، موارد زیر را بررسی کنید:

  • OpenLiteSpeed روی سرور نصب و فعال باشد.
  • نسخه PHP با نسخه Laravel و وابستگی‌های پروژه سازگار باشد.
  • افزونه‌های PHP موردنیاز پروژه فعال باشند.
  • Composer برای نصب وابستگی‌ها در دسترس باشد یا وابستگی‌ها در محیطی سازگار آماده شده باشند.
  • پایگاه داده موردنیاز پروژه آماده باشد.
  • دامنه به سرور اشاره کند.
  • امکان تغییر Virtual Host و Document Root را داشته باشید.

مراحل دقیق به روش نصب OpenLiteSpeed بستگی دارد. برای مثال، در سروری که از پنل مدیریتی استفاده می‌کند، بعضی تنظیمات از طریق پنل انجام می‌شوند؛ در نصب‌های مستقل ممکن است لازم باشد فایل‌های پیکربندی را مستقیماً تغییر دهید.

مرحله اول: بررسی نسخه PHP

پروژه Laravel به نسخه مشخصی از PHP نیاز دارد. ابتدا فایل composer.json پروژه را بررسی کنید تا نسخه PHP و افزونه‌های موردنیاز مشخص شوند.

برای نمونه، اگر پروژه با PHP 8.3 سازگار باشد، باید نسخه مناسب PHP را در محیط OpenLiteSpeed نصب یا فعال کنید.

در OpenLiteSpeed معمولاً PHP از طریق LiteSpeed SAPI (LSAPI) اجرا می‌شود. بنابراین نصب PHP برای خط فرمان و نسخه PHP مورد استفاده وب‌سرور ممکن است دو تنظیم جداگانه داشته باشند.

برای بررسی نسخه PHP در ترمینال:


php -v

این دستور نسخه PHP خط فرمان را نمایش می‌دهد، اما لزوماً نسخه‌ای را نشان نمی‌دهد که درخواست‌های وب را پردازش می‌کند.

برای بررسی نسخه PHP وب‌سرور، از ابزارهای مدیریتی سرور یا یک روش موقت و امن برای مشاهده اطلاعات PHP استفاده کنید. اگر از فایل phpinfo() استفاده کردید، پس از بررسی آن را حذف کنید؛ زیرا انتشار اطلاعات کامل محیط PHP می‌تواند ریسک امنیتی ایجاد کند.

مرحله دوم: آماده‌سازی پروژه Laravel

پیش از انتقال پروژه، وابستگی‌های آن را آماده کنید. اگر Composer روی سرور در دسترس است، به پوشه اصلی پروژه بروید و دستور زیر را اجرا کنید:


composer install --no-dev --optimize-autoloader

این دستور وابستگی‌های ثبت‌شده در composer.lock را نصب می‌کند و بسته‌های توسعه‌ای را کنار می‌گذارد.

اگر پروژه از Vite برای ساخت فایل‌های CSS و JavaScript استفاده می‌کند، فایل‌های فرانت‌اند را نیز بسازید:


npm ci

npm run build

این دستورات باید در محیطی اجرا شوند که نسخه مناسب Node.js و npm در آن نصب شده باشد. خروجی نهایی Build باید در مسیر مورد انتظار پروژه قرار بگیرد.

فایل .env را نیز برای محیط Production آماده کنید. از انتقال بی‌بررسی تنظیمات محیط توسعه به سرور اصلی خودداری کنید.

مرحله سوم: انتخاب مسیر مناسب پروژه

یکی از مهم‌ترین اصول امنیتی در اجرای Laravel این است که فقط محتوای پوشه public در معرض دسترسی وب قرار بگیرد.

برای مثال، ساختار پروژه می‌تواند به این صورت باشد:


/var/www/example-app/

├── app/

├── bootstrap/

├── config/

├── public/

├── resources/

├── routes/

├── storage/

├── vendor/

├── artisan

└── .env

در این مثال، مسیر اصلی پروژه برابر است با:


/var/www/example-app

اما مسیر عمومی وب‌سایت باید چنین باشد:


/var/www/example-app/public

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

از قرار دادن کل پروژه Laravel در یک مسیر عمومی و قابل‌دسترسی از وب خودداری کنید. فایل‌هایی مانند .env، composer.json و کدهای داخلی پروژه نباید از طریق HTTP قابل دریافت باشند.

مرحله چهارم: تنظیم Virtual Host در OpenLiteSpeed

OpenLiteSpeed برای مدیریت دامنه‌ها و سایت‌ها از مفهومی به نام Virtual Host استفاده می‌کند.

برای راه‌اندازی پروژه، باید Virtual Host مربوط به دامنه را به مسیر پروژه متصل کنید.

در پیکربندی Virtual Host، مقدار Document Root را روی پوشه public پروژه قرار دهید.

برای مثال:


/var/www/example-app/public

همچنین باید دامنه به Virtual Host مناسب متصل شده باشد و تنظیمات Listener و نگاشت دامنه با پیکربندی سرور هماهنگ باشند.

محل دقیق این تنظیمات به روش نصب OpenLiteSpeed و پنل مدیریتی مورد استفاده بستگی دارد. اگر از پنل استفاده می‌کنید، ابتدا مستندات همان پنل را برای تنظیم Document Root و اتصال دامنه بررسی کنید.

پس از تغییر تنظیمات، پیکربندی را بررسی و وب‌سرور را طبق روش مدیریتی سرور Reload یا Restart کنید.

مرحله پنجم: تنظیم Rewrite Rules برای Laravel

لاراول درخواست‌های وب را از طریق فایل public/index.php مدیریت می‌کند. به همین دلیل، درخواست‌هایی که فایل یا پوشه واقعی نیستند باید به Front Controller منتقل شوند.

در OpenLiteSpeed می‌توان از Rewrite Rules سازگار با Apache استفاده کرد. اگر پشتیبانی Rewrite برای Virtual Host فعال باشد، فایل .htaccess داخل پوشه public می‌تواند برای مسیریابی استفاده شود.

در بسیاری از پروژه‌های Laravel، فایل public/.htaccess از قبل وجود دارد. ابتدا محتوای آن را بررسی کنید و مطمئن شوید Rewrite Rules پیش‌فرض Laravel حفظ شده‌اند.

نمونه ساده‌ای از منطق Rewrite به شکل زیر است:


<IfModule mod_rewrite.c>

    RewriteEngine On



    RewriteCond %{REQUEST_FILENAME} !-d

    RewriteCond %{REQUEST_FILENAME} !-f



    RewriteRule ^ index.php [L]

</IfModule>

این نمونه، درخواست‌هایی را که فایل یا پوشه واقعی نیستند به index.php هدایت می‌کند. برای استفاده در پروژه واقعی، باید با تنظیمات موجود و قواعد موردنیاز سایت هماهنگ باشد.

نکته مهم: وجود فایل .htaccess به‌تنهایی تضمین نمی‌کند قواعد Rewrite اجرا شوند. قابلیت Rewrite باید در OpenLiteSpeed فعال باشد و تنظیمات Virtual Host اجازه استفاده از قواعد مربوطه را بدهند.

اگر مسیرهای Laravel مانند /login یا /dashboard خطای 404 می‌دهند، وضعیت Rewrite Rules را بررسی کنید.

مرحله ششم: تنظیم فایل .env

فایل .env در ریشه پروژه قرار می‌گیرد و تنظیمات محیط اجرا را نگهداری می‌کند.

نمونه‌ای از تنظیمات:


APP_NAME="Example App"

APP_ENV=production

APP_DEBUG=false

APP_URL=https://example.com



DB_CONNECTION=mysql

DB_HOST=127.0.0.1

DB_PORT=3306

DB_DATABASE=example_app

DB_USERNAME=example_user

DB_PASSWORD=YOUR_SECURE_PASSWORD

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

اگر پایگاه داده روی سرور دیگری قرار دارد، مقدار DB_HOST باید مطابق آدرس آن سرویس تنظیم شود.

در محیط Production مقدار APP_DEBUG باید false باشد. همچنین از انتشار فایل .env در مخزن عمومی یا قرارگرفتن آن در مسیر عمومی وب جلوگیری کنید.

اگر پروژه کلید برنامه معتبر دارد، آن را بدون دلیل تغییر ندهید. در پروژه جدیدی که کلید ندارد، پس از نصب وابستگی‌ها می‌توانید از دستور زیر استفاده کنید:


php artisan key:generate

مرحله هفتم: آماده‌سازی پایگاه داده

اگر پروژه از MySQL استفاده می‌کند، پایگاه داده و کاربر مناسب را ایجاد کنید و مجوزهای لازم را به آن بدهید.

اطلاعات اتصال باید با فایل .env هماهنگ باشند.

پس از نصب وابستگی‌ها و تنظیم محیط، می‌توانید وضعیت Migrationها را بررسی کنید:


php artisan migrate:status

برای اجرای Migrationهای جدید در محیط Production:


php artisan migrate --force

قبل از اجرای Migration روی سایت اصلی، تغییرات را بررسی و از پایگاه داده نسخه پشتیبان تهیه کنید. بعضی Migrationها می‌توانند داده‌های موجود را تغییر دهند یا حذف کنند.

مرحله هشتم: تنظیم مجوزهای فایل‌ها

Laravel برای اجرای صحیح به دسترسی مناسب روی پوشه‌های storage و bootstrap/cache نیاز دارد.

این پوشه‌ها برای مواردی مانند ثبت گزارش‌ها، کش و فایل‌های موقت استفاده می‌شوند.

در OpenLiteSpeed، کاربری که PHP را اجرا می‌کند ممکن است بسته به روش نصب و تنظیمات سرور متفاوت باشد. بنابراین قبل از تغییر مالکیت فایل‌ها، کاربر واقعی فرایند PHP را بررسی کنید.

به‌طور کلی، فقط مسیرهایی که برنامه باید در آن‌ها بنویسد باید مجوز نوشتن داشته باشند. از تنظیم مجوز 777 برای کل پروژه خودداری کنید.

اگر با خطاهای مربوط به Permission مواجه شدید، مالکیت پوشه‌ها، مجوزهای فایل و تنظیمات PHP را بررسی کنید.

مرحله نهم: بررسی اجرای PHP در OpenLiteSpeed

پس از پیکربندی Virtual Host، نسخه PHP و مسیر پروژه، سایت را در مرورگر باز کنید.

اگر صفحه Laravel نمایش داده نمی‌شود، موارد زیر را بررسی کنید:

  • دامنه به Virtual Host صحیح متصل باشد.
  • Document Root به پوشه public اشاره کند.
  • نسخه PHP وب‌سرور با پروژه سازگار باشد.
  • افزونه‌های PHP موردنیاز فعال باشند.
  • تنظیمات Rewrite درست باشند.
  • مجوزهای فایل‌ها صحیح باشند.
  • اتصال به پایگاه داده برقرار باشد.

برای بررسی نسخه PHP وب‌سرور می‌توان از یک فایل موقت حاوی phpinfo() استفاده کرد، اما این فایل باید بلافاصله پس از بررسی حذف شود. بهتر است اطلاعات حساس سرور را به‌صورت عمومی منتشر نکنید.

مرحله دهم: بهینه‌سازی Laravel پس از استقرار

پس از اطمینان از صحت تنظیمات محیط Production، می‌توانید کش‌های Laravel را آماده کنید.

ابتدا در صورت نیاز کش‌های قبلی را پاک کنید:


php artisan optimize:clear

سپس دستورات زیر را اجرا کنید:


php artisan config:cache

php artisan route:cache

php artisan view:cache

این دستورات می‌توانند زمان آماده‌سازی تنظیمات، مسیرها و Viewها را کاهش دهند. بااین‌حال، رفتار پروژه را پس از فعال‌سازی کش بررسی کنید؛ زیرا برخی پروژه‌ها ممکن است به تنظیمات یا مسیرهای ناسازگار با این قابلیت‌ها وابسته باشند.

بهینه‌سازی Laravel با تنظیمات کش وب‌سرور دو موضوع متفاوت است. فعال‌سازی قابلیت‌های کش در OpenLiteSpeed باید بر اساس معماری برنامه و سازگاری آن با محتوای پویا انجام شود.

تفاوت کش Laravel و کش OpenLiteSpeed

کش Laravel برای نگهداری داده‌های برنامه، تنظیمات، Viewها و سایر اطلاعات موردنیاز فریم‌ورک استفاده می‌شود.

در مقابل، کش وب‌سرور می‌تواند در شرایط مناسب برای کاهش زمان پاسخ‌گویی درخواست‌ها کاربرد داشته باشد.

فعال‌سازی کش تمام صفحات برای یک برنامه پویا، بدون بررسی رفتار آن، ممکن است باعث نمایش اطلاعات قدیمی یا محتوای اشتباه شود. صفحاتی مانند پنل کاربری، سبد خرید و بخش‌های وابسته به نشست کاربر نیازمند دقت بیشتری هستند.

بنابراین ابتدا عملکرد پروژه را بررسی کنید و سپس بر اساس نیاز واقعی، تنظیمات کش وب‌سرور را انجام دهید.

خطاهای رایج Laravel روی OpenLiteSpeed

خطای 403 Forbidden

این خطا ممکن است به تنظیمات دسترسی، Document Root یا مجوز فایل‌ها مربوط باشد.

مطمئن شوید Document Root به پوشه public اشاره می‌کند و فایل index.php در آن مسیر وجود دارد. همچنین مجوزهای دسترسی را بررسی کنید.

خطای 404 در مسیرهای Laravel

اگر صفحه اصلی باز می‌شود اما مسیرهایی مانند /login یا /products خطای 404 می‌دهند، احتمال دارد Rewrite Rules اجرا نشوند.

فعال‌بودن Rewrite و سازگاری تنظیمات Virtual Host با فایل .htaccess را بررسی کنید.

خطای 500 Internal Server Error

این خطا ممکن است از کد برنامه، تنظیمات محیطی، مجوز فایل‌ها یا وابستگی‌های ناقص ناشی شود.

گزارش‌های Laravel و گزارش‌های خطای OpenLiteSpeed را بررسی کنید. مسیر گزارش‌ها به محل نصب و تنظیمات سرور بستگی دارد.

خطای اتصال به پایگاه داده

مقادیر DB_HOST، DB_DATABASE، DB_USERNAME و DB_PASSWORD را بررسی کنید. همچنین از فعال‌بودن سرویس پایگاه داده و مجوزهای کاربر آن مطمئن شوید.

اجرا نشدن تغییرات پس از Deploy

اگر فایل‌های جدید منتقل شده‌اند اما رفتار سایت تغییر نمی‌کند، کش Laravel، فایل‌های Build فرانت‌اند و وضعیت Reload یا Restart سرویس‌ها را بررسی کنید.

نکات امنیتی هنگام اجرای Laravel روی OpenLiteSpeed

برای اجرای امن پروژه، رعایت نکات زیر ضروری است:

  • Document Root را روی پوشه public قرار دهید.
  • مقدار APP_DEBUG را در Production برابر false نگه دارید.
  • فایل .env را از دسترس عمومی خارج کنید.
  • مجوزهای فایل‌ها را به حداقل لازم محدود کنید.
  • نسخه PHP و وابستگی‌ها را به‌روز و سازگار نگه دارید.
  • از پایگاه داده نسخه پشتیبان تهیه کنید.
  • برای دامنه گواهی HTTPS معتبر تنظیم کنید.
  • گزارش‌های برنامه و وب‌سرور را به‌صورت دوره‌ای بررسی کنید.
  • تنظیمات کش را با توجه به محتوای پویا و نشست کاربران انجام دهید.

جمع‌بندی

برای اجرای Laravel روی OpenLiteSpeed باید نسخه PHP و افزونه‌های موردنیاز را آماده کنید، مسیر پروژه و Document Root را درست تنظیم کنید و مطمئن شوید Rewrite Rules درخواست‌ها را به public/index.php هدایت می‌کنند.

پس از آن، تنظیم فایل .env، آماده‌سازی پایگاه داده، تنظیم مجوزهای فایل و اجرای دستورات بهینه‌سازی به راه‌اندازی صحیح پروژه کمک می‌کنند.

اگرچه اصول کلی استقرار Laravel روی وب‌سرورهای مختلف مشابه است، جزئیات پیکربندی OpenLiteSpeed به روش نصب، ساختار Virtual Host و نحوه اجرای PHP بستگی دارد. به همین دلیل، بهتر است هر مرحله را با تنظیمات واقعی سرور خود تطبیق دهید.

سوالات متداول

آیا Laravel روی OpenLiteSpeed اجرا می‌شود؟

بله. OpenLiteSpeed می‌تواند برنامه‌های PHP از جمله Laravel را اجرا کند؛ به شرطی که نسخه PHP، افزونه‌ها، مسیر وب‌سایت و تنظیمات Rewrite با نیازمندی‌های پروژه سازگار باشند.

آیا فایل .htaccess در OpenLiteSpeed کار می‌کند؟

OpenLiteSpeed از قواعد Rewrite سازگار با Apache پشتیبانی می‌کند، اما اجرای آن‌ها به تنظیمات سرور و Virtual Host بستگی دارد. باید مطمئن شوید قابلیت Rewrite فعال است و قواعد موردنیاز پذیرفته می‌شوند.

Document Root لاراول باید کجا باشد؟

Document Root باید روی پوشه public پروژه قرار بگیرد تا فایل‌های داخلی برنامه از طریق وب در دسترس نباشند.

آیا OpenLiteSpeed باعث افزایش سرعت Laravel می‌شود؟

عملکرد نهایی به کد برنامه، پایگاه داده، کش، منابع سرور و تنظیمات وب‌سرور بستگی دارد. صرف استفاده از OpenLiteSpeed تضمین‌کننده افزایش سرعت نیست.

پس از Deploy لاراول چه چیزهایی را باید بررسی کنیم؟

عملکرد مسیرها، اتصال پایگاه داده، مجوزهای فایل، فایل‌های CSS و JavaScript، HTTPS، گزارش خطاها و وظایف پس‌زمینه از مهم‌ترین مواردی هستند که باید بررسی شوند.

نظرات (0)

نظرات پس از تأیید مدیر نمایش داده می‌شوند

هنوز نظری ثبت نشده است؛ اولین نفر باشید!

مقالات مرتبط

ساخت CMS با Laravel 12؛ آموزش ساخت سیستم مدیریت محتوا از صفر

ساخت CMS با Laravel 12؛ آموزش ساخت سیستم مدیریت محتوا از صفر

۲۴ دقیقه
ساخت فروشگاه اینترنتی با Laravel 12؛ آموزش پروژه‌محور از صفر تا طراحی هسته فروشگاه

ساخت فروشگاه اینترنتی با Laravel 12؛ آموزش پروژه‌محور از صفر تا طراحی هسته فروشگاه

۲۲ دقیقه
ساخت Marketplace با Laravel؛ آموزش طراحی فروشگاه چندفروشندگی

ساخت Marketplace با Laravel؛ آموزش طراحی فروشگاه چندفروشندگی

۲۲ دقیقه
مدیریت Queueهای سنگین در Laravel؛ آموزش پردازش کارهای طولانی

مدیریت Queueهای سنگین در Laravel؛ آموزش پردازش کارهای طولانی

۲۲ دقیقه