<?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>trafex</title>
	<atom:link href="http://trafex.de/feed/" rel="self" type="application/rss+xml" />
	<link>http://trafex.de</link>
	<description>webdev blog</description>
	<lastBuildDate>Sat, 02 Apr 2011 20:25:44 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
		<item>
		<title>Unterschied zwischen mtime und ctime</title>
		<link>http://trafex.de/blog/88/unterschied-zwischen-mtime-und-ctime/</link>
		<comments>http://trafex.de/blog/88/unterschied-zwischen-mtime-und-ctime/#comments</comments>
		<pubDate>Thu, 31 Mar 2011 08:14:29 +0000</pubDate>
		<dc:creator>StefanB</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[attribute]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[ctime]]></category>
		<category><![CDATA[File]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mtime]]></category>
		<category><![CDATA[stat]]></category>

		<guid isPermaLink="false">http://trafex.de/?p=88</guid>
		<description><![CDATA[Gerade kam hier im Buero die Frage auf was der Unterschied zwischen der mtime und der ctime einer Datei im Filesystem ist (z.B. unter Linux) atime: dieser Zeitstempel spiegelt den letzten Zugriff (lesend und schreibend) auf die Datei wieder mtime: wann wurde das letzte mal in die Datei geschrieben. Wird also gesetzt wenn die Datei [...]]]></description>
			<content:encoded><![CDATA[<p>Gerade kam hier im Buero die Frage auf was der Unterschied zwischen der mtime und der ctime einer Datei im Filesystem ist (z.B. unter Linux)</p>
<p><strong>atime</strong>: dieser Zeitstempel spiegelt den letzten Zugriff (lesend und schreibend) auf die Datei wieder<br />
<strong>mtime</strong>: wann wurde das letzte mal in die Datei geschrieben. Wird also gesetzt wenn die Datei erstellt wird und jedes mal neu wenn sich am Inhalt der Datei was aendert<br />
<strong>ctime</strong>: etwas missverstaendlich ChangeTime (nicht CreateTime!). Dieser Zeitstempel aendert sich wenn der Inhalt der Datei geaendert wird (also genau wie bei mtime), aber auch wenn sich an den Metadaten der Datei (Zugriffsrechte, Besitzer, ..) aendern</p>
<p>Die Daten lassen sich unter Linux z.B. mit dem Kommando &#8216;stat&#8217; anzeigen:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;">$ <span style="color: #c20cb9; font-weight: bold;">stat</span> bild.png
  File: „bild.png“
  Size: <span style="color: #000000;">71253</span>     	Blocks: <span style="color: #000000;">144</span>        IO Block: <span style="color: #000000;">4096</span>   reguläre Datei
Device: 803h<span style="color: #000000; font-weight: bold;">/</span>2051d	Inode: <span style="color: #000000;">138763</span>      Links: <span style="color: #000000;">1</span>
Access: <span style="color: #7a0874; font-weight: bold;">&#40;</span>0644<span style="color: #000000; font-weight: bold;">/</span>-rw-r--r--<span style="color: #7a0874; font-weight: bold;">&#41;</span>  Uid: <span style="color: #7a0874; font-weight: bold;">&#40;</span> <span style="color: #000000;">1000</span><span style="color: #000000; font-weight: bold;">/</span>  benutzer<span style="color: #7a0874; font-weight: bold;">&#41;</span>   Gid: <span style="color: #7a0874; font-weight: bold;">&#40;</span> <span style="color: #000000;">1000</span><span style="color: #000000; font-weight: bold;">/</span>  benutzer<span style="color: #7a0874; font-weight: bold;">&#41;</span>
Access: <span style="color: #000000;">2011</span>-03-<span style="color: #000000;">25</span> <span style="color: #000000;">14</span>:01:<span style="color: #000000;">32.859874003</span> +0100
Modify: <span style="color: #000000;">2010</span>-<span style="color: #000000;">12</span>-02 <span style="color: #000000;">11</span>:<span style="color: #000000;">26</span>:<span style="color: #000000;">18.944805110</span> +0100
Change: <span style="color: #000000;">2010</span>-<span style="color: #000000;">12</span>-05 <span style="color: #000000;">11</span>:<span style="color: #000000;">26</span>:<span style="color: #000000;">18.944805110</span> +0100</pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://trafex.de/blog/88/unterschied-zwischen-mtime-und-ctime/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Übersicht zu unverlangtem Newsletterversand</title>
		<link>http://trafex.de/blog/73/ubersicht-zu-unverlangtem-newsletterversand/</link>
		<comments>http://trafex.de/blog/73/ubersicht-zu-unverlangtem-newsletterversand/#comments</comments>
		<pubDate>Tue, 26 Oct 2010 13:40:04 +0000</pubDate>
		<dc:creator>StefanB</dc:creator>
				<category><![CDATA[trafex]]></category>
		<category><![CDATA[Gericht]]></category>
		<category><![CDATA[Newsletter]]></category>
		<category><![CDATA[Recht]]></category>
		<category><![CDATA[unverlangt]]></category>
		<category><![CDATA[Urteile]]></category>

		<guid isPermaLink="false">http://trafex.de/?p=73</guid>
		<description><![CDATA[Das unverlangte Newsletter ein Ärgernis sind hat wohl jeder selbst schon erlebt. Zum Glück gibt es zumindest in Deutschland recht klare Regeln wann man wem einen Newsletter zusenden darf. Die Anwaltskanzlei Ferner Alsdorf hat eine gute Übersicht erstellt, die Urteile zu diesem Thema auflistet: Streitwert: Unverlangte Zusendung von Email bzw. Newsletter]]></description>
			<content:encoded><![CDATA[<p>Das unverlangte Newsletter ein Ärgernis sind hat wohl jeder selbst schon erlebt. Zum Glück gibt es zumindest in Deutschland recht klare Regeln wann man wem einen Newsletter zusenden darf.</p>
<p>Die Anwaltskanzlei Ferner Alsdorf hat eine gute Übersicht erstellt, die Urteile zu diesem Thema auflistet:<br />
<a title="Link zu Streitwert: Unverlangte Zusendung von Email bzw. Newsletter" rel="bookmark" href="http://www.ferner-alsdorf.de/2010/10/streitwert-unverlangte-zusendung-von-email-bzw-newsletter/wettbewerbsrecht/strafrecht/rechtsanwalt/verkehrsrecht/">Streitwert: Unverlangte Zusendung von Email bzw. Newsletter</a></p>
]]></content:encoded>
			<wfw:commentRss>http://trafex.de/blog/73/ubersicht-zu-unverlangtem-newsletterversand/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP Installation und die t1lib</title>
		<link>http://trafex.de/blog/69/php-installation-t1lib/</link>
		<comments>http://trafex.de/blog/69/php-installation-t1lib/#comments</comments>
		<pubDate>Thu, 07 Oct 2010 21:08:21 +0000</pubDate>
		<dc:creator>StefanB</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[installation]]></category>
		<category><![CDATA[libt1]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[PHP 5.3]]></category>
		<category><![CDATA[RedHat]]></category>
		<category><![CDATA[t1lib]]></category>

		<guid isPermaLink="false">http://trafex.de/?p=69</guid>
		<description><![CDATA[Kleiner Notizeintrag fuer mich selbst: wenn PHP bei einer naechsten Installation diese Fehlermeldung von sich gibt: configure: error: Your t1lib distribution is not installed correctly. Please reinstall it. unter Debian / Ubuntu einfach das Paket &#8220;libt1-dev&#8221; installieren: 1 aptitude install libt1-dev Unter Redhat / CentOS gibt es die RPM Pakete unter http://packages.sw.be/t1lib/, unter CentOs 64 [...]]]></description>
			<content:encoded><![CDATA[<p>Kleiner Notizeintrag fuer mich selbst: wenn PHP bei einer naechsten Installation diese Fehlermeldung von sich gibt:</p>
<blockquote><p>configure: error: Your t1lib distribution is not installed correctly. Please reinstall it.</p></blockquote>
<p>unter Debian / Ubuntu einfach das Paket &#8220;<em><strong>libt1-dev</strong></em>&#8221; installieren:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">aptitude</span> <span style="color: #c20cb9; font-weight: bold;">install</span> libt1-dev</pre></td></tr></table></div>

<p>Unter Redhat / CentOS gibt es die RPM Pakete unter <a href="http://packages.sw.be/t1lib/">http://packages.sw.be/t1lib/</a>, unter CentOs 64 bit folgendes tun:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">wget</span> http:<span style="color: #000000; font-weight: bold;">//</span>packages.sw.be<span style="color: #000000; font-weight: bold;">/</span>t1lib<span style="color: #000000; font-weight: bold;">/</span>t1lib-5.1.2-<span style="color: #000000;">1</span>.el5.rf.x86_64.rpm
<span style="color: #c20cb9; font-weight: bold;">wget</span> http:<span style="color: #000000; font-weight: bold;">//</span>packages.sw.be<span style="color: #000000; font-weight: bold;">/</span>t1lib<span style="color: #000000; font-weight: bold;">/</span>t1lib-devel-5.1.2-<span style="color: #000000;">1</span>.el5.rf.x86_64.rpm
rpm <span style="color: #660033;">-Uvh</span> t1lib<span style="color: #000000; font-weight: bold;">*</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://trafex.de/blog/69/php-installation-t1lib/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SSH Mount unter Windows &#8211; Pfade vom Server als Laufwerk in Windows einbinden</title>
		<link>http://trafex.de/blog/51/ssh-mount-unter-windows-pfade-vom-server-als-laufwerk-in-windows-einbinden/</link>
		<comments>http://trafex.de/blog/51/ssh-mount-unter-windows-pfade-vom-server-als-laufwerk-in-windows-einbinden/#comments</comments>
		<pubDate>Sat, 26 Sep 2009 08:14:37 +0000</pubDate>
		<dc:creator>StefanB</dc:creator>
				<category><![CDATA[trafex]]></category>
		<category><![CDATA[Anleitung]]></category>
		<category><![CDATA[betriebssystem]]></category>
		<category><![CDATA[installation]]></category>
		<category><![CDATA[pfad]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[WebDev]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://trafex.de/?p=51</guid>
		<description><![CDATA[Da ich zuhause der Bequemlichkeit wegen Windows einsetze, aber trotzdem gerne privat Entwickeln möchte, ohne mir einen kompletten Server unter Windows auf zu setzen, habe ich gesucht und gefunden: es gibt mit Dokan SSHFS eine gut funktionierende Lösung die ähnlich fusessh unter Linux funktioniert. Man kann damit einfach einen Pfad auf einem externen Server verschlüsselt [...]]]></description>
			<content:encoded><![CDATA[<p>Da ich zuhause der Bequemlichkeit wegen Windows einsetze, aber trotzdem gerne privat Entwickeln möchte, ohne mir einen kompletten Server unter Windows auf zu setzen, habe ich gesucht und gefunden: es gibt mit <a href="http://dokan-dev.net">Dokan SSHFS</a> eine gut funktionierende Lösung die ähnlich fusessh unter Linux funktioniert. Man kann damit einfach einen Pfad auf einem externen Server verschlüsselt via SSH als Laufwerk unter Windows einsetzen.</p>
<p>Alle Links und Anleitung unter weiterlesen.</p>
<p><span id="more-51"></span></p>
<p>Dafür benötigt werden:</p>
<ul>
<li> <a href="http://www.microsoft.com/Net/Download.aspx">aktuelles .NET Framework von Microsoft</a></li>
<li><a href="http://dokan-dev.net/en/download/">Dokan library</a></li>
<li><a href="http://dokan-dev.net/en/download/">Dokan SSHFS</a></li>
</ul>
<p>Als erstes sollte man (wenn noch nicht vorhanden) das .NET Framework von Microsoft laden und installieren.<br />
Anschließend die Dokan library. Das ist die Basis für das Dokan SSHFS und stellt eine Schicht zwischen der Anwendung (in dem Fall Dokan SSHFS) und dem Betriebssystem (Windows) zur Verfügung. Die Installation sollte keine weiteren Probleme darstellen, ein Neustart ist nicht nötig.<br />
Als letztes einfach das Dokan SSHFS installieren. Auch hier sollte es keine Probleme geben.</p>
<p>Die Benutzung sollte weitestgehend selbsterklärend sein &#8211; einfach starten und die benötigten Daten eingeben:</p>
<p style="text-align: center;"><img class="size-full wp-image-58 aligncenter" title="dokansshfs1" src="http://trafex.de/wp-content/uploads/2009/09/dokansshfs1.png" alt="dokansshfs1" width="375" height="388" /></p>
<ul>
<li> Unter &#8220;Host&#8221; den Hostnamen des Servers eingeben (z.B.: trafex.de)</li>
<li>Bei &#8220;User&#8221; den Benutzernamen angeben, mit dem man sich einloggen möchte</li>
<li>der Port ist der Port, unter dem der SSH Daemon auf dem Server erreichbar ist</li>
<li>als nächstes kann man zwischen der Authentifizierung via Passwort wählen, dabei braucht man nur das Benutzerpasswort auf dem Server eingeben, oder ein SSH Keyfile.</li>
<li>&#8220;Server Root&#8221; gibt das als Basisverzeichnis, welches eingebunden werden soll. Die darunterliegende Verzeichnisse sind, solang man nich neu Mounted, nicht erreichbar.</li>
<li>zum Schluss gibt man den Laufwerksbuchstaben an, unter dem die Dateien unter Windows erreichbar sein sollen</li>
</ul>
<p>Nach dem Connecten braucht es einen kleinen Augenblick. Im Erfolgsfall bekommt man in einer kleinen Box den Status &#8220;sshfs start&#8221; gemeldet, im Fehlerfall die Meldung &#8220;failed to connect&#8221; &#8211; dann sollte man einfach noch mal die Angaben überprüfen.</p>
]]></content:encoded>
			<wfw:commentRss>http://trafex.de/blog/51/ssh-mount-unter-windows-pfade-vom-server-als-laufwerk-in-windows-einbinden/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Ubuntu auf Root-Server installieren</title>
		<link>http://trafex.de/blog/37/ubuntu-auf-root-server-installieren/</link>
		<comments>http://trafex.de/blog/37/ubuntu-auf-root-server-installieren/#comments</comments>
		<pubDate>Sun, 30 Nov 2008 16:10:02 +0000</pubDate>
		<dc:creator>StefanB</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[trafex]]></category>
		<category><![CDATA[Anleitung]]></category>
		<category><![CDATA[betriebssystem]]></category>
		<category><![CDATA[dateisystem]]></category>
		<category><![CDATA[einrichten]]></category>
		<category><![CDATA[grub]]></category>
		<category><![CDATA[installation]]></category>
		<category><![CDATA[intrepid]]></category>
		<category><![CDATA[kernel]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[neuinstallation]]></category>
		<category><![CDATA[root]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[xen]]></category>

		<guid isPermaLink="false">http://trafex.de/?p=37</guid>
		<description><![CDATA[Einer meiner Root-Server verlangte nach einer Neuinstallation. Da mir die Dekstop-Edition ganz gut gefällt wollte ich mal die Server-Edition ausprobieren. Da man auf einem entfernten Root-Server natürlich keine CD einlegen kann ist etwas Arbeit notwendig damit man das auch ohne CD / DVD zum Arbeiten bringt. Für Ubuntu spricht für mich das es aktueller ist [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://trafex.de/blog/37/ubuntu-auf-root-server-installieren/"><img class="alignleft size-full wp-image-46" style="margin-right: 2em; margin-bottom: 1em;" title="Ubuntu Logo" src="http://trafex.de/wp-content/uploads/2008/11/153px-ubuntu-logo-no-textsvg.png" alt="" width="153" height="158" align="left" /></a>Einer meiner Root-Server verlangte nach einer Neuinstallation. Da mir die Dekstop-Edition ganz gut gefällt wollte ich mal die Server-Edition ausprobieren. Da man auf einem entfernten Root-Server natürlich keine CD einlegen kann ist etwas Arbeit notwendig damit man das auch ohne CD / DVD zum Arbeiten bringt.</p>
<p>Für Ubuntu spricht für mich das es aktueller ist als Debian und sich trotzdem weitestgehend wie ein Debian bedienen lässt. Außerdem ist die Einrichtung von XEN ohne grosse Neukompilierung des Kernels möglich.</p>
<p>Mehr unter weiter lesen &#8230;</p>
<p><span id="more-37"></span></p>
<p>Als Anleitung fand ich eine veraltete Anleitung im <a href="http://serversupportforum.de/forum/faqs-anleitungen/9840-howto-ubuntu-6-06-tls-dapper-drake-auf-vserver-oder-rootds-oder-root-server.html">serversupportforum</a>, diese Anleitung basiert auf dieser.</p>
<h3>Erster Schritt: Netzwerkdaten sichern</h3>
<p>Diese muss man später wieder eintragen und sind zur Konnektivität sehr wichtig.</p>
<p>Die wichtigsten Daten erhält man mit dem mit dem Befehl:</p>
<pre>ifconfig</pre>
<p>Man erhält in Etwa folgende Ausgabe:</p>
<pre>eth0      Link encap:Ethernet  HWaddr 00:13:8F:10:92:8F
          inet addr:85.12.123.123  Bcast:85.12.123.255  Mask:255.255.248.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:17660218 errors:0 dropped:0 overruns:0 frame:0
          TX packets:18155043 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1490089780 (1.3 GiB)  TX bytes:3045423043 (2.8 GiB)
          Interrupt:16 Base address:0xdc00</pre>
<p>Folgende Werte sind wichtig: &#8220;inet addr&#8221;, &#8220;Bcast&#8221; und &#8220;Mask&#8221;, diese notieren.<br />
Weiterhin brauchen wir noch die IP-Adresse des Gateways:</p>
<pre># route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
85.12.123.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
0.0.0.0         85.12.123.1     0.0.0.0         UG    0      0        0 eth0</pre>
<p>Hier notieren wir uns die IP hinter der Zeile die mit &#8220;0.0.0.0&#8243; beginnt (in dem Fall also 85.12.123.1)</p>
<p>Weiterhin die Inhalte der Dateien /etc/resolv.conf notieren.</p>
<p>Zweiter Schritt: Rettungssystem booten &amp; Festplatte vorbereiten</p>
<p>Jetzt startet ihr das Rettungssystem. Das geht meistens über das Web-Interface eures Anbieters.<br />
Sobald ihr euch da eingeloggt habt leeren wir die Platte des Servers und teilen diese neu ein.</p>
<h3>2. Festplatte &amp; Dateisysteme</h3>
<p>Ich habe meine Festplatte nach dem &#8220;klassischem&#8221; Schema partitioniert.<br />
/dev/sda1 als ext2 für das Boot-Device mit dem Boot-Flag,<br />
/dev/sda2 für Swap<br />
/dev/sda3 als ext3 für die Daten<br />
Einteilen des ganzen mit fdisk (Anleitung z.B. hier) und dann die Dateisysteme anlegen und alles mounten:</p>
<pre>mke2fs /dev/sda1
mke2fs -j /dev/sda3
swapoff -a
swapon /dev/sda2
mkdir /mnt/debinst
mount /dev/sda3 /mnt/debinst
mkdir /mnt/debinst/boot
mount /dev/sda1 /mnt/debinst/boot</pre>
<p>Hinweis: falls der Swap-Bereich vorher noch nicht eingerichtet worden ist, muss man diesen erst mit &#8220;mkswap /dev/sda2&#8243; initialiseren. Danke an Andi für diesen Hinweis. (siehe Kommentare)</p>
<h3>3. Ubuntu Basisdateien</h3>
<p>Nachdem alles gemountet ist geht es an die Installation von Ubuntu mittels debbootstrap. (aktuell ist Intrepid)<br />
Die Basisdateien holt man sich vom <a href="http://de.archive.ubuntu.com/ubuntu/pool/main/d/debootstrap/">Ubuntu-Server</a>. Danach muss man das .deb-Paket umwandeln, damit man es einfach entpacken kann:</p>
<pre>mkdir /mnt/debinst/root
cd /mnt/debinst/root
wget http://de.archive.ubuntu.com/ubuntu/pool/main/d/debootstrap/debootstrap_1.0.10ubuntu1~intrepid1_all.deb
ar -xf debootstrap_1.0.10ubuntu1~intrepid1_all.deb
cd /
tar -zxvf /mnt/debinst/root/data.tar.gz
/usr/sbin/debootstrap --arch amd64 intrepid /mnt/debinst/ http://de.archive.ubuntu.com/ubuntu</pre>
<p>Wer keine 64Bit-Installation (bei Intel-Prozessoren auch amd64 benutzen) möchte erstzt das amd64 mit i386.<br />
Das ganze dauert jetzt etwas. Das Script holt sich die Ubuntu-Basisdateien vom Ubuntu-Server und packt sie an die richtigen Stellen auf der gemounteten Partition.<br />
Wenn das ganze dann fertig ist müssen wir das proc-Dateisystem und die Devices auf dem neuem System initialisieren. Das geht auch sehr einfach:</p>
<pre>mount -t proc proc /mnt/debinst/proc
cd /mnt/debinst/dev/
MAKEDEV -v generic</pre>
<h3>4. Ubuntu Grundsystem installieren</h3>
<p>Jetzt ins neu angelegte System chrooten. D.h. wir gaukeln den Programmen vor das das neue System das Basissystem ist &#8211; sprich virtuell wird /mnt/debinst zu /</p>
<pre>LANG= chroot /mnt/debinst /bin/bash</pre>
<p>Die voreingestellten Quelldateien beschränken sich auf die Basispakete. Für die volle Auswahl müssen wir die Source-Datei ändern:</p>
<pre>vim /etc/apt/sources.list</pre>
<p>Die Originaldatei sieht bei mir so aus:</p>
<pre>deb http://de.archive.ubuntu.com/ubuntu intrepid main</pre>
<p>Das ändere ich in:</p>
<pre>deb http://de.archive.ubuntu.com/ubuntu intrepid main restricted universe multiverse
deb http://de.archive.ubuntu.com/ubuntu intrepid-security main restricted universe multiverse
deb http://de.archive.ubuntu.com/ubuntu intrepid-updates main restricted universe multiverse</pre>
<p>Danach die Paketlisten updaten und schauen ob es evtl. Updates gibt:</p>
<pre>apt-get update
apt-get upgrade</pre>
<h3>5. Grundsystem konfigurieren</h3>
<p>Zuerst kümmern wir uns um das automatische Mounten der Dateisystem beim Systemstart. Das wird in der /etc/fstab getan. Hier der Inhalt meiner neuen fstab:</p>
<pre>/dev/sda3       /       ext3    defaults,noatime                        0       1
/dev/sda1       /boot   ext2    defaults,noatime,nosuid,nodev           0       2

/dev/sda2       none    swap    sw                                      0       0
proc            /proc   proc    defaults                                0       0</pre>
<p>Dann das nächste, das Netzwerk. Die Konfiguration wird an mehreren Stellen festgelegt.</p>
<p>/etc/network/interfaces</p>
<pre>auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
        address &lt;IP-Adresse&gt;
        netmask &lt;Netzmaske&gt;
        broadcast &lt;Broadcast-Adresse&gt;
        gateway &lt;Default-Gateway&gt;</pre>
<p>Zur Namensauflösung muss die /etc/resolv.conf angepasst werden. Hier einfach das gleich &#8216;reinschreiben was im alten System auch schon in der Datei stand.<br />
Den Hostnamen des neuen Systems legt man in der /etc/hostname fest. Diesen da einfach &#8216;rein schreiben.<br />
Die Hosts-Datei ist obligatorisch, aber sollte für den Normalbetrieb zumindest die Definition für localhost aufweisen:</p>
<pre>127.0.0.1       localhost.localdomain   localhost</pre>
<p>Jetzt kommen Pakete und Einstellungen zur Sprache:</p>
<pre>apt-get install language-pack-en language-pack-de
dpkg-reconfigure locales</pre>
<p>Um Deutsch und UTF-8 zur Voreinstellung zu machen muss folgendes in die /etc/environment hinzugrüfgt werden:</p>
<pre>LANG="de_DE.UTF-8"
LANGUAGE="de_DE:de:en_GB:en"</pre>
<p>Nun kommen wir zur Uhrzeit. Dazu müssen wir die Zeitzone des Servers einstellen:</p>
<pre>dpkg-reconfigure tzdata</pre>
<p>Und danach können wir gleich die Uhrzeit des Servers mit einem NTP-Server abgeleichen:</p>
<pre>ntpdate ptbtime1.ptb.de</pre>
<p>Damit wir nachher wieder zum Server verbinden können brauchen wir noch den SSH Server:</p>
<pre>apt-get install ssh</pre>
<p>Und das Passwort für den root-Benutzer festlegen:</p>
<pre>passwd root</pre>
<h3>6. Kernel installieren</h3>
<p>Vor dem Kernel muss der Bootloader installiert werden. Da ich Grub bevorzuge mache ich das manuell vorher, ansosnten würde Lilo installiert werden.</p>
<pre>apt-get install grub</pre>
<p>Dann der eigentliche Kernel, das geht eigentlich sehr einfach. Zuerst schauen wir uns an welche Kernel-Version wir installieren wollen:</p>
<pre>apt-cache search linux-image</pre>
<p>Da wir einen Server betreiben wollen bietet sich das Server-Image an. Installiert wird es mit:</p>
<pre>apt-get install linux-image-server</pre>
<p>Man kann auch eine feste Version benutzen, dann wird der Kernel des Servers allerdings nicht mit geupdated.<br />
Zum Abschluss der Kernel-Installation muss noch Grub eingerichtet werden:</p>
<pre>cp /proc/mounts /etc/mtab
grub-install /dev/sda</pre>
<p>Das dauert einen Augenblick, nicht erschrecken.</p>
<p>Damit Grub auch weiss, was es später booten soll muss eine menu.lst angelegt werden. Das macht man mit:</p>
<pre>update-grub</pre>
<p>Die Abfrage, ob eine menu.lst generiert werden soll, mit y bestätigen.</p>
<h3>7. Neustart</h3>
<p>Der Moment der Wahrheit. Der Neustart des Systems.</p>
<p>Erst mal müssen wir aus dem chroot &#8216;raus. Dazu einfach</p>
<p>exit</p>
<p>eingeben.<br />
Jetzt kann man den Server neu starten lassen:</p>
<p>reboot</p>
<p>Und hoffen das der Server online geht.<br />
Wenn alles geklappt hat hat man ein minimales Grundsystem, auf dem man aufbauen kann und z.B. Apache, MySQL und und und installieren.</p>
]]></content:encoded>
			<wfw:commentRss>http://trafex.de/blog/37/ubuntu-auf-root-server-installieren/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Xen unter Ubuntu Intrepid (8.10) zum laufen bringen</title>
		<link>http://trafex.de/blog/39/xen-unter-ubuntu-intrepid-810-zum-laufen-bringen/</link>
		<comments>http://trafex.de/blog/39/xen-unter-ubuntu-intrepid-810-zum-laufen-bringen/#comments</comments>
		<pubDate>Fri, 28 Nov 2008 23:37:35 +0000</pubDate>
		<dc:creator>StefanB</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[trafex]]></category>
		<category><![CDATA[dom0]]></category>
		<category><![CDATA[intrepid]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[xen]]></category>

		<guid isPermaLink="false">http://trafex.de/?p=39</guid>
		<description><![CDATA[Leider kann man Ubuntu Intrepid (Ubuntu 8.10) nicht mehr direkt als Xen-Host (Dom0)nutzen, da die Xen-Maintainer wohl keine Patches für die aktuelle Kernel-Versionen anbieten. Dem kann man zum Glück etwas auf die Sprünge helfen: einfach ein Kernel-Image einer älteren Ubuntu-Version benutzen. Die derzeit aktuelle Version gibt es hier: http://packages.ubuntu.com/hardy/linux-image-2.6.24-22-xen Einfach (z.B. mittels wget) auf den [...]]]></description>
			<content:encoded><![CDATA[<p>Leider kann man Ubuntu Intrepid (Ubuntu 8.10) nicht mehr direkt als Xen-Host (Dom0)nutzen, da die Xen-Maintainer wohl keine Patches für die aktuelle Kernel-Versionen anbieten.</p>
<p>Dem kann man zum Glück etwas auf die Sprünge helfen: einfach ein Kernel-Image einer älteren Ubuntu-Version benutzen.</p>
<p>Die derzeit aktuelle Version gibt es hier: <a href="http://packages.ubuntu.com/hardy/linux-image-2.6.24-22-xen">http://packages.ubuntu.com/hardy/linux-image-2.6.24-22-xen</a><br />
Einfach (z.B. mittels wget) auf den Server laden und dann via dpkg installieren, anschliessend die /boot/grub/menu.lst anpassen. Hier mein Eintrag als Beispiel:</p>
<p>title           XEN Ubuntu 8.10, 2.6.24-22 (Hardy) kernel<br />
uuid            81706b95-438e-4d18-a7ce-0b4899ab76a7<br />
kernel          /xen-3.3.gz<br />
module          /vmlinuz-2.6.24-22-xen root=UUID=d20b2199-7242-4de9-97f7-f97831e58232 ro quiet splash<br />
module          /initrd.img-2.6.24-22-xen<br />
savedefault<br />
boot</p>
<p>Danach neustarten. That&#8217;s all.</p>
]]></content:encoded>
			<wfw:commentRss>http://trafex.de/blog/39/xen-unter-ubuntu-intrepid-810-zum-laufen-bringen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>phpMyAdmin 3 released</title>
		<link>http://trafex.de/blog/33/phpmyadmin-3-released/</link>
		<comments>http://trafex.de/blog/33/phpmyadmin-3-released/#comments</comments>
		<pubDate>Mon, 29 Sep 2008 10:25:31 +0000</pubDate>
		<dc:creator>StefanB</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PBXT]]></category>
		<category><![CDATA[phpMyAdmin]]></category>
		<category><![CDATA[Verwaltung Maria]]></category>

		<guid isPermaLink="false">http://trafex.de/?p=33</guid>
		<description><![CDATA[An diesem Wochenende wurde die 3. Version des MySQL-Verwaltungstools phpMyAdmin veröffentlicht. Die Hauptänderung ist die Unterstützung für MySQL 5.1 sowie die Maria- und PBXT Storage Engine. Die Maria-Engine soll auf lange Sicht die  standardmäßig verwendete MyISAM-Engine ablösen. Allerdings ist damit die Unterstützung für ältere MySQL Versionen weggefallen, so das man jetzt MySQL 5.00 oder höher [...]]]></description>
			<content:encoded><![CDATA[<p>An diesem Wochenende wurde die 3. Version des MySQL-Verwaltungstools phpMyAdmin <a href="http://wiki.cihar.com/pma/phpMyAdmin_3.0.0">veröffentlicht</a>.<br />
Die Hauptänderung ist die Unterstützung für MySQL 5.1 sowie die <a href="http://forge.mysql.com/wiki/Maria_Preview">Maria</a>- und <a href="http://dev.mysql.com/tech-resources/articles/pbxt-storage-engine.html">PBXT</a> Storage Engine. Die Maria-Engine soll auf lange Sicht die  standardmäßig verwendete MyISAM-Engine ablösen.<br />
Allerdings ist damit die Unterstützung für ältere MySQL Versionen weggefallen, so das man jetzt MySQL 5.00 oder höher benötigt. Als weitere Voraussetzung benötigt man PHP 5.2.1 oder neuer.</p>
<p>Weitere Informationen und den Download gibt es auf <a href="http://www.phpmyadmin.net/">phpMyAdmin.net</a></p>
]]></content:encoded>
			<wfw:commentRss>http://trafex.de/blog/33/phpmyadmin-3-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Authentifizierung und Anfängerfehler</title>
		<link>http://trafex.de/blog/28/authentifizierung-und-anfangerfehler/</link>
		<comments>http://trafex.de/blog/28/authentifizierung-und-anfangerfehler/#comments</comments>
		<pubDate>Tue, 23 Sep 2008 21:46:51 +0000</pubDate>
		<dc:creator>StefanB</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[anfängerfehler]]></category>
		<category><![CDATA[authentifizierung]]></category>
		<category><![CDATA[cookies]]></category>
		<category><![CDATA[exploit]]></category>
		<category><![CDATA[milw0rm]]></category>
		<category><![CDATA[Nutzerauthentifizerung]]></category>
		<category><![CDATA[php icalendar]]></category>
		<category><![CDATA[phpicalendar]]></category>
		<category><![CDATA[vulnerability]]></category>

		<guid isPermaLink="false">http://trafex.de/?p=28</guid>
		<description><![CDATA[Heute habe ich bei milw0rm.com folgenden Fehler im Script &#8220;PHP iCalendar&#8221; gefunden: #################################################################### [+] PHP iCalendar &#60;= 2.24 Insecure Cookie Handling Vulnerability [+] Discovered By Stack [+] Greetz : All my freind #################################################################### --- exploit: javascript:document.cookie = "phpicalendar_login=1; path=/"; javascript:document.cookie = "phpicalendar=1; path=/"; # milw0rm.com [2008-09-22] Quelle: http://www.milw0rm.com/exploits/6526 Dieses Beispiel zeigt man wieder aufs deutlichste [...]]]></description>
			<content:encoded><![CDATA[<p>Heute habe ich bei milw0rm.com folgenden Fehler im Script &#8220;PHP iCalendar&#8221; gefunden:</p>
<pre>####################################################################
[+] PHP iCalendar &lt;= 2.24 Insecure Cookie Handling Vulnerability
[+] Discovered By Stack
[+] Greetz : All my freind
####################################################################
---
exploit:
javascript:document.cookie = "phpicalendar_login=1; path=/";
javascript:document.cookie = "phpicalendar=1; path=/";</pre>
<pre># milw0rm.com [2008-09-22]
Quelle: http://www.milw0rm.com/exploits/6526</pre>
<p>Dieses Beispiel zeigt man wieder aufs deutlichste das man einfache Cookies nicht zur Authentifizierung benutzen sollte. Alle Scriptsprachen bieten mindestens eine Art von Session-System, mit dem man eine Nutzerauthentifizerung auf einfache Art und Weise implementieren kann und an allen Stellen wird darauf hingewiesen das Cookies unsicher sind. Um so schlimmer ist es auch noch das solche Scripte öffentlich angeboten werden. Ein Grund mehr nicht jedem Script, welches angeboten wird, zu vertrauen.</p>
]]></content:encoded>
			<wfw:commentRss>http://trafex.de/blog/28/authentifizierung-und-anfangerfehler/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MooTools 1.2 erschienen</title>
		<link>http://trafex.de/blog/27/mootools-12-erschienen/</link>
		<comments>http://trafex.de/blog/27/mootools-12-erschienen/#comments</comments>
		<pubDate>Fri, 13 Jun 2008 11:31:35 +0000</pubDate>
		<dc:creator>StefanB</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[JavaScript-Framework]]></category>
		<category><![CDATA[Mootools]]></category>
		<category><![CDATA[Release]]></category>

		<guid isPermaLink="false">http://trafex.de/?p=27</guid>
		<description><![CDATA[Nach einiger Zeit ist endlich MooTools 1.2 erschienen. Das JavaScript-Framework wurde fast ein Jahr nach dem letzten 1.11er Release veröffentlicht. Einige der neuen Features der 1.2er Version: bessere Domunentation verbesserte Effekte &#8216;richtige&#8217; Hash-Objekte Swiff Objekt zur Interaktion mit Flash die Möglichkeit zu jedem Element Metadaten zu speichern Bei der Umstellung ist zu beachten, das sich [...]]]></description>
			<content:encoded><![CDATA[<p>Nach einiger Zeit ist endlich <a href="http://www.mootools.net">MooTools</a> 1.2 erschienen. Das JavaScript-Framework wurde fast ein Jahr nach dem letzten 1.11er Release veröffentlicht.</p>
<p>Einige der neuen Features der 1.2er Version:</p>
<ul>
<li>bessere Domunentation</li>
<li>verbesserte Effekte</li>
<li>&#8216;richtige&#8217; Hash-Objekte</li>
<li>Swiff Objekt zur Interaktion mit Flash</li>
<li>die Möglichkeit zu jedem Element Metadaten zu speichern</li>
</ul>
<p>Bei der Umstellung ist zu beachten, das sich an der API einiges getan hat und man somit evtl. etwas Arbeit in die Umstellung stecken muss &#8211; was sich aber meiner Meinung nach mehr als Lohnt.</p>
]]></content:encoded>
			<wfw:commentRss>http://trafex.de/blog/27/mootools-12-erschienen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Benchmark von PHP Funktionen und ihren Varianten</title>
		<link>http://trafex.de/blog/26/benchmark-php-funktionen-und-ihren-varianten/</link>
		<comments>http://trafex.de/blog/26/benchmark-php-funktionen-und-ihren-varianten/#comments</comments>
		<pubDate>Thu, 12 Jun 2008 14:10:09 +0000</pubDate>
		<dc:creator>StefanB</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Benchmark]]></category>
		<category><![CDATA[Optimierung]]></category>

		<guid isPermaLink="false">http://trafex.de/?p=26</guid>
		<description><![CDATA[Das sich die Ausführungsgeschwindigkeit von verschiedenen Funktionen in PHP unterscheidet sollte eigentlich bekannt sein. Chris Vincent hat dazu nun auf der Seite phpbench.com dazu eine Übersicht bereitgestellt, welche die verschiedenen Funktionen miteinander vergleicht. Dazu gibt es zu jeder Funktion Code-Beispiele. So sieht man z.B. schön, dass die Verwendung von foreach() beim Abarbeiten eines Hashs deutlich [...]]]></description>
			<content:encoded><![CDATA[<p>Das sich die Ausführungsgeschwindigkeit von verschiedenen Funktionen in PHP unterscheidet sollte eigentlich bekannt sein. <a href="http://www.chrisvincent.com.au/">Chris Vincent</a> hat dazu nun auf der Seite <a href="http://www.phpbench.com/">phpbench.com</a> dazu eine Übersicht bereitgestellt, welche die verschiedenen Funktionen miteinander vergleicht. Dazu gibt es zu jeder Funktion Code-Beispiele.<br />
So sieht man z.B. schön, dass die Verwendung von foreach() beim Abarbeiten eines Hashs deutlich schneller ist als eine while()-Schleife, aber auch nicht in jedem Fall. Oder das print etwas langsamer arbeitet als echo.</p>
]]></content:encoded>
			<wfw:commentRss>http://trafex.de/blog/26/benchmark-php-funktionen-und-ihren-varianten/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 1.356 seconds -->
<!-- Cached page served by WP-Cache -->

