Вы хотите запустить веб-сервер на своем компьютере с Windows 10, но не хотите делать все настройки вручную или использовать сложные сборки, такие как Denwer? Есть отличная современная альтернатива. Вы можете создать полноценный локальный сервер с Apache, MySQL и PHP прямо в своей системе с помощью подсистемы Windows для Linux (WSL).
WSL позволяет отключить среду Linux, не выходя из Windows. Это не виртуальная машина, как мы обычно думаем, а просто компонент совместимости. Мы рассмотрим установку первой и второй версии WSL, которые еще эффективнее и быстрее. Вы можете выбрать подходящий для вашего компьютера.
Этот метод позволяет использовать мощные инструменты для веб-разработки. Вы можете создавать и тестировать веб-сайты и приложения в среде, максимально приближенной к реальному хостингу, не перезагружая свой компьютер или отказываясь от стандартной Windows. Давайте обсудим, как настроить это.
- Включение подсистемы Windows для Linux.
- Создание директории для веб-проекта.
- Установка необходимых программ в Ubuntu для Windows 10.
- Установка Apache.
- Установка MySQL сервера.
- Включим модуль Mod rewrite в Apache:
- Изменение метода аутентификации MySQL пользователя root.
- Создание базы данных.
- Установка phpMyAdmin.
- Настройка виртуальных хостов в Apache.
- Перенаправление test.local на локальный веб-сервер.
- Команды для запуска и остановки веб-сервера.
- Проверка работоспособности веб-сервера.
Включение подсистемы Windows для Linux.
Если вы хотите, чтобы компонент «Подcистема Windows для Linux» был включен в Windows 10, вам необходимо выполнить следующие шаги:
Шаг 1: Откройте «Компоненты Windows» с помощью команды: опции в диалоговом окне «Выполнить».
Шаг 2: Активируйте параметр «Подсистема Windows для Linux».
Шаг 3: Перейдите в Microsoft Store, чтобы загрузить и установить приложение Ubuntu для Windows.

Шаг 4: Запустите Ubuntu из меню «Пуск». При первом запуске в окне терминала необходимо ввести новое имя пользователя UNIX и пароль.

В руководствах подробно описано, как это сделать:
- Как установить WSL 2 подсистему Windows для Linux в Windows 10
- Как установить Wsl 1 подсистему Windows для Linux.
- Официальная инструкция от microsoft.
Создание директории для веб-проекта.
Поместите файлы проекта на диски Windows C, D и E при использовании WSL 1. В WSL 2 также можно использовать локальные диски или создать директорию для сайта в файловой системе Linux.
Шаг 5: В Проводнике Windows 10 создайте директорию для сайта (проекта) test.local:
С:\Projects\test.local\public_html

Рекомендуется создать директорию для сайта в файловой системе Linux в случае использования WSL 2. В этом случае мы должны поместить папку проекта в следующее место: «Дом, главный проект, тест.local, публичный html».
Для этого выполним следующие команды:
sudo mkdir -p /home/main/projects/test.local/public_html
В гдe замените «главный» на имя пользователя UNIX, созданного при первом запуске wsl.
Чтобы предотвратить проблемы с доступом, выполните команду:
Здесь также замените имя пользователя UNIX словом «главный».

Это избавит от ошибок и обеcпечит максимальную производительность.
Шаг 6: Получите доступ к файлам WSL Linux с помощью проводника Windows 10.
В каталоге Linux FS введите:
Внутри вашего дистрибутива Linux откроется окно проводника.
В нашей статье «Доступ к файлам WSL Linux с помощью Проводника Windows 10» вы найдете больше информации.

Кроме того, вы можете установить каталоги файловой системы Linux в Ubuntu, например, «Midnight Commander»:
Чтобы запустить Midnight Commander, необходимо ввести команду:
Установка необходимых программ в Ubuntu для Windows 10.
Шаг 7: Включите меню «Пуск» для запуска Ubuntu.
Шаг 8: Выполните команду, чтобы обновить локальный индекс apt пакетов в Ubuntu:

Шаг 9: Следующим шагом является обновление установленного программного обеспечения:
На запрос «Do you want to continue? [Y/n]» нажмите клавишу Y.

Установка Apache.
Более половины всех действующих веб-сайтов используют веб-сервер Apache. Это мощный и универсальный инструмент.
Шаг 10: Установите Apache, выполнив следующие команды:
Вы увидите список пакетов, которые будут установлены, а также объем места на диске. Нажмите Y, чтобы продолжить установку.

Установка MySQL сервера.
MySQL — это программа для управления базами данных. Она организует и обеспечит доступ к базам данных, которые позволяют веб-сайтам хранить данные.
Шаг 11: Установите сервер MySQL:
sudo apt install mysql-server
Чтобы продолжить установку, нажмите Y. Чтобы настроить наше окружение MySQL, нам потребуется выполнить несколько дополнительных команд после завершения установки.

Шаг 12: Установить пакеты, необходимые для веб-разработки, такие как php:
PHP — это часть, ответственная за обработку кода для отображения динамичного контента.
sudo apt install php libapache2-mod-php php-mysql php-xml php-curl
Примечание: Если нужно установить конкретную версию PHP, например 7.4.x, выполните команду:
Включим модуль Mod rewrite в Apache:
По сути, модуль mod_rewrite используется веб-сервером Apache для выполнения функции преобразования URL.
Шаг тринадцать: выполните приказы:
Изменение метода аутентификации MySQL пользователя root.
Необходимо выполнить следующие действия, чтобы изменить метод аутентификации MySQL для пользователя root:
Шаг 14: Активируйте службу mysql.
Шаг 15: Чтобы подключиться к сеpверу MySQL, мы должны использовать стандартный пользователь root, созданный при установке MySQL на вашем компьютере:
Шаг 16: Когда требуется пароль для пользователя root, созданного при установке, нажмите Enter. Это связано с тем, что по умолчанию пользователь root не имеет пароля.

Примечание: на серверах Ubuntu, использующих MySQL (5.7 и более поздние версии), аутентификация root пользователя осуществляется с помощью плагина auth_socket, а не с помощью пароля. Во многих случаях это повышает безопасность, но настройку доступа к root пользователю для программ, таких как phpMyAdmin, может усложнить.
Шаг 17: Чтобы проверить метод аутентификации пользователя root, выполните команду:
SELECT user, authentication_string, plugin, host FROM mysql.user WHERE user="root";

Шаг 18: Если в ответе на запрос вы видите использование плагина auth_socket для аутентификации, необходимо изменить эту настройку. Для этого добавьте команду:
ALTER USER ‘root’@’localhost’ IDENTIFIED WITH mysql_native_password BY ‘root’;
Шаг 19: создадим команду FLUSH PRIVILEGES, чтобы внести изменения:
Создание базы данных.
Шаг 20: Создадим базы данных для проекта тест.local на веб-сайте. Чтобы это сделать, введите следующую команду в командную строку MySQL:
CREATE DATABASE testlocal;
Шаг 21: Выходим из командной строки MySQL, чтобы продолжить работу:
Установка phpMyAdmin.
Шаг 22: Выполняйте приказы:
sudo apt install phpmyadmin

Шаг 23: Чтобы выбрать Apache в первом диалоговом окне, нажмите пробел и нажмите клавишу Tab. Затем нажмите Enter.

Шаг 24: Выберите «Да» для использования dbconfig-common для настройки базы данных на запрос.

Шаг 25: Укажите пароль root пользователя MySQL.

Шаг 26: Верифицируйте пароль
Шаг 27: Добавьте ненужные расширения PHP:
Шаг 28: Удалите Apache:
sudo service apache2 restart
Теперь вы можете войти в phpMyAdmin по этому адресу: http://localhost/phpmyadmin/ Во время установки MySQL вы можете установить имя пользователя root и пароль root, чтобы войти в систему.

WSL — подсистема для запуска Linux прямо в Windows — самый простой способ подключить локальный веб-сервер к компьютеру с Windows 10. Вы можете легко настроить Apache, MySQL и PHP как на настоящем сервере и работать с сайтами или веб-приложениями прямо у себя дома, установив WSL 1 или WSL 2. Разница между WSL 1 и WSL 2 в отношении скорости и совместимости заключается в том, что первый работает быстрее, особенно в отношении файлов и сетей, тогда как второй может быть стабильнее на слабых машинах. Главное, что это просто и не требует сложных виртуальных машин или сторонних программ, таких как XAMPP, и процесс настройки занимает всего несколько минут.
Настройка виртуальных хостов в Apache.
Файл настроек виртовых хостов Apache в Ubuntu находится в /etc/apache2/sites-available/*.conf. В файле 000-default.conf Apache уже настроен один виртуальный хост по умолчанию. Начнем с этого файла.
Шаг 29: Выполните команды, чтобы создать копию файла 000-default.conf:
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/test.local.conf
Шаг 30: Используя редактор nano, изменим файл test.local.conf:

Если вы создали директорию для сайта в файловой системе Linux, вы должны создать файл test.com.conf после правок Wsl 2.
Не забудьте заменить имя пользователя UNIX (username) на свое (Шаг: 7), например, almanex.

После правок для Wsl 1 и Wsl 2, где файлы проекта находятся на дисках C, D и E файловой системы Windows, создается файл test.com.conf:
Внимание: для примера мы используем диск C. Пожалуйста, замените букву диска.

Шаг 31: После внесения правок сохраните файл и закройте его с помощью комбинации клавиш CTRL X. Подтвердите операцию, нажав клавишу Y и нажав ENTER.
Шаг 32: Используйте a2ensite для добавления нового веб-хоста:
sudo a2ensite test.local.conf
Шаг 33: Деактивируем сайт по умолчанию 000-default.conf следующим образом:
sudo a2dissite 000-default.conf
Шаг 34: Перезапуск службы Apache:
sudo service apache2 restart
Перенаправление 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, как показано на следующем изображении.

Команды для запуска и остановки веб-сервера.
Перед началом работы с вашим веб-проектом вам нужно ввести следующие команды, чтобы запустить Apache и MySQL:
sudo service apache2 start
Чтобы настроить веб-сервер:
sudo service apache2 stop
Необязательно: вы можете создать скрипты bash start.sh и stop.sh, чтобы запускать и останавливать веб-сервер.

Как создать скриптовый файл start.sh:
Шаг 1: Запустите терминал и создайте файл с помощью команды:
Шаг 2: Вставьте следующее содержимое, заменив пароль пользователя Ubuntu:
#!/bin/bash
echo password | sudo -S sudo service apache2 start
echo password | sudo -S sudo service mysql start
exit 0

Шаг 3: Права доступа к start.sh должны быть изменены. Выполните требования:
sudo chmod -R 755 ./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: Изменить права доступа:
sudo chmod -R 755 ./stop.sh
Проверка работоспособности веб-сервера.
Чтобы проверить работу веб-сервера, установим систему управления контентом, такую как OctoberCMS, MODX Revolution или WordPress, на test.local.
Для этого скачиваем архив системы WordPress с официальной страницы и распакуем его в созданную нами директорию.
С:\Projects\test.local\public_html
или
/home/main/projects/test.local/public_html
Установка системы требует открытия мастера. Мы должны открыть адрес http://test.local в браузере. После этого ответим на все вопросы мастера и нажмем кнопку «Вперед». Мы также введем сведения о подключении к базе данных тестового места, а также другие функции.

Мы ждем завершения процесса установки.
Как вы можете видеть, установка локального сеpвера в WSL не представляет большого труда. Вы получаете мощный и гибкий инструмент для веб-разработки прямо в Windows, независимо от того, WSL 1 или WSL 2.
Понимание различий между версиями является важным. Хотя WSL 2 требует немного больше настроек в сети, он быстрее и полнее, особенно для веб-приложений. WSL 1 прост и быстро работает с файлами Windows.
Теперь у вас есть готовая тестовая среда, которая позволяет вам создавать сайты и веб-приложения. Вы можете экспериментировать, устанавливая различные фреймворки или системы управления контентом, не опасаясь, что ваш компьютер сломается.
Таким образом, вы можете использовать все преимущества Linux для разработки, не выходя из привычной операционной системы. Успехов в работе и экспериментах с вашим новым сервером!








