Установка 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
Установка должна теперь работать (возможно, вам нужно сначала очистить установку)
Чтобы устранить это предупреждение
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