Ubuntu MATE (Apache)
Inhaltsverzeichnis
Beschreibung
Der Apache HTTP Server ist einer der weltweit am häufigsten eingesetzten Webserver. Er wird von der Apache Software Foundation entwickelt, ist quelloffen und kostenfrei verfügbar. Dank seiner modularen Architektur lässt sich der Server flexibel durch zahlreiche Erweiterungen anpassen. Besonders bekannt ist das Modul mod_rewrite, das häufig für URL-Umschreibungen im Bereich der Suchmaschinenoptimierung (SEO) verwendet wird.
Installation
Apache2
Der Apache2-Webserver ist unter Ubuntu MATE 16.04.1 LTS standardmäßig nicht vorinstalliert.
Dienst
Der Apache2-Dienst kann mit dem Befehl sudo /etc/init.d/apache2 <Aktion> gesteuert werden, wobei <Aktion> durch start, stop, graceful-stop, restart, reload oder force-reload ersetzt wird.
Installation
Der Apache2 Webserver kann mit folgendem Befehl installiert werden.
Die serverseitige Skriptsprache PHP kann mit diesen Befehlen dazu installiert werden.
Firewall
Der Apache2-Dienst ist in der Regel standardmäßig in der Firewall freigegeben, sodass keine zusätzliche Freischaltung erforderlich ist. Zur Überprüfung, ob die Firewall den Dienst blockiert, kann diese testweise deaktiviert werden.
Der Betrieb einer aktiven Firewall wird dringend empfohlen, insbesondere wenn der Server nicht in einer demilitarisierten Zone (DMZ) betrieben wird.
Die Firewall kann mit fogenden Befehl überprüft werden:
Konfiguration
Das TechnikWiki kann lokal auf einem Server, beispielsweise einem Laptop, betrieben werden. Dieser dient der Entwicklung und dem Testen. Neben dem Webserver Apache2 kommen die serverseitige Skriptsprache PHP sowie die Datenbank MySQL zum Einsatz.
Verzeichnisstruktur
Die erforderliche Verzeichnisstruktur kann mit den folgenden Befehlen erstellt werden.
Konfiguration
Die Konfigurationsmöglichkeiten von Apache2 sind sehr umfangreich und können leicht eine eigene Dokumentation füllen. Aus diesem Grund wird hier nur ein einfaches Beispiel dargestellt.
Zunächst muss eine symbolische Verknüpfung erstellt werden.
Anschließend wird die Konfigurationsdatei gesichert und ein neuer VirtualHost (technikwiki) eingerichtet.
Anschließend kann überprüft werden, ob der Webserver ordnungsgemäß läuft.
Im Anschluss kann im Webbrowser die Adresse localhost aufgerufen werden, woraufhin die Standard-Startseite des Webservers angezeigt wird.
VirtualHost
Soll die Webseite nicht nur über localhost, sondern beispielsweise auch über technikwiki erreichbar sein, muss in der Datei "/etc/hosts" ein entsprechender Eintrag hinzugefügt werden.
127.0.0.1 technikwiki
Der VirtualHost wird in der Datei "technikwiki.conf" konfiguriert. Dabei können nahezu alle Parameter aus den Konfigurationsdateien "apache2.conf" und "php.ini" überschrieben werden.
# 02.12.2017 Oliver Bacher (www.technikwiki.org) # <VirtualHost technikwiki:80> # The ServerName directive sets the request scheme, hostname and port that # the server uses to identify itself. This is used when creating # redirection URLs. In the context of virtual hosts, the ServerName # specifies what hostname must appear in the request's Host: header to # match this virtual host. For the default virtual host (this file) this # value is not decisive as it is used as a last resort host regardless. # However, you must set it for any further virtual host explicitly. ServerName technikwiki ServerAdmin administrator@technikwiki.org DocumentRoot /www/htdocs <Directory /www/htdocs> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory> # Available loglevels: trace8, ..., trace1, debug, info, notice, warn, # error, crit, alert, emerg. # It is also possible to configure the loglevel for particular # modules, e.g. #LogLevel info ssl:warn ErrorLog /www/log/error.log CustomLog /www/log/access.log combined # For most configuration files from conf-available/, which are # enabled or disabled at a global level, it is possible to # include a line for only one particular virtual host. For example the # following line enables the CGI configuration for this host only # after it has been globally disabled with "a2disconf". #Include conf-available/serve-cgi-bin.conf # The configuration for PHP php_value session.save_path /www/tmp/sessions php_value max_execution_time 120 php_value display_errors 0 php_value display_startup_errors 0 php_value log_errors 1 php_value memory_limit 64M # The alias for css directory (example / disabled) #Alias /css "/www/css" #<Directory "/www/css"> # Options None # AllowOverride None # Order allow,deny # Allow from all #</Directory> </VirtualHost>
Test
Der Apache2-Webserver mit dem PHP-Modul kann nun getestet werden. Mit folgendem Befehl lässt sich prüfen, ob der Apache2-Dienst aktiv ist.
Anschließend die Dateien "index.html" und "phpinfo.php" erstellen und im Verzeichnis "/www/htdocs" ablegen.
index.html
<html> <head> <title>TechnikWiki</title> </head> <body> Hello TechnikWiki! </body> </html>
phpinfo.php
<?php phpinfo(); ?>