Neues Spielzeug (XAMPP installieren)

2009/01/26

In diesem Teil werden die Werkzeuge installiert, die unsere Ubuntu-VM zur Web-Applikations-Spielwiese machen:

Teil 3: XAMPP installieren

Profis würden jetzt die Pakete einzeln installieren; Apache, MySQL, PHP, Perl. Kann man auch, aber es dauert eine Weile und man muss an vielen Stellen Einstellungen ändern, Dateien verschieben und so weiter.

Deshalb holen wir uns das Komplettpaket XAMPP von Apachefriends.org. Das gibt es für Linux, Windows und Mac, und es ist gerade auf Linux sehr einfach zu installieren.

Download und Installation

  • In der VM den Firefox-Browser öffnen, entweder oben in der Mitte des Bildschirms oder über Anwendungen / Internet.
  • apachefriends.org im Browser aufrufen und XAMPP für Linux anwählen. Die Seite am besten mal kurz durchlesen.
  • XAMPP Linux runterladen. Normalerweise speichert Firefox ins Desktop-Verzeichnis, in unserem Fall /home/mes/Desktop.
  • Terminal-Fenster (Shell) öffnen (Anwendungen / Zubehör / Terminal) und ins Download-Verzeichnis wechseln: „cd Desktop“
  • Prüfen, dass das XAMPP-Paket hier liegt: „ls -l“
    Es sollte xampp-linux-1.7.tar.gz oder ähnlich heissen
  • Jetzt folgt der Zauberspruch für die Installation: „sudo tar xvfz xampp-linux-1.7.tar.gz -C /opt“
    Dabei wird das User-Passwort abgefragt; siehe Teil 2.

Das war’s schon. Was ist passiert? Der Inhalt des Pakets wurde in das System-Verzeichnis opt entpackt. Mehr muss man nicht tun, um XAMPP lauffähig zu installieren.

Im einzelnen:
„sudo“ – den folgenden Befehl im „super user“-Modus ausführen, deshalb die Passwortabfrage.
„tar“ – ist ein Standard-Unix Pack/Entpackprogramm. Dateien mit der Endung tar sind seine.
„xvfz“ – sind die Parameter für tar: x = entpacken; v = verbose, viel Ausgabe; f = es folgt ein tar-Dateiname; z = es ist ein komprimiertes tar (.gz).
„xampp-linux-1.7.tar.gz“ – der Paketname
„-C /opt“ – eine Option von tar, bedeutet Auspacken in das folgende Verzeichnis (/opt).

Warum „/opt“? Das ist Konvention. Technisch könnten wir XAMPP und jedes andere Programm in jedem Verzeichnis abspeichern und starten. Aber opt ist das traditionelle Systemverzeichnis für optionale Pakete.

Erststart

Im schon geöffneten Terminal tippen wir: „sudo /opt/lampp/lampp start“

„sudo“ kennen wir schon. „/opt/lampp/lampp“ ist das Startprogramm für XAMPP im Verzeichnis /opt/lampp und „start“ heisst genau das: XAMPP starten. Die anderen Optionen für das Startprogramm sind „stop“ und „restart“.

Es sollte „XAMPP fuer Linux gestartet“ ausgegeben werden. Wenn ja, dann laufen jetzt Apache (Webserver), MySQL (Datenbank) und PHP sollte auch verfügbar sein. Das testen wir im Firefox, indem wir localhost oder 127.0.0.1 aufrufen. Der Splash-Screen von XAMPP sollte erscheinen. Wir klicken auf „Deutsch“ – die Hauptseite von XAMPP erscheint – und danach links auf „Status“.

So sollte es dann auf dem Bildschirm aussehen:
xampp_install_01

Wo ist was?

Das wichtigste Verzeichnis auf unserer VM ist jetzt /opt/lampp/htdocs. Das ist das Web-Hauptverzeichnis. Zum Test erstellen wir eine erste PHP-Seite.

  • Im Terminalfenster ins Web-Verzeichnis wechseln: „cd /opt/lampp/htdocs“
  • Mit einem Editor eine neue Datei anlegen: „sudo gedit info.php“
  • In diese Datei die Zeile „<?php phpinfo(); ?>“ eintippen
  • Abspeichern, und
  • im Firefox „localhost/info.php“ aufrufen.

Wenn alles geklappt hat, sollte folgendes zu sehen sein:

xampp_install_02

Gruppenarbeit (Berechtigungen)

Warum schon wieder sudo bei einem simplen Editor? Weil /opt ein Systemverzeichnis ist, in dem wir als Benutzer mes eigentlich nicht schreiben dürfen. Andererseits muss der Webserver die Dateien auch lesen dürfen. Das heisst: Bei allen Dateien, die wir über den Webserver verarbeiten wollen, müssen wir darauf achten, dass die Leserechte ausreichen.

Der Webserver läuft unter dem User nobody. Wir sind normalerweise als mes angemeldet und mit sudo sind wir plötzlich root, also Systemadministrator.

Welche Berechtigungen bei einer Datei gesetzt sind, sieht man mit „ls -l“.

xampp_install_032

Wichtig für uns: Vor jeder Datei, die der Webserver verarbeiten soll, müssen links in der ls-Liste drei „r“ stehen. Drei, weil es die Lese-Berechtigungen („read“) für den Besitzer, die Gruppe des Besitzers und „other“ sind. Sollten keine drei „r“ dort stehen, kann man sie mit „sudo chmod ugo+r dateiname“ setzen. Alles weitere erklärt die man page für chmod, die man im Terminalfenster mit „man chmod“ ansehen kann. Die Kurzfassung gibt es mit „chmod –help“.

Automatischer Start

Leider müssen wir XAMPP bei jedem Start der VM neu starten („sudo /opt/lampp/lampp start“). Das ist hinderlich, deshalb benutzen wir die immer noch geöffnete Shell (das Terminalfenster), um XAMPP automatisch mit Ubuntu zu starten:

  • Wechseln ins Verzeichnis /etc: „cd /etc“
  • Die Datei rc.local in einen Editor laden: „sudo nano rc.local“
  • vor „exit 0“ die Zeile „sudo /opt/lampp/lampp start“ einfügen
  • Beenden mit Strg-X, speichern bestätigen mit J

Jetzt die VM neu starten, um den Autostart zu testen.

Was haben wir getan? Die Datei „/etc/rc.local“ enthält Befehle, die beim Start von Ubuntu ausgeführt werden. Normalerweise ist sie leer, aber aufgerufen wird sie trotzdem. Wir haben einfach die Zeile eingefügt, die wir sonst per Hand eintippen müssten.

Linux-Profis werden hier möglicherweise die Nase rümpfen; wenn sie diese Anleitung überhaupt lesen. Ja, es gibt andere Wege, Programme beziehungsweise „Dienste“ beim Systemstart zu starten. Aber wir bauen eine Spielwiese und beschränken uns auf die einfachste Methode.

Und nu?

Well, die Spielwiese läuft. Am besten jetzt eine Kopie der VM erstellen, denn so rein und frisch kriegen wir sie nie wieder zusammen. Der nächste Teil, Installation von Drupal in der VM, erscheint nicht hier, sondern im Blog Doku-Hotline meiner Frau, für die ich diese kleine Anleitung eigentlich geschrieben habe.


Virtuelle Sandkiste zum Mitnehmen (portable VM)

2009/01/23

Anforderung meiner Frau: „Mach mir doch mal eine VM zum Mitnehmen, wo ich <insert beliebige Webanwendung, Drupal, WordPress, Wiki> installieren und rumzeigen kann“. Okay. Virtuelle Maschine ist klar. Portabel, also vom USB-Stick oder der Moibilplatte einfach laufen lassen  ist schon schwieriger.

Virtualisierungs-Lösungen wollen entweder auf dem Hostrechner installiert werden oder haben keine akzeptable Oberfläche. Bis auf VirtualBox. Das gibt es jetzt auch portabel (danke Caschy). Und es ist für private und Testzwecke frei verfügbar.

Wir bauen uns also eine VM, tun ein freies Betriebssystem drauf, weil wir keine Kauflizenzen über haben und installieren den ganzen LAMP-Kram: Webserver, Datenbank, Skriptsprache.

Teil 1: Eine portable VM

… und dabei heisst portabel nicht nur „läuft auch von USB-Stick / Mobil-Platte“, sondern auch „läuft mit verschiedenen Virtualisierungs-Paketen“.

Benötigt werden:

  • portable Virtual Box (Verzeichnis); wähle Folder mit der höchsten Versionsnummer, z.B. VirtualBox v2.2.4, darin den Starter, z.B. Starter v3.1.0 und darin die Datei, die auf -Win32.exe endet, z.B. Portable-VirtualBox_v2.2.4-Starter_v3.1.0-Win32.exe
  • Ubuntu-Installations-ISO-Image (Verzeichnis); wähle „Desktop Edition“, „latest Version“, „32 bit“.

Download

Zuerst laden wir die Pakete herunter in unser Download-Verzeichnis.

portable Virtual Box ist ein selbstentpackendes Exe. Wir starten es und geben als Ziel am besten das Hauptverzeichnis an. Bei mir D:\. Es entsteht das Verzeichnis Portable-VirtualBox-Win32. Dieses Verzeichnis wird unser „Mitnehm“-Verzeichnis. Alles was sich hier ansammelt kommt  später auf unsere Mobil-Platte.

Alsdann starten wir im Verzeichnis Portable-VirtualBox-Win32 die Portable-VirtualBox.exe. Beim ersten Mal soll man sich registrieren, kann das Fenster aber auch einfach mit abbrechen schliessen.

Bevor wir aber eine neue VM anlegen, basteln wir uns eine virtuelle Festplatte dafür. Das VirtualBox-Fenster lassen wir offen.

Virtuelle Festplatte erstellen

Wichtigster Teil einer virtuellen Maschine ist ihr Festplatten-Image (vDisk). Das ist eine Datei, die von der VM als Festplatte angesehen wird. Jedes Virtualisierungspaket hat seine eigenen Formate, aber inzwischen unterstützen die meisten Pakete das VMDK-Format von VMWare. Wenn unsere portable VM dieses Format verwendet, können wir sie zum Beispiel auch auf VMWare und Qemu laufen lassen.

Netterweise kann Virtual Box dieses Format auch erzeugen, aber nicht mit seinem „Manager für virtuelle Medien“, sondern mit dem Kommandozeilen-Tool VBoxManager.exe, das sich in Portable-VirtualBox-Win32\app32\ befindet.

vDisk im VMDK-Format anlegen:

  1. Kommandozeilen-Fenster öffnen (Start, Ausführen, cmd.exe) und ins Verzeichnis Portable-VirtualBox-Win32\app32\ wechseln
  2. das Image erzeugen mit „VBoxManage.exe createhd -filename mes-play.vmdk -format VMDK -size 8000 -register“.
    -size 8000 legt die maximale Größe auf knapp 8GB (8000MB) fest, -register registriert die vDisk im „Manager für virtuelle Medien“
  3. Im VirtualBox-Fenster unter Datei den „Manager für virtuelle Medien“ aufrufen. Im Tab Festplatten sollte unsere neu erzeugte vDisk wie folgt auftauchen:
    virtboxport_mes-play_054
    Wie, nur 1 MB? Ja, die VMDK-Datei wird später bei Benutzung automatisch größer, eben bis zur maximal eingestellten Größe. VMWare enthält einige Tools, um VMDK-vDisks zu vergrößern, verkleinern und wie physikalische Platten anzukoppeln. Aber das brauchen wir erst mal nicht.
  4. Nun im Tab CD/DVD-Abbilder das Ubuntu-ISO hinzufügen:
    virtboxport_mes-play_061
  5. Jetzt den Medien-Manager schliessen

VM anlegen und starten

Jetzt können wir die eigentliche VM anlegen.

  1. Das VirtualBox-Fenster ist ja noch offen. Mit Neu eine neue VM anlegen.
    Name: MES-Playground,
    Betriebssystem: Linux,
    Version: Ubuntu
  2. Als Speicherplatz ist alles oberhalb von 384MB verwendbar. Je mehr Speicher desto besser. Aber bitte bedenken, dass sobald die VM läuft, der Speicher für die VM vom physikalischen Speicher für den Host abgeht. Für unsere Mini-VMs sind 500MB prima.
  3. Unter virtuellen Festplatten wird uns die eben erzeugte vDisk angeboten

Fertig. Unsere VM steht in der Liste. Da wir Linux darauf installieren wollen, schieben wir eine virtuelle CD in das virtuelle Laufwerk: Klick auf „CD/DVD-Laufwerk“, „CD/DVD-Laufwerk einbinden“ aktivieren und bei „ISO-Abbild“ das eben im Medien-Manager verknüpfte Ubuntu-ISO auswählen.

virtboxport_mes-play_07

Nun können wir die VM starten und das Ubuntu Linux darauf installieren. Die Anleitung dazu folgt im nächsten Teil: Ubuntu installieren, entrümpeln und updaten.

Weitere Links

  • Virtual Box original (Verzeichnis) (Version Windows 32bit), wenn man es auf dem eigenen Rechner installieren will
  • VMWare (Homepage) läuft auf Windows und Linux. Der freie VMWare-Server ist eine sehr brauchbare Lösung, wenn man zum Beispiel ein paar virtualisierte Entwicklungs- oder Testsysteme hat. Gute GUI-Unterstützung. Leider benötigt es reichlich Resourcen, muss installiert werden und belegt reichlich Plattenplatz.
  • Qemu für Windows (download) und für Linux (download) ist eine Virtualisierungs-Lösung wie Virtual Box, aber grafisch/GUI nicht so komfortabel unterstützt. Dafür kann es diverse Prozessoren simulieren, läuft ohne Installation auf Windows und Linux und unterstützt ebenfalls VMDK-Disks. Ich habe es sogar auf meinem eeePC nutzen können.