Документация Laravel 10.x
Здесь ты найдешь сниппеты по Laravel и полезные советы по веб-разработке.
Laravel стремится сделать всю разработку на PHP приятной, включая ваше локальное окружение разработки. Laravel Homestead - это официальная, предварительно упакованная виртуальная машина Vagrant, которая предоставляет прекрасное окружение разработки без необходимости устанавливать PHP, веб-сервер и другое серверное программное обеспечение на вашем локальном компьютере.
Vagrant предоставляет простой и элегантный способ управления и настройки виртуальных машин. Vagrant-коробки полностью поддерживают отказ. Если что-то идет не так, вы можете уничтожить и создать коробку заново за несколько минут!
Homestead работает на любой системе Windows, macOS или Linux и включает в себя Nginx, PHP, MySQL, PostgreSQL, Redis, Memcached, Node и весь другой необходимый вам софт для разработки удивительных приложений Laravel.
Внимание Если вы используете Windows, вам может потребоваться включить аппаратную виртуализацию (VT-x). Обычно ее можно включить через BIOS. Если вы используете Hyper-V на системе UEFI, вам также может потребоваться отключить Hyper-V, чтобы получить доступ к VT-x.
Перед запуском вашей среды Homestead вы должны установить Vagrant, а также один из поддерживаемых провайдеров:
Все эти программные пакеты предоставляют удобные визуальные установщики для всех популярных операционных систем.
Для использования провайдера Parallels вам нужно установить плагин Vagrant для Parallels. Это бесплатно.
Вы можете установить Homestead, клонировав репозиторий Homestead на свой хост-компьютер. Рассмотрим, что клонирование репозитория в папку Homestead
в вашем домашнем каталоге, так как виртуальная машина Homestead будет служить хостом для всех ваших приложений Laravel. В этой документации мы будем называть этот каталог "каталогом Homestead":
git clone https://github.com/laravel/homestead.git ~/Homestead
После клонирования репозитория Laravel Homestead вы должны переключиться на ветку release
. В этой ветке всегда содержится последний стабильный релиз Homestead:
cd ~/Homestead git checkout release
Затем выполните команду bash init.sh
из каталога Homestead, чтобы создать файл конфигурации Homestead.yaml
. Файл Homestead.yaml
- это место, где вы будете настраивать все параметры установки Homestead. Этот файл будет помещен в каталог Homestead:
# macOS / Linux...bash init.sh # Windows...init.bat
Ключ provider
в вашем файле Homestead.yaml
указывает, какой провайдер Vagrant следует использовать: virtualbox
или parallels
:
provider: virtualbox
Внимание Если вы используете Apple Silicon, требуется использование провайдера Parallels.
Свойство folders
файла Homestead.yaml
перечисляет все папки, которыми вы хотите поделиться с вашей средой Homestead. По мере изменения файлов в этих папках, они будут синхронизироваться между вашим локальным компьютером и виртуальной средой Homestead. Вы можете настроить столько общих папок, сколько необходимо:
folders: - map: ~/code/project1 to: /home/vagrant/project1
Внимание Пользователи Windows не должны использовать синтаксис пути
~/
и вместо этого должны использовать полный путь к своему проекту, напримерC:\Users\user\Code\project1
.
Всегда следует отображать отдельные приложения в их собственных отображениях папок, а не отображать единую большую директорию, содержащую все ваши приложения. Когда вы отображаете папку, виртуальная машина должна отслеживать все дисковые операции для каждого файла в папке. Возможно снижение производительности при большом количестве файлов в папке:
folders: - map: ~/code/project1 to: /home/vagrant/project1 - map: ~/code/project2 to: /home/vagrant/project2
Внимание Никогда не монтируйте
.
(текущий каталог), когда используете Homestead. Это приведет к тому, что Vagrant не сопоставит текущую папку с/vagrant
и нарушит дополнительные функции, вызывая неожиданные результаты во время провиженинга.
Чтобы включить NFS, вы можете добавить опцию type
в отображение вашей папки:
folders: - map: ~/code/project1 to: /home/vagrant/project1 type: "nfs"
Внимание При использовании NFS в Windows рассмотрите возможность установки плагина vagrant-winnfsd. Этот плагин будет поддерживать правильные разрешения пользователя/группы для файлов и каталогов внутри виртуальной машины Homestead.
Вы также можете передавать любые поддерживаемые опции Synced Folders Vagrant, перечислив их под ключом options
:
folders: - map: ~/code/project1 to: /home/vagrant/project1 type: "rsync" options: rsync__args: ["--verbose", "--archive", "--delete", "-zz"] rsync__exclude: ["node_modules"]
Если вы не знакомы с Nginx, это не проблема. Свойство sites
файла Homestead.yaml
позволяет легко отображать "домен" на папку в вашей среде Homestead. Образец конфигурации сайта включен в файл Homestead.yaml
. Опять же, вы можете добавлять столько сайтов в вашу среду Homestead, сколько необходимо. Homestead может служить удобной, виртуализированной средой для каждого приложения Laravel, над которым вы работаете:
sites: - map: homestead.test to: /home/vagrant/project1/public
Если вы измените свойство sites
после развертывания виртуальной машины Homestead, выполните команду vagrant reload --provision
в вашем терминале, чтобы обновить конфигурацию Nginx на виртуальной машине.
Внимание Скрипты Homestead построены так, чтобы быть максимально идемпотентными. Тем не менее, если у вас возникают проблемы во время провиженинга, вы должны уничтожить и пересоздать машину, выполнив команду
vagrant destroy && vagrant up
.
Homestead публикует имена хостов с использованием mDNS
для автоматического разрешения имен хостов. Если вы установите hostname: homestead
в вашем файле Homestead.yaml
, хост будет доступен по адресу homestead.local
. macOS, iOS и распространенные дистрибутивы Linux включают поддержку mDNS
по умолчанию. Если вы используете Windows, вы должны установить Bonjour Print Services for Windows.
Автоматические имена хостов лучше всего работают для установок для каждого проекта Homestead. Если у вас несколько сайтов на одном экземпляре Homestead, вы можете добавить «домены» для ваших веб-сайтов в файл hosts
на вашем компьютере. Файл hosts
будет перенаправлять запросы к вашим сайтам Homestead в вашу виртуальную машину Homestead. В macOS и Linux этот файл находится по пути /etc/hosts
. В Windows он находится по адресу C:\Windows\System32\drivers\etc\hosts
. Добавленные вами строки в этот файл будут выглядеть так:
192.168.56.56 homestead.test
Убедитесь, что указанный IP-адрес соответствует тому, что указан в вашем файле Homestead.yaml
. После добавления домена в файл hosts
и запуска виртуальной машины Vagrant вы сможете получить доступ к сайту через веб-браузер:
http://homestead.test
Homestead запускает по умолчанию несколько служб; однако вы можете настроить, какие службы включены или выключены во время предоставления. Например, вы можете включить PostgreSQL и отключить MySQL, изменив опцию services
в вашем файле Homestead.yaml
:
services: - enabled: - "postgresql" - disabled: - "mysql"
Указанные службы будут запущены или остановлены в зависимости от их порядка в директивах enabled
и disabled
.
После того как вы отредактировали Homestead.yaml
по своему вкусу, выполните команду vagrant up
из каталога Homestead. Vagrant загрузит виртуальную машину и автоматически настроит ваши общие папки и сайты Nginx.
Для уничтожения машины вы можете использовать команду vagrant destroy
.
Вместо установки Homestead глобально и использования одной и той же виртуальной машины Homestead для всех ваших проектов, вы можете настроить отдельный экземпляр Homestead для каждого управляемого вами проекта. Установка Homestead для каждого проекта может быть полезной, если вы хотите включить Vagrantfile
в свой проект, чтобы другие разработчики, работающие над проектом, могли сразу выполнить vagrant up
после клонирования репозитория проекта.
Вы можете установить Homestead в свой проект, используя менеджер пакетов Composer:
composer require laravel/homestead --dev
После установки Homestead вызовите команду make
Homestead, чтобы создать файлы Vagrantfile
и Homestead.yaml
для вашего проекта. Эти файлы будут размещены в корне вашего проекта. Команда make
автоматически настроит директивы sites
и folders
в файле Homestead.yaml
:
# macOS / Linux...php vendor/bin/homestead make # Windows...vendor\\bin\\homestead make
Затем выполните команду vagrant up
в вашем терминале и получите доступ к своему проекту по адресу http://homestead.test
в вашем браузере. Помните, что вам все равно нужно добавить запись в файл /etc/hosts
для homestead.test
или выбранного вами домена, если вы не используете автоматическое разрешение имен хостов.
Дополнительное программное обеспечение устанавливается с использованием опции features
в вашем файле Homestead.yaml
. Большинство функций можно включить или отключить с использованием булевого значения, в то время как некоторые функции позволяют использовать несколько вариантов конфигурации:
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
Вы можете указать поддерживаемую версию Elasticsearch, которая должна быть точным номером версии (major.minor.patch). По умолчанию создается кластер с именем 'homestead'. Никогда не давайте Elasticsearch более половины оперативной памяти операционной системы, поэтому убедитесь, что у вашей виртуальной машины Homestead есть как минимум в два раза больше выделенной памяти Elasticsearch.
Примечание Ознакомьтесь с документацией Elasticsearch, чтобы узнать, как настроить вашу конфигурацию.
Включение MariaDB удалит MySQL и установит MariaDB. MariaDB обычно служит в качестве замены MySQL, поэтому вы должны все равно использовать драйвер базы данных mysql
в конфигурации базы данных вашего приложения.
При установке MongoDB по умолчанию устанавливаются имя пользователя базы данных homestead
и соответствующий пароль secret
.
При установке Neo4j по умолчанию устанавливается имя пользователя базы данных homestead
и соответствующий пароль secret
. Чтобы получить доступ к браузеру Neo4j, посетите http://homestead.test:7474
через веб-браузер. Порты 7687
(Bolt), 7474
(HTTP) и 7473
(HTTPS) готовы обслуживать запросы от клиента Neo4j.
Вы можете добавить псевдонимы Bash в вашу виртуальную машину Homestead, изменив файл aliases
в вашем каталоге Homestead:
alias c='clear'alias ..='cd ..'
После обновления файла aliases
вы должны повторно настроить виртуальную машину Homestead, используя команду vagrant reload --provision
. Это обеспечит наличие ваших новых псевдонимов на машине.
Прежде чем вы начнете обновление Homestead, убедитесь, что вы удалили свою текущую виртуальную машину, выполнив следующую команду в каталоге Homestead:
vagrant destroy
Затем вам нужно обновить исходный код Homestead. Если вы клонировали репозиторий, вы можете выполнить следующие команды в том месте, где вы изначально склонировали репозиторий:
git fetch git pull origin release
Эти команды извлекут последний код Homestead из репозитория GitHub, получат последние теги, а затем проверят последний помеченный релиз. Последнюю стабильную версию релиза вы можете найти на странице релизов GitHub Homestead.
Если вы установили Homestead через файл composer.json
вашего проекта, убедитесь, что ваш файл composer.json
содержит \"laravel/homestead\": \"^12\"
и обновите зависимости:
composer update
Затем вы должны обновить виртуальную машину Vagrant с помощью команды vagrant box update
:
vagrant box update
После обновления виртуальной машины Vagrant выполните команду bash init.sh
из каталога Homestead, чтобы обновить дополнительные файлы конфигурации Homestead. Вас спросят, хотите ли вы перезаписать существующие файлы Homestead.yaml
, after.sh
и aliases
:
# macOS / Linux...bash init.sh # Windows...init.bat
Наконец, вам нужно будет пересоздать вашу виртуальную машину Homestead, чтобы использовать последнюю установку Vagrant:
vagrant up
Вы можете подключиться по SSH к вашей виртуальной машине, выполнив терминальную команду vagrant ssh
из каталога Homestead.
Когда ваше окружение Homestead создано и работает, вам, возможно, захочется добавить дополнительные сайты Nginx для других ваших проектов Laravel. Вы можете запускать столько проектов Laravel, сколько хотите, на одной виртуальной машине Homestead. Чтобы добавить дополнительный сайт, добавьте его в файл Homestead.yaml
.
sites: - map: homestead.test to: /home/vagrant/project1/public - map: another.test to: /home/vagrant/project2/public
Внимание Вы должны убедиться, что вы настроили сопоставление папок для директории проекта перед добавлением сайта.
Если Vagrant не автоматически управляет вашим файлом "hosts", вам может потребоваться добавить новый сайт и в этот файл. В macOS и Linux этот файл находится в /etc/hosts
. В Windows он находится в C:\Windows\System32\drivers\etc\hosts
:
192.168.56.56 homestead.test192.168.56.56 another.test
После добавления сайта выполните терминальную команду vagrant reload --provision
из вашего каталога Homestead.
Homestead поддерживает несколько "типов" сайтов, что позволяет вам легко запускать проекты, не основанные на Laravel. Например, мы легко можем добавить приложение Statamic в Homestead, используя тип сайта statamic
:
sites: - map: statamic.test to: /home/vagrant/my-symfony-project/web type: "statamic"
Доступные типы сайтов: apache
, apache-proxy
, apigility
, expressive
, laravel
(по умолчанию), proxy
(для nginx), silverstripe
, statamic
, symfony2
, symfony4
и zf
.
Вы можете добавить дополнительные значения Nginx fastcgi_param
для вашего сайта с помощью директивы сайта params
:
sites: - map: homestead.test to: /home/vagrant/project1/public params: - key: FOO value: BAR
Вы можете определить глобальные переменные среды, добавив их в файл Homestead.yaml
:
variables: - key: APP_ENV value: local - key: FOO value: bar
После обновления файла Homestead.yaml
не забудьте повторно настроить машину, выполнив команду vagrant reload --provision
. Это обновит конфигурацию PHP-FPM для всех установленных версий PHP и также обновит среду для пользователя vagrant
.
По умолчанию следующие порты перенаправлены в ваше окружение Homestead:
По желанию вы можете перенаправить дополнительные порты в виртуальную машину Vagrant, определив запись конфигурации ports
в вашем файле Homestead.yaml
. После обновления файла Homestead.yaml
не забудьте повторно настроить машину, выполнив команду vagrant reload --provision
:
ports: - send: 50000 to: 5000 - send: 7777 to: 777 protocol: udp
Ниже приведен список дополнительных портов служб Homestead, которые вы можете захотеть отобразить с вашего хост-компьютера на виртуальную машину Vagrant:
Homestead поддерживает запуск нескольких версий PHP на одной виртуальной машине. Вы можете указать, какую версию PHP использовать для данного сайта в файле Homestead.yaml
. Доступные версии PHP: "5.6", "7.0", "7.1", "7.2", "7.3", "7.4", "8.0", "8.1" и "8.2" (по умолчанию):
sites: - map: homestead.test to: /home/vagrant/project1/public php: "7.1"
Внутри вашей виртуальной машины Homestead вы можете использовать любую из поддерживаемых версий PHP через 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
Вы можете изменить версию PHP по умолчанию, используемую в CLI, выполнив следующие команды в вашей виртуальной машине Homestead:
php56php70php71php72php73php74php80php81php82
База данных homestead
настроена как для MySQL, так и для PostgreSQL сразу после установки. Чтобы подключиться к вашей базе данных MySQL или PostgreSQL из клиента базы данных вашего хост-компьютера, подключитесь к 127.0.0.1
на порту 33060
(MySQL) или 54320
(PostgreSQL). Имя пользователя и пароль для обеих баз данных: homestead
/ secret
.
Внимание Вы должны использовать эти нестандартные порты только при подключении к базам данных с вашего хост-компьютера. Вы будете использовать порты 3306 и 5432 по умолчанию в файле конфигурации базы данных вашего Laravel-приложения, поскольку Laravel работает внутри виртуальной машины.
Homestead может автоматически создавать резервные копии вашей базы данных при уничтожении вашей виртуальной машины Homestead. Для использования этой функции вы должны использовать Vagrant версии 2.1.0 или выше. Или, если вы используете более старую версию Vagrant, вы должны установить плагин vagrant-triggers
. Чтобы включить автоматическое создание резервных копий базы данных, добавьте следующую строку в ваш файл Homestead.yaml
:
backup: true
После настройки Homestead будет экспортировать ваши базы данных в каталоги .backup/mysql_backup
и .backup/postgres_backup
при выполнении команды vagrant destroy
. Эти каталоги можно найти в папке, где вы установили Homestead, или в корне вашего проекта, если вы используете установку для каждого проекта.
Laravel предоставляет удобный способ планирования задач cron, планируя выполнение одной команды Artisan schedule:run
каждую минуту. Команда schedule:run
будет анализировать расписание задач, определенное в вашем классе App\Console\Kernel
, чтобы определить, какие запланированные задачи запускать.
Если вы хотите, чтобы команда schedule:run
выполнялась для сайта Homestead, вы можете установить опцию schedule
в true
при определении сайта:
sites: - map: homestead.test to: /home/vagrant/project1/public schedule: true
Задание cron для сайта будет определено в каталоге /etc/cron.d
виртуальной машины Homestead.
MailHog позволяет вам перехватывать исходящую почту и изучать ее, не отправляя фактически почту ее получателям. Чтобы начать, обновите файл .env
вашего приложения, чтобы использовать следующие настройки почты:
MAIL_MAILER=smtpMAIL_HOST=localhostMAIL_PORT=1025MAIL_USERNAME=nullMAIL_PASSWORD=nullMAIL_ENCRYPTION=null
После настройки MailHog вы можете получить доступ к панели управления MailHog по адресу http://localhost:8025
.
Minio - это сервер хранилища объектов с открытым исходным кодом с совместимым с Amazon S3 API. Для установки Minio обновите ваш файл Homestead.yaml
, добавив следующую опцию конфигурации в раздел features:
minio: true
По умолчанию Minio доступен на порту 9600. Вы можете получить доступ к панели управления Minio, посетив http://localhost:9600
. Ключ доступа по умолчанию - homestead
, а секретный ключ - secretkey
. При доступе к Minio всегда используйте регион us-east-1
.
Для использования Minio вам нужно будет настроить конфигурацию диска S3 в файле конфигурации config/filesystems.php
вашего приложения. Вам нужно добавить опцию use_path_style_endpoint
к конфигурации диска, а также изменить ключ url
на 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,]
Наконец, убедитесь, что в вашем файле .env
присутствуют следующие параметры:
AWS_ACCESS_KEY_ID=homesteadAWS_SECRET_ACCESS_KEY=secretkeyAWS_DEFAULT_REGION=us-east-1AWS_URL=http://localhost:9600
Для предоставления бакетов, работающих на Minio, добавьте директиву buckets
в ваш файл Homestead.yaml
. После определения ваших бакетов выполните команду vagrant reload --provision
в вашем терминале:
buckets: - name: your-bucket policy: public - name: your-private-bucket policy: none
Поддерживаемые значения policy
: none
, download
, upload
и public
.
Чтобы запустить тесты Laravel Dusk в Homestead, вам следует включить webdriver
feature в вашей конфигурации Homestead:
features: - webdriver: true
После включения функции webdriver
выполните команду vagrant reload --provision
в вашем терминале.
Иногда вам может потребоваться поделиться тем, над чем вы в данный момент работаете, с коллегами или клиентом. Vagrant имеет встроенную поддержку этого через команду vagrant share
; однако это не будет работать, если у вас настроено несколько сайтов в вашем файле Homestead.yaml
.
Для решения этой проблемы Homestead включает свою собственную команду share
. Чтобы начать, подключитесь к вашей виртуальной машине Homestead по SSH через vagrant ssh
и выполните команду share homestead.test
. Эта команда поделится сайтом homestead.test
из вашего файла конфигурации Homestead.yaml
. Вы можете заменить homestead.test
на любой другой настроенный сайт:
share homestead.test
После выполнения команды появится экран Ngrok, который содержит журнал активности и общедоступные URL-адреса для общего сайта. Если вы хотите указать пользовательский регион, поддомен или другую опцию выполнения Ngrok, вы можете добавить их в вашу команду share
:
share homestead.test -region=eu -subdomain=laravel
Если вам нужно обмениваться контентом через HTTPS вместо HTTP, используйте команду sshare
вместо share
.
Внимание Помните, что Vagrant по своей природе небезопасен, и вы выставляете свою виртуальную машину в Интернет при выполнении команды
share
.
Homestead включает поддержку шагового отладчика с использованием Xdebug. Например, вы можете получить доступ к странице в вашем браузере, и PHP подключится к вашей среде разработки, чтобы позволить вам осматривать и изменять выполняющийся код.
По умолчанию Xdebug уже запущен и готов принимать соединения. Если вам нужно включить Xdebug в CLI, выполните команду sudo phpenmod xdebug
в вашей виртуальной машине Homestead. Затем следуйте инструкциям вашей среды разработки, чтобы включить отладку. Наконец, настройте ваш браузер на запуск Xdebug с помощью расширения или букмарклета.
Внимание Xdebug существенно замедляет выполнение PHP. Чтобы отключить Xdebug, выполните команду
sudo phpdismod xdebug
внутри вашей виртуальной машины Homestead и перезапустите службу FPM.
При отладке функциональных тестов, делающих запросы к веб-серверу, легче автоматически запускать отладку, чем изменять тесты, чтобы передать через пользовательский заголовок или cookie, чтобы запустить отладку. Чтобы принудить Xdebug автоматически запускаться, измените файл /etc/php/7.x/fpm/conf.d/20-xdebug.ini
внутри вашей виртуальной машины Homestead и добавьте следующую конфигурацию:
; 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
Чтобы отлаживать PHP CLI-приложение, используйте алиас оболочки xphp
внутри вашей виртуальной машины Homestead:
xphp /path/to/script
Blackfire - это сервис для профилирования веб-запросов и приложений CLI. Он предлагает интерактивный пользовательский интерфейс, который отображает данные профиля в виде графиков вызовов и временных линий. Он предназначен для использования в разработке, стадии тестирования и в производстве, без дополнительной нагрузки для конечных пользователей. Кроме того, Blackfire предоставляет проверки производительности, качества и безопасности кода и настроек php.ini
.
Blackfire Player - это приложение с открытым исходным кодом для веб-краулинга, тестирования и парсинга, которое может работать совместно с Blackfire для создания сценариев профилирования.
Для включения Blackfire используйте настройку "features" в вашем файле конфигурации Homestead:
features: - blackfire: server_id: "server_id" server_token: "server_value" client_id: "client_id" client_token: "client_value"
Учетные данные сервера Blackfire и учетные данные клиента требуют наличие учетной записи Blackfire. Blackfire предлагает различные варианты профилирования приложения, включая инструмент командной строки и расширение для браузера. Пожалуйста, ознакомьтесь с документацией Blackfire для получения дополнительной информации.
Свойство networks
файла Homestead.yaml
настраивает сетевые интерфейсы для вашей виртуальной машины Homestead. Вы можете настроить столько интерфейсов, сколько необходимо:
networks: - type: "private_network" ip: "192.168.10.20"
Для включения моста настройте параметр bridge
для сети и измените тип сети на public_network
:
networks: - type: "public_network" ip: "192.168.10.20" bridge: "en1: Wi-Fi (AirPort)"
Для включения DHCP, просто удалите опцию ip
из вашей конфигурации:
networks: - type: "public_network" bridge: "en1: Wi-Fi (AirPort)"
Чтобы обновить устройство, используемое сетью, вы можете добавить параметр dev
в конфигурацию сети. Значение dev
по умолчанию - eth0
:
networks: - type: "public_network" ip: "192.168.10.20" bridge: "en1: Wi-Fi (AirPort)" dev: "enp2s0"
Вы можете расширить функциональность Homestead с использованием скрипта after.sh
в корне вашего каталога Homestead. В этом файле вы можете добавить любые команды оболочки, необходимые для правильной настройки и настройки вашей виртуальной машины.
При настройке Homestead Ubuntu может спросить вас, хотите ли вы сохранить исходную конфигурацию пакета или перезаписать ее новым файлом конфигурации. Чтобы избежать этого, вы должны использовать следующую команду при установке пакетов, чтобы избежать перезаписи любой ранее записанной конфигурации Homestead:
sudo apt-get -y \ -o Dpkg::Options::="--force-confdef" \ -o Dpkg::Options::="--force-confold" \ install package-name
При использовании Homestead с вашей командой вы можете настроить Homestead для лучшего соответствия вашему личному стилю разработки. Для этого вы можете создать файл user-customizations.sh
в корне вашего каталога Homestead (в том же каталоге, что и ваш файл Homestead.yaml
). Внутри этого файла вы можете внести любые настройки, которые вам нравятся, однако user-customizations.sh
не должен контролироваться версиями.
natdnshostresolver
По умолчанию Homestead настраивает параметр natdnshostresolver
на on
. Это позволяет Homestead использовать настройки DNS вашей хост-операционной системы. Если вы хотите изменить это поведение, добавьте следующие параметры конфигурации в ваш файл Homestead.yaml
:
provider: virtualboxnatdnshostresolver: 'off'