- Установка локального веб-сервера на подсистему Windows для Linux
- Что такое подсистема Windows для Linux
- Основные этапы настройки веб-сервера на WSL
- Включение подсистемы Windows для Linux
- Какую версию WSL выбрать
- Работа с версиями WSL
- Доступ к файловым системам ОС
- Установка приложения «Ubuntu»
- Установка программного обеспечения в ОС Ubuntu
- Создание директории для веб-проекта
- Изменение метода аутентификации MySQL пользователя root
- Создание базы данных
- Настройка виртуальных хостов в Apache
- Перенаправление test.ru на локальный веб-сервер
- Команды для запуска и остановки веб-сервера
- Проверка работоспособности веб-сервера
- Инструкция по установке phpMyAdmin
- Дополнительные инструкции
- Windows 10, Установка локального веб-сервера (Apache, MySQL, PHP) в Wsl 1 и Wsl 2.
- Включение подсистемы Windows для Linux.
- Создание директории для веб-проекта.
- Установка необходимых программ в Ubuntu для Windows 10.
- Установка Apache.
- Установка MySQL сервера.
- Включим модуль Mod rewrite в Apache:
- Изменение метода аутентификации MySQL пользователя root.
- Создание базы данных.
- Установка phpMyAdmin.
- Настройка виртуальных хостов в Apache.
- Перенаправление test.local на локальный веб-сервер.
- Команды для запуска и остановки веб-сервера.
- Проверка работоспособности веб-сервера.
- Заключение
Установка локального веб-сервера на подсистему Windows для Linux
В этой статье рассмотрим процесс установки локального веб-сервера (Apache, MySQL и PHP) на подсистему Windows для Linux (Windows Subsystem Linux).
Что такое подсистема Windows для Linux
Microsoft Windows 10 имеет новую дополнительную функцию, которая называется «Подсистема Windows для Linux (WSL)». Она была добавлена в систему, начиная с обновления «Anniversary Update» и доступна только в 64-битных редакциях этой операционной системы .
WSL представляет собой подсистему для ОС Windows 10, через которую можно запускать Linux приложения. В этой статье рассмотрим, как на данной подсистеме можно настроить веб-сервер (Apache, MySQL, PHP) для локальной разработки веб-проектов.
Windows 10, начиная с версии 2004 уже включает WSL 2.
Основные этапы настройки веб-сервера на WSL
Процесс установки веб-сервера на WSL можно разбить на следующие шаги:
- включение через панель управления дополнительной функции Windows 10 «Подсистема Windows для Linux»;
- установку «Ubuntu» или любого другого дистрибутива Linux из магазина приложений Microsoft Store;
- установка программного обеспечения в ОС Linux и его настройка;
- редактирование файла hosts в Windows 10;
- создания bash скриптов для запуска и остановки веб-сервера;
- проверки работоспособности веб-сервера, посредством установки на сайт, какой-нибудь CMS, например MODX Revolution.
Включение подсистемы Windows для Linux
Для включения компоненты «Подсистема Windows для Linux» в Windows 10 необходимо выполнить следующие действия:
- открыть «Панель управления» (Пуск -> Служебные -> Windows -> Панель управления);
- открыть окно «Компоненты Windows» (пункт «Программы» в «Панели управления» -> Включение и отключение компонентов Windows);
- установить галочку напротив опции «Подсистема Windows для Linux» и нажать «ОК»;
- перезагрузить операционную систему.
Для использования WSL 2 вам необходимо дополнительно ещё включить в окне «Компоненты Windows» необязательный компонент «Платформа виртуальной машины».
Какую версию WSL выбрать
Чтобы определиться какая версия WSL вам нужна, нужно рассмотреть их различия.
WSL 2 в отличие от WSL 1 имеет полнофункциональное ядро Linux с полной совместимостью системных вызовов. Это позволяет использовать внутри WSL 2 целый ряд приложений (Docker и другие). Если вам нужна поддержка этих приложений, то тогда однозначно стоит остановится на 2 версии этой подсистемы. К сведению, ядро Linux для WSL 2 собранно компанией Microsoft и будет автоматически обновляться через центр обновления Windows.
WSL 1 рекомендуется использовать для проектов, файлы которого будут находиться в файловой системе Windows. В этом случае вы получите более высокую производительность, чем на WSL 2.
На мой взгляд, использовать вторую версию WSL пока не имеет особого смысла, только если вы не используете Docker или другое приложение, которому нужна полная совместимость системных вызовов Linux. Т.к. при использовании WSL 2 вам необходимо будет располагать проект в файловой системе Linux, иначе производительность файловых систем ОС при работе с этим проектом будет достаточно низкой. Но в любом случае вы можете переключить WSL для дистрибутива Linux как на первую версию, так и на вторую, и посмотреть какой вариант этой подсистемы для работы вам более подходит.
Работа с версиями WSL
Установку версии WSL, которую вы хотите использовать по умолчанию, осуществляется посредством выполнения в PowerShell следующей команды (например, WSL 2):
Эта команда установит по умолчанию в качестве версии WSL 2. Если нужно WSL 1, то в вместо 2, нужно указать соответственно 1.
Проверить WSL версию, назначенному каждому из установленных дистрибутивов Linux можно в PowerShell через следующую команду:
Для того чтобы изменить назначенную WSL версию дистрибутиву Linux на другую:
Например, для того чтобы перевести Ubuntu-18.04 на WSL 2 необходимо выполнить команду:
Доступ к файловым системам ОС
Получить в Windows доступ к файлам WSL можно, например, через проводник, введя в его адресной строке путь \\wsl$ или просто выполнив в Bash команду explorer.exe . .
В WSL получение доступа к файловой системе Windows выполняется через /mnt . Например, для того чтобы в Bash перейти на диск C:\ необходимо ввести cd /mnt/c , а на D:\ — cd /mnt/d .
Установка приложения «Ubuntu»
Установку приложения «Ubuntu» на компьютер осуществим через магазин приложений Microsoft Store. Для этого необходимо открыть данный магазин приложений, найти приложение «Ubuntu» и установить его.
Установка программного обеспечения в ОС Ubuntu
Запустим операционную систему «Ubuntu».
Введём новое UNIX имя пользователя (username) и пароль (password).
Обновим локальный индекс apt пакетов в операционной системе Ubuntu:
Обновим установленное программное обеспечение:
Установим MySQL сервер:
Установим php и другие пакеты, необходимые для веб-разработки:
Для установки какой-то определённой версии php, например 7.1.x, необходимо выполнить следующие команды:
Включим модуль Mod rewrite в Apache:
Создание директории для веб-проекта
Создадим в Windows 10, например, с помощью проводника, директорию для сайта (проекта) test.ru:
При использовании WSL 2 рекомендуется сохранять файлы в файловой системе Linux. Это необходимо для обеспечения максимальной производительности.
В этом случае директорию для проекта поместим сюда:
Для более удобного создания каталогов и работы с файловой системой Linux вы можете установить в Ubuntu, например, Midnight Commander:
Запуск Midnight Commander осуществляется посредством ввода команды:
Изменение метода аутентификации MySQL пользователя root
Для изменения метода аутентификации MySQL пользователя root выполним следующие действия:
1. Запустим службу mysql.
2. Подключимся к серверу MySQL под стандартным пользователем root, который создаётся при установке MySQL на компьютер:
3. Нажмём на Еnter , т.к. по умолчанию пользователь root, созданный при установке, не имеет пароля.
4. Проверим метод аутентификации, который используется для пользователя root.
Если пользователь использует аутентификацию с помощью плагина auth_socket, то изменим эту настройку на использование пустого пароля. Для этого введём команду:
Выполним команду FLUSH PRIVILEGES, которая применит внесённые изменения:
Создание базы данных
Создадим базу данных для веб-проекта test.ru. Для этого введем в командной строке MySQL введём следующую команду:
Если в базу данных testru необходимо загрузить дамп некоторой базы, находящийся, например, в файле backup.sql, то можно воспользоваться следующими инструкциями:
Для завершения работы с командной строкой MySQL выйдем из неё:
Настройка виртуальных хостов в Apache
В Ubuntu файлы настроек виртуальных хостов Apache располагаются в /etc/apache2/sites-available/*.conf. По умолчанию в Apache уже настроен один виртуальный хост. Его настройки лежат в файле 000-default.conf. Данный файл будем использовать в качестве примера.
Создадим копию файла 000-default.conf:
Отредактируем файл test.ru.conf, для этого можно воспользоваться, например, редактором nano:
Итоговое содержимое файла test.ru.conf:
Включим новый виртуальный хост с помощью утилиты a2ensite:
Перенаправление test.ru на локальный веб-сервер
Для того чтобы доменное имя test.ru было связано с локальным веб-сервером необходимо открыть файл hosts, расположенный по адресу C:\Windows\System32\drivers\etc и добавить в него строчку:
Команды для запуска и остановки веб-сервера
Для запуска Apache и MySQL необходимо ввести следующие команды:
Для остановки веб-сервера:
Для упрощения запуска и остановки веб-сервера можно создать bash скрипты start.sh и stop.sh.
Содержимое файла start.sh:
Содержимое файла stop.sh:
Вместо password необходимо ввести пароль, который установили для UNIX пользователя.
Запуск веб-сервера (./start.sh):
Проверка работоспособности веб-сервера
Длы проверки работоспособности веб-сервера установим на test.ru систему управления контентом, например, MODX Revolution.
Для этого скачаем со страницы Download MODX Revolution архив системы и распакуем его в директорию d:\Projects\test.ru\public_html\.
Для установки системы необходимо открыть мастер. Осуществляется это посредством ввода в строку поиска браузера адреса http://test.ru/setup. После этого ответим на все вопросы мастера и нажмём на кнопку «Установить».
Дождёмся окончания процесса установки и получим отчет об установке CMS MODX Revolution.
Инструкция по установке phpMyAdmin
Пошаговые действия по установке phpMyAdmin в Ubuntu:
1. Установим пароль для MySQL пользователя root , если его нет (т.к. по умолчанию phpMyAdmin не разрешает войти, если у пользователя БД нет пароля).
2. Установим phpMyAdmin:
При установке мастер будет предлагать вам ответить на следующие вопросы:
- на приглашение «настроить базу данных для phpmyadmin с помощью dbconfig-common» выберите Yes (Да);
- в окне на сообщение «пожалуйста, выберите веб сервер, который следует автоматически настроить для запуска phpMyAdmin» выберите Apache (для этого нажмите на Пробел , Tab и Enter );
- при запросе пароля для самого приложения phpMyAdmin введите, например, root .
Но установленная этим образом версия phpMyAdmin является устаревшей и содержит некоторые ошибки.
Для её обновления выполним ещё следующие действия:
- cd /usr/share — переход в «usr/share»;
- sudo rm -rf phpmyadmin — удаление в «usr/share» директории «phpmyadmin»;
- sudo wget -P /usr/share/ «https://files.phpmyadmin.net/phpMyAdmin/4.9.5/phpMyAdmin-4.9.5-all-languages.zip» — загрузка последней версии (4.9.5) phpMyAdmin;
- sudo unzip phpMyAdmin-4.9.5-all-languages.zip — распаковка её в текущий каталог;
- sudo cp -r phpMyAdmin-4.9.5-all-languages phpmyadmin — копирование извлечённые файлы в папку «phpmyadmin»;
- sudo rm -rf phpMyAdmin-4.9.5-all-languages — удаление папки «phpMyAdmin-4.9.5-all-languages».
Для входа в phpMyAdmin необходимо ввести в адресной строке браузера URL: http://localhost/phpmyadmin/ . В поля «Пользователь» и «Пароль» введите root .
Дополнительные инструкции
1. Как в MySQL отключить режим ONLY_FULL_GROUP_BY ?
Windows 10, Установка локального веб-сервера (Apache, MySQL, PHP) в Wsl 1 и Wsl 2.
Публикация: 4 June 2020 Обновлено: 31 August 2020
Благодаря WSL вы получите мощную платформу, где легко сможете заниматься разработкой веб-проектов. Вам больше не нужно думать, где и какие программы скачать для создания локального сервера на вашей рабочей машине, не нужно тратить время на поиск и установку. Microsoft сделала большой шаг для удобства разработчиков, представив подсистему Linux в Windows 10 WSL 2.
В новой подсистеме WSL2 доступ к полной оболочке Linux занимает не более секунды. Это означает, что теперь вы можете работать над проектами на основе Linux внутри Windows с высокой скоростью.
В данном руководстве рассмотрим, как в подсистеме Windows для Linux (WSL) можно настроить веб-сервер LAMP (Apache, MySQL, PHP) для локальной разработки ваших веб-проектов.
- Windows — выступает как основная ОС, в ней будут работать такие программы как VScode, PhpStorm, SublimeText3, браузеры, консоль и т.д.
- Ubuntu — как web-сервер и другое программное обеспечение (PHP, Apache, mysql, git и т.д.), управляется консолью Windows 10.
Между этими двумя ОС будут общие файлы, папки, которые мы можем легко редактировать в Windows.
Включение подсистемы Windows для Linux.
Для включения компонента «Подсистема Windows для Linux» в Windows 10 необходимо выполнить следующие действия:
Шаг 1: С помощью команды: optionalfeatures в диалоговом окне «Выполнить» откройте «Компоненты Windows».
Шаг 2: Включите опцию «Подсистема Windows для Linux».
Шаг 3: Перейдите в Microsoft Store загрузите и установите приложение Ubuntu для Windows.
Шаг 4: C помощью меню «Пуск» запустите Ubuntu. В окне терминала, при первом запуске нужно будет ввести новое имя UNIX пользователя (username) и пароль (password).
Подробней как это сделать, мы рассмотрели в руководствах:
Создание директории для веб-проекта.
При использовании WSL 1 желательно помещать файлы проекта на диски файловой системы Windows — C, D, E. Если вы будете использовать WSL 2, вы можете также использовать локальные диски или создать директорию для сайта в файловой системе Linux.
Шаг 5: Создайте в Проводнике Windows 10, директорию для сайта (проекта) test.local:
Если вы будете использовать WSL 2 рекомендуется создать директорию для сайта в файловой системе Linux. В этом случае папку проекта поместим сюда: \home\main\projects\test.local\public_html
Для этого выполним команду:
Где замените « main » на имя UNIX пользователя созданного при первом запуске wsl.
Во избежание проблем с доступом выполните команду:
Здесь также замените « main » на ваше имя пользователя UNIX.
Это избавит от ошибок и обеспечит максимальную производительность.
Шаг 6: Как получить доступ к файлам WSL Linux из проводника Windows 10.
Находясь в каталоге Linux FS, введите:
Откроется окно проводника, расположенное внутри вашего дистрибутива Linux.
Также, чтобы удобно было работать с каталогами файловой системой Linux вы можете установить в Ubuntu, например, «Midnight Commander»:
Запуск Midnight Commander осуществляется посредством ввода команды:
Установка необходимых программ в Ubuntu для Windows 10.
Шаг 7: C помощью меню «Пуск» запустите Ubuntu.
Шаг 8: Обновите локальный индекс apt пакетов в Ubuntu выполнив команду:
Шаг 9: После чего необходимо обновить установленное программное обеспечение:
На запрос «Do you want to continue? [Y/n]» нажмите клавишу Y .
Установка Apache.
Веб-сервер Apache используют более половины всех действующих веб-сайтов. Это очень мощный и гибкий инструмент.
Шаг 10: Установим Apache выполнив команду:
Вы увидите список пакетов, которые будут установлены, а также объём места на диске которое они займут. Нажмите Y для продолжения установки.
Установка MySQL сервера.
MySQL — система управления базами данных. Она организует и обеспечит доступ к базам данных, где сайт может хранить информацию.
Шаг 11: Установим MySQL сервер:
Нажмите Y для продолжения установки. После завершения установки нам потребуется выполнить некоторые дополнительные команды, чтобы настроить наше окружение MySQL
Шаг 12: Установим php и другие пакеты, необходимые для веб-разработки:
PHP это компонент, отвечающий за обработку кода для отображения динамического контента.
Примечание: Если необходимо установить определенную версию php, например 7.4.x, необходимо выполнить команду:
Включим модуль Mod rewrite в Apache:
Коротко, mod_rewrite — это модуль для веб-сервера Apache, выполняющий функцию преобразования URL.
Шаг 13: Выполните команду:
Изменение метода аутентификации MySQL пользователя root.
Необходимо изменить метод аутентификации MySQL для пользователя root выполнив следующие действия:
Шаг 14: Запустим службу mysql.
Шаг 15: Подключимся к серверу MySQL под стандартным пользователем root, который был создан при установке MySQL на ваш компьютер:
Шаг 16: При запросе пароля нажмите Enter , т.к. по умолчанию пользователь root, созданный при установке, не имеет пароля.
Примечание: На серверах Ubuntu, использующих MySQL ( 5.7 и более поздние версии), аутентификация root пользователя происходит с помощью плагина auth_socket, а не с помощью пароля. Это во многих случаях повышает безопасность, но, может усложнить настройку доступа к root пользователю для phpMyAdmin и др. программ.
Шаг 17: Чтобы проверить метод аутентификации, который задействован для пользователя root, выполните команду:
Шаг 18: Если в ответе на запрос вы видите используется аутентификация с помощью плагина auth_socket, необходимо изменим эту настройку. Для этого введём команду:
Шаг 19: Выполним команду FLUSH PRIVILEGES, которая применит внесённые изменения:
Создание базы данных.
Шаг 20: Создадим базу данных для веб-проекта test.local. Для этого введем в командной строке MySQL следующую команду:
Шаг 21: Для завершения работы с командной строкой MySQL выйдем из неё:
Установка phpMyAdmin.
Шаг 22: Выполняем команду:
Шаг 23: В первом диалоговом окне, нажмите пробел чтобы выбрать Apache, далее нажмите клавишу Tab , а затем Enter .
Шаг 24: Выберите Yes, для настройки базы данных на запрос использовать dbconfig-common.
Шаг 25: Укажите пароль пользователя MySQL root.
Шаг 26: Подтвердите пароль
Шаг 27: Включим необходимые расширения PHP:
Шаг 28: Перезапустите Apache:
Теперь вы можете получить доступ к phpMyAdmin по следующему URL: http://localhost/phpmyadmin/ Вы можете войти в систему, используя имя пользователя root и пароль root, настроенные во время установки MySQL.
Настройка виртуальных хостов в Apache.
В Ubuntu файл настроек виртуальных хостов Apache находятся по следующему пути /etc/apache2/sites-available/*.conf. В Apache уже настроен один виртуальный хост по умолчанию в файле 000-default.conf. Возьмем данный файл за основу.
Шаг 29: Создайте копию файла 000-default.conf выполнив команду:
Шаг 30: Внесем изменения в файл test.local.conf, для этого используем, редактор nano:
Содержимое файла test.com.conf после правок для Wsl 2 если вы создали директорию для сайта в файловой системе Linux:
Внимание: Не забудьте заменить UNIX имя пользователя (username) на свое (Шаг: 7), в моем случае это almanex.
Содержимое файла test.com.conf после правок для Wsl 1 и Wsl 2, где файлы проекта находятся на диске файловой системы Windows — C, D, E:
Внимание: Не забудьте заменить букву диска! В примере мы используем диск С.
Шаг 31: После внесения правок сохраните и закройте файл сочетанием клавиш CTRL X . Подтвердите операцию клавишей Y и нажмите ENTER .
Шаг 32: Включим новый виртуальный хост с помощью утилиты a2ensite:
Шаг 33: Далее деактивируем сайт по умолчанию 000-default.conf:
Шаг 34: Перезапустим service apache:
Перенаправление test.local на локальный веб-сервер.
Ваш проект доступен по адресу http://localhost/
Для того чтобы доменное имя http://test.local было связано с вашим локальным веб-сервером, откройте файл hosts, расположенный по адресу C:\Windows\System32\drivers\etc и добавить в него строки:
127.0.0.1 test.local
172.30.69.65 test.local
Чтобы определить ip-адрес вашего сетевого интерфейса (в моем случае это 172.30.69.65) можно использовать команду ip address в терминале (см. картинку ниже).
Команды для запуска и остановки веб-сервера.
Все, теперь перед началом работы с вашим веб проектом, вам нужно запустить Apache и MySQL, для этого необходимо ввести следующие команды по очереди:
Для остановки веб-сервера:
Необязательно: Чтобы было проще запускать и останавливать веб-сервер вы можете создать bash скрипты start.sh и stop.sh.
Как создать скрипт start.sh:
Шаг 1: Откройте терминал и создайте файл командой:
Шаг 2: Вставьте следующее содержимое, где замените password на пароль, который установили для пользователя Ubuntu:
#!/bin/bash
echo password | sudo -S sudo service apache2 start
echo password | sudo -S sudo service mysql start
exit 0
Шаг 3: Необходимо отредактировать права доступа для start.sh. Выполните команду:
Скрипт stop.sh:
Шаг 4: Создайте файл командой:
Содержимое файла stop.sh:
#!/bin/bash
echo password | sudo -S sudo service apache2 stop
echo password | sudo -S sudo service mysql stop
exit 0
Шаг 5: Отредактировать права доступа:
Проверка работоспособности веб-сервера.
Для проверки работоспособности веб-сервера установим на test.local систему управления контентом, например, OctoberCMS, MODX Revolution или WordPress.
Для этого скачаем с официальной страницы архив системы WordPress и распакуем его в созданную нами директорию
или
Для установки системы необходимо открыть мастер. Откроем в браузере адрес http://test.local. После этого ответим на все вопросы мастера и нажмём на кнопку «Вперед», введем сведения о подключении к базе данных testlocal и тд..
Дождёмся окончания процесса установки. Готово!
Заключение
Теперь, когда ваш веб-сервер установлен и работает используя подсистему Wsl, у вас огромное количество вариантов того, что делать дальше. Вы установили платформу, которая позволит развернуть большинство типов веб-сайтов и сетевого программного обеспечения на вашем сервере. Дайте нам знать в комментариях ниже, помогло ли это руководство или есть какая-либо другая тема, которую вы хотели бы видеть.