通过 wsl1 和 /etc/hosts 访问 apache2 虚拟主机时出现“连接已重置”

通过 wsl1 和 /etc/hosts 访问 apache2 虚拟主机时出现“连接已重置”

我是 Linux 新手,但正在尝试在我的笔记本电脑上通过 Debian 10 安装 koha(一个图书馆管理系统),使用 Windows 10 ver.1903(内部版本 18362.900)和 wsl1 作为在我的图书馆中安装它的测试。

我按照这里的说明进行操作:https://wiki.koha-community.org/wiki/Koha_on_Debian并成功安装 apache2。我的版本是 apache 2.4.38

然后我使用以下命令通过虚拟主机设置域名:https://wiki.koha-community.org/wiki/How_to_set_up_a_domain_name_for_Koha

因此 debian /etc/hosts 文件的设置如下(我也将其放入了 windows /etc/hosts 文件中):

127.0.0.1 localhost
127.0.1.1 LAPTOP.localdomain LAPTOP
192.168.x.y lmc.mydomain.org
192.168.x.y lmc.mydomain.org

但是,当我尝试通过浏览器访问它时,Firefox 显示“连接已重置”。 localhost 正确加载了 apache2 默认网页,而当我直接输入 ip 时,它会加载默认的 apache2 网页。

这是 koha 生成的 apache2/sites-enabled/lmc.conf 文件

https://i.stack.imgur.com/MgYxJ.jpg

apache2ctl -S 显示正确的域(根文件)关系:

VirtualHost configuration:
*:80 is a NameVirtualHost
default server LAPTOP.localdomain (/etc/apache2/sites-enabled/000-default.conf:1)
port 80 namevhost LAPTOP.localdomain (etc/apache2/sites-enabled/000-default.conf:1)
port 80 namevhost lmc.mydomain.org (/etc/apache2/sites-enabled/library.conf.:4)
port 80 namevhost lmc.mydomain.org(/etc/apache2/sites-enabled/library.conf:22)

每当我尝试通过浏览器连接时,apache2/error.log 都会显示以下内容:

[timestamp]  [mpm_itk:warn] [pid 82] (itkmpm:pid=82 uid=33, gid=33)  itk_post_perdir_config() : initgroups(library-koha), 1001) : Operation  not permitted
[timestamp] [mpm_itk:warn] [pid 82] Couldn't set uid/gid/priority, closing connection.

当我启动 apache2 时它显示:

apache2[timestamp] [core:warn] [pid139] (92)Protocol not available : AH00076: Failed to enable APR_TCP_DEFER_ACCEPT
.ok

但是,由于它显示绿色,我认为可以忽略特定警告。。?本地主机默认网页无论如何都能正常工作。

我尝试清除缓存、添加例外/关闭 Windows 防火墙和防病毒软件,但这些都没有用。

我已经困惑了一周多,不知道该怎么办,有人能帮我解决一下吗?我不需要 ssh 连接(通过 ssh 连接会更好),只需要它在本地工作(因此使用 /etc/hosts)。任何帮助我都会非常感激,谢谢!

答案1

你为什么要使用 mpm_itk?正如错误消息所示,这在 WSL 上不起作用(可能永远都不起作用)。我也没有在你链接的 wiki 中看到任何可以解释为什么这是必要的内容。

您应该删除这个包:

apt purge libapache2-mpm-itk
a2enmod mpm_prefork

如果你确实出于某种原因而故意安装了 mpm_itk,那么你应该停止使用 WSL,而是创建一个虚拟机。无论如何你都应该这样做。

相关内容