Ubuntu MATE (Apache)

Aus TechnikWiki

HookTwSeo HookTwSeo HookTwSeo HookTwSeo

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

Ubuntu MATE Apache01
Apache2

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.

Copy to clipboard

Installation

Der Apache2 Webserver kann mit folgendem Befehl installiert werden.

Copy to clipboard

Die serverseitige Skriptsprache PHP kann mit diesen Befehlen dazu installiert werden.

Copy to clipboard
Copy to clipboard

Firewall

Ubuntu MATE Apache03
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:

Copy to clipboard

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.

Copy to clipboard
Copy to clipboard
Copy to clipboard
Copy to clipboard

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.

Copy to clipboard
Copy to clipboard
Copy to clipboard

Anschließend wird die Konfigurationsdatei gesichert und ein neuer VirtualHost (technikwiki) eingerichtet.

Copy to clipboard
Copy to clipboard
Copy to clipboard

Anschließend kann überprüft werden, ob der Webserver ordnungsgemäß läuft.

Copy to clipboard
Copy to clipboard

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.

Copy to clipboard
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.

Copy to clipboard
# 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.

Copy to clipboard

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();
?>

Screenshots

Siehe auch

Weblinks

Kommentare