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

Themenseiten: Linux, Open Source, Server, Servers, Software, Storage, Storage & Server, Webentwicklung

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu Apache: Verschlüsselung und Webanwendungen einrichten

Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *