ANMERKUNG: Dies hängt mit meiner Frage zusammen: " Apache 2.4 wird nicht neu geladen, gibt es ein Problem mit meiner Konfiguration? ".
Ich versuche, eine lokale Site lokal zu testen. Nach meinem Verständnis hat Apache 2 (und vielleicht auch Apache) etwas namens VirtualHost
. Mein kleines Verständnis sagt mir, dass Virtualhosting eine Möglichkeit ist, mit der eine Server- / IP-Adresse mehrere Domänen bedienen kann.
Auf jeden Fall erhalte ich beim Ausführen von Apache 2 die folgende Fehlermeldung, um festzustellen configtest
, wo ich versage. Ich verwende Apache 2.4.10-1 und es scheint eine Menge Änderungen zwischen Apache 2.2 und Apache 2.4 zu geben, die mir nicht bekannt sind.
$ 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
Dies ist die /etc/hosts
Datei:
$ cat /etc/hosts
127.0.0.1 localhost
127.0.1.1 debian mini
Ich sehe auch eine leere /etc/hosts.conf
Datei. Möglicherweise müssen die Daten in /etc/hosts
kopiert werden, /etc/hosts.conf
damit der Server sie erkennt.
Mein Hostname:
$ hostname
debian
Dies ist die Konfigurationsdatei der Site:
$ 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>
Ich habe auch über das Binden an Adressen und Ports gelesen , aber ich habe das aus mehreren Gründen nicht gut verstanden. Es gibt kein Beispiel dafür, in welcher Datei diese Zeilen abgelegt werden müssen und was davor und danach kommt. Ein Beispiel wäre viel besser gewesen.
Ich habe das getan und den Server neu gestartet, aber ich erhalte immer noch den gleichen Fehler.
~$ 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
Es scheint, dass es drei Konfigurationsdateien in Debian gibt, die ich kennen und verstehen muss.
/etc/apache2$ ls *.conf
apache2.conf ports.conf
und
/etc/apache2/conf.d$ ls *.conf
httpd.conf
Anscheinend ist apache2.conf die globale Konfigurationsdatei, während httpd.conf eine Benutzerkonfigurationsdatei ist. Es gibt auch ports.conf. Sowohl die apache2.conf als auch die ports.conf sind standardmäßig eingestellt, außer ich habe die Version von Apache von warn
auf geändert debug
.
Ich habe eines ausprobiert:
$ 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
Vielleicht hat jemand mehr Einsicht.
quelle
/etc/apache2/conf-available/fqdn.conf
, oderservername.conf
oderhttpd.conf
ohne Erfolg. DebianJessie
undapache 2.4.10
conf-available/
und habenconf-enabled/
, erstellen Sie eine Datei inconf-available/
unda2enconf
aktivieren Sie sie mit dem Befehl . Auf diese Weise ärgert Sie dpkg nicht über nicht protokollierte Änderungen, wenn / wenn dasapache2-common
Paket aktualisiert wirdapache2.conf
conf-available
danach und eine Bearbeitung könnten/etc/apache2/conf-available/servername.conf
mit Inhalt seinServerName myserver.mydomain.com
(auf Raspberry Pi, Apache 2.4.10, Debian 8 (Jessie), Linux-Kernel 4.4.34 ausprobiert).Sie müssen die ServerName-Anweisung festlegen :
In Debian können Sie es einstellen
/etc/apache2/conf.d/httpd.conf
.Unter macOS können Sie es einstellen
/private/etc/apache2/httpd.conf
.quelle
apache2.conf
./etc/apache2/apache2.conf
stattdessen sein.Führen Sie den folgenden Befehl aus, um Ihre Apache-Konfigurationsdatei zu finden:
Bearbeiten Sie dann diese Datei und suchen Sie die Zeile mit
ServerName
und kommentieren Sie sie aus, so dass sie wie folgt aussieht:quelle
In der apache24 Konfigurationsdatei sehen Sie folgende Zeile
ServerName:80
:ServerName www.name (of your official domain or website.com:80)
cmd
, öffne es, während der Administratordir
zu Apache24 wechseltcd apache24
danncd bin
dann httpd.exeSie werden sehen, dass das Problem behoben ist.
quelle