注:これは私の質問に関連しています:「 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
多分誰かがもっと洞察力を持っています。
編集するファイル:
/etc/Apache2/Apache2.conf
ファイルを編集するコマンド:
Sudo nano /etc/Apache2/Apache2.conf
グローバルサーバー名の場合は、ファイルの先頭(仮想ホストタグの外側)に配置できます。
最初の行は次のようになります。
ServerName myserver.mydomain.com
次に、次のコマンドで構成を保存してテストします。
apachectl configtest
あなたは得るべきです:
構文OK
次に、サーバーを再起動して、エラーメッセージが表示されないことを確認します。
Sudo service Apache2 restart
ServerNameディレクティブ を設定する必要があります。
ServerName localhost
Debianでは、/etc/Apache2/conf.d/httpd.conf
で設定できます。
MacOSでは、/private/etc/Apache2/httpd.conf
で設定できます。
Apache構成ファイルを見つけるには、次のコマンドを実行してみてください。
apachectl -t -D DUMP_INCLUDES
次に、そのファイルを編集してServerName
で行を見つけ、コメントを外します。次のようになります。
ServerName localhost
Apache24設定ファイルには、_ServerName:80
_という行が表示されます。
ServerName www.name (of your official domain or website.com:80)
cmd
に移動し、管理者がdir
をApache24の場所に変更するときに開きます。cd Apache24
_次に_cd bin
_次にhttpd.exe問題が解決したことがわかります。