ساخت اولین وب سایت (با داکر دسکتاپ)
در این آموزش طریقه ایجاد یک سرور محلی روی لینوکس تحت ویندوز با استفاده از داکر دسکتاپ توضیح داده شده است.
ساخت اولین وب سایت روی سرور محلی با داکر دسکتاپ
بیایید قبل از شروع به آموزش php یک سرور محلی بر روی ویندوز خود نصب کنیم و شرایط یک سرور واقعی را روی سیستم محلی خود فراهم کنیم.
در این آموزش طریقه ایجاد یک سرور محلی روی لینوکس تحت ویندوز با استفاده از داکر دسکتاپ توضیح داده شده است. در ادامه مراحل ایجاد اولین پروژه php روی یک سیتم محلی خدمت شما توضیح داده شده است:
- با «شکن» تحریمهای اینترنتی رو بیاثر کن!
با توجه به اینکه داکر ایران را تحریم کرده از روشی که در سایت شکن گفته شده DNS سیستم محلی خود را تغییر دهید و سیستم خود را Restart کنید.
- دانلود و نصب لینوکس روی ویندوز
نصب لینوکس بهصورت زیرسیستم ویندوز (WSL - Windows Subsystem for Linux) یک روش ساده و کارآمد برای اجرای توزیعهای لینوکس روی ویندوز 10 و ویندوز 11 است. با استفاده از WSL، شما میتوانید از ویژگیهای لینوکس در محیط ویندوز بدون نیاز به بوت مجدد استفاده کنید.اگر قبلا لینوکس را به عنوان زیر سیستم ویندوز خود نصب نکرده اید اینجا کلیک کنید.
- دانلود و نصب داکر دسکتاپ
Docker Desktop یک نرمافزار مدیریت کانتینر است که به توسعهدهندگان این امکان را میدهد تا به راحتی برنامههای خود را در محیطهای مجزای کانتینر اجرا و مدیریت کنند. Docker Desktop به راحتی میتواند با سایر ابزارهای توسعه ادغام شود و به شما این امکان را میدهد که به سرعت برنامههای خود را آزمایش و توسعه دهید. اگر قبلا داکر دسکتاپ را روی ویندوز خود نصب نکرده اید اینجا کلیک کنید.
- تنظیمات اولیه داکر دسکتاپ
زمپ (XAMPP) و داکر دسکتاپ (Docker Desktop) دو ابزار مختلف برای راهاندازی محیطهای سرور و توسعه نرمافزار هستند. همانگونه که برای استفاده از زمپ باید ابتدا آن را استارت کنید، داکر دسکتاپ را نیز باید قبل از استفاده استارت کنید. برای استارت داکر دسکتاپ اینجا کلیک کنید.
- به روز رسانی اوبونتو 22.04
بهروزرسانی اوبونتو و هر سیستمعامل دیگری بسیار مهم است و نادیده گرفتن آن میتواند به بروز مشکلات امنیتی، عدمسازگاری با نرمافزارها و سختافزارها، و تجربه کاربری نامناسب منجر شود.
ابونتو 22.04 را به روش Run as administrator باز کنید و توسط دو دستور زیر به روز رسانی آن را انجام دهید.
Ubuntu 22.04sudo apt-get updateUbuntu 22.04sudo apt-get upgrade - اتصال Vs Code به WSL
- ایجاد دایرکتوری پروژه
دایرکتوری پروژه به معنای سلسلهمراتب و ساختار فایلها و پوشهها است که برای سازماندهی و مدیریت تمامی محتویات مرتبط با یک پروژه خاص ایجاد میشود. این دایرکتوری میتواند شامل کد منبع، اسناد، تصاویر، فایلهای پیکربندی، کتابخانهها و هر نوع فایل دیگری باشد که برای توسعه و مدیریت پروژه نیاز است.
برای ایجاد یک دایرکتوری پروژه در اوبونتو 22.04، میتوانید از روشهای مختلفی استفاده کنید، از جمله استفاده از VS Code یا دستورات Bash. هر دو روش در ادامه توضیح داده شدهاند.
- روش اول : استفاده از دستورات Bash
- روش دوم : استفاده از Visual Studio Code
- باز کردن VS Code
- اتصال Vs Code به WSL
- ایجاد پوشه جدید
در پنجره start مطابق شکل زیر ابونتو را به صورت Run as administrator باز کنید.
ubuntu 22.04mkdir first-websiteبرای مشاهده مراحل اتصال VS Code به WSL اینجا کلیک کنید.
از منوی اصلی، گزینه File را انتخاب کنید و سپس Add Folder to Workspace را انتخاب کنید.
حال در پنجره باز شده مشابه شکل زیر نام دلخواه پروژه خود را وارد کنید مثلا first-website سپس روی گزینه Add کلیک کنید تا این فولدر ایجاد گردد.
- باز کردن دایرکتوری پروژه در Vs Code
-
ایجاد Dockerfile
در دایرکتوری پروژه، یک فایل به نام Dockerfile ایجاد کنید و کد زیر را درون آن قرار دهید:
dockerfileFROM php:8.4-fpmRUN docker-php-ext-install mysqli pdo pdo_mysqlWORKDIR /var/www/htmlCOPY . .CMD ["php-fpm"] - ایجاد فایل docker-compose.yml
برای مدیریت کانتینرها به راحتی، میتوانید از Docker Compose استفاده کنید. یک فایل به نام docker-compose.yml در دایرکتوری پروژه ایجاد کنید و کد زیر را داخل آن قرار دهید:
yamlservices:php:build: .volumes:- .:/var/www/htmlnetworks:- my-networknginx:image: nginx:latestports:- "8080:80"volumes:- .:/var/www/html- ./nginx.conf:/etc/nginx/conf.d/default.confnetworks:- my-networknetworks:my-network:driver: bridge - ایجاد فایل پیکربندی Nginx
یک فایل به نام nginx.conf در دایرکتوری پروژه ایجاد کنید و محتوای زیر را در آن وارد کنید:
yamlserver {listen 80;server_name localhost;root /var/www/html;index index.php index.html index.htm;location / {try_files $uri $uri/ /index.php?$query_string;}location ~ \.php$ {include fastcgi_params;fastcgi_pass php:9000;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;}} - ایجاد فایل index.html
در دایرکتوری پروژه، یک فایل جدید به نام index.html ایجاد کنید و محتوای زیر را به آن اضافه کنید:
- ایجاد فایل index.php:
در دایرکتوری پروژه، یک فایل جدید به نام index.php ایجاد کنید و محتوا را به آن اضافه کنید:
php<?phpphpinfo();?> - Run کردن داکر داکر دسکتاپ
- باز کردن ترمینال در Vs Code
- ساخت و اجرای کانتینر
فرمان زیر را کپی کنید و در خط فرمان باز شده در ترمینال که در مرحله قبل توضیح داده شد با کلیک راست کردن paste نمایید.
- ساخت کانتینر:
bashdocker-compose build
- اجرای کانتینر:
bashdocker-compose up
- ساخت کانتینر:
- دسترسی به اپلیکیشن
اکنون میتوانید با باز کردن مرورگر خود (Browser)، به آدرس زیر بروید:
bashhttp://localhost:8080
اتصال Visual Studio Code (VS Code) به Windows Subsystem for Linux (WSL) به شما این امکان را میدهد که به راحتی در محیط لینوکس کار کنید و از امکانات VS Code بهرهمند شوید. برای مشاهده مراحل اتصال VS Code به WSL اینجا کلیک کنید.

مشابه شکل زیر از منوی اصلی File را انتخاب کنید.

حال روی گزینه Open Folder کلیک کنید

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

بعد از اضافه شدن به آدرس بار روی گزینه Ok کلیک کنید تا برای اولین بار دایرکتوری پروژه در سمت چپ Vs Code نمایش داده شود.


مطابق آنچه در مرحله چهار گفته شد ، دقت کنید داکر دسکتاپ استارت باشد برای استارت کردن داکر دسکتاپ اینجا کلیک کنید.
در منوی اصلی Vs Code گزینه Terminal را انتخاب کنید و مشابه شکل زیر روی New Terminal کلیک کنید تا پنجره ترمینال باز شود.


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