Установка Apache в подсистеме Windows для Linux

Только что обновившись до последней версии Windows 10 (сборка 14316), я сразу же начал играть с WSL, подсистемой Windows для Linux, которая должна запускать установку Ubuntu в Windows.

Может быть, я пытаюсь сделать невозможное, пытаясь установить на него Apache, но потом кто-нибудь, пожалуйста, объясните мне, почему это невозможно.

Во всяком случае, во время установки (sudo apt-get install apache2) я получил следующие сообщения об ошибках после того, как зависимости были загружены и установлены правильно:

initctl: Unable to connect to Upstart: Failed to connect to socket /com/ubuntu/upstart: No such file or directory
runlevel:/var/run/utmp: No such file or directory
 * Starting web server apache2                                                 *
 * The apache2 configtest failed.
Output of config test was:
mktemp: failed to create directory via template '/var/lock/apache2.XXXXXXXXXX': No such file or directory
chmod: missing operand after '755'
Try 'chmod --help' for more information.
invoke-rc.d: initscript apache2, action "start" failed.
Setting up ssl-cert (1.0.33) ...
Processing triggers for libc-bin (2.19-0ubuntu6.7) ...
Processing triggers for ureadahead (0.100.0-16) ...
Processing triggers for ufw (0.34~rc-0ubuntu2) ...
WARN: / is group writable!

Теперь я понимаю, что для работы Apache2, похоже, отсутствуют некоторые папки и файлы. Прежде чем я начну изменять что-либо, что будет мешать моей установке Windows, я хочу спросить, есть ли другой способ? Кроме того, я должен волноваться о / быть доступным для записи в группе или это просто стандартное поведение Windows?

4 ответа

Решение

Обратите внимание на следующее в вашем выводе

failed to create directory via template '/var/lock/apache2.XXXXXXXXXX': No such file 

Я пробовал листинг /var/lock. Он указывает на /run/lock, который не существует.

Создать каталог с

mkdir -p /run/lock

Установка должна теперь работать (возможно, вам нужно сначала очистить установку)

Apache работает на Windows Ubuntu

Чтобы устранить это предупреждение

Invalid argument: AH00076: Failed to enable APR_TCP_DEFER_ACCEP

Добавьте это в конец /etc/apache2/apache2.conf

AcceptFilter http none

Вы должны запустить bash.exe в режиме администратора, чтобы избежать многих проблем, связанных с сетью. Я установил лампу (Apache/MySQL/Php) без каких-либо проблем:

  • Запустите bash.exe в режиме администратора

  • тип: sudo apt-get установить ламповый сервер ^

  • Добавьте эти 2 строки в /etc/apache2/apache2.conf:

Servername localhost

AcceptFilter http нет

тогда вы можете запустить apache:/etc/init.d/apache2 start

Следуя замечательному совету, я отредактировал apache2.conf и вставил следующее в конец файла после получения всех перечисленных выше ошибок, после чего apache2 отлично работал на пакете debian wsl:

Servername localhost
AcceptFilter http none
AcceptFilter https none
Другие вопросы по тегам