Apache HTTP Serverの起動設定

Apache HTTP Serverのインストールができたので,起動設定を行う。

まず,以下のコマンドでApacheの起動を試みる。

apachectl

デフォルトのhttpd.confの設定では,以下のエラーが出て起動に失敗した。

AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
(13)Permission denied: AH00072: make_sock: could not bind to address [::]:80
(13)Permission denied: AH00072: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
AH00015: Unable to open logs

この問題に対応していく。

AH00558: httpd: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1. Set the ‘ServerName’ directive globally to suppress this message

まず,1行目の以下のエラーに対応する。

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

これは/etc/hostsに記載されているIPアドレスとホスト名がApacheの設定ファイルに記載されていないために出ている。

例えば,僕の/etc/hostsには以下が書かれている。

head -n 2 /etc/hosts
127.0.0.1       localhost
127.0.1.1       TP-E440

このホスト名を$APACHE_ROOT/conf/httpd.confにも記載する。なお,元々のhttpd.confはoriginalディレクトリーにも存在しているので,特にバックアップをとらなくても大丈夫だ。

# ServerName gives the name and port that the server uses to identify itself.
# This can often be determined automatically, but we recommend you specify
# it explicitly to prevent problems during startup.
#
# If your host doesn't have a registered DNS name, enter its IP address here.
#
#ServerName www.example.com:80
ServerName TP-E440

Apacheのエラー:Could not reliably determine the server’s fully qualified domain name… | Weblogy

この設定のみ変更して,Apacheを起動すると以下のとおりにこのエラーのみ消えた。

apachectl
(13)Permission denied: AH00072: make_sock: could not bind to address [::]:80
(13)Permission denied: AH00072: make_sock: could not bind to address 0.0.0.0:80 no listening sockets available, shutting down AH00015: Unable to open logs
(13)Permission denied: AH00072: make_sock: could not bind to address [::]:80

続いて,残りの以下のエラーに対応する。

(13)Permission denied: AH00072: make_sock: could not bind to address [::]:80
(13)Permission denied: AH00072: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
AH00015: Unable to open logs

ApacheがデフォルトでListenするポート番号は80になっている。1024までのWellKnownポートをListenする場合,管理者権限でApacheを実行する必要があるため,このエラーが出ている。

そのため,httpd.confのポート番号を変更する。

#
# Listen: Allows you to bind Apache to specific IP addresses and/or
# ports, instead of the default. See also the <VirtualHost>
# directive.
#
# Change this to Listen on specific IP addresses as shown below to 
# prevent Apache from glomming onto all bound IP addresses.
#
#Listen 12.34.56.78:80
# Listen 80
Listen 8080

エラーメッセージとその対処あれこれ – think-t の晴耕雨読

これで解決する。再び以下のコマンドでApacheを起動すると,何もエラーが出ないことが確認できる。

apachectl

この状態で,Webブラウザでhttp://localhost:8080のアドレスにアクセスして,"It works!"と表示されれば成功だ。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です