لاراول یکی از فریمورکهای پرکاربرد 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، گزارش خطاها و وظایف پسزمینه از مهمترین مواردی هستند که باید بررسی شوند.





