刚刚更新到最新的Windows 10版本(build 14316),我立即开始使用WSL,Windows子系统Linux,它应该在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行为?
答案 0 :(得分:43)
为了消除此警告
Invalid argument: AH00076: Failed to enable APR_TCP_DEFER_ACCEP
将此添加到/etc/apache2/apache2.conf
AcceptFilter http none
答案 1 :(得分:16)
您必须以管理员模式启动bash.exe以避免许多与网络相关的问题。 我没有任何问题安装Lamp(Apache / MySQL / Php):
以管理员模式启动bash.exe
输入: sudo apt-get install lamp-server ^
在 /etc/apache2/apache2.conf 中添加以下两行:
Servername localhost
AcceptFilter http none
然后你可以启动apache: /etc/init.d/apache2 start
答案 2 :(得分:14)
请注意输出中的以下内容
failed to create directory via template '/var/lock/apache2.XXXXXXXXXX': No such file
我尝试列出/ var / lock。它指向/ run / lock,它不存在。
使用
创建目录mkdir -p /run/lock
安装现在应该可以使用(您可能需要先清理安装)
答案 3 :(得分:3)
根据这里的好建议,我编辑了apache2.conf并在收到上面的所有各种错误之后将以下内容插入到文件末尾,然后apache2在debian wsl包上运行得很好:
Servername localhost
AcceptFilter http none
AcceptFilter https none