Apache Webserver installieren

Da Linux sehr gerne genommen wird, um einen Webauftritt darzustellen, ob lokal oder im Internet. Dies Spielt keine Rolle. Da hat sich Linux eindeutig durchgesetzt und macht seine Sache wirklich gut.


Inhaltsverzeichnis

  1. Installation
  2. PHP
    1. Installieren
    2. Aktivieren
  3. MySQL installieren
  4. Virtual Hosts
    1. Erklärung
      1. ServerAdmin
      2. ServerName
      3. ServerAlias
      4. DocumentRoot
    2. Administration
  5. System
    1. Apache HTTP Server Control Interface
    2. Apache2 System Reload
    3. Dienste

Installation

sudo apt install -y software-properties-common
sudo add-apt-repository ppa:ondrej/apache2
sudo apt update
sudo apt install -y apache2

Damit der Apache Webserver auch läuft und auch nach einem Neustart gestartet wird, werden wir diese Befehle absetzten.

sudo systemctl status apache2
sudo systemctl start apache2
sudo systemctl enable apache2

Damit wir kontrollieren können, ob der Webserver auch läuft, werden wir in einem Browser deiner Wahl, mit dem HTTP Protokoll und der IP-Adresse anwählen.

http://yout_server_IP

PHP

Installieren

Es ist immer von Vorteil ein PHP Framework auf seinem System laufen zu lassen. Ich habe schon einen Beitrag zu gemacht. Daher werde ich nicht näher eingehen und es mit der Seite Verlinken.

In vielen Fällen werden aber auch das Paket von PHP benötigt, daher werden wir es ebenso installieren. Ich habe auch, für euch einen Beitrag gestaltet, wie ihr dies Komplett installieren könnt. Aber das erforderliche Paket, möchte ich euch hier nochmal zeigen.

sudo apt install -y libapache2-mod-php

Link: PHP Installieren

Aktivieren

Wir müssen noch PHP aktivieren.

sudo a2enmod php7.4

MySQL installieren

Zu jedem Webserver gehört immer eine Datenbank, ich habe für euch mal die MySQL gewählt, da sie sehr beliebt ist und auch super funktioniert. Ich gehe nicht näher ein, da ich einen Betrag dafür schon erstellt habe und ihn verlinkt habe.

Link: MySQL installieren


Virtual Hosts

Wir müssen einen virtuellen Host anlegen, in den alles hinein Geroutet. Aber wir werden vorher einen Ordner anlegen, wo wir die Homepage Dateien ablegen. Der Standard Pfad lautet “/var/www/”, in diesem Pfad werden wir einen neuen Ordner anlegen, am besten immer so wie die Homepage lauten soll.

sudo mkdir /var/www/your_homepage

In dem Konfigurationspfad “/etc/apache2/sites-available/”, sind von allen Konfigurationen zur Homepage gespeichert, die nötig sind damit Apache sauber arbeiten kann. Wir müssen die natürlich anpassen, um eine funktionsfähige Seite zu erstellen. Die 000-default.conf ist die Standarddatei für die virtuellen Hosts und kann für weitere virtuelle Hosts verwendet werden. Zum Ansehen der Datei:

sudo cat /etc/apache2/sites-available/000-default.conf

Wir werden wie der Pfad erstellt wurde, auch die Konfigurationsdatei erstellen, wie die Homepage genannt wurde.

sudo nano /etc/apache2/sites-available/your_homepage.conf

Und füge diese Zeilen angepasst ein.

<VirtualHost *:80>
	ServerAdmin webmaster@localhost
	ServerName servername
	ServerAlias name1 name2 name3
	DocumentRoot /var/www/your_homepage
	ErrorLog ${APACHE_LOG_DIR}/error.log
	CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Erklärung

ServerAdmin

ServerAdmin webmaster@localhost

Mit der ServerAdmin Direktive sollte die E-Mail-Adresse des Server-Administrators hinterlegt werden. Diese wird u.a. in den Fehlermeldungen des Apache stehen und ist für den Kontakt zum Administrator erforderlich!

ServerName

ServerName servername

Mit der ServerName Direktive wird festgelegt, unter welchem primären Namen eine Seite erreichbar ist. Es ist zwingend erforderlich, dass dieser Name entweder via DNS oder alternativ über die /etc/hosts auflösbar ist!

ServerAlias

ServerAlias name1 name2 name3

Wenn ein und dieselbe Seite unter verschiedenen Rechnernamen erreichbar sein muss, ist es erforderlich, diese mit der ServerAlias Direktive zu definieren. Achtung! Keine unerlaubten Zeichen (z.B. Bindestrich) verwenden.

DocumentRoot

DocumentRoot /var/www/html

Mit der Direktive DocumentRoot muss das Basisverzeichnis (engl. “document root”) des Virtual Hosts (bzw. der Seite) angegeben werden. Sollte nun mit http://SERVERNAME/datei.html ein Zugriff versucht werden, so würde Apache in diesem Beispiel die Datei /var/www/html/datei.html an den Client ausliefern.

Administration

Zuerst werden wir die Defaultseite deaktivieren, damit der Server danach sauber ist.

sudo a2dissite 000-default.conf
sudo systemctl reload apache2

Wenn ein neuer Virtual Host angelegt wurde, ist dieser zwar verfügbar (“available”) aber noch nicht aktiviert (“enabled”). Bei auf Debian basierenden Systemen (somit auch Ubuntu) können folgende Befehle verwendet werden:

sudo a2ensite your_homepage.conf
sudo systemctl reload apache2

Dies würde den VirtualHost mit dem Dateinamen aktivieren. Natürlich kann man die Seite auch wieder deaktivieren mit dem Befehl:

sudo a2dissite your_homepage.conf
sudo systemctl reload apache2

System

Apache HTTP Server Control Interface

Mit dem Befehl überprüft man die Konfiguration, die von Apache2 durchgeführt wird. Da sich der Befehl, sehr eignet um eine Neuinstallation, neuen Domäne auf Fehler zu untersuchen.

sudo apachectl configtest

Es gibt noch mehr Möglichkeiten, die zeige ich euch darunter in der Tabelle.

WertBeschreibung
startStarten Sie den Apache httpd-Daemon. Gibt einen Fehler aus, wenn es bereits ausgeführt wird. Dies entspricht einem apachectl -k-Start.
stopStoppt den Apache httpd-Daemon. Dies entspricht apachectl -k stop.
restartStartet den Apache httpd-Daemon neu. Wenn der Dämon nicht ausgeführt wird, wird er gestartet. Dieser Befehl überprüft die Konfigurationsdateien automatisch wie in configtest, bevor der Neustart gestartet wird, um sicherzustellen, dass der Dämon nicht stirbt. Dies entspricht einem Neustart von apachectl -k.
fullstatusZeigt einen vollständigen Statusbericht von mod_status an. Damit dies funktioniert, müssen Sie mod_status auf Ihrem Server aktiviert haben und einen textbasierten Browser wie lynx auf Ihrem System verfügbar haben. Die URL für den Zugriff auf den Statusbericht kann durch Bearbeiten der Variablen STATUSURL im Skript festgelegt werden.
statusZeigt einen kurzen Statusbericht an. Ähnlich wie bei der Option fullstatus, außer dass die Liste der aktuell zugestellten Anforderungen weggelassen wird.
gracefulStartet den Apache httpd-Daemon ordnungsgemäß neu. Wenn der Dämon nicht ausgeführt wird, wird er gestartet. Dies unterscheidet sich von einem normalen Neustart dadurch, dass derzeit offene Verbindungen nicht abgebrochen werden. Ein Nebeneffekt ist, dass alte Protokolldateien nicht sofort geschlossen werden. Dies bedeutet, dass bei Verwendung in einem Protokollrotationsskript eine erhebliche Verzögerung erforderlich sein kann, um sicherzustellen, dass die alten Protokolldateien geschlossen werden, bevor sie verarbeitet werden. Dieser Befehl überprüft die Konfigurationsdateien automatisch wie in configtest, bevor der Neustart gestartet wird, um sicherzustellen, dass Apache nicht stirbt. Dies ist gleichbedeutend mit apachectl -k anmutig.
graceful-stopStoppt den Apache httpd-Daemon ordnungsgemäß. Dies unterscheidet sich von einem normalen Stopp dadurch, dass derzeit offene Verbindungen nicht abgebrochen werden. Ein Nebeneffekt ist, dass alte Protokolldateien nicht sofort geschlossen werden. Dies entspricht apachectl -k Graceful-Stop.
configtestFühren Sie einen Syntaxtest für Konfigurationsdateien aus. Es analysiert die Konfigurationsdateien und meldet entweder Syntax Ok oder detaillierte Informationen zu dem jeweiligen Syntaxfehler. Dies entspricht apachectl -t.Die folgende Option war in früheren Versionen verfügbar, wurde jedoch entfernt.
startsslUm httpd mit SSL-Unterstützung zu starten, sollten Sie Ihre Konfigurationsdatei so bearbeiten, dass sie die relevanten Anweisungen enthält, und dann den normalen Apachectl-Start verwenden.
sudo apachectl <Kommando>

Apache System Reload

sudo systemctl reload apache2

Dienste

sudo systemctl enable apache2
sudo systemctl start apache2
sudo systemctl stop apache2
sudo systemctl status apache2
sudo systemctl restart apache2
sudo systemctl disable apache2

Schreibe einen Kommentar

%d Bloggern gefällt das: