Archiv der Kategorie: Anleitungen

Anleitungen bzw. Beschreibungen zum beheben von Problemen oder zum Umsetzen von bestimmten Projekten.

Windows 8.1 booten in eine virtuelle Festplatte (VHD bzw. VHDX)

Seit Windows 7 bietet Microsoft Windows die Möglichkeit direkt in eine VHD (Virtuelle Hard Disk) zu booten. Dies ist besonders nützlich, wenn man wie ich auf seiner regulären Workstation auch entwickeln möchte. Um durch die ganzen Entwicklungswerkzeuge und Dienste (Webserver etc) bei der regulären Arbeit nicht ausgebremst zu werden, isoliere ich meine Entwicklungsumgebung gerne in eine VHD von der ich nur boote, wenn ich die entsprechenden Werkzeuge auch benötige. Diese Möglichkeit kann man selbstverständlich auch für weitere Dienste wie z. B. SpielePC, KinderPC, Server etc verwenden. Jedem dieser Systeme wird dabei die volle Performance des Rechners inkl. all seiner Schnittstellen zur Verfügung stehen. Einzig die Festplatte wird durch die Umleitung in die VHD ein ticken (< 5 %) langsamer sein.

Um eine VHD mit dem gewünschten Betriebssystem zu erstellen, gibt es im wesentlichen drei Möglichkeiten.

  1. Erstellen einer VHD und Installation des Betriebssystems mittels DISM (ersetzt imagex aus dem Windows Automated Installation Kit (AIK))
  2. Einbinden einer über einen HyperV erstellten VHD
  3. Erstellen einer VHD und Installation direkt im System (wie reguläre Installation eines Betriebssystems)

Im folgenden werde die die notwendigen Schritte für die Optionen 1 und 2 erklären. Option drei ist meiner Meinung zu umständlich und zu fehleranfällig. Ich habe diese ausser zum Testen bis jetzt auch nicht verwendet – daher erspare ich euch und mir diese Beschreibung.

Alle Optionen haben gemein, dass man zuerst eine virtuelle Festplatte (VHDx) benötigt. Im Falle von Hyper-V kann man diese mit einem Mausklick in der GUI erzeugen. Für die anderen beiden Wege stehen folgende Möglichkeiten zur Verfügung:

Anlegen einer VHD – der Weg über die GUI

  1. Windowstaste + X drücken und das Disk Management öffnen
  2. Im Menü Action und dann Create VHD auswählen.
  3. In dem sich öffnenden Fenster den gewünschten Speicherort, die Größe, das Format und den Typ auswählen und mit OK bestätigen. (Der Vorgang kann je nach Auswahl etwas dauern).
    snaghtml1b10313_thumb-5627732
  4. Am Ende sollte jedoch im Disk Manager eine neue Festplatte auftauchen. image_thumb-3552987
  5. Durch einen Rechtsklick auf den linken Teil der neuen Platte können wir diese Initialisieren und damit einen Master Boot Record (MBR) erstellen.
  6. Durch einen erneuten Rechtsklick, dieses Mal auf den rechten Teilbereich, können wir ein neues Simple Volume erstellen. Nachdem dieses formatiert wurde, wird dem Laufwerk ein Buchstabe zugeordnet (in meinem Fall K). image_thumb1-7161479

Anlegen einer VHD – der Weg über die Kommandozeile

Selbstverständlich kann man eine VHD auch über eine (administrative) Kommandozeile (CMD) erstellen und erspart sich damit die ganzen Mausklicks – beide Wege führe jedoch zum gleichen Ziel.

diskpart
create vdisk file=g:\Win8_1_template.vhdx maximum=50000 type=expandable
select vdisk file=g:\Win8_1_template.vhdx
attach vdisk
create partition primary
assign letter=K
format quick label=System
exit

Über die Kommandozeile hat man grundsätzlich die Möglichkeit noch etwas mehr zu machen. Es besteht z. B. die Möglichkeit bestehende vdisks als parent zu verwenden. Wie das genau geht und welche Vorteile man davon hat erkläre ich in einem Folgeartikel.

Windows 8.1 VHD mit Hilfe von DISM betanken

Wie eingangs bereits erwähnt wurde die Funktionalität von imagex durch DISM ersetzt und DISM wird bei Windows 8 direkt mit dem Betriebssystem ausgeliefert und muss somit nicht mehr über ein extra Toolset nachinstalliert werden. Die notwendigen Schritte um Windows (egal ob Win7, Win2012 etc) auf die frisch erstellte VHDx zu bekommen sind folgende (Die Kommandozeilen Befehle müssen aus einem administrativen Kommando Promt (CMD) ausgeführt werden!):

  1. Zuerst muss die ISO-Datei des zu installierenden Betriebssystems gemountet werden. Unter Windows 8 erreicht man dies über einen Doppelklick auf die *.iso Datei. Im Explorer sollte daraufhin ein neues DVD-Laufwerk erscheinen (in meinem Fall Laufwerk E).
  2. Einige DVDs enthalten mehrere Editionen des selben Betriebssystems (Pro, Ultimate, Standard, Enterprise etc). Um die richtige Version zu installieren müssen wir daher den Index der Edition herausfinden, die wir installieren möchten. Hierzu führen wir die folgenden beiden Befehle aus (E:\ ist dabei die soeben eingebundene ISO-Datei):
    cd e:\sources
    dism /get-wiminfo /wimfile:install.wim

    image_thumb2-4874136
    Meine DVD enthält nur eine Edition mit dem Index 1.

  3. Um die Installation vorzunehmen ist die Eingabe des folgenden Befehls notwendig (K ist dabei die eingebundene VHDx Datei):
    dism /apply-image /imagefile:install.wim /index:1 /ApplyDir:K:\

    image_thumb3-7430679

Virtuelle Festplatte in das Bootmenü eintragen

Zum Abschluss ist es nun noch notwendig die erstellte VHDx Datei in das Bootmenü einzutragen, damit wir beim Start des Rechners auswählen können welches System hochgefahren werden soll. Der Befehl hierfür (aus einer administrativen CMD) ist sehr einfach (Laufwerksbuchstabe der gemounteten VHDx Datei ist hier K):

bcdboot K:\Windows

image_thumb4-2526205

Einbinden einer über einen Hyper-V erstellten VHD

Dieser Weg ist mitunter fast der einfachste. Man erstellt eine ganz normale virtuelle Maschine in Hyper-V (das geht zwischenzeitlich auch auf einem Win8 System!). Hat man dies erledigt, wird die virtuelle Maschine mit Hilfe von sysprep auf neue Hardware vorbereitet. Das Tool sysprep findet man auf einem Windows 8 System in dem Ordner “%WINDIR%\system32\sysprep”

snaghtml5829ace_thumb-2419799

Nach einem Doppelklick auf sysprep.exe erhält man folgende Auswahl:

snaghtml5840192_thumb-4934316

Wichtig ist hier das Aktivieren von “Generalize” und “Shutdown”. Durch diese beiden Optionen wird beim nächsten Start aus dieser VHDx die Hardware neu gesucht und damit an den eigenen Rechner angepasst.

Hinweis: Bei mir funktioniert die VHD oft auch direkt – also ohne sysprep. Eine Garantie dafür hat man aber nicht.

Um die VHD nun in das Bootmenü einzutragen sind die gleichen Schritte wie im vorherigen Prozess notwendig. Man bindet also die VHD als Laufwerk in sein laufendes Windows ein und führt aus einer administrativen CMD den Befehl bcdboot K:\Windows aus.

VHD’s als Vorlagen

Hat man sich z. B. eine Basis-VHD installiert, so kann man die Datei auch einfach kopieren und erneut einbinden. So kann man sich die Installation der notwendigen Helferlein auf mehreren Systemen ersparen oder man kann sein Testsystem sichern bevor man Software installiert, die man nicht langfristig behalten möchte. Ich habe für diesen Zweck zwischenzeitlich eine schöne Auswahl an VHD’s für verschiedene Einsatzgebiete.

Windows 8.1 – HyperV Rolle aktivieren

Mit Windows 8 hat Microsoft die Virtualisierungslösung Hyper-V auch auf den Client gebracht. Mit Hilfe von Hyper-V kann man auf einer physischen Hardware mehrere virtuelle Clients betreiben. Ich verwende diese Möglichkeit z. B. sehr gerne um Teststellungen aufzubauen (meist mittels Templates) oder aber auch um Viren und Würmern bei Ihrer “Arbeit” zusehen zu können ohne dabei mein Hauptsystem einer Gefahr aussetzen zu müssen.

Das aktivieren der Hyper-V Rolle in Windows 8 ist denkbar einfach. Über die Windows Suche (Windowstaste + S) navigiert man zu der Funktion “Turn Windows features on or off”.

snaghtml19d5347_thumb-2888138

In dem sich öffnenden Fenster findet man recht weit oben die Funktion Hyper-V, die man durch anklicken selektieren kann.

snaghtml19e8520_thumb-9405857

Nach einem Klick auf OK startet die Installation, die bei mir in wenigen Sekunden abgeschlossen war.

snaghtml1a00ebe_thumb-5539903

Nach einem Neustart des Systems läuft dieses bereits auf dem Hypervisor des Hyper-V und man kann auf die Verwaltungskonsole zugreifen um z. B. neue virtuelle Maschinen anzulegen.

image_thumb-3090509

Raspberry Pi als OwnCloud Server

Ich habe mir vor einigen Wochen nun auch einen Raspberry Pi gekauft und war nun auf der Suche nach einem guten Einsatzort für den Kleinen. Da seit den letzten Veröffentlichungen von Edward Snowden wirklich jedem klar sein sollte, dass man public Clouds nicht trauen sollte, habe ich damit begonnen erneut OwnCloud zu testen.

OwnCloud ist ein auf PHP basierendes Open Source Projekt welches mit einfachen Mitteln eine private Cloud aufbaut und damit den Sync von Dateien, Kontakten, Musik etc. ermöglicht. Die Systemanforderungen sind dabei denkbar einfach. Man braucht an sich nur einen Apache Webserver unter Linux der das PHP Modul geladen hat.

Ein Rasberry Pi erfüllt die Systemvoraussetzungen für OwnCloud ohne Probleme und braucht gleichzeitig fast kein Strom (selbst bei Dauerbetrieb). Die Anschaffungskosten sind ebenfalls recht gering – man bekommt ein Gerät (ohne Festplatte) für unter 50 € z. B. bei amazon. Die Installation des Basis Betriebssystems ist ebenfalls denkbar einfach. Es gibt fertige Images die man einfach mit einem kleinen Tool auf die SD Karte überträgt und danach bootet. Ausführliche Anleitungen und verschiedene Distributionen findet man direkt auf den Projektseiten von RaspberryPi. In meinem Beispiel hier habe ich mir für Raspbian entschieden (ein Debian Port).

Installation des Apache

Den Apache Webserver installiert man unter Debian mit nur wenigen Befehlen:

sudo apt-get update
sudo apt-get install apache2 php5

Nach der Installation läuft bereits ein normaler Webserver ohne SSL. Da wir eine sichere private Wolke haben wollen, aktivieren wir selbstverständlich auch SSL. Mit Nachfolgendem Befehl laden wir das notwendige Modul in unseren Webserver:

a2enmod ssl
service apache2 restart

Das war es bereits, der Webserver spricht nun auch SSL allerdings mit einem selbst signierten Zertifikat welches ggf. nicht den externen DNS Namen enthält. Wie man dies ändert zeige ich in den nächsten Tagen.

Installation von OwnCloud

Man kann sich entweder den ownCloud Server Installer direkt von der OwnCloud Webseite herunter laden und diesen in /var/www/ ablegen und aufrufen oder man verwendet das vorhandene Debian Paket:

apt-get install owncloud

In beiden Fällen hat man nach wenigen Minuten seine eigene Cloud startklar und kann das Webfrontend über https://[IP oder DNS]/owncloud aufrufen.

image_thumb-6428644

Will man den Dienst auch vom Internet aus Benutzen, so ist es noch notwendig am Router eine Portweiterleitung einzurichten. Ich habe meinen PI in meine DMZ gestellt und einen high-port auf den SSL Port meines PI weiter geleitet. Damit wird man nicht alle paar Sekunden sondern nur alle paar Minuten gescannt…

Clients

Neben einem Windows Client mit dem man einstellen kann, welche Dateien / Ordner gesynct werden sollen, gibt es auch noch einen iOS Client (kostet 0,89 €) bzw. einen Android Client.

snaghtml3dda444_thumb-1221473

Offline Installation phpDocumentator

Hi,

wollte heute auf einem System ohne Internetzugang das PEAR Modul phpDocumentator installieren. Leider wollte das System den dafür hinterlegten channel nicht kennen bzw. kennen lernen:

test@lab:~$ sudo pear install phpDocumentor-2.0.1.tgz
Unknown channel "pear.phpdoc.org"
Parsing of package.xml from file "/tmp/pear/temp/pearkIM14U/package.xml" failed
install failed
test@lab:~$ sudo pear channel-discover pear.phpdoc.org
Discovering channel pear.phpdoc.org over http:// failed with message: channel-add: Cannot open "http://pear.phpdoc.org/channel.xml" (Connection to `pear.phpdoc.org:80' failed: php_network_getaddresses: getaddrinfo failed: Name or service not known)
Trying to discover channel pear.phpdoc.org over https:// instead
Discovery of channel "pear.phpdoc.org" failed (channel-add: Cannot open "https://pear.phpdoc.org/channel.xml" (Connection to `pear.phpdoc.org:443' failed: php_network_getaddresses: getaddrinfo failed: Name or service not known))

Abhilfe konnte ich damit schaffen, dass ich das channel.xml file direkt von http://pear.phpdoc.org/channel.xml herunter geladen habe und dieses ebenfalls offline eingespielt habe:

test@lab:~$ sudo pear channel-add channel.xml
Adding Channel "pear.phpdoc.org" succeeded

Danach konnte ich auch das Pear Modul wie gewünscht installieren:

test@lab:~$ sudo pear install phpDocumentor-2.0.1.tgz
install ok: channel://pear.phpdoc.org/phpDocumentor-2.0.1

Mail-Verschlüsselung für Outlook und iPhone via S/MIME

Bis vor kurzem war das Verschlüsseln von Mails eher eine Sache für Nerds und große Firmen. Ich zumindest konnte wenige meiner nicht-IT-Freunde davon überzeugen Nachrichten verschlüsselt zu übertragen. Dank PRISM wird das langsam besser. Immer mehr meiner Bekannten fragen mich wie man seine Mails schützen kann. Zum Glück ist die Technik dafür sehr ausgereift und zwischenzeitlich auf vielen Endgeräten verfügbar. Wenn man sich ran hält ist das ganze auch in ca. 5 Minuten erledigt.

Schritt 1 – Wir brauchen ein Zertifikat

Viele Wege führen hier zum gewünschten Ziel. Für eine reine private Nutzung würde ich jedoch den einfachsten Weg wählen und ein Klasse 1 Zertifikat (die meist kostenlos sind) beantragen. Höhere Klassen bedingen eine Identitätsprüfung und kosten damit mehr Zeit und natürlich auch Geld (Klasse 2 Zertifikate kosten ca. 60 – 100 € und sind i. d. R. 2 Jahre gültig). Ich habe mich für mein HowTo für StartSSL und deren kostenloses Klasse 1 Zertifikat entschieden.

snaghtml3d678ce6_thumb-3932671image_thumb1-6444567

Nachdem man das Einstiegsformular ausgefüllt hat bekommt man das entsprechende Zertifikat für die hinterlegte Mail ausgestellt. Dieses Zertifikat wird auch gleichzeitig dafür verwendet um sich an der Seite anzumelden.

Technisch wird der private Schlüssel im Browser generiert und liegt somit dem Anbieter nicht vor. Die NSA sollte somit nicht auf direktem Weg einen Zweitschlüssel bekommen…

Hat man das Zertifikat nicht mit dem Internet Explorer generiert, so wird dieses auch nicht automatisch in den Zertifikatsspeicher des Betriebssystems geladen. Um dies z. B. im Firefox nachzuholen, öffnet man dort das Optionsmenü – wählt dort Erweitert aus und wechselt auf den Reiter Verschlüsselung. Über Zertifikate anzeigen, kann man sich diese ausgeben lassen und dann recht komfortabel exportieren:

snaghtml3d6ea0e3_thumb-2300049snaghtml3d6faf92_thumb-5471020

Die exportierten Zertifikate kann man direkt auf einen USB Stick kopieren und als Backup an einem sicheren Ort hinterlegen. Gleichzeitig klickt man die Erstellte Backup Datei (Endung ist *.p12) doppelt an und befördert das Zertifikat auch in den Windows Schlüssel Manager.

Schritt 2 –  Zertifikat Verwenden

Schritt 2.1 – Outlook 2013

Nachdem das Zertifikat in Windows eingebunden wurde, ist es mit wenigen Klicks auch für die Verwendung in Outlook bereit. Hierzu wählt man Datei – Optionen – und wechselt dann in das Trust Center (ist das ist Deutsch Vertrauens Center?). Von dort aus geht es über die Einstellungen links unten direkt an den Ort an den wir wollen – die E-mail Sicherheit. Ein weiteres Mal wählt man Einstellungen und wählt  hier aus der drop down Liste sein Zertifikat aus. Das wars schon. Ab jetzt kann man mit jedem Zertifikatsinhaber dessen öffentlichen Schlüssel man besitzt verschlüsselt Mails austauschen.

snaghtml3d4ed1d1_thumb-5390915snaghtml3d4f3322_thumb-8434016snaghtml3d506643_thumb-8053417snaghtml3d51e0af_thumb-6743999

 

Schritt 2.2 – iPhone

Produkte von Apple und Google können bereits ab Werk ebenfalls mit S/MIME arbeiten. Hierzu muss man den exportierten Schlüssel jedoch auf das Endgerät bekommen. Der unsicherste Weg wäre, es sich einfach zu mailen… (geht aber technisch auch). Der für das iPhone richtige Weg geht über ein von Apple bereitgestelltes Tool – das iPhone-Konfigurationsprogramm.

Nachdem Ihr iPhone in der Liste erscheint wählen Sie dieses aus und gehen zu dem Reiter “Konfigurationsprofil”. Wählen Sie danach Datei – Neues Konfigurationsprofil und geben Sie in dem sich öffnenden Fenster einen frei wählbaren Namen und Identifier für das Profil ein. Danach wechseln Sie auf die Option Zertifikate und fügen dieses hinzu. (Es werden alle Zertifikate im Zertifikatsspeicher von Windows angezeigt – das kann ggf. etwas unübersichtlich sein). Nun wechseln Sie in der linken Navigationsleiste zurück zu Ihrem iPhone, wählen dort den Reiter Konfigurationsprofile und klicken hinter dem soeben erstellten Profil auf installieren.

P. S. Das Tool ist an sich dafür gedacht Konfigurationsprofile zu erstellen die man auf viele Geräte verteilen kann. Es kann also z. B. auch dafür verwendet werden um neuen Geräten auf einen Schlag alle notwendigen WLan’s der Familie bekannt zu machen etc.

snaghtml3d7f57e2_thumb-9756369snaghtml3d8558eb_thumb-6029010snaghtml3d85c718_thumb-7036294snaghtml3d9163e4_thumb-6172968

Auf dem Endgerät selbst aktiviert man S/MIME wie folgt: Einstellungen – “Mail, Kontakte, Kalender” und dort wählt man seine Mailbox aus und danach direkt wieder. Auf der darauf folgenden Seite ganz unten kann man S/MIME aktivieren und danach das dafür zu verwendende Zertifikat auswählen (wenn man mehr als eines hat).

snaghtml3da4767a_thumb-9837563snaghtml3da6168f_thumb-4633735image_thumb2-7056809snaghtml3da85e39_thumb-2762883