Apache: Verschlüsselung und Webanwendungen einrichten

Statische Websites gehören mittlerweile zum alten Eisen. Selbst private Homepages haben heute meist mindestens eine dynamische Komponente, etwa ein Gästebuch. Mit Apache lassen sich dynamische Anwendungen genauso einfach betreiben wie statische Websites.

Man unterscheidet zwei grundsätzliche Arten von Anwendungen, CGI und Module. CGI bietet die größtmögliche Kompatibilität mit anderen Webservern. Apache ruft dabei einfach einen externen Prozess auf, der über Standard-Input und Standard-Output mit Apache kommuniziert.

Allerdings dauert das Aufrufen eines externen Prozesses recht lang. Bei Websites mit viel Traffic sinkt die Performance. Deshalb bietet Apache sogenannte Module, die Anwendungen in einem Apache-Prozess selbst ausführen können, was eine Menge Rechenzeit spart.

Für viele Standard-Skriptsprachen wie PHP existieren Apache-Module. Man kann sie als CGI-Anwendung oder als Modul ausführen. Wenn immer möglich, sollte man sich für die Modulvariante entscheiden.

Die meisten Standard-Webanwendungen wie MediaWiki, Joomla oder Typo3 brauchen neben Linux und Apache noch weitere Komponenten. Ein feststehender Begriff ist die LAMP-Plattform (Linux, Apache, MySQL, PHP). Viele Anwendungen sind in PHP geschrieben und nutzen MySQL als Datenbank.

Oft werden jedoch weitere Komponenten benötigt. Viele Diskussionsforen erlauben beispielsweise das Hochladen eines Profilbilds. Damit das auf die passende Größe zugeschnitten wird, muss man häufig ImageMagick oder die GD2-Bibliothek installieren. Im Einzelfall kommt man nicht umhin, in der Dokumentation nachzulesen, welche Komponenten benötigt werden.

ZDNet empfiehlt folgenden Befehl, um die wichtigsten Komponenten zu installieren, mit denen viele Anwendungen laufen:

apt-get install php5 mysql-server imagemagick libgd2-xpm

Während der Installation wird man nach dem Root-Password für MySQL gefragt. Der Benutzer root von MySQL darf nicht mit dem gleichnamigen Unix-Konto verwechselt werden. MySQL besitzt eine völlig eigene Benutzerverwaltung. Es empfiehlt sich wie immer, ein sogenanntes starkes Passwort zu verwenden. Der MySQL-User root hat alle Rechte in jeder Datenbank.

Webserver-Anwendungen kommen meist als .tar.gz- oder .tar.bz2-Datei und werden einfach in das Verzeichnis einer Website ausgepackt. Das reicht meist aus, um die Anwendung zu installieren. Im folgenden Beispiel soll MediaWiki, die Software, mit der Wikipedia und andere bekannte Wikis betrieben werden, installiert werden. Die Anwendung soll in /var/wiki liegen und die Website soll apache2.ZDNetLabs.DarkTech.org heißen.

Zunächst lädt man sich die Anwendung herunter mit

cd ~
wget http://dumps.wikimedia.org/mediawiki/1.17/mediawiki-1.17.0.tar.gz

Die Apache-Konfigurationsdatei (/etc/apache2/sites-available/Apache2.ZDNetLabs.DarkTech.org) für ein Wiki ohne Verschlüsselung sieht wie folgt aus:

Danach legt man das Verzeichnis an, packt die Software aus, vergibt die richtigen Rechte, aktiviert die neue Website und lädt die Apache-Konfiguration neu. Dazu verwendet man die Befehlsfolge:

mkdir /var/wiki
cd /var/wiki
tar xvf ~/mediawiki-1.17.0.tar.gz --strip-components=1
chown -R www-data:www-data /var/wiki
a2ensite Apache2.ZDNetLabs.DarkTech.org
apache2ctl configtest
apache2ctl graceful

Das war im Prinzip alles, zumindest was seitens Apache erforderlich ist. Den Rest erledigt man im Browser. Der erste Aufruf der Website sollte wie folgt aussehen.


Screenshot: ZDNet

Nach einem Klick auf den Setup-Link erscheint das eigentliche Installationsprogramm. Die meisten Fragen lassen sich auch von Einsteigern beantworten. Ein wenig aufpassen sollte man mit den Angaben zur Datenbank. Sobald man auf die erste Seite mit den Fragen zur Datenbank kommt, muss bei "Passwort des Datenbankbenutzer" das Root-Passwort eingegeben werden, das man bei der Installation von MySQL festgelegt hat.

Auf der nächsten Seite sollte das Häkchen bei "Dasselbe Konto wie während des Installationsvorgangs verwenden" gelöscht und ein neuer Benutzer angelegt werden. Das stellt sicher, dass bei einer möglichen SQL-Injection-Attacke der Schaden begrenzt wird.

Wenn man in MySQL noch keinen Nutzer dafür vorgesehen hat, setzt man ein Häkchen bei "Sofern nicht bereits vorhanden, muss nun das Konto erstellt werden" (der deutsche Text ist etwas misslungen). Detail zeigt das folgende Bild.


Screenshot: ZDNet

Ganz zum Schluss wird eine Datei mit dem Namen LocalSettings.php zum Download angeboten. Sie muss zunächst auf den lokalen Rechner geladen und dann auf den Server in das Verzeichnis /var/wiki kopiert werden. Danach ist das Wiki betriebsbereit.

Page: 1 2

ZDNet.de Redaktion

Recent Posts

November-Patchday: Microsoft schließt Zero-Day-Lücken in Windows

Betroffen sind Windows und Windows Server. Microsoft patcht aber auch Schwachstellen in Excel, Word und…

2 Tagen ago

LG zeigt elastisches OLED-Display

Es lässt sich um bis zu 50 Prozent dehnen. Allerdings besitzt es eine deutliche geringere…

3 Tagen ago

BSI zu Cybersicherheit: Bedrohungslage bleibt angespannt

Allerdings nimmt auch die Resilienz gegenüber Cyberattacken zu. Das BSI hat außerdem die Cybersicherheit anstehender…

3 Tagen ago

IT-Ausgaben in Europa steigen 2025 voraussichtlich um 8,7 Prozent

Es ist das größte Wachstum in einem Jahr seit 2021. Unter anderem lässt das Interesse…

3 Tagen ago

Magento-Agentur für große Webshops: Was sollte die Magento-Agentur leisten können?

Magento zählt zu den führenden Shopsystemen in der Welt. Es punktet mit hoher Flexibilität und…

4 Tagen ago

Trojaner tarnt sich als AutoCAD

SteelFox gelangt über angebliche Cracks für kostenpflichtige Anwendungen auf die Rechner seiner Opfer. Betroffen sind…

4 Tagen ago