30

刚刚更新到最新的 Windows 10 版本(内部版本 14316)后,我立即开始使用 WSL,这是适用于 Linux 的 Windows 子系统,它应该在 Windows 上运行 Ubuntu 安装。

也许我通过尝试在其上安装 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

4 回答 4

62

为了消除这个警告

Invalid argument: AH00076: Failed to enable APR_TCP_DEFER_ACCEP

将此添加到末尾/etc/apache2/apache2.conf

AcceptFilter http none
于 2016-05-03T09:42:46.900 回答
18

请注意输出中的以下内容

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

我尝试列出/var/lock。它指向不存在的/run/lock。

创建目录

mkdir -p /run/lock

安装现在应该可以工作了(您可能需要先清理安装)

在 Windows Ubuntu 上运行的 apache

于 2016-04-07T08:19:12.777 回答
16

您必须以管理员模式启动 bash.exe 以避免很多与网络相关的问题。我安装了 Lamp (Apache/MySQL/Php) 没有任何问题:

  • 以管理员模式启动 bash.exe

  • 类型:sudo apt-get install lamp-server^

  • 在/etc/apache2/apache2.conf添加这两行:

服务器名 localhost

AcceptFilter http 无

然后你可以启动apache: /etc/init.d/apache2 start

于 2016-08-06T15:45:05.173 回答
3

遵循这里的好建议,我编辑了 apache2.conf 并在收到上述所有各种错误后将以下内容插入到文件末尾,然后 apache2 在 debian wsl 包上运行良好:

Servername localhost
AcceptFilter http none
AcceptFilter https none
于 2018-04-06T09:22:08.797 回答