В этой статье мы настроим рабочее окружение для разработки веб-проектов на основе Windows Subsystem for Linux (WSL2). Данный подход намного более гибкий, чем установка готовых пакетов, например WAMP или Open Server. Он также проще и не так сильно нагружает систему, как Docker или создание отдельных виртуальных машин.
Привет. В этой статье мы настроим рабочее окружение для разработки веб-проектов на основе Windows Subsystem for Linux (WSL2). Данный подход намного более гибкий, чем установка готовых пакетов, например WAMP или Open Server. Он также проще и не так сильно нагружает систему, как Docker или создание отдельных виртуальных машин. Вообщем, одни плюсы. Давайте приступать.
Для корректной работы WSL2 необходимо, чтобы ваша система отвечала некоторым требованиям:
1. На устройстве должна быть установлена Windows 10 (сборки не ниже 19041) или Windows 11. Версию системы можно посмотреть по пути:
en: Start > Settings > System > About
ru: Пуск > Параметры > Система > О системе
2. Устройство должно поддерживать виртуализацию Hyper-V и функция должна быть включена. Для того, чтобы проверить, есть ли в системе Hyper-V и включена ли эта функция, найдите в Пуск следующий пункт:
en: Turn windows features on or off
ru: Включение или отключение компонентов Windows
3. Должны быть включены компоненты WSL. Активировать их нужно также в этой панели.
Если вы включали какие-либо компоненты, стоит перезагрузить компьютер. Если все требования выполнены мы можем приступать к установке.
Для установки и настройки компонентов мы будем использовать Windows PowerShell. Найдите программу в меню Пуск и запустите от имени Администратора.
Команда для установки следующая:
wsl --install - пока не выполняйте эту команду
Команда включит функционал для запуска WSL и установки дистрибутива Ubuntu. Дистрибутив по умолчанию можно изменить, в таком случае команда будет выглядеть так:
Чтобы узнать список возможных дистрибутивов, выполните команду
И уже после этого установите WSL для необходимой версии. Мы как правило устанавливаем Ubuntu 20.04 LTS
После завершения установки вам будет необходимо перезагрузить компьютер.
Для запуска и взаимодействия с образом на повседневной основе удобнее всего пользоваться программой Windows Terminal. Для запуска компонентов WSL2 и работы с образом после установки в выпадающем списке возможных программ выберите установленный вами образ:
Также в настройках программы можно выставить программу, которая будет запускаться по умолчанию при запуске Windows Terminal:
Далее нам необходимо установить все компоненты, необходимые нам для локальной разработки. Сделать это можно, руководствуясь нашей статьей Развертывание Laravel проекта на сервере Ubuntu 20.04. Здесь нужно сделать несколько важных замечаний:
1. WSL образ не запускает установленные пакеты после установки. Например, после установки mysql вам нужно запустить этот пакет командой sudo service mysql start. И так с любым другим пакетом.
2. WSL не запускает установленные пакеты при запуске системы.. После перезагрузки компьютера и старта WSL образа вам нужно запустить все необходимые для вас пакеты. Чтобы не писать каждый раз все эти команды, проще в корневой папке (папке ~), откуда стартует ваш образ, создать файл start.sh:
Далее сохраняем этот файл. Теперь после старта WSL для того, чтобы выполнить все команды из этого файла, нам нужно выполнить команду:
Все, мы готовы к работе.
Последнее, что нам осталось - прописать нужный нам домен (домены) в файле C:\Windows\System32\drivers\etc\hosts (не забывайте открывать от имени Администратора) следующим образом:
После этого домен ilavista.test будет вести на локальную машину, таким образом его можно будет обработать Nginx (или Apache) вашего WSL образа.
Немедленно завершает работу всех запущенных дистрибутивов и утилиты виртуальной машины WSL 2. Эта команда может потребоваться в случаях, когда требуется перезапустить среду виртуальной машины WSL 2, например, для изменения ограничений использования памяти или внесения изменений в ваш файл .wslconfig.
Завершить указанный дистрибутив или остановить его запуск.
Экспортирует дистрибутив в tar-файл.
Импортирует указанный tar-файл в качестве нового дистрибутива.
Список дистрибутивов Linux, установленных на вашем компьютере с Windows, включая состояние (запущен дистрибутив или остановлен) и версию WSL, на которой запущен дистрибутив (WSL 1 или WSL 2).
Общая информация о вашей конфигурации WSL, такую как тип дистрибутива по умолчанию, дистрибутив по умолчанию и версия ядра.
Вручную обновите версию вашего ядра WSL Linux. Вы также можете использовать команду: wsl --update rollback для отката к предыдущей версии ядра WSL Linux.
Читайте также
Вопросы на собеседовании - Laravel
Laravel - один из самых популярных PHP-фреймворков, который широко используется для разработки веб-приложений. Если вы готовитесь к собеседованию на должность Laravel-разработчика, то, вероятно, ищете полезную информацию и советы для подготовки. В этой статье мы представляем несколько вопросов, которые могут быть заданы на собеседовании, и рассматриваем ответы на них. Мы покроем такие темы, как архитектура фреймворка, маршрутизация, ORM, миграции, тестирование и безопасность. Надеемся, что эта статья поможет вам подготовиться к собеседованию и получить работу, о которой вы мечтаете.Установка Laravel Echo в Ubuntu 20.04 через Socket.io (без Pusher)
Уведомления о новых событиях, реализация чатов, обновление UI при изменении данных на сервере… С помощью Laravel Echo можно решать огромное количество задач. Но часто реализацию этих функций делают с помощью платных сервисов, таких как Pusher. Попробуем сделать это по-другому. В этой статье мы запустим Laravel Echo на локальной Windows машине (на WSL2) и на прод. сервере с Ubuntu 20.04. И все это без платного стороннего ПО.Как не утонуть в правках: гайд по эффективной коммуникации с разработчиками
Эта статья - практический гайд по тому, как наладить эффективную коммуникацию между заказчиком и разработчиком. Вы узнаете, как избежать хаоса в правках, формулировать задачи понятно и проверяемо, минимизировать технический долг и сохранить фокус команды. Подходит для менеджеров, дизайнеров, контентщиков и всех, кто работает с IT-командами.