macOS Sierra Apache 2:全局设置“ ServerName”指令以禁止显示此消息

时间:2018-11-28 10:42:39

标签: macos apache .htaccess localhost apache2

OSX 10.12,Apache 2.4.28,PHP 7.1.12 我试图在我的项目目录中启用.htaccess文件。为了使其正常工作,我必须调整一些Apache 2配置文件。我经历了一些教程和代码调整,它们几乎都是同一回事。遇到了障碍,我缺乏知识要弄清楚。我收到错误消息

AH00558: httpd: Could not reliably determine the server's fully qualified domain name, 
using thebtcfuture-MacBook-Pro.local. Set the 'ServerName' directive globally to suppress 
this message

我已经为httpd.conf /etc/apache2/httpd.conf、/usr/local/etc/httpd/httpdf.conf、/usr/private/etc/apache2/httpd.conf编辑了ServerName和正确的目录信息。全球宣言在哪里?我在浏览器中收到500 Internal Server错误

httpd.conf中的相关更改:

ServerName localhost:8080

<Directory />
    Options FollowSymLinks
    AllowOverride All
    Require all denied
</Directory>

DocumentRoot "/Users/development/workspace/html"
<Directory "/Users/development/workspace/html">
    Options FollowSymLinks Multiviews Indexes
    MultiviewsMatch Any
    AllowOverride All
    Require all granted
</Directory>

我所经历的教程指导我取消注释几条LoadModule行。其中包括:

LoadModule authz_host_module libexec/apache2/mod_authz_host.so
LoadModule authz_core_module libexec/apache2/mod_authz_core.so
LoadModule userdir_module libexec/apache2/mod_userdir.so
LoadModule vhost_alias_module libexec/apache2/mod_vhost_alias.so
LoadModule rewrite_module libexec/apache2/mod_rewrite.so
LoadModule include_module libexec/apache2/mod_include.so

Include /private/etc/apache2/extra/httpd-userdir.conf
Include /private/etc/apache2/extra/httpd-vhosts.conf

当前/private/etc/apache2/extra/httpd-userdir.conf如下:

UserDir Sites

Include /private/etc/apache2/users/*.conf
<IfModule bonjour_module>
   RegisterUserSite customized-users
</IfModule>

/private/etc/apache2/users/development.conf如下:

<Directory "/Users/development/workspace/html/">
    AllowOverride All
    Options Indexes MultiViews FollowSymLinks
    Require all granted
</Directory>

/etc/apache2/users/development.conf编写为:

<Directory "/Users/development/workspace/html">
    AllowOverride All
    Options Indexes MultiViews FollowSymLinks
    Require all granted
</Directory>

我通过以下方式授予了用户文件权限:

sudo chmod 644 /etc/apache2/users/development.conf

终端可能会重复多次错误。在ServerName错误之前,运行时会有少量输出有关操作的信息:

[mpm_prefork:notice] [pid 110] AH00163: Apache/2.4.28 (Unix) PHP/7.2. configured 
-- resuming normal operations
[Tue Apr 17 01:02:53.753891 2018] [core:notice] [pid 110] AH00094: Command line: 
'/usr/sbin/httpd -D FOREGROUND'
[Fri Apr 20 22:24:34.067265 2018] [mpm_prefork:notice] [pid 110] 
AH00169: caught SIGTERM, shutting down 
AH00558: httpd: Could not reliably determine the server's fully qualified domain name ...

我的Apache服务器的默认位置是localhost:8080,它以前已经运行过。 .htaccess对我正在执行的项目至关重要。在本地使用其功能将为我节省大量时间。是什么改变了我服务器的连接?在我所知道的所有支持文件中都声明了合格域名之后,为什么没有合格域名?过去的解决方案都没有改变这种全局声明错误。

我一直在重启服务器。

1 个答案:

答案 0 :(得分:0)

由于dso模块问题,您的服务器无法启动:尽管从conf文件中调用了php7,但似乎没有安装php7,或者aprutils阻止了php7的加载。如果不需要后者,则可以尝试注释加载它的行,然后尝试重新启动服务器。

但是,由于这与编程无关,因此建议您在StackOverflow上删除您的问题,并在ServerFault.com

上打开一个新的特定错误消息。

我们将在那里解决您的问题。