<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>the jump to open source &#187; howto</title>
	<atom:link href="http://www.i-tiger.de/category/howto/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.i-tiger.de</link>
	<description>on i-tiger.de</description>
	<lastBuildDate>Sun, 30 Oct 2011 10:04:39 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Eclipse &#8211; Markierten Text &#252;ber sysout ausgeben</title>
		<link>http://www.i-tiger.de/2011/06/eclipse-markierten-text-uber-sysout-ausgeben/</link>
		<comments>http://www.i-tiger.de/2011/06/eclipse-markierten-text-uber-sysout-ausgeben/#comments</comments>
		<pubDate>Thu, 02 Jun 2011 11:27:49 +0000</pubDate>
		<dc:creator>johannes</dc:creator>
				<category><![CDATA[eclipse]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[Programmierung]]></category>

		<guid isPermaLink="false">http://www.i-tiger.de/?p=264</guid>
		<description><![CDATA[Eclipse Sysout noch schneller durch markierten Text und strg-leertaste und zack fertig]]></description>
			<content:encoded><![CDATA[<p>Hallo,</p>
<p>wer viel programmiert und auch noch mit eclipse, der kommt um shortcuts nicht rum. Wer innerhalb einer Methode &#8220;syso&#8221; eingibt erh&#228;lt direkt: &#8220;System.out.println();&#8221;</p>
<p>Das ist ja schon wirklich sehr gut, aber oft markiert man einen Code-Schnippsel und will diesen ausgeben. Also ausschneiden, &#8220;syso&#8221; eintippern und dann in der Klammer wieder einf&#252;gen.</p>
<p>Noch schneller geht das ganze, wenn man den Text markiert, dann STRG+Leertaste dr&#252;ckt, &#8220;syso&#8221; eintippt und dann per Enter-Taste best&#228;tigt und voila hat man den markierten Text oder Code-Schnippsel in einem g&#252;ltigen System.out.println-Statement.</p>
<p>Have fun!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.i-tiger.de/2011/06/eclipse-markierten-text-uber-sysout-ausgeben/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Arch Linux mit 3 Festplatten (System und Datenraid) &#8211; Verschl&#252;sselt und LVM</title>
		<link>http://www.i-tiger.de/2011/04/arch-linux-mit-3-festplatten-system-und-datenraid-verschlusselt-und-lvm/</link>
		<comments>http://www.i-tiger.de/2011/04/arch-linux-mit-3-festplatten-system-und-datenraid-verschlusselt-und-lvm/#comments</comments>
		<pubDate>Sun, 24 Apr 2011 21:55:10 +0000</pubDate>
		<dc:creator>johannes</dc:creator>
				<category><![CDATA[howto]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Verschlüsselung]]></category>

		<guid isPermaLink="false">http://www.i-tiger.de/?p=232</guid>
		<description><![CDATA[Der Artikel dient mir als Doku und ist auch so geschrieben, falls ihr einen Schritt nicht versteht, fragt nach oder denkt selbst dr&#252;ber nach. Fehler bessere ich gerne aus und probiert das ganze erstmal in einer virtuellen Umgebung aus und wenn es wirklich an die Installation geht, macht vorher Backups! Ausgangssituation: Ein Rechner mit drei [...]]]></description>
			<content:encoded><![CDATA[<p>Der Artikel dient mir als Doku und ist auch so geschrieben, falls ihr einen Schritt nicht versteht, fragt nach oder denkt selbst dr&#252;ber nach. Fehler bessere ich gerne aus und probiert das ganze erstmal in einer virtuellen Umgebung aus und wenn es wirklich an die Installation geht, macht vorher Backups!</p>
<p><strong>Ausgangssituation</strong>:</p>
<p>Ein Rechner mit drei frischen Platten, eine Platte f&#252;r das System und die beiden anderen Platten arbeiten in einem Raid 1 Verbund gespiegelt und sollen das /home-Verzeichnis werden. Nat&#252;rlich wird alles auch verschl&#252;sselt, bis auf die /boot Partition.</p>
<p>Installations-CD rein und dann Arch Linux starten und der erste Befehl den ihr eingebt ist:</p>
<pre class="brush: plain; title: ; notranslate"># km</pre>
<p>um die keymap und die Schrift auszuw&#228;hlen, in meinem Fall quertz/de und als Schrift Lat2-Terminus&#8230;</p>
<p>Jetzt geht es daran die Festplatten vorzubereiten. Mit fdisk -l k&#246;nnt ihr schauen wie eure Festplatten gemapped wurden. Normalfall: /dev/sda /dev/sdb und /dev/sdc</p>
<p>/dev/sda wird formatiert in eine kleine circa 200MB gro&#223;e /boot-Partition und der Rest wird f&#252;r die /root-Partition genutzt. Ich lasse immer noch ein paar GB Platz frei, man wei&#223; ja nie was man noch so braucht. Die beiden anderen werden auch formatiert, aber jeweils mit dem vollen Platz. Und los gehts mit:</p>
<pre class="brush: plain; title: ; notranslate"># cfdisk /dev/sda</pre>
<p>/dev/sda1 muss bootf&#228;hig gemacht werden mit &#8220;boot&#8221; (siehe Bild)Vergesst nicht dass ihr erst &#8220;write&#8221; und dann &#8220;quit&#8221; ausf&#252;hren m&#252;sst, sonst sind die &#196;nderungen nicht wirksam.</p>
<p>So sollte das Partitionsschema dann aussehen f&#252;r /dev/sda</p>
<p><a href="http://www.i-tiger.de/wp-content/uploads/2011/04/001.png"><img class="aligncenter size-medium wp-image-239" title="001" src="http://www.i-tiger.de/wp-content/uploads/2011/04/001-300x196.png" alt="" width="300" height="196" /></a></p>
<p>Jetzt die beiden anderen Festplatten schnell formatieren mit dem gesamten Speicherplatz.</p>
<pre class="brush: plain; title: ; notranslate"># cdfisk /dev/sdb</pre>
<pre class="brush: plain; title: ; notranslate"># cdfisk /dev/sdc</pre>
<p>New &gt; Primary &gt; all space &gt; write &gt; type &#8220;yes&#8221; &gt; quit &gt; ready</p>
<p>Mit fdisk -l k&#246;nnt ihr wieder schauen was ihr so angestellt habt.</p>
<p>Jetzt geht es an das Datenraid, ein Raid1, d.h. wir spiegeln die Daten. Ein Raid ist kein Backup, also macht bitte zus&#228;tzlich noch Backups!!!</p>
<p>Wir k&#246;nnen jetzt mit lsmod schauen ob raid1 und dm-crypt schon geladen sind, ansonsten laden wir die Module einfach mit:</p>
<pre class="brush: plain; title: ; notranslate">modprobe raid1</pre>
<pre class="brush: plain; title: ; notranslate">modprobe dm-crypt</pre>
<p>Und jetzt legen wir das <strong>Raid</strong> an. Ziemlich selbsterkl&#228;rend der Befehl:</p>
<pre class="brush: plain; title: ; notranslate"># mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sdb1 /dev/sdc1</pre>
<p>Hier k&#246;nnen nat&#252;rlich auch mehrere Platten und ein anderes Raid-Level genutzt werden. Die Bezeichnung /dev/md0 werden wir jetzt noch ab und an verwenden.</p>
<p><strong>Verschl&#252;sselung</strong></p>
<p>Jetzt verschl&#252;sseln wir die /root-Partition und dann das Raid mit folgenden Befehlen:</p>
<pre class="brush: plain; title: ; notranslate"># cryptsetup -c aes-xts-plain -y -s 512 luksFormat /dev/sda2</pre>
<pre class="brush: plain; title: ; notranslate"># cryptsetup -c aes-xts-plain -y -s 512 luksFormat /dev/md0</pre>
<p>Ihr k&#246;nnt selbst entscheiden, welchen Verschl&#252;sselungsalgorithmus ihr w&#228;hlt, aber vergesst nicht ein sichers Passwort zu nutzen, sonst bringt euch die beste Verschl&#252;sselung nichts.</p>
<p>Jetzt &#246;ffnen wir die frisch verschl&#252;sselten Partitionen mit:</p>
<pre class="brush: plain; title: ; notranslate"># cryptsetup luksOpen /dev/sda2 system</pre>
<pre class="brush: plain; title: ; notranslate"># cryptsetup luksOpen /dev/md0 raid</pre>
<p><em>system</em> und <em>raid</em> sind frei gew&#228;hlte Bezeichnungen, hier k&#246;nnt ihr auch schreiben was ihr wollt, nur m&#252;sst ihr euch das merken, da wir die Namen wieder verwenden.<br />
Jetzt setzen wir auf die Verschl&#252;sselung noch LVM auf:</p>
<pre class="brush: plain; title: ; notranslate"># lvm pvcreate /dev/mapper/system</pre>
<pre class="brush: plain; title: ; notranslate"># lvm vgcreate vg_system /dev/mapper/system</pre>
<pre class="brush: plain; title: ; notranslate"># lvm pvcreate /dev/mapper/raid</pre>
<pre class="brush: plain; title: ; notranslate"># lvm vgcreate vg_raid /dev/mapper/raid</pre>
<p>Jetzt haben wir zwei Gruppen, eine f&#252;r das System und eine f&#252;r das Raid. Zuerst gehen wir an die Gruppe vg_system:<br />
Der Befehl lvcreate f&#252;gt der Gruppe (letztes Wort im Befehl), hier vg_system eine logische Partition hinzu.<br />
<strong>Vorsicht</strong>: Kopiert bitte nicht einfach die Befehle, achtet u.a. auch auf die Gr&#246;&#223;enangaben!<br />
Es werden also root, swap und tmp angelegt, auch hier k&#246;nnt ihr noch mehr hinzuf&#252;gen:</p>
<pre class="brush: plain; title: ; notranslate"># lvm lvcreate -L 2GB -n root vg_system</pre>
<pre class="brush: plain; title: ; notranslate"># lvm lvcreate -L 512MB -n swap vg_system</pre>
<pre class="brush: plain; title: ; notranslate"># lvm lvcreate -L 512MB -n tmp vg_system</pre>
<p>Jetzt geht es an das Raid:</p>
<pre class="brush: plain; title: ; notranslate"># lvm lvcreate -l 100%FREE -n home vg_raid</pre>
<p>Jetzt haben wir schon einiges geschafft.<br />
Los geht es also mit dem eigentlichen Setup:</p>
<pre class="brush: plain; title: ; notranslate"># /arch/setup</pre>
<p>Hier dem Installer folgen bis &#8220;3 Prepare Harddrive&#8221;<br />
Hier die Screenshots wie ihr vorgehen m&#252;sst.</p>
<p><a href="http://www.i-tiger.de/wp-content/uploads/2011/04/002.png"><img class="aligncenter size-medium wp-image-242" title="002" src="http://www.i-tiger.de/wp-content/uploads/2011/04/002-300x196.png" alt="" width="300" height="196" /></a></p>
<p><a href="http://www.i-tiger.de/wp-content/uploads/2011/04/003.png"><img class="aligncenter size-medium wp-image-243" title="003" src="http://www.i-tiger.de/wp-content/uploads/2011/04/003-300x196.png" alt="" width="300" height="196" /></a><a href="http://www.i-tiger.de/wp-content/uploads/2011/04/004.png"></a></p>
<p><a href="http://www.i-tiger.de/wp-content/uploads/2011/04/004.png"><img class="aligncenter size-medium wp-image-244" title="004" src="http://www.i-tiger.de/wp-content/uploads/2011/04/004-300x196.png" alt="" width="300" height="196" /></a></p>
<p><a href="http://www.i-tiger.de/wp-content/uploads/2011/04/005.png"><img class="aligncenter size-medium wp-image-245" title="005" src="http://www.i-tiger.de/wp-content/uploads/2011/04/005-300x196.png" alt="" width="300" height="196" /></a></p>
<p><a href="http://www.i-tiger.de/wp-content/uploads/2011/04/006.png"><img class="aligncenter size-medium wp-image-246" title="006" src="http://www.i-tiger.de/wp-content/uploads/2011/04/006-300x196.png" alt="" width="300" height="196" /></a></p>
<p><a href="http://www.i-tiger.de/wp-content/uploads/2011/04/007.png"><img class="aligncenter size-medium wp-image-247" title="007" src="http://www.i-tiger.de/wp-content/uploads/2011/04/007-300x196.png" alt="" width="300" height="196" /></a></p>
<p><a href="http://www.i-tiger.de/wp-content/uploads/2011/04/008.png"><img class="aligncenter size-medium wp-image-248" title="008" src="http://www.i-tiger.de/wp-content/uploads/2011/04/008-300x196.png" alt="" width="300" height="196" /></a></p>
<p>Ich habe keine weiteren Optionen oder Labels oder so angegeben. Die /boot-Partition ist somit fertig vorbereitet.<br />
Jetzt geht es an die /root-Partition und danach analog weiter mit swap und tmp.</p>
<p><a href="http://www.i-tiger.de/wp-content/uploads/2011/04/009.png"><img class="aligncenter size-medium wp-image-249" title="009" src="http://www.i-tiger.de/wp-content/uploads/2011/04/009-300x196.png" alt="" width="300" height="196" /></a><br />
W&#228;hlt jetzt ext4 oder reiserfs&#8230;</p>
<p><a href="http://www.i-tiger.de/wp-content/uploads/2011/04/010.png"><img class="aligncenter size-medium wp-image-250" title="010" src="http://www.i-tiger.de/wp-content/uploads/2011/04/010-300x196.png" alt="" width="300" height="196" /></a><br />
Jetzt swap w&#228;hlen:<br />
<a href="http://www.i-tiger.de/wp-content/uploads/2011/04/011.png"><img class="aligncenter size-medium wp-image-251" title="011" src="http://www.i-tiger.de/wp-content/uploads/2011/04/011-300x196.png" alt="" width="300" height="196" /></a><br />
dann tmp und anschlie&#223;end das raid:<br />
<a href="http://www.i-tiger.de/wp-content/uploads/2011/04/012.png"><img class="aligncenter size-medium wp-image-252" title="012" src="http://www.i-tiger.de/wp-content/uploads/2011/04/012-300x196.png" alt="" width="300" height="196" /></a><br />
und /home w&#228;hlen:</p>
<p><a href="http://www.i-tiger.de/wp-content/uploads/2011/04/013.png"><img class="aligncenter size-medium wp-image-253" title="013" src="http://www.i-tiger.de/wp-content/uploads/2011/04/013-300x196.png" alt="" width="300" height="196" /></a></p>
<p>Am Ende sieht das Schema dann so aus:<br />
<a href="http://www.i-tiger.de/wp-content/uploads/2011/04/014-ende-fs.png"><img class="aligncenter size-medium wp-image-254" title="014-ende-fs" src="http://www.i-tiger.de/wp-content/uploads/2011/04/014-ende-fs-300x196.png" alt="" width="300" height="196" /></a><br />
mit den Pfeiltasten nach unten bis &#8220;done&#8221; und dann best&#228;tigen.<br />
<a href="http://www.i-tiger.de/wp-content/uploads/2011/04/015.png"><img class="aligncenter size-medium wp-image-255" title="015" src="http://www.i-tiger.de/wp-content/uploads/2011/04/015-300x196.png" alt="" width="300" height="196" /></a><br />
Jetzt mit Punkt 4 weiter machen: Select Packages und dann installiert ihr die Packages nach Punkt 5. Danach gehen wir in ein anderes Terminalfenster mit Alt+F3 und loggen uns als root ein.<br />
Jetzt lassen wir mdadm unser Raid analysieren und speichern es erstmal als test ab:<br />
Wir navigieren in den entsprechenden Ordner:</p>
<pre class="brush: plain; title: ; notranslate"># cd /mnt/etc </pre>
<p>und dann:</p>
<pre class="brush: plain; title: ; notranslate"># mdadm --examine --scan &gt;&gt; test</pre>
<p>dann k&#246;nnen wir uns das Ergebnis mit:</p>
<pre class="brush: plain; title: ; notranslate"># cat test</pre>
<p>ansehen und l&#246;schen die alte mdadm conf und nennen die Testdatei um:</p>
<pre class="brush: plain; title: ; notranslate"># rm mdadm.conf</pre>
<pre class="brush: plain; title: ; notranslate"># mv test mdadm.conf</pre>
<p>Jetzt die crypttab editieren:</p>
<pre class="brush: plain; title: ; notranslate">nano /mnt/etc/crypttab</pre>
<p>hier am Ende der Datei folgendes eintragen, damit das Raid-Array auch automatisch gemountet wird:</p>
<pre class="brush: plain; title: ; notranslate">raid /dev/md0 EUERPASSWORT</pre>
<p><a href="http://www.i-tiger.de/wp-content/uploads/2011/04/017.png"><img class="aligncenter size-medium wp-image-258" title="017" src="http://www.i-tiger.de/wp-content/uploads/2011/04/017-300x196.png" alt="" width="300" height="196" /></a></p>
<p>Sp&#228;ter k&#246;nnte man das ganze noch so anpassen, dass die Partition per keyfile entschl&#252;sselt wird und vieles mehr.<br />
Jetzt zur&#252;ck zum Installer mit <em>Alt+F1</em> und das System konfigurieren.<br />
W&#228;hlt nano als Editor, au&#223;er ihr kennt und k&#246;nnt! mit den anderen umgehen.Hinweis zu nano: mit strg+w sucht ihr, mit strg+o schreibt ihr und mit strg+x verlasst ihr den nano.<br />
<a href="http://www.i-tiger.de/wp-content/uploads/2011/04/016.png"><img class="aligncenter size-medium wp-image-256" title="016" src="http://www.i-tiger.de/wp-content/uploads/2011/04/016-300x196.png" alt="" width="300" height="196" /></a></p>
<p>Wir editieren die rc.conf, damit lvm genutzt wird:<br />
<em>rc.conf</em><br />
<em>USELVM=&#8221;yes&#8221;</em><br />
in der /etc/mkinitcpio.conf muss folgende Zeile angepasst werden:<br />
<strong>Hinweis</strong>: Reihenfolge ist zu beachten!<br />
<em>HOOKS=&#8221;base udev autodetect pata scsi sata keymap usbinput mdadm encrypt lvm2 filesystems&#8221;</em></p>
<p><em> </em><br />
Jetzt den Bootloader Grub auf /dev/sda installieren, man wird dann automatisch aufgefordert die Konfigurationsdateien zu &#252;berpr&#252;fen und genau diese m&#252;ssen wir anpassen:</p>
<p>Ihr m&#252;sst jetzt in der kernel-Zeile noch das cryptdevice eintragen (auch bei Fallback!):</p>
<pre class="brush: plain; title: ; notranslate">kernel /vmlinuz26 root=/dev/mapper/vg_system-root cryptdevice=/dev/sda2:vg_system ro</pre>
<p>Datei speichern und schlie&#223;en, danach wird man aufgefordert das boot device zu w&#228;hlen:<br />
<a href="http://www.i-tiger.de/wp-content/uploads/2011/04/018-sda.png"><img class="aligncenter size-medium wp-image-257" title="018" src="http://www.i-tiger.de/wp-content/uploads/2011/04/018-sda-300x196.png" alt="" width="300" height="196" /></a></p>
<p><em> </em></p>
<p><em> </em><br />
<em><strong>That&#8217;s it!</strong><br />
</em><br />
Jetzt hei&#223;t es <em>reboot</em> einzutippen oder <em>init 0</em> um den Rechner auszuschalten.<br />
Have fun!<br />
Zum Schluss ist noch zu sagen, dass man je dm-crypt device bis zu 8 Passw&#246;rter oder Keys hinterlegen kann. Dies sollte man ausnutzen! Und man kann die crypt-header sichern, auch dies ist zu empfehlen, falls mal was schief l&#228;uft. Hilfe findet ihr dazu im arch wiki!</p>
<p>Quellen:<br />
<a href="https://wiki.archlinux.org/index.php/Main_Page">Arch Wiki</a><br />
<a href="http://yannickloth.be/blog/2010/08/01/installing-archlinux-with-software-raid1-encrypted-filesystem-and-lvm2/ ">http://yannickloth.be/blog/2010/08/01/installing-archlinux-with-software-raid1-encrypted-filesystem-and-lvm2/</a><br />
<a href="http://www.pindarsign.de/webblog/?p=767">http://www.pindarsign.de/webblog/?p=767</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.i-tiger.de/2011/04/arch-linux-mit-3-festplatten-system-und-datenraid-verschlusselt-und-lvm/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Great JavaScript Performance Video</title>
		<link>http://www.i-tiger.de/2010/03/great-javascript-performance-video/</link>
		<comments>http://www.i-tiger.de/2010/03/great-javascript-performance-video/#comments</comments>
		<pubDate>Tue, 30 Mar 2010 07:06:06 +0000</pubDate>
		<dc:creator>johannes</dc:creator>
				<category><![CDATA[howto]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Programmierung]]></category>
		<category><![CDATA[dev]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://www.i-tiger.de/?p=212</guid>
		<description><![CDATA[Hier ist ein sehr cooles JavaScript Video. Es geht um Performance von JavaScript und als Web-Entwickler kommt man nicht an JavaScript vorbei und v.a. ist JavaScript nicht b&#246;se, auch wenn manche immer noch der Meinung sind. Ihr habt den Knall nicht geh&#246;rt&#8230; Have fun (via)]]></description>
			<content:encoded><![CDATA[<p>Hier ist ein sehr cooles JavaScript Video. Es geht um Performance von JavaScript und als Web-Entwickler kommt man nicht an JavaScript vorbei und v.a. ist JavaScript nicht b&#246;se, auch wenn manche immer noch der Meinung sind. Ihr habt den Knall nicht geh&#246;rt&#8230;<br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="640" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://www.youtube.com/v/mHtdZgou0qU&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;hl=en_US&amp;feature=player_embedded&amp;fs=1" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="640" height="385" src="http://www.youtube.com/v/mHtdZgou0qU&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;hl=en_US&amp;feature=player_embedded&amp;fs=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>Have fun (<a href="http://davidwalsh.name/javascript-speed" target="_blank">via</a>)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.i-tiger.de/2010/03/great-javascript-performance-video/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PhpDocumentor unter Xampp (Windows 7)</title>
		<link>http://www.i-tiger.de/2010/03/phpdocumentor-unter-xampp-windows-7/</link>
		<comments>http://www.i-tiger.de/2010/03/phpdocumentor-unter-xampp-windows-7/#comments</comments>
		<pubDate>Sun, 21 Mar 2010 09:48:39 +0000</pubDate>
		<dc:creator>johannes</dc:creator>
				<category><![CDATA[howto]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programmierung]]></category>
		<category><![CDATA[dokumentieren]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://www.i-tiger.de/?p=207</guid>
		<description><![CDATA[PhpDocumentor unter xampp (Windows 7) installieren - the easy way!]]></description>
			<content:encoded><![CDATA[<p>Hallo,</p>
<p>nach einer kleinen Pause soll es jetzt wieder weiter gehen mit hilfreichen Blogeintr&#228;gen (jetzt habe ich ja Unterst&#252;tzung siehe Beitrag vor diesem).</p>
<p>Heute geht es um eine kurze Anleitung, wie man in ein paar Schritten unter xampp(lite) <a title="http://manual.phpdoc.org/" href="http://manual.phpdoc.org/" target="_blank">PhpDocumentor </a>installiert und nat&#252;rlich anschlie&#223;end nutzen kann.</p>
<p>Ich setze voraus, dass xampp oder in meinem Fall <a title="http://www.apachefriends.org/xampp-windows.html" href="http://www.apachefriends.org/xampp-windows.html" target="_blank">xampplite</a> installiert ist.</p>
<p>Und los gehts:</p>
<p>Als erstes setzen wir mal, falls noch nicht getan php in die PATH-Variable von Windows, d.h. rechts Klick auf den Arbeitsplatz, dann Eigenschaften anklicken und dann &#8220;Erweiterte System Einstellungen&#8221; (ich nutze kein deutsches Windows, aber so &#228;hnlich m&#252;sste der Button hei&#223;en). Dann unter Erweitert (Advanced) auf Systemvariablen und dann bei PATH (nicht alles l&#246;schen!!!) sondern einfach folgendes hinzuf&#252;gen:</p>
<pre class="brush: plain; title: ; notranslate">;C:\xampplite\php</pre>
<p>(der Semikolon dient hier als Trenner zwischen den angegeben Pfaden)</p>
<p>Jetzt k&#246;nnen wir in der cmd.exe auf alle Programme unter C:\xampplite\php zugreifen, also auch auf PEAR. Erstmal m&#252;ssen wir PEAR kurz konfigurieren:</p>
<pre class="brush: plain; title: ; notranslate"> pear config-set data_dir c:\xampplite\htdocs\pear\ </pre>
<p>Ok, jetzt die Installation von PhpDocumentor:</p>
<pre class="brush: plain; title: ; notranslate">pear install PhpDocumentor</pre>
<p>Schwierig oder?</p>
<p>Ok, jetzt m&#252;sst ihr nat&#252;rlich <a title="http://manual.phpdoc.org/HTMLSmartyConverter/HandS/li_phpDocumentor.html" href="http://manual.phpdoc.org/HTMLSmartyConverter/HandS/li_phpDocumentor.html" target="_blank">passend kommentierte</a> PHP-Dateien haben dann k&#246;nnt ihr mit dem Befehl hier loslegen:</p>
<pre class="brush: plain; title: ; notranslate">phpdoc -t &lt;targetdir&gt; -o HTML:default:default -d parsedir</pre>
<p>Have fun und immer sch&#246;n Code dokumentieren!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.i-tiger.de/2010/03/phpdocumentor-unter-xampp-windows-7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>apache virtual hosts mit ssl unter linux</title>
		<link>http://www.i-tiger.de/2010/02/apache-virtual-hosts-mit-ssl-unter-linux/</link>
		<comments>http://www.i-tiger.de/2010/02/apache-virtual-hosts-mit-ssl-unter-linux/#comments</comments>
		<pubDate>Tue, 02 Feb 2010 21:08:52 +0000</pubDate>
		<dc:creator>johannes</dc:creator>
				<category><![CDATA[howto]]></category>
		<category><![CDATA[Verschlüsselung]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[ssl]]></category>

		<guid isPermaLink="false">http://www.i-tiger.de/?p=187</guid>
		<description><![CDATA[Apache mit einem oder mehreren ssl-virtuellen Hosts - the easy way.]]></description>
			<content:encoded><![CDATA[<p>Es wird immer wichtiger, dass man Daten nicht einfach so durchs Netz schickt, sondern die Daten verschl&#252;sselt transportiert. Die L&#246;sung ist ein apache, mit ssl und verschiedenen virtuellen hosts. Meine Grundidee ist folgende: schnell und einfach https://&lt;dienstname&gt;:&lt;port&gt; zu implementieren. Dazu braucht es nat&#252;rlich erstmal eine funktionierende apache Installation. Aber das erkl&#228;re ich hier sicher nicht! Und wir gehen noch davon aus, dass wir nicht den Standard Port 443 nehmen wollen, sondern einen beliebigen. Das Ziel ist ja mehrere Seiten/ Dienste zu erstellen.</p>
<p><strong>Zuerst k&#252;mmern wir uns um die Zertifikate:</strong></p>
<ul>
<li>sucht euch einen beliebigen Ort, z.B. /tmp/test um dort die Zertifikate zu erstellen und erstmal zu speichern</li>
<li>und los gehts:
<pre class="brush: bash; title: ; notranslate">
$ sudo openssl genrsa -des3 -out &lt;name&gt;-ssl-cert-private.key 1024
</pre>
<p>ihr m&#252;sst nichts eingeben, au&#223;er dem Passwort und das nat&#252;rlich gut merken!</li>
<li>ok, dann nehmen wir den erstellten Key und erstellen ein &#8216;certificate request&#8217;:
<pre class="brush: bash; title: ; notranslate">
$ sudo openssl req -new -key &lt;name&gt;-ssl-cert-private.key -out &lt;name&gt;-ssl-cert-file.pem
</pre>
</li>
<li> und jetzt erstellen wir noch das selbst-signierte Zertifikat:
<pre class="brush: bash; title: ; notranslate">
$ sudo openssl x509 -req -days 365 -in &lt;name&gt;-ssl-cert-file.pem -signkey &lt;name&gt;-ssl-cert-private.key -out &lt;name&gt;-ssl-server.crt
</pre>
</li>
<li>jetzt m&#252;ssen die Zertifikate an den richtigen Ort kopiert werden:
<pre class="brush: bash; title: ; notranslate">
$ sudo cp &lt;name&gt;-ssl-server.crt /etc/ssl/certs
</pre>
<pre class="brush: bash; title: ; notranslate">
$ sudo cp &lt;name&gt;-ssl-cert-private.key /etc/ssl/private
</pre>
</li>
</ul>
<p>Das wars auch schon f&#252;rs Erste.</p>
<p><span id="more-187"></span></p>
<p><strong>Apache Konfiguration</strong></p>
<ul>
<li>ssl Modul aktivieren:
<pre class="brush: bash; title: ; notranslate">$ sudo a2enmod ssl</pre>
</li>
<li>jetzt m&#252;ssen die Ports, auf denen der apache lauschen soll konfiguriert werden, dazu in /etc/apache2/ports.conf den Port 443, den wir nicht wollen auskommentieren und die gew&#252;nschten Ports hinzuf&#252;gen:
<pre class="brush: bash; title: ; notranslate">
#nur ein Auszug der Datei
&lt;IfModule mod_ssl.c&gt;
    #Listen 443
    Listen 2000
    Listen 3000
    #und mehr.... oder weniger
&lt;/IfModule&gt;
</pre>
</li>
<li>und jetzt kopieren wir die default-ssl Seite (Konfigurationsdatei), die wir gleich als virtuellen Host nutzen wollen:
<pre class="brush: bash; title: ; notranslate">
$ sudo cp default-ssl &lt;name&gt;-ssl
</pre>
</li>
<li>jetzt geht hei&#223;t es die Datei richtig zu konfigurieren, hier ein Auszug wie eure Datei aussehen k&#246;nnte. Beachtet die Kommentare:
<pre class="brush: bash; title: ; notranslate">
&lt;IfModule mod_ssl.c&gt;
#nicht vergessen!
NameVirtualHost *:3000

&lt;VirtualHost *:3000&gt;       #port auch hier nicht vergessen
	ServerAdmin webmaster@localhost

	DocumentRoot /var/www/&lt;name&gt;-ssl   #den Pfad anpassen
	&lt;Directory /&gt;
		Options FollowSymLinks
		AllowOverride None
	&lt;/Directory&gt;
	&lt;Directory /var/www/&lt;name&gt;-ssl&gt;   #den Pfad anpassen
		Options -Indexes FollowSymLinks MultiViews
		AllowOverride None
		Order allow,deny
		allow from all
	&lt;/Directory&gt;

	ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
	&lt;Directory &quot;/usr/lib/cgi-bin&quot;&gt;
		AllowOverride None
		Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
		Order allow,deny
		Allow from all
	&lt;/Directory&gt;

	ErrorLog /var/log/apache2/error.log
	LogLevel warn

	CustomLog /var/log/apache2/ssl_access.log combined

	#   SSL Engine Switch:
	#   Enable/Disable SSL for this virtual host.
	SSLEngine on

        #
        ##  HIER SIND UNSERE ERSTELLTEN ZERTIFIKATE!!!
        #
        SSLCertificateFile    /etc/ssl/certs/&lt;name&gt;-ssl-server.crt
        SSLCertificateKeyFile /etc/ssl/private/&lt;name&gt;-ssl-cert-private.key

	&lt;FilesMatch &quot;\.(cgi|shtml|phtml|php)$&quot;&gt;
		SSLOptions +StdEnvVars
	&lt;/FilesMatch&gt;
	&lt;Directory /usr/lib/cgi-bin&gt;
		SSLOptions +StdEnvVars
	&lt;/Directory&gt;

	BrowserMatch &quot;.*MSIE.*&quot; \
		nokeepalive ssl-unclean-shutdown \
		downgrade-1.0 force-response-1.0

&lt;/VirtualHost&gt;
&lt;/IfModule&gt;
</pre>
</li>
<li> Jetzt die Datei speichern und dann:
<pre class="brush: bash; title: ; notranslate">
$ sudo a2ensite jk-ssl
</pre>
<p>jetzt den apache neu starten; ihr m&#252;sst jetzt nat&#252;rlich die Passw&#246;rter f&#252;r die Zertifikate eingeben</p>
<pre class="brush: bash; title: ; notranslate">
$ sudo /etc/init.d/apache2 restart
</pre>
</li>
<li> wenn ihr nur kleine Konfigurationseinstellungen macht, reicht es auch die apache Konfiguration neu zu laden:
<pre class="brush: bash; title: ; notranslate">
$ sudo /etc/init.d/apache2 reload
</pre>
</li>
</ul>
<p>Ihr habt es geschafft, auf geht&#8217;s nach https://&lt;ip|dns&gt;:&lt;port&gt; und alles m&#252;sste funktionieren. Eine kleine Anmerkung noch, wenn ihr alle Seiten/ Dienste unter &#8216;/var/www&#8217; speichert und die default Seite aktiviert ist, solltet ihr in dieser sicherheitshalber &#8216;-Indexes&#8217; statt Indexes eingeben. Dies ist eig. nicht n&#246;tig, aber solltet ihr mal die index.html (in der It works! steht) versehentlich l&#246;schen, da ihr denkt, ach die Datei brauche ich ja wirklich nicht. Dann kann man durch einen Aufruf im Browser auch auf eure eig. https basierten Dienste per http zugreifen.</p>
<p>Have fun</p>
]]></content:encoded>
			<wfw:commentRss>http://www.i-tiger.de/2010/02/apache-virtual-hosts-mit-ssl-unter-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>htaccess Links und HowTo</title>
		<link>http://www.i-tiger.de/2010/01/htaccess-links-und-howto/</link>
		<comments>http://www.i-tiger.de/2010/01/htaccess-links-und-howto/#comments</comments>
		<pubDate>Sat, 30 Jan 2010 09:08:53 +0000</pubDate>
		<dc:creator>johannes</dc:creator>
				<category><![CDATA[howto]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[apache]]></category>

		<guid isPermaLink="false">http://www.i-tiger.de/?p=185</guid>
		<description><![CDATA[htaccess Tipps und Tricks, Links und Anleitungen, check it out!]]></description>
			<content:encoded><![CDATA[<p>Hallo,</p>
<p>als Webmaster versucht man stets seine Homepages zu optimieren. Dazu geh&#246;rt auch der korrekte Umgang einer .htaccess-Datei, v.a. wenn man eben keinen direkten Zugriff auf die Apache Konfiguration hat. Mit einer .htaccess-Datei k&#246;nnt ihr relativ einfach Konfigurationsvariablen f&#252;r den zugeh&#246;rigen Apache Server setzen und einstellen. Dies setzt nat&#252;rlich voraus, dass der Hoster die Einstellungen, die ihr vornehmen wollt auch selbst in seiner Konfiguration des Apache genehmigt hat. Normalerweise k&#246;nnt ihr recht viel Einstellungen machen.</p>
<p>Ich will hier aber gar keine gro&#223;e Anleitung schreiben, was ihr alles machen k&#246;nnt oder was ihr genau bei WordPress machen solltet, sondern ich will euch ein paar hilfreiche und informative Links zur Verf&#252;gung stellen und ihr k&#246;nnt dann selbst nachlesen, was ihr f&#252;r sinnvoll haltet.</p>
<p><em>Ein paar Tipps gebe ich nat&#252;rlich schon:</em></p>
<ul>
<li>komprimiert eure Anfragen mit gzip (<a href="http://betterexplained.com/articles/how-to-optimize-your-site-with-gzip-compression/" target="_blank">howto</a>)</li>
<li>sch&#252;tzt eure htaccess-Datei &amp; wp-config.php</li>
<li>verhindert, dass eure Bandbreite genutzt wird, in dem Bilder von eurer Seite in anderen eingef&#252;gt werden</li>
<li>versucht zu cachen</li>
<li>leitet http://&lt;domain&gt; anfragen an www.&lt;domain&gt; um</li>
</ul>
<p><em>Und hier ein paar Links:</em></p>
<ul>
<li>der Hoster all-inkl bietet einen <a href="http://all-inkl.com/anleitungen/skripte/htaccessgenerator/" target="_blank">.htaccess Generator </a> an, der auch n&#252;tzlich sein kann, wenn man keine Domain bei dem Hoster hat</li>
<li>ein anderer gro&#223;er Hoster &#8211; dreamhost &#8211; bietet einen interessanten Wiki Eintrag &#252;ber <a href="http://wiki.dreamhost.com/Htaccess_tricks" target="_blank">htaccess tricks</a></li>
<li>24 sehr gute Tipps bietet <a href="http://devmoose.com/coding/20-htaccess-hacks-every-web-developer-should-know-about" target="_blank">devmoose.com</a> (die Tipps sind auch aus mehreren Tutorials zusammen gefasst und wirklich hilfreich!)</li>
<li>noch ein paar Tipps <a href="http://www.javascriptkit.com/howto/htaccess.shtml">http://www.javascriptkit.com/howto/htaccess.shtml</a></li>
<li>eig. ist das hier noch eine super Seite f&#252;r apache Tricks: <a href="http://www.askapache.com/htaccess/htaccess.html">http://www.askapache.com/htaccess/htaccess.html</a> (im Moment leider down, probierts einfach mal aus)</li>
</ul>
<p>Es gibt sicher noch jede Menge Anleitungen, aber zu viel Informationen bringen auch nur Verwirrung. Ich denke mit der obigen Sammlung kann man schon so einiges aus seiner Seite raus holen.</p>
<p>Viel Vergn&#252;gen und falls ihr gute Links habt, postet sie in den Kommentaren.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.i-tiger.de/2010/01/htaccess-links-und-howto/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CSS Divs statt Tabelle</title>
		<link>http://www.i-tiger.de/2010/01/css-divs-statt-tabelle/</link>
		<comments>http://www.i-tiger.de/2010/01/css-divs-statt-tabelle/#comments</comments>
		<pubDate>Tue, 26 Jan 2010 05:30:25 +0000</pubDate>
		<dc:creator>johannes</dc:creator>
				<category><![CDATA[howto]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[css]]></category>

		<guid isPermaLink="false">http://www.i-tiger.de/?p=167</guid>
		<description><![CDATA[Hallo, f&#252;r diesen kleinen Beitrag k&#246;nnte es viele &#220;berschriften geben, z.B. Divs richtig anordnen, divs positionieren, divs in divs, divs nebeneinander, etc&#8230;. Ich habe schon des &#246;fteren divs in divs ben&#246;tigt und manchmal auch nebeneinander oder untereinander und so weiter, heute wollte ich euch mal zeigen, wie einfach dies gehen kann. Hier erstmal der CSS [...]]]></description>
			<content:encoded><![CDATA[<p>Hallo,</p>
<p>f&#252;r diesen kleinen Beitrag k&#246;nnte es viele &#220;berschriften geben, z.B. Divs richtig anordnen, divs positionieren, divs in divs, divs nebeneinander, etc&#8230;.</p>
<p>Ich habe schon des &#246;fteren divs in divs ben&#246;tigt und manchmal auch nebeneinander oder untereinander und so weiter, heute wollte ich euch mal zeigen, wie einfach dies gehen kann.</p>
<p>Hier erstmal der CSS Code:</p>
<pre class="brush: css; smart-tabs: true; tab-size: 4; title: ; toolbar: true; notranslate">
&lt;style&gt;

#wrapper {
	height: 165px;
	width: 500px;
	border: 1px solid blue;
	padding: 25px;
}

#demo_div1 {
	float:left;
	width: 190px;
	height: 160px;
	background: green;
}

#demo_div1_sub1  {
	float:left;
	margin: 5px;
	width: 170px;
	height: 70px; b
	ackground: red;
}

#demo_div1_sub2  {
	float:left;
	margin: 5px;
	width: 170px;
	height: 70px;
	background: black;
	color: red;
}

#demo_div2 {
	float:left;
	width: 190px;
	height: 160px;
	background: red;
	margin-left: 19px;
}

#demo_div2_sub1  {
	float:left;
	margin: 5px;
	width: 170px;
	height: 70px;
	background: green;
}

#demo_div2_sub2 {
	float:left;
	margin: 5px;
	width: 170px;
	height: 70px;
	background: black;
	color: red;
}
&lt;/style&gt;
</pre>
<p>Dann noch ein paar HTML Schnippsel:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;div id=&quot;wrapper&quot;&gt;
   &lt;div id=&quot;demo_div1&quot;&gt;
		&lt;div id=&quot;demo_div1_sub1&quot;&gt;div1_sub1&lt;/div&gt;
		&lt;div id=&quot;demo_div1_sub2&quot;&gt;div1_sub2&lt;/div&gt;
	&lt;/div&gt;

	&lt;div id=&quot;demo_div2&quot;&gt;
		&lt;div id=&quot;demo_div2_sub1&quot;&gt;div2_sub1&lt;/div&gt;
		&lt;div id=&quot;demo_div2_sub2&quot;&gt;div2_sub2&lt;/div&gt;
	&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;ready...&lt;/p&gt;
</pre>
<p>und fertig ist das ganze:  <a title="demo" href="http://www.i-tiger.de/wp-content/uploads/demo/divs_2010_01_25.html" target="_blank">Demopage</a></p>
<p>Vor allem ist das hier n&#252;tzlich f&#252;r Bilder, oder f&#252;r kleine oder auch gr&#246;&#223;ere Formulare, wenn ihr eure label-tags &#252;ber euren input-Feldern oder Checkboxen wollt. Nat&#252;rlich muss man dann noch ein paar Gr&#246;&#223;enanpassungen machen, mehr ist allerdings nicht n&#246;tig.</p>
<p>Have fun</p>
<p></p>
]]></content:encoded>
			<wfw:commentRss>http://www.i-tiger.de/2010/01/css-divs-statt-tabelle/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Kleine Helfer gro&#223;e Wirkung &#8211; Terminal Tipps</title>
		<link>http://www.i-tiger.de/2010/01/kleine-helfer-grosse-wirkung-terminal-tipps/</link>
		<comments>http://www.i-tiger.de/2010/01/kleine-helfer-grosse-wirkung-terminal-tipps/#comments</comments>
		<pubDate>Sat, 23 Jan 2010 18:39:09 +0000</pubDate>
		<dc:creator>johannes</dc:creator>
				<category><![CDATA[howto]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Unix]]></category>
		<category><![CDATA[linux tip]]></category>
		<category><![CDATA[Tipps]]></category>

		<guid isPermaLink="false">http://www.i-tiger.de/?p=153</guid>
		<description><![CDATA[Logfiles beobachten: $ tail -F /path/to/file.log nach bestimmten Funktionen oder Textpassagen suchen: $ grep -rn &#8216;FunktionXYZ()&#8217; * -r = rekursiv -n = Zeilennummer -* Pfad (ich rufe den Befehl immer im root Verzeichnis auf, in dem ich suchen will) weitere interessante Parameter sind -l oder -L: -l = print only names of FILEs containing matches [...]]]></description>
			<content:encoded><![CDATA[<ul>
<li>Logfiles beobachten: $ <strong>tail -F /path/to/file.log</strong></li>
<li>nach bestimmten Funktionen oder Textpassagen suchen:<br />
$ <strong>grep -rn &#8216;FunktionXYZ()&#8217; *<br />
</strong><br />
-r = rekursiv<br />
-n = Zeilennummer<br />
-* Pfad (ich rufe den Befehl immer im root Verzeichnis auf, in dem ich suchen will)<br />
weitere interessante Parameter sind -l oder -L:<br />
-l = print only names of FILEs containing matches<br />
-L = print only names of FILEs containing no match<br />
oder ihr piped das ganze und dreht das Ergebnis mit -v um:</li>
<li>und zwar ist das gut, um sich alle inputs eines Formulars auszudrucken:<br />
<strong>$ cat -s insert.html.php | grep name | grep -v &#8216;&lt;!&#8211;&#8217; | grep -v &#8216;label&#8217; | grep -v &#8216;require&#8217;</strong></p>
<p>dies setzt nat&#252;rlich voraus, dass jedes input/textarea, etc. einen name Tag besitzt.</li>
</ul>
<div>
<ul>
<li>wenn in einem Ordner nur Dateien liegen/ oder auch nur eine Datei und ihr auf die schnelle wissen wollte, wieviele Zeichen Code ihr geschafft habt:<br />
<strong>$ cat * | wc -l</strong></li>
<li><strong>[update]<br />
<span style="font-weight: normal;">wenn ihr noch firebug logging-code in eurem Webprojekt habt und ihr nicht wisst, ob ihr schon alle logging Informationen auskommentiert habt, dann k&#246;nnt ihr das mit diesem Befehl schnell raus finden:<br />
<strong>$ grep -r &#8216;console.log(&#8216; * | grep -v &#8216;//&#8217;</strong></span></strong></li>
</ul>
</div>
<p>Und es gibt sicher noch mehrere n&#252;tzliche Tools, ein nettes ist z.B. noch figlet oder vrms, welches euch anzeigt welche installierten Programme nicht OpenSource sind.</p>
<p>Und allgemein gilt: <strong>$ &lt;package&gt; – – help</strong> oder <strong>$ man &lt;package&gt;</strong></p>
<p><strong>Have fun</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.i-tiger.de/2010/01/kleine-helfer-grosse-wirkung-terminal-tipps/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

