![]() |
|
||||||||||||||||||
|
|||||||||||||||||||
|
|||||||||||||||||||
von Elisabeth Bauer
Bisher war der Weg zum eigenen Web-Server für den Einsteiger mühsam: Handbücher wälzen, zahlreiche Pakete installieren und anschließend so lange an den Konfigurationsdateien pfriemeln, bis die Komponenten reibungslos zusammenarbeiten.
Das Server-Paket XAMPP bringt all das mit, was des Webmasters Herz begehrt: den Web-Server Apache mit PHP- und Perl-Unterstützung, den FTP-Server ProFTPd und die Datenbank MySQL (Abbildung 1). Fertig konfiguriert, mit deutschen Dialogen und speziell auf Anfänger zugeschnitten. Zur Installation genügt ein Shell-Kommando.
Laden Sie das XAMPP-Paket von [1] herunter und speichern Sie es in Ihrem Home-Verzeichnis. Öffnen Sie ein Terminal und melden sich mit su und Ihrem Root-Passwort als Administrator an. Mit dem Befehl
tar xvfz xampp-linux-1.4.7.tar.gz -C /opt
entpacken Sie das Archiv in das Verzeichnis /opt. Um etwaigen Passanten aus dem Netz erst mal keinen Zugriff auf den Server zu geben, kappen Sie vor dem Start von XAMPP Ihre Internet-Verbindung. Der Befehl
/opt/lampp/lampp start
startet nun alle XAMPP-Dienste: den Apache-Web-Server, die Datenbank MySQL und den FTP-Server ProFTP. Was es genau macht, gibt es in der Konsole aus (Abbildung 2): Auf unseren Testsystemen korrigierte XAMPP beim ersten Start eigenständig die Datei /etc/hosts. Das "L" im Namen des Befehls ist ein Relikt aus alten Zeiten, bevor die Entwickler die Linux-Version LAMPP und die Windows-Version WAMPP unter dem Namen XAMPP zusammengefasst haben.
Im Browser greifen Sie auf den Web-Server zu. Geben Sie http://localhost ein, erscheint die Willkommensseite von XAMPP. Ein Klick auf Status verrät Ihnen, welche Dienste laufen.
XAMPP will es Einsteigern ermöglichen, ohne große Hürden mit den klassischen Server-Tools zu experimentieren. Daher kommt es mit sehr laxen Sicherheitseinstellungen daher. Jeder kann -- aus dem lokalen Netz oder dem Internet -- auf alle Seiten des Web-Servers, auf das Datenbankadministrations-Tool Phpmyadmin und ohne Passwort auf die Datenbank direkt zugreifen. Rufen Sie im Browser den Sicherheitscheck auf, zeigt XAMPP den aktuellen Status an: in allen Kategorien unsicher. Na prima! Doch das ist mit einem mitgelieferten Skript schnell behoben. Im Terminal rufen Sie als Administrator
/opt/lampp/lampp security
auf. Beantworten Sie alle Fragen, die das Skript Ihnen stellt, mit ja (Abbildung 3). Passwörter müssen Sie jeweils zweimal eingeben. Wenn Sie anschließend die XAMPP-Seiten im Browser aufrufen, erscheint ein Anmeldedialog. Geben Sie als Benutzername lampp und das erste Passwort ein, das Sie im vorigen Dialog vergeben haben. Die Seite Sicherheitscheck sollte nun bei allen Einträgen sicher anzeigen (Abbildung 4).
Damit sind die ärgsten Löcher gestopft. Das ist jedoch kein Grund, jetzt alle Vorsicht fahren zu lassen: Jeder Server-Dienst macht ein System prinzipiell verwundbar. Regelmäßig entdecken Leute neue Sicherheitslücken, und mit Portscans klappern Hacker die Adressbereiche der großen Provider auf der Suche nach Opfern ab. Deshalb sollten Sie sich überlegen, für welche Aufgaben Sie XAMPP einsetzen wollen, und entsprechende Maßnahmen ergreifen. Eine Möglichkeit ist der ausschließliche Betrieb im Heimnetz. Wenn Sie mehrere Rechner haben, vereinfachen Sie damit den Datentausch und nutzen Web-Applikationen von jedem Rechner aus. Per Firewall verhindern Sie Zugriffe aus dem Internet auf Ihr XAMPP-System (siehe Kasten "Firewall konfigurieren").
Eine weitere Option besteht darin, XAMPP nur dann zu starten, wenn Sie es brauchen -- wenn Sie beispielsweise Freunden erlauben wollen, große Datenmengen herunterzuladen, die jedes Mail-Postfach sprengen. In dem Fall wählen Sie sich ins Netz ein, starten XAMPP und übermitteln Ihren Freunden per Telefon, Chat oder E-Mail die IP-Adresse, die Ihr Provider Ihnen zugewiesen hat. Mit dem Shell-Kommando /sbin/ifconfig finden Sie diese heraus. Sind alle Downloads fertig, beenden Sie XAMPP mit dem Befehl /opt/lampp/lampp stop (siehe Tabelle "XAMPP-Befehle").
Die dritte Möglichkeit ist der Dauerbetrieb mit voller Anbindung ans Internet. Wer keine feste IP-Adresse hat, kommt dabei um DynDNS kaum herum: Bei diesem -- oft kostenlos angebotenen -- Dienst erhalten Sie einen festen Domain-Namen, dem Sie, wenn Sie sich ins Internet einwählen, Ihre aktuelle IP-Adresse zuweisen. Wer das nicht manuell per Web-Interface erledigen will, findet für Linux spezielle DynDNS-Clients [2]. Regelmäßige Updates und die Lektüre der einschlägigen Sicherheitsforen sind hier Pflicht, will man nicht eines Tages ungebetene Gäste begrüßen. Will oder kann man sich nicht intensiv um seinen Server kümmern, nutzt man für seine Homepage besser eines der klassischen Webhosting-Pakete.
Wenn klar ist, wofür Sie Ihren XAMPP-Server einsetzen wollen, kann's losgehen. Starten Sie mit dem Befehl kdesu konqueror den Datei-Manager Konqueror im Systemverwaltungsmodus und navigieren Sie in das Verzeichnis /opt/lampp/htdocs. Das ist das Wurzelverzeichnis des Web-Servers, der Platz für die Inhalte, die Sie präsentieren wollen. Rufen Sie im Browser wie vorher die Adresse localhost oder die IP-Adresse, die Ihr Rechner im Internet oder Heimnetz hat, auf, sucht der Web-Server nach einer Datei index.html in diesem Verzeichnis und liefert diese aus.
Die von XAMPP mitgelieferte index.html leitet automatisch auf die schon bekannten Beispielseiten im Unterverzeichnis xampp weiter. Legen Sie mit einem Text-Editor, zum Beispiel kwrite eine Datei index.html mit folgendem Inhalt an:
<html> <head></head> <body> <h1>Hallo Welt</h1> <a href="/xampp/">weiter zu XAMPP</a> </body> </html>
Kopieren Sie diese nach /opt/lampp/htdocs und überschreiben die vorhandene Datei index.html damit, erhalten Sie ein rudimentäres Inhaltsverzeichnis mit einem Link auf die XAMPP-Seiten. Mit einem HTML-Editor wie Quanta [3], Bluefish [4] oder dem in dieser Ausgabe vorgestellten Mozilla Composer gestalten Sie eine aufwendigere Einstiegsseite.
Mit dem Konqueror im Administratormodus oder als Root mit den Shell-Befehlen cp und mv können Sie nun das Verzeichnis htdocs nach Belieben mit HTML-Dateien, Bildern und Unterordnern füllen. Auch PHP- und Perl-Skripte wie zum Beispiel das Gästebuch, das XAMPP bereits an Bord hat, gehören in dieses Verzeichnis.
XAMPP kann weit mehr als nur Web-Seiten ausliefern. Klicken Sie im Administrations-Interface auf Webalizer, generiert es automatisch eine grafische Auswertung der Zugriffe auf den Web-Server (Abbildung 5). Gleich darüber in der Seitenleiste finden Sie Phpmyadmin, ein grafisches Frontend zur Verwaltung der MySQL-Datenbanken. Kleine Beispielapplikationen fürs Web wie ein Gästebuch und eine Adressdatenbank liegen unter Demos.
Zusätzlich hat XAMPP den FTP-Server ProFTPD an Bord. Das Sicherheitsskript schützt diesen mit einem Passwort, der Benutzer-Account heißt nobody. Mit ftp://nobody:passwort@ihre-ip-adresse/ greifen Sie im Browser oder per FTP-Programm darauf zu. Wie der Web-Server Apache nutzt auch ProFTPD das Verzeichnis htdocs für die Dateien, die er ausliefert.
Programme wie Apache und ProFTPD sind nicht einfach zu konfigurieren, und oft hilft dem Anfänger nur das Handbuch weiter. Einigen gängigen Problemen kommt man jedoch leicht bei. Achten Sie darauf, dass die Dateien und Verzeichnisse keine Leerzeichen oder Umlaute im Namen haben -- das mögen Server gar nicht. Eine weitere häufige Fehlerquelle sind unzureichende Rechte [5]. Wenn Sie beim Aufruf einer Seite die Meldung Permission denied erhalten, überprüfen Sie die Rechte der Datei. Schalten Sie den Konqueror über Ansicht / Anzeigemodus / Detaillierte Verzeichnisansicht auf eine ausführlichere Darstellung um.
Die Spalten Berechtigungen, Eigentümer und Gruppen sind interessant. In der Abbildung "gehört" die Datei index.html beispielsweise dem Benutzer nobody und der Gruppe root. Die Rechte sind auf rwxr-xr-x gesetzt. r steht für Lesen, w für Schreiben und x für Ausführen. Die ersten drei Buchstaben ergeben die Rechte des Eigentümers: nobody darf diese Datei also lesen, schreiben und ausführen, während die Benutzer der Gruppe root (zweites Tripel) und alle anderen (drittes Tripel) sie nur lesen und ausführen, aber nicht ändern dürfen.
Mit dem Befehl chmod oder über den Reiter Berechtigungen im Dialog Eigenschaften im Konqueror ändern Sie falsch gesetzte Rechte, den Eigentümer und die Gruppe (Abbildung 6). Damit der Zugriff klappt, braucht der Nutzer, unter dessen Namen der Server läuft, ausreichende Rechte. Da Sie XAMPP als Root gestartet haben, wäre das normalerweise der Benutzer root. Aus Sicherheitsgründen betreibt XAMPP jedoch Apache, ProFTPD und MySQL unter der Kennung von Benutzer nobody, der unter Linux eingeschränkte Rechte hat. Dateien müssen also für nobody lesbar, Skripte auch ausführbar sein, Schreibrechte braucht er dagegen in der Regel nicht. (eba)
| XAMPP-Befehle | |
| Aufruf: /opt/lampp/lampp <Aktion> | |
| start | Startet XAMPP (Apache, MySQL und evtl. weitere) |
| startapache | nur Apache |
| startssl | nur Apache im HTTPS-Modus (SSL) |
| startmysql | nur MySQL |
| startftp | nur ProFTPD |
| stop | Stoppt XAMPP (Apache, MySQL und evtl. weitere) |
| stopapache | nur Apache |
| stopssl | nur Apache im HTPPS-Modus |
| stopmysql | nur MySQL |
| stopftp | nur ProFTPD |
| reload | Startet alle Dienste neu |
| reloadapache | nur Apache |
| reloadmysql | nur MySQL |
| reloadftp | nur ProFTPD |
| restart | Stoppe und starte XAMPP |
| security | Überprüfe XAMPPs Sicherheit |
| php5 | Schaltet um auf PHP5 |
| php4 | Schaltet um auf PHP4 |
| phpstatus | Welches PHP ist aktiv? |
| backup | Backup der Konfiguration, Logs und aller Daten. Mit sh /opt/lampp/backup/xampp-backup-datum.sh spielen Sie ein Backup zurück. |
| Benutzer-Accounts | ||
| Dienst | Benutzername | Passwort |
| XAMPP-Web-Seiten | lampp | Ändern per Sicherheitsskript, relevante Dateien /opt/lampp/lib/xampp.users und /opt/lampp/htdocs/xampp/.htaccess |
| FTP | nobody | Ändern per Sicherheitsskript, gespeichert in /opt/lampp/etc/proftpd.conf |
| Phpmyadmin | pma | Ändern per Sicherheitsskript, gespeichert in phpmyadmin/config.inc.php |
| Mysql | root | Ändern per Sicherheitsskript, Achtung: nicht identisch mit dem Linux-User root |
| Firewall konfigurieren |
|
Unter SuSE Linux 9.1 wählen Sie das Modul Firewall im Reiter Sicherheit und Benutzer in YaST. Im ersten Schritt stellen Sie die externe Schnittstelle ein -- das ist das Gerät, über das Ihr Rechner mit dem Internet verbunden ist, zum Beispiel ppp0 für eine Modem-Verbindung. Klicken Sie auf Weiter, präsentiert YaST einen Dialog, in dem die Dienste aufgelistet werden, die Sie von außen zugänglich machen wollen: Markieren Sie hier die Checkbox HTTP für den Web-Server. Wer auch den FTP-Server vom Internet aus erreichen will, trägt im Experten-Dialog 20 21 ein -- das sind die von FTP standardmäßig verwendeten Ports. Im dritten Dialog sollten Sie die Option Alle laufenden Dienste schützen aktivieren. Damit erlaubt die Firewall nur noch Zugriff auf die Ports, die Sie im vorherigen Dialog freigeschaltet haben. Fedora-Anwender finden die grafische Firewall-Konfiguration unter Systemeinstellungen / Sicherheitslevel im K-Menü. Nach Eingabe Ihres Administratorpassworts präsentiert Fedora einen einfach gestrickten Dialog. Markieren Sie dort im Kasten Sichere Services die Dienste, die vom Internet aus zugänglich sein sollen, zum Beispiel WWW (HTTP) für den Web-Server und FTP. Im unteren Kasten zeigt Fedora Sichere Geräte an. Wenn Sie zu Hause ein internes Netz haben, können Sie dort das Interface, das den Rechner mit dem Heimnetz verbindet, ankreuzen -- in der Regel ist das der Ethernet-Anschluss eth0. Benutzer von Mandrake Linux öffnen das Mandrake-Kontrollzentrum über Einstellungen / Configure your computer im K-Menü. Starten Sie den Assistenten zur Firewall-Einrichtung im Reiter Sicherheit. Hier bestimmen Sie, welche Dienste vom Internet aus zugänglich sein sollen: Kreuzen Sie Webserver und -- wenn Sie auch den FTP-Server nutzen wollen -- FTP an. Die Firewall ist anschließend sofort aktiv. Falls sich der Assistent darüber beschwert, dass das Paket Shorewall fehlt, installieren Sie es über das Paketverwaltungs-Tool RpmDrake nach. Mandrake bietet zwar an, das Paket direkt zu installieren -- das schlug bei uns im Test jedoch fehl. |
| Infos |
|
[1] XAMPP: http://www.apachefriends.org/download.php?xampp-linux-1.4.7.tar.gz
[2] Frederik Bijlsma: "ddclient", LinuxUser 07/2003, S.66 http://www.linux-user.de/ausgabe/2003/07/066-ootb/ [3] Elisabeth Bauer: "HTML-Seiten gestalten mit Quanta", EasyLinux 05/2004 S. 37ff. [4] Elisabeth Bauer: "HTML mit dem Editor Bluefish", EasyLinux 08/2003 S. 16ff. [5] Elisabeth Bauer: "Alles, was recht ist", EasyLinux 09/2003 S. 71ff. http://www.easylinux.de/Artikel/ausgabe/2003/09/071-guru-chmod/ |
Dieser Online-Artikel kann Links enthalten, die auf nicht mehr vorhandene Seiten verweisen. Wir ändern solche "broken links" nur in wenigen Ausnahmefällen. Der Online-Artikel soll möglichst unverändert der gedruckten Fassung entsprechen.
Druckerfreundliche Version |
Feedback zu dieser Seite |
Datenschutz |
© 2010 Linux New Media AG |
Last modified: 2007-01-25 17:25
[Linux-Magazin]
[LinuxUser]
[Linux-Community]
[Admin-Magazin]
[Ubuntu User]
[Linux Events]
[Linux Magazine]
[Ubuntu User]
[Admin Magazine]
[Linux Magazine Poland]
[Linux Community Poland]
[Linux Magazine Brasil]
[Linux Magazine Spain]
[Linux Technical Review]