Copying sources and texts (also in parts) for publishing without our permission is NOT ALLOWED. We are fed up with finding our work on other sites (like stackoverflow).
Das Kopieren von Quellcode und Texten (auch in Auszügen) ist nicht erlaubt. Wir haben es gründlich satt, unsere Arbeit auf anderen Webseiten zu finden.

Copying for non-public usage is allowed.           Das private Kopieren und Benutzen ist natürlich erlaubt und erwünscht.
25. Sep 2012
Teaser

KendoUI: Daten per AJAX Request aus einer JSON-Datenquelle (aus einem PHP Script) einlesen

Um in KendoUI Daten (z.Bsp. für einen “Grid” = Tabelle/Datengitter) aus einer JSON Datenquelle einzulesen, hilft Ihnen diese Anleitung. Als Datenquelle dient in diesem Beispiel ein PHP Script.

Das Grid wird im HTML Code deklariert:

<div id="grid"></div>

Im script-Bereich später dann durch die KendoUI Funktionen aktiviert:

$(document).ready(function() {
  var grid = $("#grid").kendoGrid({
  dataSource: {
    transport: {
      read: {
        url: "test.php",
        dataType: "json"
      }
    },
    schema: {
      data: "data"
    }
  },
  columns: [
    { field: "ID", width: 60 },
    { field: "title", title: "Titel" },
    { field: "author", title: "Autor" },
    { field: "isbn", title: "ISBN", width: 60 }
    // [...]
  ],
  height: 600,
  sortable: true,
  // [...]
  });
});

Das folgende PHP Beispielscript liefert die Musterdaten:

<?php
 $dat["ID"] = 1; 
 $dat["title"] = "Mustertitel";
 $dat["author"] = "Max Muster";
 $dat["isbn"] = "12345...";
 $buch[] = $dat;

 $dat["ID"] = 2;
 $dat["title"] = "Beispielbuch";
 $dat["author"] = "Berta Buch";
 $dat["isbn"] = "56789...";
 $buch[] = $dat; 

 echo '{"total":'.count($dat).',"data":'.json_encode($dat).'}'; 
?>

Das Beispiel kann auf auf die DropDownList von KendoUI übertragen werden. Dann das Element wie folgt definiert werden:

        $("#dropdown").kendoDropDownList({
                index: 0,
                dataTextField: "title",
                dataValueField: "ID",
                dataSource: {
                        transport: {
                                read: {
                                        url: "test.php",
                                        dataType: "json"
                                }
                        },
                        schema: {
                                data: "data"
                        }
                }
      });
15. Sep 2012
Teaser

Linux: Alle Computer im Netzwerk finden und auflisten (Commandline LAN Scanner)

Um alle Netzwerk-Geräte in einem Netzwerk von Linux aus zu finden, hilft Ihnen folgender Befehl. Ersetzen Sie bitte die IP Adresse durch die für Ihre Netzwerk passende Maske (hier: 192.168.1…):

for ip in $(seq 1 254); do ping -c 1 192.168.0.$ip>/dev/null; [ $? -eq 0 ] && echo "192.168.0.$ip UP" || : ; done

Beispiel-Ausgabe:

192.168.1.1 UP
192.168.1.2 UP
192.168.1.5 UP
[...]

Dieser Befehl kann natürlich auch von Servern aus z.Bsp. via SSH auf Kommandozeilenebende (Shell,Terminal) ausgeführt werden.

Windows-Variante

Diese Technik können Sie auch von Windows aus benutzen:

for /L %I in (1,1,254) DO ping -w 30 -n1 192.168.1.%I | find "Reply"
14. Sep 2012
Teaser

Apache: Probleme mit SSL (“Some of your private key files are encrypted for security reasons.”)

Wenn Sie beim Start Ihres Apache2-Webservers diese Fehlermeldung erhalten, dann kann Ihnen diese Anleitung weiter helfen:

Apache/2.2.16 mod_ssl/2.2.16 (Pass Phrase Dialog)
Some of your private key files are encrypted for security reasons.
In order to read them you have to provide the pass phrases.

Server servername:80 (RSA)
Enter pass phrase:Apache:mod_ssl:Error: Private key not found.
**Stopped
httpd not running, trying to start
Action 'graceful' failed.
The Apache error log may have more information.

Im Apache2-Logfile (“/var/log/apache/error.log”) stehen dazu folgende ergänzende Informationen:

[Fri Sep 14 18:54:25 2012] [error] Init: Unable to read pass phrase [Hint: key introduced or changed before restart?]
[Fri Sep 14 18:54:25 2012] [error] SSL Library Error: 218710120 error:0D094068:asn1 encoding routines:d2i_ASN1_SET:bad tag
[Fri Sep 14 18:54:25 2012] [error] SSL Library Error: 218529960 error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag
[Fri Sep 14 18:54:25 2012] [error] SSL Library Error: 218595386 error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error
[Fri Sep 14 18:54:25 2012] [error] SSL Library Error: 218734605 error:0D09A00D:asn1 encoding routines:d2i_PrivateKey:ASN1 lib

In diesem Fall fehlt dem SSL Zertifikat das entsprechende Passwort, welches bei der Erstellung dieses Zertifikates vergeben wurde.

Die einfachste Lösung in diesem Fall ist das Erstellen eines neuen SSL-Zertifikates. Achtung: Dieser Hinweis gilt nur für private Server oder intern genutzte Server, denn beim Nutzen selbst-signierter SSL-Zertifikate erhalten die Webseitenbesucher vor dem Öffnen der Webseite einen Warnhinweis (sh. Bild am Ende des Artikels).

Beispiel:
Der folgende Befehl erstellt ein SSL-Zertifikat mit einer Gültigkeit von 365 Tagen, dem “X.509 Certificate Signing Request” und einer Schlüsselstärke von 2048 Bits:

openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /var/www/apache.key -out /var/www/apache.crt

Beantworten Sie die angezeigten Fragen (hier nur ein Beispiel):

Generating a 2048 bit RSA private key
...+++
..+++
writing new private key to '/var/www/apache.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:DE
State or Province Name (full name) [Some-State]:
Locality Name (eg, city) []:
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Test
Organizational Unit Name (eg, section) []:
Common Name (eg, YOUR name) []:Test
Email Address []:

Jetzt finden Sie in Ihrem Apache2-Webserver Verzeichnis (“/var/www/”) zwei neue Dateien:

-rw-r--r--  1 root root    1326 14. Sep 08:08 apache.crt
-rw-r--r--  1 root root    1679 14. Sep 08:08 apache.key

Diese Dateien können Sie nun in Ihre Konfigurationsdatei des WebServers bzw. des virtuelles Hosts einbinden. In diesem Beispiel binde ich die beiden SSL-Dateien in den “Default” Server ein:

nano /etc/apache2/sites-enabled/000-default

[...]
SSLEngine on
SSLCertificateFile /var/www/apache.crt
SSLCertificateKeyFile /var/www/apache.key

Jetzt muss der Apache2-Server neu gestartet werden:

/etc/init.d/apache2 restart

Jetzt können Sie Ihre Webseite mit dem Protokoll “https://” aufrufen.

Dabei wird Ihnen wahrscheinlich die folgende Warnmeldung angezeigt, welche Sie (bei einer vertraulichen internen Nutzung der Webseite) bestätigen können:

  • Klicken Sie auf “Ich kenne das Risiko”
  • Dann auf “Ausnahmen hinzufügen …” klicken > Es wird ein neues Fenster geöffnet
  • Klicken Sie auf “Sicherheits-Ausnahmeregel bestätigen”

Weitere Artikel

Artikel zur Lösung des Problemes “Fehlercode: ssl_error_rx_record_too_long”

13. Sep 2012
Teaser

Linux: VirtualBox auf einem Debian Server (V6.0 Squeeze) über eine PHP Webseite steuern (“phpVirtualBox”)

Um eine VirtualBox Installation auf einem “headless” Server zu betreiben, brauchen Sie entweder viel Routine im Umgang mit Kommandzeilen, deren Parametern und einen sicheren SSH Zugang … oder Sie nutzen eine Online-Verwaltung Ihrer VirtualBox Installation: In diesem Artikel möchte ich Ihnen “phpVirtualBox” vorstellen

Vorbereitung

Download

Auf der Seite “http://code.google.com/p/phpvirtualbox/” können Sie das Programm (PHP, Open source) herunterladen.

Um die jeweils aktuelle Version auf Ihren Server herunterzuladen, können Sie folgenden Befehl nutzen:

wget `wget -q -O - http://phpvirtualbox.googlecode.com/files/LATEST.txt` -O phpvirtualbox-latest.zip

Vorbereitungen

Erstellen Sie (falls noch nicht bei der VirtualBox-Installation durchgeführt) den Benutzer “vbox” und weisen Sie ihn der Gruppe “vboxusers” zu.

groupadd vboxusers
useradd -m vbox -G vboxusers

Setzen Sie ein neues Passwort für den Benutzer “vbox”:

passwd vbox
Geben Sie ein neues UNIX-Passwort ein:
Geben Sie das neue UNIX-Passwort erneut ein:
passwd: Passwort erfolgreich geändert

Installation

Entpacken Sie das heruntergeladene ZIP-Archiv auf Ihrem Server:

unzip phpvirtualbox-latest.zip

Sollten Sie “unzip” nicht installiert haben, können Sie mit folgendem “apt-get” Befehl das Paket einfach nachinstallieren:

apt-get install unzip

Das ZIP-Archiv können Sie nach erfolgreichem Entpacken löschen (optional):

rm phpvirtualbox-latest.zip

Verschieben Sie das Verzeichnis auf Ihren WebServer. In diesem Beispiel habe ich den Standard-Pfad des Apache2-Servers unter Linux (“/var/www/”) gewählt:

mv phpvirtualbox-4.1-10 /var/www/
cd /var/www/phpvirtualbox-4.1-10

Kopieren Sie die Vorlage der Konfigurationsdatei:

cp config.php-example config.php

Legen Sie in der gerade erstellten Konfigurationsdatei “config.php” einen Benutzernamen und ein Zugangspasswort für “phpVirtualBox” fest. Ersetzen Sie dabei das “password” bitte durch Ihr o.a. Benutzerpasswort für “vbox”:

nano config.php
[...]
/* Username / Password for system user that runs VirtualBox */
var $username = 'vbox';
var $password = 'password';
[...]

Erstellen Sie die Datei “/etc/default/virtualbox” und fügen Sie die Zeile “VBOXWEB_USER=vbox” ein:

nano /etc/default/virtualbox

Speichern und schließen Sie die Datei.

Zuerst muss der WebService (WebDienst) von VirtualBox gestartet werden:

/etc/init.d/vboxwp-service start

Sollte der Dienst bereits laufen, starten Sie ihn mit folgendem Befehl neu:

/etc/init.d/vboxwp-service restart

Am einfachsten ist es, diesen Start automatisch bei Systemstart ausführen zu lassen.
Hier der entsprechende Befehl für einen Debian Server (V6; “squeeze”):

update-rc.d vboxwp-service defaults

Jetzt können Sie “phpVirtualBox” in Ihrem Browser öffnen:
http://127.0.0.1/phpvirtualbox-4.1-10/

Melden Sie sich mit dem Standardbenutzer und Standardpasswort an:
Benutzername = “admin”
Passwort = “admin”

Sollten Sie die derzeit aktuelle VirtualBox Version 4.2 nutzen, erhalten Sie einen Warnhinweis welchen Sie mit “OK” bestätigen können:

13. Sep 2012
Teaser

Linux: DHCP Auflösung funktioniert nicht beim Acer HomeServer H340 mit Linux (Debian,Ubuntu)

Wenn Sie auf Ihrem Acer H340 einen Linux-Server betreiben (z.Bsp. einen “Debian V6” aka “squeeze”) und nach dem Start Probleme mit der automatischen IP-Adressenzuweisung haben, dann hilft Ihnen dieser Artikel vielleicht weiter:

Für die Umsetzung dieser Tipps sollten Sie die Platte(n) ggf. in einem anderen PC einhängen und dort die Anpassungen durchführen, denn der Acer H340 hat (in der Standard Ausführung) bekanntlich keinen Monitoranschluss (was übrigends auf eine Definition von Seiten Microsoft zurückzuführen ist).

Die zugeordneten Netzwerkkarten löschen

Öffnen Sie dafür die folgende Datei mit einem Editor (hier: “nano”):

nano /etc/udev/rules.d/70-persistent-net.rules

Entfernen Sie alle Einträge, die mit SUBSYSTEM==”net” beginnen und speichern Sie die Datei ab.

Erweitern Sie die automatische IP Nutzung auch auf eine zweite Netzwerkkarte (“eth1”)

Das hat den Hintergrund, dass der H340 Server ggf. seine eigene Netzwerkkarte als zweite Netzwerkkarte erkennt. Öffnen Sie dafür die folgende Datei:

nano etc/network/interfaces

Ergänzen Sie die Datei durch den folgenden Eintrag für “eth1”. Im folgenden finden Sie meine Datei als Beispiel:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

auto eth1
iface eth1 inet dhcp

# The primary network interface
#allow-hotplug eth0
#iface eth0 inet dhcp
12. Sep 2012
Teaser

Linux: VirtualBox auf einem Debian Server (V6.0 Squeeze) ohne X-Server (GUI) installieren und betreiben

Sie können VirtualBox auch ohne Grafikkarte bzw. graphische Oberfläche (X11,GUI,…) betreiben. Dieser Modus nennt sich “headless”. Dafür gibt es durchaus große Verwendung, denn z.Bsp. haben sauber installierte Server-Systeme keine graphischen Oberflächen – wozu auch, denn sie vertreiben Daten und Dienste und werden von Informatikern (oder meist Administratoren) durch Fernwartung (z.Bsp. “SSH”) kontrolliert und gesteuert. Dabei sind bunte Oberfläche häufig nicht erforderlich, durch den Mehrverbrauch an Datenvolumen beim Verbinden sogar störend.

Um auf einem Linux Debian Server eine VirtualBox Installation durchzuführen, folgen Sie dieser Anleitung:

Vorbereitung

Gehen Sie auf die Homepage von VirtualBox und laden Sie sich Ihre gewünschte Version für Debian herunter:
https://www.virtualbox.org/wiki/Linux_Downloads

Der direkte Link für die Version 4.2 ist:
32 bit: http://download.virtualbox.org/virtualbox/4.2.0/virtualbox-4.2_4.2.0-80737~Debian~squeeze_i386.deb
64 bit: http://download.virtualbox.org/virtualbox/4.2.0/virtualbox-4.2_4.2.0-80737~Debian~squeeze_amd64.deb

Für den direkten Download können Sie auf dem Debian Server auch den Befehl “wget” benutzen – hier am Beispiel der 64-bit Version von VirtualBox:

wget http://download.virtualbox.org/virtualbox/4.2.0/virtualbox-4.2_4.2.0-80737~Debian~squeeze_amd64.deb

Installation

Starten Sie die Installation:

dpkg -i virtualbox-4.2_4.2.0-80737~Debian~squeeze_amd64.deb
Vormals abgewähltes Paket virtualbox-4.2 wird gewählt.
(Lese Datenbank ... 47617 Dateien und Verzeichnisse sind derzeit installiert.)
Entpacken von virtualbox-4.2 (aus virtualbox-4.2_4.2.0-80737~Debian~squeeze_amd64.deb) ...
dpkg: Abhängigkeitsprobleme verhindern Konfiguration von virtualbox-4.2:
 virtualbox-4.2 hängt ab von libcurl3-gnutls (>= 7.16.2-1); aber:
  Paket libcurl3-gnutls ist nicht installiert.
 virtualbox-4.2 hängt ab von libpng12-0 (>= 1.2.13-4); aber:
  Paket libpng12-0 ist nicht installiert.
 virtualbox-4.2 hängt ab von libpython2.6 (>= 2.6); aber:
  Paket libpython2.6 ist nicht installiert.
 virtualbox-4.2 hängt ab von libqt4-network (>= 4:4.5.3); aber:
  Paket libqt4-network ist nicht installiert.
 virtualbox-4.2 hängt ab von libqt4-opengl (>= 4:4.5.3); aber:
  Paket libqt4-opengl ist nicht installiert.
 virtualbox-4.2 hängt ab von libqtcore4 (>= 4:4.6.1); aber:
  Paket libqtcore4 ist nicht installiert.
 virtualbox-4.2 hängt ab von libqtgui4 (>= 4:4.6.2); aber:
  Paket libqtgui4 ist nicht installiert.
 virtualbox-4.2 hängt ab von libsdl1.2debian (>= 1.2.10-1); aber:
  Paket libsdl1.2debian ist nicht installiert.
 virtualbox-4.2 hängt ab von libxcursor1 (>> 1.1.2); aber:
  Paket libxcursor1 ist nicht installiert.
dpkg: Fehler beim Bearbeiten von virtualbox-4.2 (--install):
 Abhängigkeitsprobleme - verbleibt unkonfiguriert
Fehler traten auf beim Bearbeiten von:
 virtualbox-4.2

Sie können die Installation inkl. der benötigten Pakete durch den Befehl “apt-get” erneut starten:

apt-get install -f

Die Anzahl der zusätzlich benötigten Pakete kann bei Ihrem Server natürlich abweichen:

Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut
Statusinformationen werden eingelesen... Fertig
Abhängigkeiten werden korrigiert... Fertig
Die folgenden zusätzlichen Pakete werden installiert:
  fontconfig libasound2 libaudio2 libcurl3-gnutls libdirectfb-1.2-9 libglib2.0-0 libglib2.0-data libjpeg62 liblcms1 libmng1 libmysqlclient16 libpng12-0 libpython2.6
  libqt4-dbus libqt4-designer libqt4-network libqt4-opengl libqt4-qt3support libqt4-script libqt4-sql libqt4-sql-mysql libqt4-xml libqtcore4 libqtgui4 libsdl1.2debian
  libsdl1.2debian-alsa libsvga1 libsysfs2 libtiff4 libts-0.0-0 libx86-1 libxcursor1 mysql-common qt4-qtconfig shared-mime-info tsconf
Vorgeschlagene Pakete:
  defoma libasound2-plugins nas liblcms-utils libqt4-dev
Die folgenden NEUEN Pakete werden installiert:
  fontconfig libasound2 libaudio2 libcurl3-gnutls libdirectfb-1.2-9 libglib2.0-0 libglib2.0-data libjpeg62 liblcms1 libmng1 libmysqlclient16 libpng12-0 libpython2.6
  libqt4-dbus libqt4-designer libqt4-network libqt4-opengl libqt4-qt3support libqt4-script libqt4-sql libqt4-sql-mysql libqt4-xml libqtcore4 libqtgui4 libsdl1.2debian
  libsdl1.2debian-alsa libsvga1 libsysfs2 libtiff4 libts-0.0-0 libx86-1 libxcursor1 mysql-common qt4-qtconfig shared-mime-info tsconf
0 aktualisiert, 36 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
1 nicht vollständig installiert oder entfernt.
Es müssen 27,0 MB an Archiven heruntergeladen werden.
Nach dieser Operation werden 67,4 MB Plattenplatz zusätzlich benutzt.
Möchten Sie fortfahren [J/n]? j
Hole:1 http://security.debian.org/ squeeze/updates/main mysql-common all 5.1.63-0+squeeze1 [70,1 kB]
Hole:2 http://security.debian.org/ squeeze/updates/main libmysqlclient16 amd64 5.1.63-0+squeeze1 [1.971 kB]
Hole:3 http://ftp.de.debian.org/debian/ squeeze/main libcurl3-gnutls amd64 7.21.0-2.1+squeeze2 [266 kB]
Hole:4 http://ftp.de.debian.org/debian/ squeeze/main libpng12-0 amd64 1.2.44-1+squeeze4 [180 kB]
Hole:5 http://ftp.de.debian.org/debian/ squeeze/main libpython2.6 amd64 2.6.6-8+b1 [1.077 kB]
Hole:6 http://ftp.de.debian.org/debian/ squeeze/main libglib2.0-0 amd64 2.24.2-1 [1.122 kB]
Hole:7 http://ftp.de.debian.org/debian/ squeeze/main libqtcore4 amd64 4:4.6.3-4+squeeze1 [2.503 kB]
Hole:8 http://ftp.de.debian.org/debian/ squeeze/main libqt4-network amd64 4:4.6.3-4+squeeze1 [542 kB]
Hole:9 http://ftp.de.debian.org/debian/ squeeze/main libaudio2 amd64 1.9.2-4 [84,2 kB]
Hole:10 http://ftp.de.debian.org/debian/ squeeze/main libjpeg62 amd64 6b1-1 [94,0 kB]
Hole:11 http://ftp.de.debian.org/debian/ squeeze/main liblcms1 amd64 1.18.dfsg-1.2+b3 [112 kB]
Hole:12 http://ftp.de.debian.org/debian/ squeeze/main libmng1 amd64 1.0.10-1+b1 [232 kB]
Hole:13 http://ftp.de.debian.org/debian/ squeeze/main libtiff4 amd64 3.9.4-5+squeeze4 [198 kB]
Hole:14 http://ftp.de.debian.org/debian/ squeeze/main fontconfig amd64 2.8.0-2.1 [334 kB]
Hole:15 http://ftp.de.debian.org/debian/ squeeze/main libqtgui4 amd64 4:4.6.3-4+squeeze1 [5.113 kB]
Hole:16 http://ftp.de.debian.org/debian/ squeeze/main libqt4-opengl amd64 4:4.6.3-4+squeeze1 [329 kB]
Hole:17 http://ftp.de.debian.org/debian/ squeeze/main libasound2 amd64 1.0.23-2.1 [421 kB]
Hole:18 http://ftp.de.debian.org/debian/ squeeze/main libsysfs2 amd64 2.1.0+repack-1 [29,2 kB]
Hole:19 http://ftp.de.debian.org/debian/ squeeze/main tsconf all 1.0-7 [12,6 kB]
Hole:20 http://ftp.de.debian.org/debian/ squeeze/main libts-0.0-0 amd64 1.0-7 [28,6 kB]
Hole:21 http://ftp.de.debian.org/debian/ squeeze/main libdirectfb-1.2-9 amd64 1.2.10.0-4 [1.192 kB]
Hole:22 http://ftp.de.debian.org/debian/ squeeze/main libx86-1 amd64 1.1+ds1-6 [51,8 kB]
Hole:23 http://ftp.de.debian.org/debian/ squeeze/main libsvga1 amd64 1:1.4.3-29 [303 kB]
Hole:24 http://ftp.de.debian.org/debian/ squeeze/main libsdl1.2debian-alsa amd64 1.2.14-6.1 [217 kB]
Hole:25 http://ftp.de.debian.org/debian/ squeeze/main libsdl1.2debian amd64 1.2.14-6.1 [20,7 kB]
Hole:26 http://ftp.de.debian.org/debian/ squeeze/main libxcursor1 amd64 1:1.1.10-2 [26,4 kB]
Hole:27 http://ftp.de.debian.org/debian/ squeeze/main libglib2.0-data all 2.24.2-1 [994 kB]
Hole:28 http://ftp.de.debian.org/debian/ squeeze/main libqt4-xml amd64 4:4.6.3-4+squeeze1 [145 kB]
Hole:29 http://ftp.de.debian.org/debian/ squeeze/main libqt4-dbus amd64 4:4.6.3-4+squeeze1 [267 kB]
Hole:30 http://ftp.de.debian.org/debian/ squeeze/main libqt4-script amd64 4:4.6.3-4+squeeze1 [872 kB]
Hole:31 http://ftp.de.debian.org/debian/ squeeze/main libqt4-designer amd64 4:4.6.3-4+squeeze1 [5.625 kB]
Hole:32 http://ftp.de.debian.org/debian/ squeeze/main libqt4-sql amd64 4:4.6.3-4+squeeze1 [146 kB]
Hole:33 http://ftp.de.debian.org/debian/ squeeze/main libqt4-qt3support amd64 4:4.6.3-4+squeeze1 [1.402 kB]
Hole:34 http://ftp.de.debian.org/debian/ squeeze/main libqt4-sql-mysql amd64 4:4.6.3-4+squeeze1 [62,8 kB]
Hole:35 http://ftp.de.debian.org/debian/ squeeze/main qt4-qtconfig amd64 4:4.6.3-4+squeeze1 [143 kB]
Hole:36 http://ftp.de.debian.org/debian/ squeeze/main shared-mime-info amd64 0.71-4 [841 kB]
Es wurden 27,0 MB in 27 s geholt (973 kB/s)
Extrahiere Vorlagen aus Paketen: 100%
Vormals abgewähltes Paket libcurl3-gnutls wird gewählt.
(Lese Datenbank ... 48366 Dateien und Verzeichnisse sind derzeit installiert.)
Entpacken von libcurl3-gnutls (aus .../libcurl3-gnutls_7.21.0-2.1+squeeze2_amd64.deb) ...
Vormals abgewähltes Paket libpng12-0 wird gewählt.
Entpacken von libpng12-0 (aus .../libpng12-0_1.2.44-1+squeeze4_amd64.deb) ...
Vormals abgewähltes Paket libpython2.6 wird gewählt.
Entpacken von libpython2.6 (aus .../libpython2.6_2.6.6-8+b1_amd64.deb) ...
Vormals abgewähltes Paket libglib2.0-0 wird gewählt.
Entpacken von libglib2.0-0 (aus .../libglib2.0-0_2.24.2-1_amd64.deb) ...
Vormals abgewähltes Paket libqtcore4 wird gewählt.
Entpacken von libqtcore4 (aus .../libqtcore4_4%3a4.6.3-4+squeeze1_amd64.deb) ...
Vormals abgewähltes Paket libqt4-network wird gewählt.
Entpacken von libqt4-network (aus .../libqt4-network_4%3a4.6.3-4+squeeze1_amd64.deb) ...
Vormals abgewähltes Paket libaudio2 wird gewählt.
Entpacken von libaudio2 (aus .../libaudio2_1.9.2-4_amd64.deb) ...
Vormals abgewähltes Paket libjpeg62 wird gewählt.
Entpacken von libjpeg62 (aus .../libjpeg62_6b1-1_amd64.deb) ...
Vormals abgewähltes Paket liblcms1 wird gewählt.
Entpacken von liblcms1 (aus .../liblcms1_1.18.dfsg-1.2+b3_amd64.deb) ...
Vormals abgewähltes Paket libmng1 wird gewählt.
Entpacken von libmng1 (aus .../libmng1_1.0.10-1+b1_amd64.deb) ...
Vormals abgewähltes Paket libtiff4 wird gewählt.
Entpacken von libtiff4 (aus .../libtiff4_3.9.4-5+squeeze4_amd64.deb) ...
Vormals abgewähltes Paket fontconfig wird gewählt.
Entpacken von fontconfig (aus .../fontconfig_2.8.0-2.1_amd64.deb) ...
Vormals abgewähltes Paket libqtgui4 wird gewählt.
Entpacken von libqtgui4 (aus .../libqtgui4_4%3a4.6.3-4+squeeze1_amd64.deb) ...
Vormals abgewähltes Paket libqt4-opengl wird gewählt.
Entpacken von libqt4-opengl (aus .../libqt4-opengl_4%3a4.6.3-4+squeeze1_amd64.deb) ...
Vormals abgewähltes Paket libasound2 wird gewählt.
Entpacken von libasound2 (aus .../libasound2_1.0.23-2.1_amd64.deb) ...
Vormals abgewähltes Paket libsysfs2 wird gewählt.
Entpacken von libsysfs2 (aus .../libsysfs2_2.1.0+repack-1_amd64.deb) ...
Vormals abgewähltes Paket tsconf wird gewählt.
Entpacken von tsconf (aus .../archives/tsconf_1.0-7_all.deb) ...
Vormals abgewähltes Paket libts-0.0-0 wird gewählt.
Entpacken von libts-0.0-0 (aus .../libts-0.0-0_1.0-7_amd64.deb) ...
Vormals abgewähltes Paket libdirectfb-1.2-9 wird gewählt.
Entpacken von libdirectfb-1.2-9 (aus .../libdirectfb-1.2-9_1.2.10.0-4_amd64.deb) ...
Vormals abgewähltes Paket libx86-1 wird gewählt.
Entpacken von libx86-1 (aus .../libx86-1_1.1+ds1-6_amd64.deb) ...
Vormals abgewähltes Paket libsvga1 wird gewählt.
Entpacken von libsvga1 (aus .../libsvga1_1%3a1.4.3-29_amd64.deb) ...
Vormals abgewähltes Paket libsdl1.2debian-alsa wird gewählt.
Entpacken von libsdl1.2debian-alsa (aus .../libsdl1.2debian-alsa_1.2.14-6.1_amd64.deb) ...
Vormals abgewähltes Paket libsdl1.2debian wird gewählt.
Entpacken von libsdl1.2debian (aus .../libsdl1.2debian_1.2.14-6.1_amd64.deb) ...
Vormals abgewähltes Paket libxcursor1 wird gewählt.
Entpacken von libxcursor1 (aus .../libxcursor1_1%3a1.1.10-2_amd64.deb) ...
Vormals abgewähltes Paket libglib2.0-data wird gewählt.
Entpacken von libglib2.0-data (aus .../libglib2.0-data_2.24.2-1_all.deb) ...
Vormals abgewähltes Paket mysql-common wird gewählt.
Entpacken von mysql-common (aus .../mysql-common_5.1.63-0+squeeze1_all.deb) ...
Vormals abgewähltes Paket libmysqlclient16 wird gewählt.
Entpacken von libmysqlclient16 (aus .../libmysqlclient16_5.1.63-0+squeeze1_amd64.deb) ...
Vormals abgewähltes Paket libqt4-xml wird gewählt.
Entpacken von libqt4-xml (aus .../libqt4-xml_4%3a4.6.3-4+squeeze1_amd64.deb) ...
Vormals abgewähltes Paket libqt4-dbus wird gewählt.
Entpacken von libqt4-dbus (aus .../libqt4-dbus_4%3a4.6.3-4+squeeze1_amd64.deb) ...
Vormals abgewähltes Paket libqt4-script wird gewählt.
Entpacken von libqt4-script (aus .../libqt4-script_4%3a4.6.3-4+squeeze1_amd64.deb) ...
Vormals abgewähltes Paket libqt4-designer wird gewählt.
Entpacken von libqt4-designer (aus .../libqt4-designer_4%3a4.6.3-4+squeeze1_amd64.deb) ...
Vormals abgewähltes Paket libqt4-sql wird gewählt.
Entpacken von libqt4-sql (aus .../libqt4-sql_4%3a4.6.3-4+squeeze1_amd64.deb) ...
Vormals abgewähltes Paket libqt4-qt3support wird gewählt.
Entpacken von libqt4-qt3support (aus .../libqt4-qt3support_4%3a4.6.3-4+squeeze1_amd64.deb) ...
Vormals abgewähltes Paket libqt4-sql-mysql wird gewählt.
Entpacken von libqt4-sql-mysql (aus .../libqt4-sql-mysql_4%3a4.6.3-4+squeeze1_amd64.deb) ...
Vormals abgewähltes Paket qt4-qtconfig wird gewählt.
Entpacken von qt4-qtconfig (aus .../qt4-qtconfig_4%3a4.6.3-4+squeeze1_amd64.deb) ...
Vormals abgewähltes Paket shared-mime-info wird gewählt.
Entpacken von shared-mime-info (aus .../shared-mime-info_0.71-4_amd64.deb) ...
Trigger für man-db werden verarbeitet ...
libcurl3-gnutls (7.21.0-2.1+squeeze2) wird eingerichtet ...
libpng12-0 (1.2.44-1+squeeze4) wird eingerichtet ...
libpython2.6 (2.6.6-8+b1) wird eingerichtet ...
libglib2.0-0 (2.24.2-1) wird eingerichtet ...
libqtcore4 (4:4.6.3-4+squeeze1) wird eingerichtet ...
libqt4-network (4:4.6.3-4+squeeze1) wird eingerichtet ...
libaudio2 (1.9.2-4) wird eingerichtet ...
libjpeg62 (6b1-1) wird eingerichtet ...
liblcms1 (1.18.dfsg-1.2+b3) wird eingerichtet ...
libmng1 (1.0.10-1+b1) wird eingerichtet ...
libtiff4 (3.9.4-5+squeeze4) wird eingerichtet ...
fontconfig (2.8.0-2.1) wird eingerichtet ...
Cleaning up old fontconfig caches... done.
Regenerating fonts cache... done.
libqtgui4 (4:4.6.3-4+squeeze1) wird eingerichtet ...
libqt4-opengl (4:4.6.3-4+squeeze1) wird eingerichtet ...
libasound2 (1.0.23-2.1) wird eingerichtet ...
libsysfs2 (2.1.0+repack-1) wird eingerichtet ...
tsconf (1.0-7) wird eingerichtet ...
libts-0.0-0 (1.0-7) wird eingerichtet ...
libdirectfb-1.2-9 (1.2.10.0-4) wird eingerichtet ...
libx86-1 (1.1+ds1-6) wird eingerichtet ...
libsvga1 (1:1.4.3-29) wird eingerichtet ...
libsdl1.2debian-alsa (1.2.14-6.1) wird eingerichtet ...
libsdl1.2debian (1.2.14-6.1) wird eingerichtet ...
libxcursor1 (1:1.1.10-2) wird eingerichtet ...
virtualbox-4.2 (4.2.0-80737~Debian~squeeze) wird eingerichtet ...
Lege Gruppe »vboxusers« (GID 110) an ...
Fertig.
Starting VirtualBox kernel modules:.
libglib2.0-data (2.24.2-1) wird eingerichtet ...
mysql-common (5.1.63-0+squeeze1) wird eingerichtet ...
libmysqlclient16 (5.1.63-0+squeeze1) wird eingerichtet ...
libqt4-xml (4:4.6.3-4+squeeze1) wird eingerichtet ...
libqt4-dbus (4:4.6.3-4+squeeze1) wird eingerichtet ...
libqt4-script (4:4.6.3-4+squeeze1) wird eingerichtet ...
libqt4-designer (4:4.6.3-4+squeeze1) wird eingerichtet ...
libqt4-sql (4:4.6.3-4+squeeze1) wird eingerichtet ...
libqt4-qt3support (4:4.6.3-4+squeeze1) wird eingerichtet ...
libqt4-sql-mysql (4:4.6.3-4+squeeze1) wird eingerichtet ...
qt4-qtconfig (4:4.6.3-4+squeeze1) wird eingerichtet ...
update-alternatives: /usr/bin/qtconfig-qt4 wird verwendet, um /usr/bin/qtconfig (qtconfig) im Auto-Modus bereitzustellen.
shared-mime-info (0.71-4) wird eingerichtet ...
Trigger für python-central werden verarbeitet ...

Das Hauptprogramm ist nun installiert. Damit Sie Ihre zukünftigen virtuellen Maschinen auch benutzen können, empfehle ich die Installation von sog. “Extension Packs” (Erweiterungspaketen). Hier ist an erster Stelle das Paket “Oracle_VM_VirtualBox_Extension_Pack” zu nennen, denn es erlaubt Ihnen den Zugriff per Remote Desktop Unterstützung (VRDP/RDP; Port 3389) auf Ihre virtuellen Rechner. Eine Liste der verfügbaren Pakete finden Sie unter https://www.virtualbox.org/wiki/Downloads.

Direkter Download des zu dieser Anleitung passenden Paketes:

wget http://dlc.sun.com.edgesuite.net/virtualbox/4.2.0/Oracle_VM_VirtualBox_Extension_Pack-4.2.0-80737.vbox-extpack

Achten Sie beim individuellen Download darauf, dass die Erweiterung zu Ihrer VirtualBox-Version passt, denn ansonsten erhalten Sie folgende Fehlermeldung:

0%...
Progress state: NS_ERROR_FAILURE
VBoxManage: error: Failed to install "/root/Oracle_VM_VirtualBox_Extension_Pack-4.1.22.vbox-extpack"
VBoxManage: error: VBoxExtPackRegister returned VERR_VERSION_MISMATCH, pReg=0000000000000000 ErrInfo='VirtualBox version mismatch - expected 4.1 got 4.2'
VBoxManage: error: Details: code NS_ERROR_FAILURE (0x80004005), component ExtPackManager, interface IExtPackManager
VBoxManage: error: Context: "int handleExtPack(HandlerArg*)" at line 1112 of file VBoxManageMisc.cpp

Bei diesen Fehlermeldungen müssen Sie zuerst die fehlerhafte Erweiterung wieder deinstallieren. Dafür nutzen Sie folgenden Befehl:

VBoxManage extpack uninstall "Oracle VM VirtualBox Extension Pack"

Die Installation der Erweiterung wird durch diesen Befehl gestartet:

VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-4.2.0-80737.vbox-extpack

Bei einer erfolgreichen Installation der Erweiterung erhalten Sie solche Meldung:

0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Successfully installed "Oracle VM VirtualBox Extension Pack".

Eine virtuelle Maschine erstellen

In diesem Beispiel möchte ich zum Ende am Beispiel einer Ubuntu-Test-VM die Kommandozeilen-Befehle von VirtualBox vorstellen.

Ich erstelle eine virtuelle Maschine mit dem Namen “UbuntuServer12” inkl. 1 GB RAM (= 1024 MB), einer 10 GB Festplatte (HDD), Netzwerkkarte (“eth0”) und einem in das virtuelle CD/DVD-Laufwerk eingelegten “Ubuntu 12.04 Server” ISO-Datei. Die Datei können Sie sich z.Bsp. auf der Internetseite von Ubuntu herunterladen: ubuntu-12.04-server-amd64.iso:

VBoxManage createvm --name "UbuntuServer12" --register
VBoxManage modifyvm "UbuntuServer12" --memory 1024 --acpi on --boot1 dvd --nic1 bridged --bridgeadapter1 eth0
VBoxManage createhd --filename UbuntuServer12.vdi --size 10000
VBoxManage storagectl "UbuntuServer12" --name "IDE Controller" --add ide
VBoxManage storageattach "UbuntuServer12" --storagectl "IDE Controller" --port 0 --device 0 --type hdd --medium UbuntuServer12.vdi
VBoxManage storageattach "UbuntuServer12" --storagectl "IDE Controller" --port 1 --device 0 --type dvddrive --medium ./ubuntu-12.04-server-amd64.iso

Weitere Informationen über den Befehl “VBoxManage” erhalten Sie durch:

VBoxManage --help

… und auf der entsprechenden Seite des Online-Handbuches.

Die erstelle (vorbereitete) vituelle Maschine können Sie nun starten, stoppen oder zurücksetzen (resetten):

VBoxHeadless --startvm "UbuntuServer12"
VBoxManage controlvm "UbuntuServer12" poweroff
VBoxManage controlvm "UbuntuServer12" reset

Bequeme Online-Verwaltung per PHP Webseite (Open-Source)

In meinem folgenden Artikel finden Sie eine ergänzende Anleitung, wie Sie “phpvirtualbox” als praktische VM-Verwaltung installieren können:

Linux: VirtualBox auf einem Debian Server (V6.0 Squeeze) über eine PHP Webseite steuern (“phpVirtualBox”)

09. Sep 2012
Teaser

Apache2 WebServer: Cannot load /usr/lib/apache2/modules/libphp5.so into server: No such file or directory

Wenn Sie nach dem Start(-versuch) Ihres Apache2-Webservers die folgende Fehlermeldung angezeigt bekommen, hilft Ihnen diese Anleitung weiter:

Starting web server: apache2apache2: Syntax error on line 203 of /etc/apache2/apache2.conf: Syntax error on line 1 of /etc/apache2/mods-enabled/php5.load: Cannot load /usr/lib/apache2/modules/libphp5.so into server: /usr/lib/apache2/modules/libphp5.so: cannot open shared object file: No such file or directory
Action 'start' failed.
The Apache error log may have more information.
 failed!

Die Datei “libphp5.so” kann nicht gefunden und damit eingebunden werden. In den meisten Fällen wurde das entsprechende Modul einfach nicht (richtig) installiert. Daher können Sie mit folgendem Befehl die Installation nachholen (auszuführen als benutzer “root”):

apt-get install libapache2-mod-php5

Die Installation (im folgenden ein Beispiel) wird gestartet und muss ggf. mit einem “J” zwischendurch bestätigt werden:

Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut
Statusinformationen werden eingelesen... Fertig
Die folgenden Pakete werden ENTFERNT:
  libapache2-mod-php5filter
Die folgenden NEUEN Pakete werden installiert:
  libapache2-mod-php5
0 aktualisiert, 1 neu installiert, 1 zu entfernen und 0 nicht aktualisiert.
Es müssen 2.890 kB an Archiven heruntergeladen werden.
Nach dieser Operation werden 0 B Plattenplatz zusätzlich benutzt.
Möchten Sie fortfahren [J/n]? j
Hole:1 http://security.debian.org/ squeeze/updates/main libapache2-mod-php5 i386 5.3.3-7+squeeze14 [2.890 kB]
Es wurden 2.890 kB in 2 s geholt (1.228 kB/s)
dpkg: libapache2-mod-php5filter: Abhängigkeitsprobleme, wird aber wie gefordert dennoch entfernt:
 php5 hängt ab von libapache2-mod-php5 (>= 5.3.3-7+squeeze14) | libapache2-mod-php5filter (>= 5.3.3-7+squeeze14) | php5-cgi (>= 5.3.3-7+squeeze14); aber:
  Paket libapache2-mod-php5 ist nicht installiert.
  Paket libapache2-mod-php5filter soll entfernt werden.
  Paket php5-cgi ist nicht installiert.
(Lese Datenbank ... 60712 Dateien und Verzeichnisse sind derzeit installiert.)
Entfernen von libapache2-mod-php5filter ...
Module php5filter disabled.
Run '/etc/init.d/apache2 restart' to activate new configuration!
Vormals abgewähltes Paket libapache2-mod-php5 wird gewählt.
(Lese Datenbank ... 60709 Dateien und Verzeichnisse sind derzeit installiert.)
Entpacken von libapache2-mod-php5 (aus .../libapache2-mod-php5_5.3.3-7+squeeze14_i386.deb) ...
libapache2-mod-php5 (5.3.3-7+squeeze14) wird eingerichtet ...
Reloading web server config: apache2

Wenn Sie jetzt Ihren Apache2-Webserver wieder starten, sollte die o.a. Fehlermeldung nicht mehr auftreten:

/etc/init.d/apache2 start