Apache Webserver - Ubuntu: Unterschied zwischen den Versionen

Aus FAQ LIFE-SESSIONS
Zeile 5: Zeile 5:
 
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.
 
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.
  
=== '''Installation''' ===
+
===<span style="color:#FF0000"> '''Installation</span>''' ===
 
----<syntaxhighlight lang="console">
 
----<syntaxhighlight lang="console">
 
sudo apt install -y software-properties-common
 
sudo apt install -y software-properties-common

Version vom 6. November 2020, 05:48 Uhr


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.

Installation[Bearbeiten | Quelltext bearbeiten]


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
U Apache2 1.png

PHP[Bearbeiten | Quelltext bearbeiten]


Installieren[Bearbeiten | Quelltext bearbeiten]

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 - Ubuntu

Aktivieren[Bearbeiten | Quelltext bearbeiten]

Wir müssen noch PHP aktivieren

a2enmod php7.4

MySQL installieren[Bearbeiten | Quelltext bearbeiten]


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 - Ubuntu

Virtual Hosts[Bearbeiten | Quelltext bearbeiten]


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.

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:

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

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

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[Bearbeiten | Quelltext bearbeiten]

ServerAdmin[Bearbeiten | Quelltext bearbeiten]
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[Bearbeiten | Quelltext bearbeiten]
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[Bearbeiten | Quelltext bearbeiten]
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[Bearbeiten | Quelltext bearbeiten]
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[Bearbeiten | Quelltext bearbeiten]

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[Bearbeiten | Quelltext bearbeiten]


Apache2 Einstellungen neu laden[Bearbeiten | Quelltext bearbeiten]

sudo systemctl reload apache2

Dienste[Bearbeiten | Quelltext bearbeiten]

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