بی آکادمی
آموزش پایتون
هوش مصنوعی
دانلود و نصب لینوکس
داکر دسکتاپ
VS Code
آموزش لاراول
گیت و گیت هاب
آموزش HTML
آموزش CSS
فلکس باکس
جاوااسکریپت
TypeScript
فروشگاه اینترنتی
اپلیکیشن موبایل
آموزش اکسل
آموزش SQL
آموزش MySQL
آموزش PHP

ایجاد دومین پروژه لاراول

لاراول 12

نصب لاراول از طریق Composer:

  1. به روز رسانی لینوکس (ubuntu 22.04)
    bash
    sudo apt-get update && sudo apt-get upgrade -y
  2. بررسی نسخه فعلی Composer
    Ubuntu 22.04
    which composer

    فرض کنید در سیستم شما خروجی دستور بالا به صورت /home/mehdi/.config/herd-lite/bin/composer باشد در این صورت باید self-update را با یک فاصله مشابه شکل زیر در خط فرمان ابونتو وارد نمایید.

    ubuntu
  3. بررسی نسخه فعلی Composer
    Ubuntu 22.04
    composer --version
  4. با این فرض که قرار است پروژه دوم با نام second-website باشد:

    Ubuntu 22.04
    composer create-project laravel/laravel second-website

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

لاراول 12

باز کردن پروژه جدید با Visual Studio Code

  1. باز کردن VS Code
  2. اتصال Vs Code به WSL
  3. برای مشاهده مراحل اتصال VS Code به WSL اینجا کلیک کنید.

    دایرکتوری پروژه
  4. باز کردن دایرکتوری پروژه در Vs Code

اضافه کردن فایل های مورد نیاز داکر

برای انتقال پروژه‌ای که با Composer ایجاد کرده‌اید به سرور محلی (Local Server)، باید مراحل زیر را به ترتیب انجام دهید

مرحله اول: باز کردن پروژه در اوبونتو 22.04

  1. به روز رسانی لینوکس (ubuntu 22.04)
    bash
    sudo apt-get update && sudo apt-get upgrade -y
  2. باز کردن پروژه اگر بسته باشد
    Ubuntu 22.04
    cd second-website

مرحله دوم: ایجاد فایل docker-compose.yml:

  1. بعد از باز کردن پروژه توسط دستور زیر فایل docker-compose.yml: را ایجاد کنید
  2. Ubuntu 22.04
    touch docker-compose.yml
  3. باز کردن پروژه توسط ویرایشگر کد، که در اینجا vs code می باشد و کپی کردن فایل زیر در docker-compose.yml

    نکته: در هر بار استفاده از دستور زیر دقت کنید که نام هایی که در دستور زیر به رنگ قرمز می باشند قبلا استفاده نکرده باشید. بهتر است در هر بار استفاده از دستور زیر به این 4 مورد که با رنگ قرمز مشخص شده یک نام جدید به دلخواه خود اختصاص دهید.

    شماره پورت های جدید

    8000 8080 3306
    9000 8082 3307
    docker-compose.yml
    # Services Definition
    services:
    app:
    build:
    context: .
    dockerfile: Dockerfile
    image: laravel-app
    container_name: laravel-app2
    restart: unless-stopped
    working_dir: /var/www
    volumes:
    - .:/var/www
    networks:
    - laravel-network
    webserver:
    image: nginx:alpine
    container_name: webserver2
    restart: unless-stopped
    ports:
    - "9000:80"
    volumes:
    - .:/var/www
    - ./docker/nginx:/etc/nginx/conf.d
    networks:
    - laravel-network
    db:
    image: mysql:8.0
    container_name: db2
    restart: unless-stopped
    environment:
    MYSQL_DATABASE: laravel
    MYSQL_ROOT_PASSWORD: secret
    MYSQL_USER: laravel
    MYSQL_PASSWORD: secret
    volumes:
    - dbdata:/var/lib/mysql
    ports:
    - "3307:3306"
    networks:
    - laravel-network
    phpmyadmin:
    image: phpmyadmin/phpmyadmin
    container_name: phpmyadmin2
    restart: unless-stopped
    ports:
    - "8082:80"
    environment:
    PMA_HOST: db
    MYSQL_ROOT_PASSWORD: secret
    networks:
    - laravel-network
    # Volumes Configuration
    volumes:
    dbdata:
    driver: local
    # Networks Configuration
    networks:
    laravel-network:
    driver: bridge

مرحله سوم: ایجاد فایل Dockerfile

  1. در محیط اوبونتو توسط دستور زیر فایل Dockerfile را به پروژه اضافه کنید
    Ubuntu 22.04
    touch Dockerfile
  2. کپی کردن فایل زیر در Dockerfile
    dockerfile
    FROM php:8.2-fpm
    WORKDIR /var/www
    RUN apt-get update && apt-get install -y \
    build-essential \
    libpng-dev \
    libjpeg62-turbo-dev \
    libfreetype6-dev \
    locales \
    zip \
    jpegoptim optipng pngquant gifsicle \
    vim \
    unzip \
    git \
    curl \
    libzip-dev \
    libonig-dev \
    libpq-dev \
    libxml2-dev
    RUN docker-php-ext-install pdo_mysql mbstring zip exif pcntl
    RUN docker-php-ext-configure gd --with-freetype --with-jpeg
    RUN docker-php-ext-install gd
    RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
    RUN groupadd -g 1000 www
    RUN useradd -u 1000 -ms /bin/bash -g www www
    COPY --chown=www:www . /var/www
    USER www
    EXPOSE 9000
    CMD ["php-fpm"]

مرحله چهارم: ایجاد پیکربندی Nginx

  1. توسط دستور زیر فولدری به نام nginx درون فولدر docker ایجاد کنید.
    Ubuntu 22.04
    mkdir -p docker/nginx
  2. توسط دستور زیر فایل app.conf را درون nginx اضافه کنید.
    nginx
    touch docker/nginx/app.conf
  3. کد زیر را کپی کنید و در docker/nginx/app.conf پیست کنید
    nginx
    server {
    listen 80;
    index index.php index.html;
    error_log /var/log/nginx/error.log;
    access_log /var/log/nginx/access.log;
    root /var/www/public;
    location ~ \.php$ {
    try_files $uri =404;
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    fastcgi_pass app:9000;
    fastcgi_index index.php;
    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_param PATH_INFO $fastcgi_path_info;
    }
    location / {
    try_files $uri $uri/ /index.php?$query_string;
    gzip_static on;
    }
    }

راه اندازی محیط داکر از طریق bash یا ترمینال

مرحله اول: Run کردن داکر دسکتاپ

  1. تحریم شکن خود را فعال کنید run کردن داکر دسکتاپ
  2. داکر دسکتاپ خود را run کنید

    زمپ (XAMPP) و داکر دسکتاپ (Docker Desktop) دو ابزار مختلف برای راه‌اندازی محیط‌های سرور و توسعه نرم‌افزار هستند. همانگونه که برای استفاده از زمپ باید ابتدا آن را استارت کنید، داکر دسکتاپ را نیز باید قبل از استفاده استارت کنید. برای استارت داکر دسکتاپ اینجا کلیک کنید.

مرحله دوم: راه اندازی محیط Docker

اگر پروژه شما در محیط bash یا همان ترمینال اوبونتو 22.04 باز نیست مطابق دستور زیر آن را باز کنید.

  1. باز کردن پروژه در محیط ترمینال اگر بسته باشد
  2. Ubuntu 22.04
    cd second-website

  3. با «شکن» تحریم‌های اینترنتی رو بی‌اثر کن!

    با توجه به اینکه داکر ایران را تحریم کرده از روشی که در سایت شکن گفته شده DNS سیستم محلی خود را تغییر دهید و سیستم خود را Restart کنید.

    به علت تحریم ایران این مرحله الزامی می باشد و باید از یک DNS حرفه ای استفاده کنید.

  4. ساخت و راه اندازی کانتینر ها (داکر دسکتاپ باید ران باشد!)
  5. bash
    docker-compose up -d --build
  6. نصب وابستگی‌های Composer
  7. bash
    docker-compose exec app composer install
  8. تنظیم مجوزهای فایل‌ها
  9. هر دو دستور زیر را به ترتیب نصب کنید.

    1. تنظیم مجوزهای فایل‌ها (دستور اول)
    2. bash
      docker-compose exec app chmod -R 775 storage
    3. تنظیم مجوزهای فایل‌ها (دستور دوم)
    4. bash
      docker-compose exec app chmod -R 775 bootstrap/cache
  10. کپی فایل env.
  11. bash
    cp .env.example .env
  12. تولید کلید برنامه
  13. bash
    docker-compose exec app php artisan key:generate
  14. پیکربندی فایل env.
  15. فایل env. را باز کنید و تنظیمات دیتابیس را به صورت زیر تغییر دهید:

    .env
    DB_CONNECTION=mysql
    DB_HOST=db2
    DB_PORT=3306
    DB_DATABASE=laravel
    DB_USERNAME=laravel
    DB_PASSWORD=secret
  16. اجرای migrations
  17. bash
    docker-compose exec app php artisan migrate

دسترسی به پروژه از طریق مرورگر

  1. پروژه Laravel:
  2. در مرورگر به آدرس http://localhost:9000 بروید

    bash
    http://localhost:9000
  3. phpMyAdmin
    • برای مدیریت دیتابیس به آدرس http://localhost:8082 بروید
    • bash
      http://localhost:8082

      اطلاعات ورود:

      سرور نام کاربری رمز عبور
      db2 laravel secret