Documentación de Laravel 10.x
Aquí encontrarás fragmentos de código de Laravel y consejos útiles sobre desarrollo web.
Laravel se esfuerza por hacer que toda la experiencia de desarrollo en PHP sea encantadora, incluido tu entorno de desarrollo local. Laravel Homestead es una caja Vagrant oficial y preempaquetada que te proporciona un maravilloso entorno de desarrollo sin requerir que instales PHP, un servidor web u otro software de servidor en tu máquina local.
Vagrant proporciona una forma simple y elegante de gestionar y aprovisionar máquinas virtuales. Las cajas Vagrant son completamente desechables. Si algo sale mal, puedes destruir y volver a crear la caja en minutos.
Homestead se ejecuta en cualquier sistema Windows, macOS o Linux e incluye Nginx, PHP, MySQL, PostgreSQL, Redis, Memcached, Node y todo el otro software que necesitas para desarrollar increíbles aplicaciones Laravel.
Advertencia Si estás utilizando Windows, es posible que necesites habilitar la virtualización de hardware (VT-x). Por lo general, se puede habilitar a través de tu BIOS. Si estás utilizando Hyper-V en un sistema UEFI, es posible que también debas desactivar Hyper-V para acceder a VT-x.
Antes de lanzar tu entorno Homestead, debes instalar Vagrant así como uno de los siguientes proveedores compatibles:
Todos estos paquetes de software ofrecen instaladores visuales fáciles de usar para todos los sistemas operativos populares.
Para utilizar el proveedor Parallels, deberás instalar el complemento Vagrant de Parallels. Es gratuito.
Puedes instalar Homestead clonando el repositorio de Homestead en tu máquina anfitriona. Considera clonar el repositorio en una carpeta Homestead
dentro de tu directorio "home", ya que la máquina virtual Homestead servirá como anfitrión para todas tus aplicaciones Laravel. A lo largo de esta documentación, nos referiremos a este directorio como tu "directorio Homestead":
git clone https://github.com/laravel/homestead.git ~/Homestead
Después de clonar el repositorio de Laravel Homestead, deberías cambiar a la rama release
. Esta rama siempre contiene la última versión estable de Homestead:
cd ~/Homestead git checkout release
A continuación, ejecuta el comando bash init.sh
desde el directorio de Homestead para crear el archivo de configuración Homestead.yaml
. El archivo Homestead.yaml
es donde configurarás todos los ajustes para tu instalación de Homestead. Este archivo se colocará en el directorio de Homestead:
# macOS / Linux...bash init.sh # Windows...init.bat
La clave provider
en tu archivo Homestead.yaml
indica qué proveedor de Vagrant se debe usar: virtualbox
o parallels
:
provider: virtualbox
Advertencia Si estás utilizando Apple Silicon, se requiere el proveedor Parallels.
La propiedad folders
del archivo Homestead.yaml
lista todas las carpetas que deseas compartir con tu entorno Homestead. A medida que se cambian los archivos dentro de estas carpetas, se sincronizarán entre tu máquina local y el entorno virtual de Homestead. Puedes configurar tantas carpetas compartidas como sea necesario:
folders: - map: ~/code/project1 to: /home/vagrant/project1
Advertencia Los usuarios de Windows no deben utilizar la sintaxis de ruta
~/
y en su lugar deben usar la ruta completa de su proyecto, por ejemplo,C:\Users\user\Code\project1
.
Siempre debes asignar aplicaciones individuales a su propia asignación de carpeta en lugar de asignar un directorio único que contenga todas tus aplicaciones. Cuando asignas una carpeta, la máquina virtual debe realizar un seguimiento de todas las operaciones de E/S de disco para cada archivo en la carpeta. Puedes experimentar una reducción de rendimiento si tienes un gran número de archivos en una carpeta:
folders: - map: ~/code/project1 to: /home/vagrant/project1 - map: ~/code/project2 to: /home/vagrant/project2
Advertencia Nunca debes montar
.
(el directorio actual) al usar Homestead. Esto hace que Vagrant no mapee la carpeta actual a/vagrant
y romperá funciones opcionales y causará resultados inesperados durante el aprovisionamiento.
Para habilitar NFS, puedes agregar una opción type
a tu asignación de carpetas:
folders: - map: ~/code/project1 to: /home/vagrant/project1 type: "nfs"
Advertencia Al usar NFS en Windows, debes considerar instalar el complemento vagrant-winnfsd. Este complemento mantendrá los permisos correctos de usuario/grupo para archivos y directorios dentro de la máquina virtual Homestead.
También puedes pasar cualquier opción compatible con Synced Folders de Vagrant enumerándolas bajo la clave options
:
folders: - map: ~/code/project1 to: /home/vagrant/project1 type: "rsync" options: rsync__args: ["--verbose", "--archive", "--delete", "-zz"] rsync__exclude: ["node_modules"]
¿No estás familiarizado con Nginx? No hay problema. La propiedad sites
de tu archivo Homestead.yaml
te permite mapear fácilmente un "dominio" a una carpeta en tu entorno Homestead. Se incluye una configuración de sitio de muestra en el archivo Homestead.yaml
. Nuevamente, puedes agregar tantos sitios como necesites en tu entorno Homestead. Homestead puede servir como un entorno virtual conveniente para cada aplicación Laravel en la que estés trabajando:
sites: - map: homestead.test to: /home/vagrant/project1/public
Si cambias la propiedad sites
después de aprovisionar la máquina virtual Homestead, debes ejecutar el comando vagrant reload --provision
en tu terminal para actualizar la configuración de Nginx en la máquina virtual.
Advertencia Los scripts de Homestead están diseñados para ser lo más idempotentes posible. Sin embargo, si experimentas problemas durante el aprovisionamiento, debes destruir y reconstruir la máquina ejecutando el comando
vagrant destroy && vagrant up
.
Homestead publica nombres de host usando mDNS
para la resolución automática de host. Si estableces hostname: homestead
en tu archivo Homestead.yaml
, el host estará disponible en homestead.local
. macOS, iOS y las distribuciones de escritorio de Linux incluyen soporte para mDNS
de forma predeterminada. Si usas Windows, debes instalar Bonjour Print Services for Windows.
El uso de nombres de host automáticos funciona mejor para instalaciones por proyecto de Homestead. Si hospedas varios sitios en una única instancia de Homestead, puedes agregar los "dominios" de tus sitios web al archivo hosts
de tu máquina. El archivo hosts
redirigirá las solicitudes para tus sitios de Homestead a la máquina virtual de Homestead. En macOS y Linux, este archivo se encuentra en /etc/hosts
. En Windows, está en C:\Windows\System32\drivers\etc\hosts
. Las líneas que agregues a este archivo se verán así:
192.168.56.56 homestead.test
Asegúrate de que la dirección IP listada sea la que se establece en tu archivo Homestead.yaml
. Una vez que hayas agregado el dominio a tu archivo hosts
y hayas iniciado la caja Vagrant, podrás acceder al sitio a través de tu navegador web:
http://homestead.test
Homestead inicia varios servicios de forma predeterminada; sin embargo, puedes personalizar qué servicios están habilitados o deshabilitados durante la aprovisionamiento. Por ejemplo, puedes habilitar PostgreSQL y deshabilitar MySQL modificando la opción services
dentro de tu archivo Homestead.yaml
:
services: - enabled: - "postgresql" - disabled: - "mysql"
Los servicios especificados se iniciarán o detendrán según su orden en las directivas enabled
y disabled
.
Una vez que hayas editado el Homestead.yaml
a tu gusto, ejecuta el comando vagrant up
desde tu directorio Homestead. Vagrant iniciará la máquina virtual y configurará automáticamente tus carpetas compartidas y sitios Nginx.
Para destruir la máquina, puedes usar el comando vagrant destroy
.
En lugar de instalar Homestead globalmente y compartir la misma máquina virtual Homestead en todos tus proyectos, puedes configurar una instancia de Homestead para cada proyecto que manejes. Instalar Homestead por proyecto puede ser beneficioso si deseas incluir un archivo Vagrantfile
con tu proyecto, lo que permite a otros trabajar en el proyecto realizar vagrant up
inmediatamente después de clonar el repositorio del proyecto.
Puedes instalar Homestead en tu proyecto usando el administrador de paquetes Composer:
composer require laravel/homestead --dev
Una vez que Homestead se haya instalado, llama al comando make
de Homestead para generar el Vagrantfile
y el archivo Homestead.yaml
para tu proyecto. Estos archivos se colocarán en la raíz de tu proyecto. El comando make
configurará automáticamente las directivas sites
y folders
en el archivo Homestead.yaml
:
# macOS / Linux...php vendor/bin/homestead make # Windows...vendor\\bin\\homestead make
A continuación, ejecuta el comando vagrant up
en tu terminal y accede a tu proyecto en http://homestead.test
en tu navegador. Recuerda que aún deberás agregar una entrada en el archivo /etc/hosts
para homestead.test
o el dominio de tu elección si no estás utilizando la resolución automática de nombres de host.
El software opcional se instala utilizando la opción features
dentro de tu archivo Homestead.yaml
. La mayoría de las características se pueden habilitar o deshabilitar con un valor booleano, mientras que algunas características permiten múltiples opciones de configuración:
features: - blackfire: server_id: "server_id" server_token: "server_value" client_id: "client_id" client_token: "client_value" - cassandra: true - chronograf: true - couchdb: true - crystal: true - elasticsearch: version: 7.9.0 - eventstore: true version: 21.2.0 - flyway: true - gearman: true - golang: true - grafana: true - influxdb: true - logstash: true - mailpit: true - mariadb: true - meilisearch: true - minio: true - mongodb: true - mysql: true - neo4j: true - ohmyzsh: true - openresty: true - pm2: true - python: true - r-base: true - rabbitmq: true - rustc: true - rvm: true - solr: true - timescaledb: true - trader: true - webdriver: true
Puedes especificar una versión compatible de Elasticsearch, que debe ser un número de versión exacto (major.minor.patch). La instalación predeterminada creará un clúster llamado 'homestead'. Nunca debes asignar a Elasticsearch más de la mitad de la memoria del sistema operativo, así que asegúrate de que tu máquina virtual Homestead tenga al menos el doble de la asignación de Elasticsearch.
Nota Consulta la documentación de Elasticsearch para aprender cómo personalizar tu configuración.
Habilitar MariaDB eliminará MySQL e instalará MariaDB. MariaDB suele servir como un reemplazo compatible con MySQL, así que debes seguir utilizando el controlador de base de datos mysql
en la configuración de la base de datos de tu aplicación.
La instalación predeterminada de MongoDB establecerá el nombre de usuario de la base de datos como homestead
y la contraseña correspondiente como secret
.
La instalación predeterminada de Neo4j establecerá el nombre de usuario de la base de datos como homestead
y la contraseña correspondiente como secret
. Para acceder al navegador de Neo4j, visita http://homestead.test:7474
a través de tu navegador web. Los puertos 7687
(Bolt), 7474
(HTTP) y 7473
(HTTPS) están listos para atender las solicitudes del cliente Neo4j.
Puedes agregar alias de Bash a tu máquina virtual Homestead modificando el archivo aliases
dentro de tu directorio Homestead:
alias c='clear'alias ..='cd ..'
Después de haber actualizado el archivo aliases
, debes reprovisionar la máquina virtual Homestead utilizando el comando vagrant reload --provision
. Esto asegurará que tus nuevos alias estén disponibles en la máquina.
Antes de comenzar a actualizar Homestead, debes asegurarte de haber eliminado tu máquina virtual actual ejecutando el siguiente comando en tu directorio Homestead:
vagrant destroy
A continuación, necesitas actualizar el código fuente de Homestead. Si clonaste el repositorio, puedes ejecutar los siguientes comandos en la ubicación donde clonaste originalmente el repositorio:
git fetch git pull origin release
Estos comandos obtienen el último código de Homestead desde el repositorio de GitHub, recuperan las últimas etiquetas y luego seleccionan la última versión etiquetada. Puedes encontrar la versión estable más reciente en la página de lanzamientos de GitHub de Homestead.
Si instalaste Homestead a través del archivo composer.json
de tu proyecto, debes asegurarte de que tu archivo composer.json
contenga \"laravel/homestead\": \"^12\"
y actualizar tus dependencias:
composer update
A continuación, debes actualizar la caja de Vagrant utilizando el comando vagrant box update
:
vagrant box update
Después de actualizar la caja de Vagrant, debes ejecutar el comando bash init.sh
desde el directorio de Homestead para actualizar los archivos de configuración adicionales de Homestead. Se te preguntará si deseas sobrescribir tus archivos existentes Homestead.yaml
, after.sh
y aliases
:
# macOS / Linux...bash init.sh # Windows...init.bat
Finalmente, deberás regenerar tu máquina virtual Homestead para utilizar la última instalación de Vagrant:
vagrant up
Puedes conectarte por SSH a tu máquina virtual ejecutando el comando de terminal vagrant ssh
desde tu directorio Homestead.
Una vez que tu entorno Homestead esté aprovisionado y en funcionamiento, es posible que desees agregar sitios Nginx adicionales para tus otros proyectos Laravel. Puedes ejecutar tantos proyectos Laravel como desees en un solo entorno Homestead. Para agregar un sitio adicional, agrega el sitio a tu archivo Homestead.yaml
.
sites: - map: homestead.test to: /home/vagrant/project1/public - map: another.test to: /home/vagrant/project2/public
Advertencia Asegúrate de haber configurado un mapeo de carpetas para el directorio del proyecto antes de agregar el sitio.
Si Vagrant no está gestionando automáticamente tu archivo "hosts", es posible que necesites agregar el nuevo sitio también a ese archivo. En macOS y Linux, este archivo se encuentra en /etc/hosts
. En Windows, está en C:\Windows\System32\drivers\etc\hosts
:
192.168.56.56 homestead.test192.168.56.56 another.test
Una vez que se haya agregado el sitio, ejecuta el comando vagrant reload --provision
desde tu directorio Homestead.
Homestead admite varios "tipos" de sitios que te permiten ejecutar fácilmente proyectos que no se basan en Laravel. Por ejemplo, podemos agregar fácilmente una aplicación Statamic a Homestead usando el tipo de sitio statamic
:
sites: - map: statamic.test to: /home/vagrant/my-symfony-project/web type: "statamic"
Los tipos de sitio disponibles son: apache
, apache-proxy
, apigility
, expressive
, laravel
(el predeterminado), proxy
(para nginx), silverstripe
, statamic
, symfony2
, symfony4
y zf
.
Puedes agregar valores adicionales de fastcgi_param
de Nginx a tu sitio mediante la directiva de sitio params
:
sites: - map: homestead.test to: /home/vagrant/project1/public params: - key: FOO value: BAR
Puedes definir variables de entorno globales agregándolas a tu archivo Homestead.yaml
:
variables: - key: APP_ENV value: local - key: FOO value: bar
Después de actualizar el archivo Homestead.yaml
, asegúrate de reprovisionar la máquina ejecutando el comando vagrant reload --provision
. Esto actualizará la configuración de PHP-FPM para todas las versiones de PHP instaladas y también actualizará el entorno para el usuario vagrant
.
De forma predeterminada, los siguientes puertos se reenvían a tu entorno Homestead:
Si lo deseas, puedes reenviar puertos adicionales a la caja Vagrant definiendo una entrada de configuración ports
dentro de tu archivo Homestead.yaml
. Después de actualizar el archivo Homestead.yaml
, asegúrate de reprovisionar la máquina ejecutando el comando vagrant reload --provision
.
ports: - send: 50000 to: 5000 - send: 7777 to: 777 protocol: udp
A continuación, se muestra una lista de puertos de servicio adicionales de Homestead que es posible que desees asignar desde tu máquina anfitriona a tu caja Vagrant:
Homestead admite ejecutar varias versiones de PHP en la misma máquina virtual. Puedes especificar qué versión de PHP usar para un sitio dado dentro de tu archivo Homestead.yaml
. Las versiones de PHP disponibles son: "5.6", "7.0", "7.1", "7.2", "7.3", "7.4", "8.0", "8.1" y "8.2" (el predeterminado):
sites: - map: homestead.test to: /home/vagrant/project1/public php: "7.1"
Dentro de tu máquina virtual Homestead, puedes usar cualquiera de las versiones de PHP admitidas a través de la CLI:
php5.6 artisan listphp7.0 artisan listphp7.1 artisan listphp7.2 artisan listphp7.3 artisan listphp7.4 artisan listphp8.0 artisan listphp8.1 artisan listphp8.2 artisan list
Puedes cambiar la versión predeterminada de PHP utilizada por la CLI emitiendo los siguientes comandos desde tu máquina virtual Homestead:
php56php70php71php72php73php74php80php81php82
Se configura una base de datos homestead
para MySQL y PostgreSQL de forma predeterminada. Para conectarte a tu base de datos MySQL o PostgreSQL desde el cliente de base de datos de tu máquina anfitriona, debes conectarte a 127.0.0.1
en el puerto 33060
(MySQL) o 54320
(PostgreSQL). El nombre de usuario y la contraseña para ambas bases de datos son homestead
/ secret
.
Advertencia Solo debes usar estos puertos no estándar al conectarte a las bases de datos desde tu máquina host. Utilizarás los puertos predeterminados 3306 y 5432 en el archivo de configuración
database
de tu aplicación Laravel, ya que Laravel se ejecuta dentro de la máquina virtual.
Homestead puede realizar automáticamente copias de seguridad de tu base de datos cuando se destruye tu máquina virtual Homestead. Para utilizar esta función, debes estar utilizando Vagrant 2.1.0 o superior. O, si estás utilizando una versión más antigua de Vagrant, debes instalar el complemento vagrant-triggers
. Para habilitar copias de seguridad automáticas de la base de datos, agrega la siguiente línea a tu archivo Homestead.yaml
:
backup: true
Una vez configurado, Homestead exportará tus bases de datos a los directorios .backup/mysql_backup
y .backup/postgres_backup
cuando se ejecute el comando vagrant destroy
. Estos directorios se pueden encontrar en la carpeta donde instalaste Homestead o en la raíz de tu proyecto si estás utilizando el método de instalación por proyecto.
Laravel proporciona una forma conveniente de programar trabajos cron programando un solo comando Artisan schedule:run
que se ejecuta cada minuto. El comando schedule:run
examinará la programación de trabajos definida en tu clase App\Console\Kernel
para determinar qué tareas programadas ejecutar.
Si deseas que se ejecute el comando schedule:run
para un sitio de Homestead, puedes establecer la opción schedule
en true
al definir el sitio:
sites: - map: homestead.test to: /home/vagrant/project1/public schedule: true
El trabajo cron para el sitio se definirá en el directorio /etc/cron.d
de la máquina virtual Homestead.
MailHog te permite interceptar tus correos electrónicos salientes y examinarlos sin enviar realmente el correo a sus destinatarios. Para comenzar, actualiza el archivo .env
de tu aplicación para usar la siguiente configuración de correo:
MAIL_MAILER=smtpMAIL_HOST=localhostMAIL_PORT=1025MAIL_USERNAME=nullMAIL_PASSWORD=nullMAIL_ENCRYPTION=null
Una vez que MailHog ha sido configurado, puedes acceder al panel de MailHog en http://localhost:8025
.
Minio es un servidor de almacenamiento de objetos de código abierto con una API compatible con Amazon S3. Para instalar Minio, actualiza tu archivo Homestead.yaml
con la siguiente opción de configuración en la sección features:
minio: true
De forma predeterminada, Minio está disponible en el puerto 9600. Puedes acceder al panel de control de Minio visitando http://localhost:9600
. La clave de acceso predeterminada es homestead
, mientras que la clave secreta predeterminada es secretkey
. Al acceder a Minio, siempre debes usar la región us-east-1
.
Para usar Minio, deberás ajustar la configuración del disco S3 en el archivo de configuración config/filesystems.php
de tu aplicación. Deberás agregar la opción use_path_style_endpoint
a la configuración del disco y cambiar la clave url
a endpoint
:
's3' => [ 'driver' => 's3', 'key' => env('AWS_ACCESS_KEY_ID'), 'secret' => env('AWS_SECRET_ACCESS_KEY'), 'region' => env('AWS_DEFAULT_REGION'), 'bucket' => env('AWS_BUCKET'), 'endpoint' => env('AWS_URL'), 'use_path_style_endpoint' => true,]
Finalmente, asegúrate de que tu archivo .env
tenga las siguientes opciones:
AWS_ACCESS_KEY_ID=homesteadAWS_SECRET_ACCESS_KEY=secretkeyAWS_DEFAULT_REGION=us-east-1AWS_URL=http://localhost:9600
Para aprovisionar buckets "S3" con Minio, agrega una directiva buckets
a tu archivo Homestead.yaml
. Después de definir tus buckets, debes ejecutar el comando vagrant reload --provision
en tu terminal:
buckets: - name: your-bucket policy: public - name: your-private-bucket policy: none
Los valores admitidos para policy
incluyen: none
, download
, upload
y public
.
Para ejecutar pruebas Laravel Dusk dentro de Homestead, debes habilitar la característica webdriver
en tu configuración de Homestead:
features: - webdriver: true
Después de habilitar la característica webdriver
, debes ejecutar el comando vagrant reload --provision
en tu terminal.
A veces, es posible que desees compartir lo que estás trabajando actualmente con compañeros de trabajo o un cliente. Vagrant tiene soporte incorporado para esto a través del comando vagrant share
; sin embargo, esto no funcionará si tienes varios sitios configurados en tu archivo Homestead.yaml
.
Para resolver este problema, Homestead incluye su propio comando share
. Para comenzar, conéctate por SSH a tu máquina virtual Homestead a través de vagrant ssh
y ejecuta el comando share homestead.test
. Este comando compartirá el sitio homestead.test
desde tu archivo de configuración Homestead.yaml
. Puedes sustituir cualquier otro sitio configurado por homestead.test
:
share homestead.test
Después de ejecutar el comando, verás una pantalla de Ngrok que contiene el registro de actividad y las URL públicas para el sitio compartido. Si deseas especificar una región personalizada, un subdominio u otras opciones de tiempo de ejecución de Ngrok, puedes agregarlas a tu comando share
:
share homestead.test -region=eu -subdomain=laravel
Si necesitas compartir contenido a través de HTTPS en lugar de HTTP, usar el comando sshare
en lugar de share
te permitirá hacerlo.
Advertencia Recuerda, Vagrant es inherentemente inseguro y estás exponiendo tu máquina virtual a Internet al ejecutar el comando
share
.
Homestead incluye soporte para la depuración paso a paso utilizando Xdebug. Por ejemplo, puedes acceder a una página en tu navegador y PHP se conectará a tu IDE para permitir la inspección y modificación del código en ejecución.
De forma predeterminada, Xdebug ya está en funcionamiento y listo para aceptar conexiones. Si necesitas habilitar Xdebug en la CLI, ejecuta el comando sudo phpenmod xdebug
dentro de tu máquina virtual Homestead. A continuación, sigue las instrucciones de tu IDE para habilitar la depuración. Finalmente, configura tu navegador para activar Xdebug con una extensión o bookmarklet.
Advertencia Xdebug hace que PHP se ejecute significativamente más lento. Para desactivar Xdebug, ejecuta
sudo phpdismod xdebug
dentro de tu máquina virtual Homestead y reinicia el servicio FPM.
Al depurar pruebas funcionales que realizan solicitudes al servidor web, es más fácil iniciar automáticamente la depuración en lugar de modificar las pruebas para que pasen por una cabecera o cookie personalizada para iniciar la depuración. Para forzar que Xdebug se inicie automáticamente, modifica el archivo /etc/php/7.x/fpm/conf.d/20-xdebug.ini
dentro de tu máquina virtual Homestead y agrega la siguiente configuración:
; If Homestead.yaml contains a different subnet for the IP address, this address may be different...xdebug.client_host = 192.168.10.1xdebug.mode = debugxdebug.start_with_request = yes
Para depurar una aplicación PHP CLI, utiliza el alias de shell xphp
dentro de tu máquina virtual Homestead:
xphp /path/to/script
Blackfire es un servicio para perfilar solicitudes web y aplicaciones CLI. Ofrece una interfaz de usuario interactiva que muestra datos de perfil en gráficos de llamadas y líneas de tiempo. Está diseñado para su uso en desarrollo, puesta en escena y producción, sin ningún costo adicional para los usuarios finales. Además, Blackfire proporciona verificaciones de rendimiento, calidad y seguridad en el código y la configuración de php.ini
.
El Blackfire Player es una aplicación de código abierto para rastrear la web, realizar pruebas y extraer información que puede funcionar conjuntamente con Blackfire para crear escenarios de perfil.
Para habilitar Blackfire, usa la configuración de "features" en tu archivo de configuración de Homestead:
features: - blackfire: server_id: "server_id" server_token: "server_value" client_id: "client_id" client_token: "client_value"
Las credenciales del servidor Blackfire y las credenciales del cliente requieren una cuenta de Blackfire. Blackfire ofrece diversas opciones para perfilar una aplicación, incluido una herramienta CLI y una extensión de navegador. Por favor, consulta la documentación de Blackfire para obtener más detalles.
La propiedad networks
del archivo Homestead.yaml
configura interfaces de red para tu máquina virtual Homestead. Puedes configurar tantas interfaces como sea necesario:
networks: - type: "private_network" ip: "192.168.10.20"
Para habilitar una interfaz bridged, configura una opción bridge
para la red y cambia el tipo de red a public_network
:
networks: - type: "public_network" ip: "192.168.10.20" bridge: "en1: Wi-Fi (AirPort)"
Para habilitar DHCP, simplemente elimina la opción ip
de tu configuración:
networks: - type: "public_network" bridge: "en1: Wi-Fi (AirPort)"
Para actualizar el dispositivo que la red está utilizando, puedes agregar una opción dev
a la configuración de la red. El valor dev
predeterminado es eth0
:
networks: - type: "public_network" ip: "192.168.10.20" bridge: "en1: Wi-Fi (AirPort)" dev: "enp2s0"
Puedes ampliar Homestead utilizando el script after.sh
en la raíz de tu directorio Homestead. En este archivo, puedes agregar comandos de shell que sean necesarios para configurar y personalizar correctamente tu máquina virtual.
Cuando personalizas Homestead, Ubuntu puede preguntarte si deseas conservar la configuración original de un paquete o sobrescribirla con un nuevo archivo de configuración. Para evitar esto, debes usar el siguiente comando al instalar paquetes para evitar sobrescribir cualquier configuración escrita previamente por Homestead:
sudo apt-get -y \ -o Dpkg::Options::="--force-confdef" \ -o Dpkg::Options::="--force-confold" \ install package-name
Cuando usas Homestead con tu equipo, es posible que desees ajustar Homestead para que se adapte mejor a tu estilo de desarrollo personal. Para lograr esto, puedes crear un archivo user-customizations.sh
en la raíz de tu directorio Homestead (el mismo directorio que contiene tu archivo Homestead.yaml
). En este archivo, puedes realizar cualquier personalización que desees; sin embargo, el archivo user-customizations.sh
no debe estar bajo control de versiones.
natdnshostresolver
De forma predeterminada, Homestead configura la opción natdnshostresolver
en on
. Esto permite que Homestead utilice la configuración DNS de tu sistema operativo host. Si deseas anular este comportamiento, agrega las siguientes opciones de configuración a tu archivo Homestead.yaml
:
provider: virtualboxnatdnshostresolver: 'off'