46710
httpd -Sでエラーの確認をすると、

```

    AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using tanakaakionoiMac.local. Set the 'ServerName' directive globally to suppress this message
    VirtualHost configuration:
    ServerRoot: "/usr"
    Main DocumentRoot: "/Library/WebServer/Documents"
    Main ErrorLog: "/private/var/log/apache2/error_log"
    Mutex default: dir="/private/var/run/" mechanism=default 
    Mutex mpm-accept: using_defaults
    PidFile: "/private/var/run/httpd.pid"
    Define: DUMP_VHOSTS
    Define: DUMP_RUN_CFG
    User: name="_www" id=70 not_used
    Group: name="_www" id=70 not_used
    
```

となり、apacheのhttps.confでServerNameを確認したら

`ServerName localhost:80`と設定しています。先頭に#はついてません。

localhost:80と設定しているのにどうして、上記のようなエラーが出るのでしょうか。

また、エラーを直さなければ再起動などの処理は出来ないのでしょうか。

お手数おかけしますがご回答頂けると幸いです。

宜しくお願いします。

Server version: Apache/2.4.33 (Unix)  
Server built: Apr 3 2018 18:00:56
CC BY-SA 4.0
2018-07-18T11:11:21.330
46698
2018-07-19T00:49:58.580
2018-07-18T11:33:20.203
3060
29244
question
apache
Apacheのserver nameに関して
<https://httpd.apache.org/docs/2.4/ja/mod/core.html#servername>

`ServerName` は「アクセスしてきたクライアントにこう名乗る」という設定です。エンドユーザーが使っている Web UA (Edge/Chrome)
に対して、アフロ氏のサーバが「自分は `localhost` という名前です」と名乗るわけで、ここに `localhost`
を記述するのは明らかにおかしい（ユーザーにとって `localhost` はユーザー自体のマシンです）。

マニュアルに書いてあるとおり `ServerName` に書くべきは  
- DNS 上で解決できる FQDN (特に、同一 IP アドレスに複数の名前があるとき名乗りたい名前）  
- サーバーの静的 IP アドレスないしはホスト名 (別マシンである Web UA から到達できる IP アドレスないしは Web UA 側の `/etc/hosts` で解決できるホスト名)  
のどちらかです。

前者はいわゆるフツーに The Internet 上で稼動している Web Server の場合。  
後者は DNS を運用していないイントラネット上であるとか、 DNS はあるけどシステム管理者に内緒のオレオレサーバを立てたい場合などに相当します。

オイラんとこでは DNS の無い部内イントラネット上で立てた Apache httpd 2.4 の設定として、当該マシンの静的 IP アドレスをそのまま
`ServerName 10.10.10.10` と書いて運用中です。この設定で `httpd -S` は文句を言いません。
CC BY-SA 4.0
2018-07-19T00:49:58.580
46710
2018-07-19T00:49:58.580
8589
46698
answer