it-swarm.com.de

Wo in Apache 2 legen Sie die ServerName-Direktive global fest?

HINWEIS: Dies hängt mit meiner Frage zusammen: " Apache 2.4 wird nicht neu geladen, Probleme mit meiner Konfiguration? ".

Ich versuche, eine lokale Site lokal zu testen. Soweit ich weiß, hat Apache 2 (und vielleicht auch Apache) etwas namens VirtualHost. Mein kleines Verständnis sagt mir, dass Virtualhosting eine Möglichkeit ist, mit der ein Server/eine IP-Adresse mehrere Domänen bedienen kann.

Wie auch immer, ich erhalte die folgende Fehlermeldung, wenn ich Apache 2 configtest ausführe, um zu sehen, wo ich versage. Ich verwende Apache 2.4.10-1 und es scheint, dass zwischen Apache 2.2 und Apache 2.4 viele Änderungen aufgetreten sind, 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 Datei /etc/hosts:

 $ cat /etc/hosts
127.0.0.1    localhost
127.0.1.1    debian mini

Ich sehe auch eine leere /etc/hosts.conf Datei. Vielleicht müssen die Daten in /etc/hosts Nach /etc/hosts.conf Kopiert werden, damit der Server dies erkennt?

Mein Hostname:

$ hostname
debian

Dies ist die Konfigurationsdatei der Site:

$ cat /etc/Apache2/sites-available/minidebconfindia.conf
<VirtualHost mini:80>
    ServerAdmin [email protected]

    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 welche Datei diese Zeilen eingefügt werden müssen und was vorher und nachher 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 in Debian drei Konfigurationsdateien 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 IS die globale Konfigurationsdatei, während die httpd.conf eine Benutzerkonfigurationsdatei ist. Es gibt auch die Datei ports.conf. Sowohl Apache2.conf als auch ports.conf sind standardmäßig aktiviert außer ich habe die Google-Ebene von Apache von warn in debug geändert.

Ich habe einander versucht:

$ 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.

38
shirish

Die zu bearbeitende Datei:

/etc/Apache2/Apache2.conf

Befehl zum Bearbeiten der Datei:

Sudo nano /etc/Apache2/Apache2.conf

Für einen globalen Servernamen können Sie ihn oben in die Datei einfügen (außerhalb der virtuellen Host-Tags).

Die erste Zeile sieht aus wie:

ServerName myserver.mydomain.com

Speichern und testen Sie die Konfiguration mit dem folgenden Befehl:

apachectl configtest

Du solltest bekommen:

Syntax OK

Anschließend können Sie den Server neu starten und überprüfen, ob die Fehlermeldung nicht angezeigt wird:

Sudo service Apache2 restart
47
Mark N Hopgood

Sie müssen ServerName-Direktive :

ServerName localhost

In Debian können Sie es in /etc/Apache2/conf.d/httpd.conf Einstellen.

Unter macOS können Sie es in /private/etc/Apache2/httpd.conf Einstellen.

6
cuonglm

Führen Sie den folgenden Befehl aus, um Ihre Apache-Konfigurationsdatei zu finden:

apachectl -t -D DUMP_INCLUDES

Bearbeiten Sie dann diese Datei und suchen Sie die Zeile mit ServerName und kommentieren Sie sie aus, sodass sie wie folgt aussieht:

ServerName localhost
2
kenorb

In der Apache24-Konfigurationsdatei sehen Sie die Zeile ServerName:80:

  1. Lassen Sie es leer.
  2. Dann schreiben Sie unter diese Zeile in den leeren Raum:
    ServerName www.name (of your official domain or website.com:80)
  3. Speichern Sie die Konfigurationsdatei.
  4. Gehen Sie zu cmd und öffnen Sie es, wenn der Administrator dir auf Apache24 ändert
  5. Dann cd Apache24 Dann cd bin Dann httpd.exe

Sie werden sehen, dass das Problem gelöst ist.

0
Rachel Horsham