web-dev-qa-db-ja.com

Apache 2のどこでServerNameディレクティブをグローバルに設定しますか?

注:これは私の質問に関連しています:「 Apache 2.4がリロードされません、設定に問題がありますか? "。

ローカルサイトをローカルでテストしようとしています。私が理解しているように、Apache 2(およびおそらくApacheも)にはVirtualHostと呼ばれるものがあります。私の理解の少しは、仮想ホスティングが1つのサーバー/ IPアドレスが複数のドメインにサービスを提供できる方法であることを私に教えます。

とにかく、Apache 2のconfigtestを実行して失敗している場所を確認すると、次のエラーが発生します。私はApache 2.4.10-1を実行していますが、Apache 2.2とApache 2.4の間に多くの変更があり、私が気付いていないようです。

$ Sudo Apache2ctl configtest
[Sudo] password for shirish:
AH00558: Apache2: 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
Syntax OK

これは/etc/hostsファイルです。

 $ cat /etc/hosts
127.0.0.1    localhost
127.0.1.1    debian mini

空の/etc/hosts.confファイルも表示されます。おそらく、サーバーが認識できるように、/etc/hostsのデータを/etc/hosts.confにコピーする必要がありますか?

私のホスト名:

$ hostname
debian

これはサイトの設定ファイルです:

$ cat /etc/Apache2/sites-available/minidebconfindia.conf
<VirtualHost mini:80>
    ServerAdmin webmaster@localhost

    DocumentRoot /var/www/html/in2014.mini/website

    <Directory />
        Options +FollowSymLinks +Includes
        Require all granted
    </Directory>

    <Directory /var/www/html/in2014.mini/website/>
        Options +Indexes +FollowSymLinks +MultiViews +Includes
        Require all granted
    </Directory>
</VirtualHost>

私も アドレスとポートへのバインドについて読む ですが、いくつかの理由でそれをよく理解していません。これらの行をどのファイルに配置する必要があるか、また前後に何が来るかについての例はありません。例ははるかに優れていたでしょう。

それを実行してサーバーを再起動しましたが、それでも同じエラーが発生します。

~$ Sudo Apache2ctl configtest
AH00558: Apache2: 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
Syntax OK

Debianには、私が知って理解する必要のある3つの構成ファイルがあるようです。

/etc/Apache2$ ls *.conf
Apache2.conf  ports.conf

そして

/etc/Apache2/conf.d$ ls *.conf
httpd.conf

どうやら、Apache2.conf ISグローバル構成ファイルで、httpd.confはユーザー構成ファイルです。ports.confもあります。Apache2.confとports.confの両方がデフォルトです。ただし、Apacheのログレベルをwarnからdebugに変更しました。

私は別のことを試しました:

$ Sudo Apache2ctl -S
AH00558: Apache2: 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
VirtualHost configuration:
127.0.1.1:80           debian (/etc/Apache2/sites-enabled/minidebconfindia.conf:1)
*:80                   127.0.1.1 (/etc/Apache2/sites-enabled/000-default.conf:1)
ServerRoot: "/etc/Apache2"
Main DocumentRoot: "/var/www/html"
Main ErrorLog: "/var/log/Apache2/error.log"
Mutex watchdog-callback: using_defaults
Mutex default: dir="/var/lock/Apache2" mechanism=fcntl
Mutex mpm-accept: using_defaults
PidFile: "/var/run/Apache2/Apache2.pid"
Define: DUMP_VHOSTS
Define: DUMP_RUN_CFG
User: name="www-data" id=33
Group: name="www-data" id=33

多分誰かがもっと洞察力を持っています。

38
shirish

編集するファイル:

/etc/Apache2/Apache2.conf

ファイルを編集するコマンド:

Sudo nano /etc/Apache2/Apache2.conf

グローバルサーバー名の場合は、ファイルの先頭(仮想ホストタグの外側)に配置できます。

最初の行は次のようになります。

ServerName myserver.mydomain.com

次に、次のコマンドで構成を保存してテストします。

apachectl configtest

あなたは得るべきです:

構文OK

次に、サーバーを再起動して、エラーメッセージが表示されないことを確認します。

Sudo service Apache2 restart
47
Mark N Hopgood

ServerNameディレクティブ を設定する必要があります。

ServerName localhost

Debianでは、/etc/Apache2/conf.d/httpd.confで設定できます。

MacOSでは、/private/etc/Apache2/httpd.confで設定できます。

6
cuonglm

Apache構成ファイルを見つけるには、次のコマンドを実行してみてください。

apachectl -t -D DUMP_INCLUDES

次に、そのファイルを編集してServerNameで行を見つけ、コメントを外します。次のようになります。

ServerName localhost
2
kenorb

Apache24設定ファイルには、_ServerName:80_という行が表示されます。

  1. 空白のままにします。
  2. 次に、空白行のその行の下に次のように書き込みます。
    ServerName www.name (of your official domain or website.com:80)
  3. 設定ファイルを保存します。
  4. cmdに移動し、管理者がdirをApache24の場所に変更するときに開きます。
  5. 次に_cd Apache24_次に_cd bin_次にhttpd.exe

問題が解決したことがわかります。

0
Rachel Horsham