سلام
یکی از مشکلاتی که در انجام پروژه های تحت وب وجود داره، انتقال پروژه از سیستم لوکال به سرور بوده، هست و خواهد بود.
اگه پروژه هم با php و فریم وورک لاراول پیاده سازی شده باشه، مشکلاتش دوچندان خواهد بود.
در این مطلب کوتاه و مختصر، مراحل نصب و راه اندازی یک پروژه لاراول رو روی ویندوز سرور 2019 ورژن 64 بیتی توضیح میدم.
زمانی که این مطلب رو آماده میکنم لاراول و php هر دوتاشون نسخه 8 رو منتشر کردن.
ولی با توجه به اینکه هنوز بعضی از ابزارهای مورد نیاز php نسخه 8 جهت کار با وب سرویس IIS منتشر نشده ، سرور رو با php ورژن 7.3 راه اندازی میکنم.
مراحل کار:
1- نصب و آماده سازی ویندوز سرور 2019 ( آنتی ویروس و تغییر نام و تنظیمات زبان و .... فراموش نشه.)
2- نصب Role وب سرویس Web Service(IIS) به همراه قابلیت های CGI و FTP Server بر روی سرور ( دقت کنید که قابلیت های CGI و Ftp Server حتما فعال بشن)
3- دانلود و نصب افزونه Web Platform Installer بر روی IIS از آدرس زیر:
https://www.microsoft.com/web/downloads/platform.aspx
بعد از نصب افزونه مورد نظر در صفحه اول IIS اضافه میشه.
4- اجرای webplatform installer از کنسول IIS manager و جستجوی عبارت php 7.3 در قسمت جستجو
5- تغییر ip که باهاش سرور به اینترنت متصل هست به ip غیر ایرانی سایت مربوط به ابزار windows cache extentions برای آی پی های ایران باز نمیشه.
5- انتخاب گزینه PHP 7.3.25 (x64) for IIS Express و بعدش گزینه install
6- مجددا webplatform installer رو اجرا کنید و این بار عبارت url rewrite رو جستجو کنید و نصبش کنید.
7- میتونید دوباره برگردید به ip ایران.
8- دانلود و نصب composer بر روی سرور (نکته خاصی نداره. میریم تو سایت composer و آخرین نسخه رو دانلود و نصب میکنیم.)
9-اجرای power shell سرور و نصب لاراول بر روی سرور بوسیله composer با استفاده از دستور زیر:
composer global require laravel/installer
10 - اضافه کردن خط زیر به انتهای فایل php.ini در مسیر c:\program file\iis experess\php\php.ini
extension=php_fileinfo.dll
11- ایجاد پروژه لاراول در مسیر c:\inetpub\wwwroot با استفاده از power Shell و دستور زیر:
laravel new Project_name
12- اعطای مجوز modify به پوشه storage در پروژه لاراول ایجاد شده به users
13- تغییر مسیر physical path به پوشه public پروژه لاراولی که در مرحله 11 ایجاد کردیم از iis manager سرور
14- ریستارت کردن سرور IIS و تست با وارد کردن آدرس local host در مرورگر