Apache Webserver - Ubuntu: Unterschied zwischen den Versionen

Aus FAQ LIFE-SESSIONS
K
K
Zeile 31: Zeile 31:
 
Link: [[MySQL installieren - Ubuntu]]
 
Link: [[MySQL installieren - Ubuntu]]
  
Virtual Hosts
+
=== '''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.<syntaxhighlight lang="console">
 
----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.<syntaxhighlight lang="console">
 
mkdir /var/www/your_homepage
 
mkdir /var/www/your_homepage
Zeile 41: Zeile 41:
 
<VirtualHost *:80>
 
<VirtualHost *:80>
 
ServerAdmin webmaster@localhost
 
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
+
ServerName servername
 +
ServerAlias name1 name2 name3
 +
DocumentRoot /var/www/your_homepage
 
ErrorLog ${APACHE_LOG_DIR}/error.log
 
ErrorLog ${APACHE_LOG_DIR}/error.log
 
CustomLog ${APACHE_LOG_DIR}/access.log combined
 
CustomLog ${APACHE_LOG_DIR}/access.log combined
 
</VirtualHost>
 
</VirtualHost>
 +
</syntaxhighlight>
 +
 +
==== '''Erklärung''' ====
 +
 +
===== '''ServerAdmin''' =====
 +
<syntaxhighlight lang="vim">
 +
ServerAdmin webmaster@localhost
 +
</syntaxhighlight>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''' =====
 +
<syntaxhighlight lang="vim">
 +
ServerName servername
 +
</syntaxhighlight>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''' =====
 +
<syntaxhighlight lang="vim">
 +
ServerAlias name1 name2 name3
 +
</syntaxhighlight>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''' =====
 +
<syntaxhighlight lang="vim">
 +
DocumentRoot /var/www/html
 +
</syntaxhighlight>Mit der Direktive DocumentRoot muss das Basisverzeichnis (engl. "document root") des Virtual Hosts (bzw. der Seite) angegeben werden. Sollte nun mit <nowiki>http://SERVERNAME/datei.html</nowiki> 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.<syntaxhighlight lang="console">
 +
sudo a2dissite 000-default.conf
 +
sudo systemctl reload apache2
 +
</syntaxhighlight>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:<syntaxhighlight lang="console">
 +
sudo a2ensite your_homepage.conf
 +
sudo systemctl reload apache2
 +
</syntaxhighlight>Dies würde den VirtualHost mit dem Dateinamen aktivieren.
 +
 +
Natürlich kann man die Seite auch wieder deaktivieren mit dem Befehl:<syntaxhighlight lang="console">
 +
sudo a2dissite your_homepage.conf
 +
sudo systemctl reload apache2
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 
=== '''System''' ===
 
=== '''System''' ===
----<syntaxhighlight lang="console">
+
----
 +
 
 +
==== '''Apache2 Einstellungen neuladen''' ====
 +
<syntaxhighlight lang="console">
 +
sudo systemctl reload apache2
 +
</syntaxhighlight>
 +
 
 +
==== '''Dienste''' ====
 +
<syntaxhighlight lang="console">
 
sudo systemctl enable apache2
 
sudo systemctl enable apache2
 
sudo systemctl start apache2
 
sudo systemctl start apache2

Version vom 3. November 2020, 18:23 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 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

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 neuladen[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