【问题标题】:What is the mac equivalent of "/etc/apache2/sites-available"?“/etc/apache2/sites-available”的 mac 等价物是什么?
【发布时间】:2025-12-18 14:40:01
【问题描述】:

我正在从源代码安装 Koha。通用 unix 方向指示 sudo make install 之后的以下步骤

sudo ln -s /etc/koha/koha-httpd.conf /etc/apache2/sites-available/koha

嗯?

我的 apache2 目录不包含可用的站点,只有 /private/etc/apache2/extra /private/etc/apache2/httpd.conf /private/etc/apache2/magic /private/etc/apache2/mime.types /private/etc/apache2/original /private/etc/apache2/其他 /private/etc/apache2/users

我应该能够浏览到http://servername:8080/ 来运行 Koha,我认为“服务器名称”在 koha-httpd.conf 中指定如下:

## Intranet
<VirtualHost 192.168.1.4:8080>
   ServerAdmin webmaster@local
   DocumentRoot /usr/share/koha/intranet/htdocs
   ServerName John-Breedloves-Mac-mini.local:8080
#  ServerAlias intranet.mydomain.com
   ScriptAlias /cgi-bin/koha/ "/usr/share/koha/intranet/cgi-bin/"
   ScriptAlias /index.html "/usr/share/koha/intranet/cgi-bin/mainpage.pl"
   ScriptAlias /search "/usr/share/koha/intranet/cgi-bin/search.pl"
   ErrorLog /var/log/koha/koha-error_log
#  TransferLog /var/log/koha/koha-access_log
   SetEnv KOHA_CONF "/etc/koha/koha-conf.xml"
   SetEnv PERL5LIB "/usr/share/koha/lib"
   Options +FollowSymLinks

   ErrorDocument 400 /cgi-bin/koha/errors/400.pl
   ErrorDocument 401 /cgi-bin/koha/errors/401.pl
   ErrorDocument 403 /cgi-bin/koha/errors/403.pl
   ErrorDocument 404 /cgi-bin/koha/errors/404.pl
   ErrorDocument 500 /cgi-bin/koha/errors/500.pl

   RewriteEngine On 

但是,当我转到 http://john-breedloves-mac-mini.local:8080/ 时,我得到:

有效!

这就像讽刺什么的。

帮助一个菜鸟。

【问题讨论】:

  • 请记住,OSX 预装了 apache2,位于 /etc/apache2。这可能会导致与 another apache 安装的一些非常讨厌的重叠。
  • 那是我正在处理的apache,我没有安装任何其他的apache。

标签: macos apache-config


【解决方案1】:

看起来/private/etc/apache2/other/ 将是大致对应的文件夹。 /etc/apache2/httpd.conf 包含一个指令 Include /private/etc/apache2/other/*.conf,其中包括该文件夹中的所有文件,很像 Apache 的 Linux 安装中常见的 sites-available 文件夹。

【讨论】:

  • 谢谢,有道理。好的,所以我将命令修改为: sudo ln -s /etc/koha/koha-httpd.conf /private/etc/apache2/other/ 重新启动 apache:sudo apachectl graceful 我仍然没有得到爱。我完全不确定现在的问题是什么。
【解决方案2】:

运行apachectl -S,这是apachectl -t -D DUMP_VHOSTS的简写

根据 apachectl 的 man 文件,这将显示已解析的设置(目前只有 vhost 设置)。顺便说一句,它还会检查您的配置文件是否有错误。

【讨论】:

    【解决方案3】:

    安德鲁的回答是正确的。在我的安装中,我还必须更改

    Order allow,deny
    Deny from all
    

    Order allow,deny
    Allow from all
    

    在 /etc/apache2/httpd.conf 中。

    您在 :8080 获得服务器这一事实表明您可能正在运行与基本系统安装不同的 apache 配置,例如 MAMP;我不相信 apache 默认会监听 :8080。

    【讨论】:

      【解决方案4】:

      我也有这个问题。这似乎是因为安装在 osx 上的 apache 的默认版本覆盖了其他版本。要禁用它,请转到“系统偏好设置 > 共享”并取消选中“网络共享”。

      祝你好运!

      【讨论】:

        【解决方案5】:

        请注意,ServerRoot 指定子目录 conf 和 logs 的位置。

        在我的 httpd.conf 中,它设置为 /usr

        【讨论】: