Laradock als Laravel Entwicklungsumgebung

 Mit Laradock einfach eine Laravel Entwicklungsumgebung starten  

 Download und initiales Setup

git clone https://github.com/Laradock/laradock.git
cp env-example .env
mkdir ../laradock_www

 

Sollten bestimmte Port bereits belegt sein, können diese einfach in der .env Datei geändert werden.

z.B.:

APP_CODE_PATH_HOST=../laradock_www
...

### NGINX #################################################

NGINX_HOST_HTTP_PORT=90
NGINX_HOST_HTTPS_PORT=444

...

### PHP MY ADMIN ##########################################

# Accepted values: mariadb - mysql

PMA_DB_ENGINE=mariadb

# Credentials/Port:

PMA_USER=default
PMA_PASSWORD=secret
PMA_ROOT_PASSWORD=secret
PMA_PORT=8082
sudo docker-compose up -d nginx mariadb phpmyadmin redis workspace

  

Laravel download und anpassen

In den Container wechseln:

docker-compose exec workspace bash

Befehle im Container: Laravel downloaden und installieren

cd ..
composer create-project laravel/laravel www
cd www
chmod 777 -R ./storage
npm install npm
npm run dev

.env Datei im www-Ordner:

DB_CONNECTION=mysql
DB_HOST=mariadb
DB_PORT=3306
DB_DATABASE=default
DB_USERNAME=default
DB_PASSWORD=secret

BROADCAST_DRIVER=redis
CACHE_DRIVER=redis
QUEUE_CONNECTION=sync
SESSION_DRIVER=redis
SESSION_LIFETIME=120

REDIS_HOST=redis
REDIS_PASSWORD=null
REDIS_PORT=6379

dann wieder in der workspace bash

composer require predis/predis
php artisan migrate

Verschiedene Sites in nginx

in der nginx-Konfig können verschiedene Ordner und deren Test-URL angelegt werden, dabei habe ich für jede Testseite folgendes Konfigfile angelegt:

Ordner: laradock/nginx/sites/

server {

    listen 80;
    listen [::]:80;

    # For https
    # listen 443 ssl;
    # listen [::]:443 ssl ipv6only=on;
    # ssl_certificate /etc/nginx/ssl/default.crt;
    # ssl_certificate_key /etc/nginx/ssl/default.key;

    server_name DOMAINNAME.test;
    root /var/www/FOLDER/public;
    index index.php index.html index.htm;

    location / {
         try_files $uri $uri/ /index.php$is_args$args;
    }

    location ~ \.php$ {
        try_files $uri /index.php =404;
        fastcgi_pass php-upstream;
        fastcgi_index index.php;
        fastcgi_buffers 16 16k;
        fastcgi_buffer_size 32k;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        #fixes timeouts
        fastcgi_read_timeout 600;
        include fastcgi_params;
    }

    location ~ /\.ht {
        deny all;
    }

    location /.well-known/acme-challenge/ {
        root /var/www/letsencrypt/;
        log_not_found off;
    }

    error_log /var/log/nginx/laravel_error.log;
    access_log /var/log/nginx/laravel_access.log;
}

Domainname und Folder müssen an dieser Stelle natürlich angepasst werden.

Pakete

Zusätzlich benötige ich meist folgende Pakete:

Composer

composer require genealabs/laravel-model-caching guzzlehttp/guzzle yajra/laravel-datatables-oracle barryvdh/laravel-debugbar

NPM

npm install datatables datatables.net datatables.net-bs4 datatables.net-buttons datatables.net-colreorder datatables.net-scroller datatables.net-select

PHP 7.3 - Version ändern

Die PHP-Version kann durch Anpassen der .env Datei geändert werden. Im Anschluss muss php-fpm neu erstellt werden:

docker-compose build php-fpm

Workspace.sh

#bin bash!
cd /docker/laradock && docker-compose exec workspace bash

ENVOY PATH

PATH=$PATH:~/.composer/vendor/bin
positive Bewertung({{pro_count}})
Beitrag bewerten:
{{percentage}} % positiv
negative Bewertung({{con_count}})

DANKE für deine Bewertung!


veröffentlicht am 07.05.2019 von Bernhard
geändert am 11.04.2020 von Bernhard



Kommentare


Durch die weitere Nutzung der Seite stimmst du der Verwendung von Cookies zu. Mehr Details