XAMPP

Aus Linupedia
Wechseln zu: Navigation, Suche
XAMPP
Logo des XAMPP-Projekts
Logo des XAMPP-Projekts
Basisdaten
Entwickler: Apache Friends
Aktuelle Version: 1.6.3
letzte Veröffentlichung: 23. Juli 2007
Betriebssystem: Windows, Linux, OS X, Solaris und andere Unix-Varianten
Kategorie: LAMP
Lizenz: Mischlizenz
Deutschsprachig: ja
Webseite: www.apachefriends.org/de/xampp.html

Autoren: Yehudi und Dr. Glastonbury

Diese Beschreibung wurde mit folgenden Distributionen getestet:


Installation und Konfiguration

XAMPP ist distributionunabhängig und kann schnell installiert werden. Der Nachteil ist, dass sich einzelne Komponenten nicht über apt updaten lassen.

Die Haupt-Komponenten sind:

Weitere Tools sind:

Wer über eine Flatrate mit DSL verfügt, kann sich über DynDNS einen Domainnamen holen, und diesen mit dem ddclient stets mit der eigenen IP updaten. Siehe Ddclient mit DynDNS konfigurieren

Hier lassen sich außer Webseiten auch Webblogs erstellen. Ich habe z.B. auf meinem Rechner erst mal Joomla in einer LAMP-Umgebung ausprobiert, bevor ich es bei meinem Provider auf meine Seite gestellt habe.

Zwecks dem CMS Joomla gibt es hier eine Menge Links:

Es ist für Anfänger besonders gut geeignet, ich habe es allerding gut mit PHP frisiert.

XAMPP lässt sich so installieren, dass es statt einer Domain, lokal verfügbar ist:
http://localhost
oder
http://127.0.0.1

Als erstes lädt man sich die neueste XAMPP-Version für Linux bei www.apachefriends.org herunter.

Als Super User wird sich nun in die Konsole eingeloggt:

su

Dann gibt man sein Administrationspasswort ein und wechselt mit cd in das Downloadverzeichnis:

cd /Downloadverzeichnis

Nun wird mit dem Befehl


tar xvfz xampp-linux-1.5.1.tar.gz -C /opt


nach /opt/lampp/htdocs installiert

Nun hat erst mal root nur Zugriff auf das Verzeichnis. das kann auch nur root ändern, z.B.:

chgrp users //opt/lampp/htdocs
chmod 2775 /opt/lampp/htdocs


Die Zugriffsrechte führe ich hier nicht weiter aus.

Um XAMPP zu starten gibt man nun als root im Terminalfenster

/opt/lampp lampp start


ein. Damit versucht der XAMPP sämtliche benötigte Dienste zu starten. Wenn einige Dienste schon laufen, weigert sich der XAMPP und spuckt eine Fehlermeldung mit den zu stoppenden Diensten aus. Bei SuSE Linux können das z.B.

rcapache2 stop 


und

rcmysql stoppenden

sein.

Nun muss ein restart des XAMPP's durchgeführt werden:

/opt/lampp lampp restart


Nun sollte der XAMPP laufen und kann

z.B. über www.yehudi.de aufgerufen werden. Dort landet man auf der oben erwähnten Weboberfläche. Dort können die Tools bedient werden.


XAMPP sicher machen

Wenn man den XAMPP dem Internet zugänglich macht, sollte man noch einige Sicherheitseinstellungen vornehmen.

Hierfür gibt man in der Konsole als root

/opt/lampp security

ein. Hier läuft nun ein Script ab, welches mehrere Fragen stellt.

So sollte als erste ein Passwort vergeben werden, durch das dann die XAMPP-Oberfläche geschützt wird und nur noch dem User lampp zugänglich ist.

MySQL sollte nicht übers Netzwerk erreichbar sein. Der MySQL-Administrator und der Zugriff auf den phpMyAdmin sollten auch mit einem Passwort geschützt werden. Auch der FTP-Zugriff sollte von dem Passwort lampp auf eine eigenes gesetzt werden. Weitere Konfigurationen müssen manuell in der Datei /opt/lampp/etc geändert werden. Wurden Änderungen per Hand gemacht, muss der XAMPP erneut gestartet werden, damit die Änderungen eingelesen werden.

sudo /opt/lampp restart

Wenn keine Fehlermeldungen kommen startet der Dienst sofort wieder. Die Sicherheitseinstellungen befinden sich als Übersicht in der XAMPP Oberfläche unter „Sicherheitscheck. Die PHP-Einstellungen lassen sich mit einem PHP-Script abfragen, welches folgenden Inhalt hat:

<?php
phpinfo();
?>

Nach dem Kontrollieren der PHP-Einstellungen sollte die Datei wieder gelöscht oder mit einer .htaccess-Datei geschützt werden.

Beenden

Als root der Befehl

/opt/lampp/lampp stop

beendet XAMPP und gibt folgende Meldungen zurück.

Stoppe XAMPP für Linux <Version>...
XAMPP: Stoppe Apache...
XAMPP: Stoppe MySQL...
XAMPP: Stoppe ProFTPD...
XAMPP beendet.

Deinstallation

rm -rf /opt/lampp

!!! ACHTUNG !!! das gesamte Verzeichnis /lampp/... inkl. Unterordner wird gelöscht.

Weiterführende Infos und Hilfen

So, nachdem ich hier ein wenig aufgeräumt habe, sind mir so einige Fragen immer wieder ins Auge gestochen. Damit diese ein für alle Mal beantwortet sind, stehen hier die wichtigsten Informationen zum einrichten eines "Linux Apache MySQL PHP"-Servers.

Unterschied zwischen XAMPP und LAMPP XAMPP ist ein LAMPP-System! ABER: XAMPP ist ein komplettes Paket, das bereits alle Serverdienste und Module für einen Webserver beinhaltet. Einen LAMPP-Server kann man auch nur mit den Boardpaketen von SuSE aufsetzen. Das dauert zwar evtl. länger, ist aber meiner Meinung nach besser zu konfigurieren, zu updaten und zu skalieren, da man hier genau bestimmen kann, was installiert wird und wie man es verwenden möchte. XAMPP ist zwar wunderbar vorkonfiguriert, aber bei eigenen Modulen oder anderen Ideen, wie es zur Anwendung kommen soll, kann man an seine Grenzen stoßen.

So viel zum Unterschied zwischen XAMPP und selbst installieren.

Wo bekomme ich XAMPP her?
http://www.apachefriends.org/de/xampp-linux.html

Wie installiere ich XAMPP?
http://www.apachefriends.org/de/xampp-linux.html#54

Wie starte ich XAMPP automatisch?
http://www.apachefriends.org/de/faq-xampp-linux.html#fsl

Meine Frage steht hier nicht!
Dann schau mal da: http://www.apachefriends.org/de/faq-xampp-linux.html !

Bevor ihr hier Fragen zu XAMPP postet, vergewissert euch bitte, dass sie 1. nicht schon auf der Projektseite in der FAQ/Installationsanleitung/Doku stehen und 2. nicht schon hier beantwortet wurden Wink

LAMPP mit SuSE-Boardpaketen:

Wie installiere ich Apache unter SuSE?
Einfach in Yast unter 'Software installieren oder löschen' nach apache suchen. Hier ein Häkchen bei dem apache2-Paket machen. (Oder natürlich über apt-get install apache2 isntallieren).

Wie mache ich meinen Indianer PHP-fähig?
In Yast unter 'Software installieren oder löschen' nach apache2-mod_php4 suchen. Auf der CD/DVD von SuSE10.0 ist noch kein PHP5 druff, ich denke auch nicht unter SuSE10.1, da PHP5 eigentlich noch in der Entwicklung steckt. Wer eine neuere Version will, muss die sich wohl per APT oder wie heißt das neue Tool? 'Smart' suchen...

Das Paket zieht jedenfalls php4 mit in seine Abhängigkeit, was der eigentliche Interpreter von PHP ist. Das apache-Modul dient nur als Vermittler zwischen dem Interpreter und Apache.

Nach der Installation sollte der Apache bereits PHP können, da die Pakete gleich die Konfiguration von Apache updaten.

Woher bekomm ich eine Datenbank
Für die meisten Hobby-programmierer bietet sich wohl MySQL an. Das findet sich auch im Softwarepaket von SuSE in der Version 4.1 - für neuere Versionen sollte man mal APT/Smart bemühen.

Wie kann ich in PHP die MySQL-Funktionen einbinden?
Wenn nicht schon bei der Installation von MySQL mitinstalliert, dann braucht ihr das Paket php4-mysql. Danach sollte PHP auch MySQL-Commands können. Wenn nicht, dann in der php.ini das Modul laden (Forumsuche!!!).

Wo liegt die php.ini
Bei XAMPP normal unter /opt/lampp/etc/php.ini, wenn man sich sein LAMPP-System selbst bastelt einfach unter /etc/php.ini

Wo liegen die Apache-Konfigs?
In dem Ordner /etc/apache2. Dabei ist die httpd.conf, die default-server.conf und die server-tuning.conf recht interessant.
Unter /etc/apache2/vhost.d liegt die Configuration für die sog. Vhosts:
http://www.linux-club.de/ftopic62806.html

Wie verwende ich Apache mit DynDNS
Wer seinen Server gerne auch im Internet verfügbar machen möchte, hat das Problem, dass er wahrscheinlich keine feste IP hat. Dafür gibt es Services, wie http://dyndns.org Dieser Dienst bietet Internetadressen an, die auf die Heimische IP verweisen; also z.B. http://<ein-name>.dyndns.org verweist auf 123.213.213.132

Dafür benötigt man den sog. ddclient: Ddclient mit DynDNS konfigurieren

In seinem heimischen Router muss noch Port 80 auf die IP des Webservers geleitet werden. Viele Router haben bereits einen Web oder HTTP-Service, den man z.B. unter Firewall-rules oder IP-Forwarding, oder Masquerading auf die interne IP seines Server einstellen kann:

LAN   Server         WAN User   Service Name   Protocol   Port
ALLOW 192.168.10.10      ANY      Web Server   TCP      80-80

So z.B. bei mir Wink

Danach kann man seinen Server über die DynDNS-Adresse von außen!! erreichen. Von intern muss man über die IP des Servers gehen, da ja die Domain auf die externe IP aufgelöst wird: man würde damit also erst raus ins internet gehen wollen, um dann gleich wieder reinzukommen <- das kann nicht funktionieren!

Wenn ihr testen wollt, ob das ganze geklappt hat, dann wählt euch mit einem Modem ein zweites Mal ins Inet von einem anderen PC aus ein und überprüft es, oder einfacher:
Geht auf http://validator.w3.org/ und gebt dort eure Internetaddresse ein. Dann wisst ihr 1. ob die Port-Freischaltung geklappt hat und was ich noch viiieeel^^ wichtiger finde: ob eure Seite den w3-Standards entspricht; wenn nicht, dann ÄNDERN! Wink

Auch interessant ist diese Seite, auf der ihr sehen könnt, auf welchen Ports euer PC im Internet lauscht:
https://www.grc.com/x/ne.dll?bh0bkyd2 Im Security-Forum ist da, wenn ich mich nicht täusche auch schon eine Anleitung dazu.

Serverdienste automatisch starten lassen
Die meisten Dienste, wie Apache, MySQL oder FTP können im Yast im runlevel-editor eingestellt werden! Dazu einfach die Dienste mit einem Häkchen aktivieren.


Eine genaue Beschreibung zum ddclient findet sich im Wiki

Wenn ihr noch weitere Programme habt, die nicht im Yast auftauchen, aber beim Systemstart mit gestartet werden sollen, dann helfen die beiden Threads weiter:

Hilfe zu Apache im Speziellen:

Hilfe zu MySQL im Speziellen:

Für SQL- und ODBC-Fragen gibt es hier auch ein eigenes Forum: SQL und ODBC. Bitte sucht auch hier nach Lösungen.

Hilfe zu PHP im Speziellen:

Für Fragen, die sich mit Programmiertechniken etc. beschäftigen, schaut bitte auch in das Programmierung-Forum.

Quellen und weiterführende Links

  • PC Welt Linux 3/2006



zurück zu LAMP