05 - Apache
integrierten Apache entfernen
In OS-X integrierten Apache herunterfahren, alle automatisch ladenden Skripte entfernen.
Apache installieren
DocumentRoot ist standardmässig /usr/local/var/www.
apr
ist keg-only
, das bedeutet dass es nicht mit /usr/local
durch einen Symlink verknüpft ist, da Apples CLT-Paket apr
enthält. Wenn apr
zuerst in PATH stehen soll:
Die Server Logs
Error Log beim Starten ausgeben
Was ist tail ?
Server Befehle
Apache sofort starten, und Service einrichten um ihn automatisch nach dem Login zu starten:
Apache manuell starten
Server restart (-k immediatly)
Apache stoppen
Konfiguration
Port
Prüfen ob Port 80 eingestellt ist? Die Konfiguratiosdatei kann bequem über das Terminal in VSCodium aufgerufen werden. Suche nach Listen
und ersetzte ggfs. Port 8080 durch 80.
Apache User und Gruppen
Finden User www-data
und ersetze durch User mein_username
Suche nach Group www-data
und ersetze es durch Group staff
Der Apache läuft dann unter deinem User, was Rechte Probleme verhindert.
Module
Virtuelle Hosts einrichten
codium /usr/local/etc/httpd/httpd.conf
Edit codium /usr/local/etc/httpd/extra/httpd-vhosts.conf
Der Server sollte dann unter der Adresse http://mein-projekt.test
erreichbar sein.
Setup SSL
Entferne # von
bearbeite die httpd-ssl.conf
ändereListen 8443
zu Listen 443
finde <VirtualHost _default_:8443>
und ersetze…
<VirtualHost _default_:443>
kommentiere das aus……
um geeignete SSL-basierte virtuelle Hosts hinzuzufügen
Zertifikate
Damit SSL funktioniert, benötige ich ein Zertifikat.
tail -f /usr/local/var/log/httpd/error_log
, um während des Serverneustarts um zu sehen ob Fehler auftreten.
Ich muss das selbstsigniertes Zertifikat erstellen, auf das ich bereits in der VirtualHost-Definition verwiesen habe.
Die folgenden Befehle fragen nach Informationen zum Zertifikat. Hier sollte ich sinnvolle Werte eintragen. Der ’ Common Name’ sollte mit dem ServerName
in der httpd-vhosts.conf
Datei übereinstimmen.
Folgende Einträge:
Im Browser https://localhost
aufrufen und sehen was passiert.
Mod expires Fehlermeldung
Ungültiger Befehl ‘ExpiresActive’, möglicherweise falsch geschrieben oder durch ein Modul definiert, das nicht in der Serverkonfiguration enthalten ist, siehe: http://xyz
Wenn diese Meldung auf deiner Apache-Installation in Verbindung mit einer 500 Internal Server Error-Meldung auftaucht, bedeutet das, dass du den Befehl ExpiresActive
in einer .htaccess
-Datei oder in der Datei apache2.conf
(oder httpd.conf
) verwendet hast, ohne das Expires-Modul mit einzubeziehen.
https://httpd.apache.org/notes/current/mod/mod_expires.html
DocumentRoot ändern
Suche in den drei folgenden Dateien nach DocumentRoot
und in einem Fall nach Directory
und passe den Pfad an.
Danach den Server neu durchstarten