Появилась у меня такая идея, если есть WSL, то почему бы не сделать на ней полноценный веб сервер?
Есть дома машинка на Windows 10 pro, 24/7 работает в основном в режиме показа ТВ/фильмов и plex. Дома есть не плохой интернет и роутер Mi Router 3 на Padavan. Сам я занимаюсь разработкой сайтов, по этому слегка знаком с панелями для организации веб серверов, из бесплатных самое годное мне показалась веста, простая, рабочая, легко кастомизировать, так как почти под всё можно наклепать своих шаблонов, например под мултиверсионность php и/или метода её работы, а потом только кнопки нажимай.
Так вот, получается есть подсистема linux, на которой можно запустить Ubuntu, на которую можно накатить весту, которую можно открыть в интернет и прокинуть на неё домены. Далее накатить нужные сервисы, например мне нужен OwnCloud, и пользовать их сугубо для личных нужд, но "на все деньги".
Я понимаю, что самое разумное, это накатить вместо Windows тот же Ubuntu и использовать его нативно, но семья не поймёт, ни моих вкусов, ни саму убунту, да и сам я не очень хочу пингвина на комп под телевизор.
Так вот несколько вопросов:
1) Кто-то уже пробовал такую затею с разворачиванием веб сервера на WSL? Оно работает?
2) Реально ли заставить работать WSL со всеми обвязками в фоне и с автозапуском, чтобы один раз настроил и забыл?
3) Прокинуть порты не проблема, но может есть тонкости проброса именно в WSL?
4) Если есть какие-то гайды, дайте пожалуйста.
Из за бухгалтерской программы, к которой нужно обращаться через RDP, так как ее нет на лине, мне пришлось юзать сервер на WINDOWS 10. Поэтому все сайты на нем поднял через WSL1 (с WSL2 пока как то не выходит нормально работать именно по серверной части, че то там с пробросами не очень). Кроме того почтовый сервер у меня виндовый hMailServer что также облегчает настройки. Все сайты пашут как на родном лине и никаких проблем нет. Стоит последний пхп 7.4, поднят nextcloud. Получился отличный гибридный сервер WINDOWS-LINUX, где я юзаю и решения от винды и от линя. И никаких виртуалок. Все это дело работает несколько лет. Автозапуск сервисов линя производится через планировщик винды через bash-команды. Если бы не бухгалтерская прога, то юзал бы чистый линь, но уже как то и не замечаю что сервак гибридный. Решение неординарное, но полностью стабильное и работоспособное на протяжении нескольких лет. Сам WSL работает почти также как чистый линь по производительности, так что для сервака отличное решение, если не хочется делать 2 сервака (отдельно на линь и винду).
На данный момент долгое время работают сайты на джумле, phpbb3, nextcloud. Также поднят фтп-сервер на базе pure-ftpd. Еще поднят сервис monit для перезапуска зависших процессов сервака. Стоят START-SSL сертификаты где нужно. Ни с какими скриптами проблем нет. Корректно работает MEMCACHED и т.п. фичи. Ни с чем проблем пока не выявлял. Решение вполне стабильное и годное для работы. Кому деваться некуда и не хочется делать 2 сервка (под win/linux), то можно юзать для работы, при этом даже имея некоторые преимущества в виде использования в связке софта винды и линя.
Вот пример моей небольшой инструкции как сделать нормально автозапуск для процессов:
В планировщике задач windows установить задания на запуск bash.exe при загрузке системы с параметрами:
C:\Windows\System32\bash.exe -c "sudo service mysql start -D && sudo service apache2 start -D && sudo service pure-ftpd start -D && sudo service php7.2-fpm start -D && sudo service php7.2-fpm restart -D && sudo service monit start -D"
и в /etc/sudoers (добавить в конец файла)
# Allow apache2 and mysql to start without a sudo password
%sudo ALL=(ALL) NOPASSWD: /usr/sbin/service apache2 *
%sudo ALL=(ALL) NOPASSWD: /usr/sbin/service mysql *
%sudo ALL=(ALL) NOPASSWD: /usr/sbin/service php7.2-fpm *
%sudo ALL=(ALL) NOPASSWD: /usr/sbin/service monit *
%sudo ALL=(ALL) NOPASSWD: /usr/sbin/service pure-ftpd *