Entorno de desarrollo laravel en 5m con ddev

Para ello vamos a utilizar ddev una pequeña pero potente herramienta que nos permite tener nuestro entorno de desarrollo:

  • Servidor encriptado.
  • MariaDB.
  • Instancia de phpMyAdmin
  • Servidor MailHog (Verificación de correos electrónicos).

Vamos a ello.

Instalación de ddev

Bajamos e instalamos ddev.

curl -L https://raw.githubusercontent.com/drud/ddev/master/scripts/install_ddev.sh | bash

Instalación de mkcert

mkcert nos permite tener certificados SSL en local.

wget https://github.com/FiloSottile/mkcert/releases/download/v1.1.2/mkcert-v1.1.2-linux-amd64
mv mkcert-v1.1.2-linux-amd64 mkcert
chmod +x mkcert
sudo cp mkcert /usr/local/bin/
mkcert -install

Configuración de proyecto

En caso de tener ya nuestro proyecto en laravel entramos en su carpeta.

ddev config --project-type=laravel --project-name=$PROYECTO --docroot=public
ddev start

En caso de iniciar un proyecto desde cero.

ddev config --project-type=laravel --project-name=$PROYECTO --docroot=public
ddev start
ddev composer create --prefer-dist laravel/laravel
ddev composer install

Conexión con la base de datos

Si aún no tenemos fichero de configuración .env podemos ejecutar este comando
para hacer la conexión con la base de datos.

ddev exec "cat .env.example | sed  -E 's/DB_(HOST|DATABASE|USERNAME|PASSWORD)=(.*)/DB_\1=db/g' > .env"

Si lo preferimos podemos hacerlo a mano editando el fichero .env.

DB_CONNECTION=mysql
DB_HOST=db
DB_PORT=3306
DB_DATABASE=db
DB_USERNAME=db
DB_PASSWORD=db

Puesta en marcha.

ddev exec ./artisan key:generate
ddev exec ./artisan migrate:fresh --seed

ddev describe


NAME    TYPE     LOCATION             URL                       STATUS
$PROYECTO  laravel  ~/desarrollo/$PROYECTO  https://$PROYECTO.ddev.site  running

Project Information

PHP version: 7.3 NFS mount enabled: false Database type: mariadb MariaDB version: 10.2

URLs

https://$PROYECTO.ddev.site https://127.0.0.1:32773 http://$PROYECTO.ddev.site http://127.0.0.1:32774

MySQL/MariaDB Credentials

Username: "db", Password: "db", Default database: "db" or use root credentials when needed: Username: "root", Password: "root" Database hostname and port INSIDE container: db:3306 To connect to db server inside container or in project settings files: mysql --host=db --user=db --password=db --database=db Database hostname and port from HOST: 127.0.0.1:32772 To connect to mysql from your host machine, mysql --host=127.0.0.1 --port=32772 --user=db --password=db --database=db

Other Services

MailHog (https): https://$PROYECTO.ddev.site:8026 MailHog: http://$PROYECTO.ddev.site:8025 phpMyAdmin (https): https://$PROYECTO.ddev.site:8037 phpMyAdmin: http://$PROYECTO.ddev.site:8036 DDEV ROUTER STATUS: healthy ssh-auth status: healthy
Leave a Reply

Your email address will not be published. Required fields are marked *

Aquest lloc utilitza Akismet per reduir els comentaris brossa. Apreneu com es processen les dades dels comentaris.