<?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>Maven &#187; Servers</title>
	<atom:link href="http://readme.maven.pl/category/servers/feed/" rel="self" type="application/rss+xml" />
	<link>http://readme.maven.pl</link>
	<description>arekm page</description>
	<lastBuildDate>Sat, 17 Dec 2011 23:33:05 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>DNS vulnerability testing</title>
		<link>http://readme.maven.pl/2008/07/28/dns-vulnerability-testing/</link>
		<comments>http://readme.maven.pl/2008/07/28/dns-vulnerability-testing/#comments</comments>
		<pubDate>Mon, 28 Jul 2008 07:52:12 +0000</pubDate>
		<dc:creator>arekm</dc:creator>
				<category><![CDATA[Servers]]></category>

		<guid isPermaLink="false">http://www.maven.pl/?p=45</guid>
		<description><![CDATA[How to test if your caching nameserver is vulnerable to recently hot cache poisoning issue: dig @ip_of_your_caching_ns +short porttest.dns-oarc.net TXT Example: $ dig @192.168.1.254 +short porttest.dns-oarc.net TXT z.y.x.w.v.u.t.s.r.q.p.o.n.m.l.k.j.i.h.g.f.e.d.c.b.a.pt.dns-oarc.net. "x.y.z.q is GOOD: 26 queries in 5.0 seconds from 26 ports with std dev 17652.90"]]></description>
			<content:encoded><![CDATA[<p>How to test if your caching nameserver is vulnerable  to recently hot <a href="http://www.kb.cert.org/vuls/id/800113">cache poisoning</a> issue:</p>
<p><code>dig @ip_of_your_caching_ns +short porttest.dns-oarc.net TXT</code></p>
<p>Example:<br />
<code><br />
$ dig @192.168.1.254 +short porttest.dns-oarc.net TXT<br />
z.y.x.w.v.u.t.s.r.q.p.o.n.m.l.k.j.i.h.g.f.e.d.c.b.a.pt.dns-oarc.net.<br />
"x.y.z.q is GOOD: 26 queries in 5.0 seconds from 26 ports with std dev 17652.90"<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://readme.maven.pl/2008/07/28/dns-vulnerability-testing/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>PXE remote boot for your home/work lab</title>
		<link>http://readme.maven.pl/2007/01/13/pxe-remote-boot-for-your-homework-lab/</link>
		<comments>http://readme.maven.pl/2007/01/13/pxe-remote-boot-for-your-homework-lab/#comments</comments>
		<pubDate>Sat, 13 Jan 2007 16:26:55 +0000</pubDate>
		<dc:creator>arekm</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Servers]]></category>

		<guid isPermaLink="false">http://www.maven.pl/?p=29</guid>
		<description><![CDATA[PXE is a well known and widely used in some enviroments. I&#8217;m quite often playing with some servers, testing, installing various things, reflashing firmwares etc. Usually that was done with PLD RescueCD on a CDRW medium, (Free)DOS images/isos etc. Unfortunately burning different stuff over and over is annoying. How to do something nice and usable? [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://en.wikipedia.org/wiki/Preboot_Execution_Environment">PXE</a> is a well known and widely used in some enviroments. I&#8217;m quite often playing with some servers, testing, installing various things, reflashing firmwares etc. Usually that was done with <a href="http://rescuecd.pld-linux.org/">PLD RescueCD</a> on a CDRW medium, (Free)DOS images/isos etc. Unfortunately burning different stuff over and over is annoying. How to do something nice and usable?
</p>
<p><span id="more-29"></span></p>
<p>
What you need is a <a href="http://www.isc.org/sw/dhcp/">dhcp server</a>, <a href="ftp://ftp.linux.org.uk/pub/linux/Networking/netkit/">tftp server</a> and PXE ready client machines (most of newer hardware has ability to boot from network over PXE).
</p>
<p><b>Setting dhcp server</b>.</p>
<p>Beside standard network settings in <i>dhcpd.conf</i> you will need:</p>
<blockquote><p>
allow booting ;<br />
allow bootp ;<br />
next-server 192.168.0.250 ;<br />
filename &#8220;/pxelinux.0&#8243; ;
</p></blockquote>
<p><b>Setting tftp server</b></p>
<p>Under <a href="http://www.pld-linux.org/">PLD</a> that means just installing atftpd package. If you built from sources then run something like:</p>
<blockquote><p>
atftpd -v5 &#8211;daemon /var/lib/tftp
</p></blockquote>
<p><b>pxelinux</b></p>
<p>
You will also need <a href="http://syslinux.zytor.com/">syslinux</a> package that comes with <i>pxelinux</i>. pxelinux will load multiple images for us depending on user choice. Use latest available version (3.31 at this moment) because older version miss important piece of functionality (menus).
</p>
<p><b>/var/lib/tftp preparation</b></p>
<p>Structure I use is shown below. The most important thing is a pxelinux.0 file (symlink to real file in my case) that is whole pxelinux loader that comes with syslinux package. pxelinux uses configuration file from pxelinux.cfg directory. pxelinux tries to load various configuration files and stops at first found:</p>
<blockquote><p>
Jan 13 15:29:12 arm atftpd[5234]: Serving /pxelinux.cfg/01-00-a0-cc-da-d9-3c to 192.168.0.113:57089<br />
Jan 13 15:29:12 arm atftpd[5234]: Serving /pxelinux.cfg/C0A80071 to 192.168.0.113:57090<br />
Jan 13 15:29:12 arm atftpd[5234]: Serving /pxelinux.cfg/C0A8007 to 192.168.0.113:57091<br />
Jan 13 15:29:12 arm atftpd[5234]: Serving /pxelinux.cfg/C0A800 to 192.168.0.113:57092<br />
Jan 13 15:29:12 arm atftpd[5234]: Serving /pxelinux.cfg/C0A80 to 192.168.0.113:57093<br />
Jan 13 15:29:12 arm atftpd[5234]: Serving /pxelinux.cfg/C0A8 to 192.168.0.113:57094<br />
Jan 13 15:29:12 arm atftpd[5234]: Serving /pxelinux.cfg/C0A to 192.168.0.113:57095<br />
Jan 13 15:29:12 arm atftpd[5234]: Serving /pxelinux.cfg/C0 to 192.168.0.113:57096<br />
Jan 13 15:29:12 arm atftpd[5234]: Serving /pxelinux.cfg/C to 192.168.0.113:57097<br />
Jan 13 15:29:12 arm atftpd[5234]: Serving /pxelinux.cfg/default to 192.168.0.113:57098
</p></blockquote>
<p>This means that we can have different configurations for different machines (based on MAC address of machine ehternet card). I&#8217;m using <i>default</i> configuration file which is always tried.</p>
<p>My entire <i>/var/lib/tftp</i> structure:</p>
<blockquote><p>
[root@arm /var/lib/tftp]# ls -alR<br />
.:<br />
total 1456<br />
drwxr-xr-x  9 root root    4096 Jan 13 15:26 .<br />
drwxr-xr-x 35 root root    4096 Jan 12 17:35 ..<br />
-rw-r&#8211;r&#8211;  1 root root    5237 Jan 13 15:25 pxe-background.png<br />
lrwxrwxrwx  1 root root      30 Jan 12 17:41 pxelinux.0 -> /usr/lib64/syslinux/pxelinux.0<br />
drwxr-xr-x  2 root root      20 Jan 13 16:51 pxelinux.cfg<br />
drwxr-xr-x  4 root root      47 Jan 12 09:47 rescue-x86-20060625<br />
drwxr-xr-x  4 root root      47 Jan 12 11:39 rescue-x86-20070109<br />
drwxr-xr-x  4 root root      47 Jan 12 09:47 rescue-x86_64-20060625<br />
drwxr-xr-x  2 root root      31 Jan 12 10:37 suse-10.1<br />
drwxr-xr-x  2 root root      60 Jan 12 10:06 suse-9.2<br />
drwxr-xr-x  2 root root      60 Jan 12 10:05 suse-9.3<br />
lrwxrwxrwx  1 root root      19 Jan 12 17:41 syslinux -> /usr/lib64/syslinux<br />
-rw-r&#8211;r&#8211;  1 root root 1474560 Nov 18  1999 winb98se.img</p>
<p>./pxelinux.cfg:<br />
total 8<br />
drwxr-xr-x 2 root root   20 Jan 13 16:51 .<br />
drwxr-xr-x 9 root root 4096 Jan 13 15:26 ..<br />
-rw-r&#8211;r&#8211; 1 root root 2152 Jan 13 15:24 default</p>
<p>./rescue-x86-20060625:<br />
total 54340<br />
drwxr-xr-x 4 root root       47 Jan 12 09:47 .<br />
drwxr-xr-x 9 root root     4096 Jan 13 15:26 ..<br />
drwxr-xr-x 3 root root      104 Jun 25  2006 boot<br />
drwxr-xr-x 2 root root       24 Jan 12 09:53 custom<br />
-rw-r&#8211;r&#8211; 1 root root 55638528 Jun 25  2006 rescue.cpi</p>
<p>./rescue-x86-20060625/boot:<br />
total 36<br />
drwxr-xr-x 3 root root   104 Jun 25  2006 .<br />
drwxr-xr-x 4 root root    47 Jan 12 09:47 ..<br />
-rw-r&#8211;r&#8211; 1 root root 17131 Jun 15  2006 ElTorito.img.gz<br />
-rw-r&#8211;r&#8211; 1 root root   744 Jun 15  2006 README<br />
-rw-r&#8211;r&#8211; 1 root root    83 Jun 15  2006 boot.bat<br />
-rw-r&#8211;r&#8211; 1 root root  1475 Jun 15  2006 floppy.img.gz<br />
drwxr-xr-x 2 root root   138 Jun 25  2006 isolinux<br />
-rwxr-xr-x 1 root root  3695 Jun 25  2006 isomod</p>
<p>./rescue-x86-20060625/boot/isolinux:<br />
total 1508<br />
drwxr-xr-x 2 root root     138 Jun 25  2006 .<br />
drwxr-xr-x 3 root root     104 Jun 25  2006 ..<br />
-r&#8211;r&#8211;r&#8211; 1 root root    2048 Jun 25  2006 boot.catalog<br />
-rw-r&#8211;r&#8211; 1 root root    1594 Jun 25  2006 boot.msg<br />
-rw-r&#8211;r&#8211; 1 root root    1443 Jun 15  2006 help.msg<br />
-rw-r&#8211;r&#8211; 1 root root  357528 Jun 25  2006 initrd.ide<br />
-rw-r&#8211;r&#8211; 1 root root   10440 Jun 25  2006 isolinux.bin<br />
-rw-r&#8211;r&#8211; 1 root root    1156 Jun 15  2006 isolinux.cfg<br />
-rw-r&#8211;r&#8211; 1 root root   94760 Jun 15  2006 memtest<br />
-rw-r&#8211;r&#8211; 1 root root 1056768 Jun 25  2006 vmlinuz</p>
<p>./rescue-x86-20060625/custom:<br />
total 4<br />
drwxr-xr-x 2 root root   24 Jan 12 09:53 .<br />
drwxr-xr-x 4 root root   47 Jan 12 09:47 ..<br />
-rw-r&#8211;r&#8211; 1 root root 1024 Jun 25  2006 custom.cpio</p>
<p>./rescue-x86-20070109:<br />
total 52768<br />
drwxr-xr-x 4 root root       47 Jan 12 11:39 .<br />
drwxr-xr-x 9 root root     4096 Jan 13 15:26 ..<br />
drwxr-xr-x 3 root root      104 Jan  9 01:10 boot<br />
drwxr-xr-x 2 root root       24 Jan  9 01:10 custom<br />
-rw-r&#8211;r&#8211; 1 root root 54028800 Jan  9 01:10 rescue.cpi</p>
<p>./rescue-x86-20070109/boot:<br />
total 36<br />
drwxr-xr-x 3 root root   104 Jan  9 01:10 .<br />
drwxr-xr-x 4 root root    47 Jan 12 11:39 ..<br />
-rw-r&#8211;r&#8211; 1 root root 17131 Jun 15  2006 ElTorito.img.gz<br />
-rw-r&#8211;r&#8211; 1 root root   744 Jun 15  2006 README<br />
-rw-r&#8211;r&#8211; 1 root root    83 Jun 15  2006 boot.bat<br />
-rw-r&#8211;r&#8211; 1 root root  1475 Jun 15  2006 floppy.img.gz<br />
drwxr-xr-x 2 root root   138 Jan  9 01:10 isolinux<br />
-rwxr-xr-x 1 root root  3695 Jan  9 01:10 isomod</p>
<p>./rescue-x86-20070109/boot/isolinux:<br />
total 1708<br />
drwxr-xr-x 2 root root     138 Jan  9 01:10 .<br />
drwxr-xr-x 3 root root     104 Jan  9 01:10 ..<br />
-r&#8211;r&#8211;r&#8211; 1 root root    2048 Jan  9 01:10 boot.catalog<br />
-rw-r&#8211;r&#8211; 1 root root    1594 Jan  8 21:33 boot.msg<br />
-rw-r&#8211;r&#8211; 1 root root    1443 Jun 15  2006 help.msg<br />
-rw-r&#8211;r&#8211; 1 root root  381123 Jan  9 01:10 initrd.ide<br />
-rw-r&#8211;r&#8211; 1 root root   10440 Jan  9 01:10 isolinux.bin<br />
-rw-r&#8211;r&#8211; 1 root root    1156 Jun 15  2006 isolinux.cfg<br />
-rw-r&#8211;r&#8211; 1 root root   94760 Jun 15  2006 memtest<br />
-rw-r&#8211;r&#8211; 1 root root 1234944 Jan  9 01:05 vmlinuz</p>
<p>./rescue-x86-20070109/custom:<br />
total 4<br />
drwxr-xr-x 2 root root   24 Jan  9 01:10 .<br />
drwxr-xr-x 4 root root   47 Jan 12 11:39 ..<br />
-rw-r&#8211;r&#8211; 1 root root 1024 Jan  9 01:10 custom.cpio</p>
<p>./rescue-x86_64-20060625:<br />
total 44900<br />
drwxr-xr-x 4 root root       47 Jan 12 09:47 .<br />
drwxr-xr-x 9 root root     4096 Jan 13 15:26 ..<br />
drwxr-xr-x 3 root root      104 Jun 25  2006 boot<br />
drwxr-xr-x 2 root root       24 Jun 25  2006 custom<br />
-rw-r&#8211;r&#8211; 1 root root 45970224 Jun 25  2006 rescue.cpi</p>
<p>./rescue-x86_64-20060625/boot:<br />
total 36<br />
drwxr-xr-x 3 root root   104 Jun 25  2006 .<br />
drwxr-xr-x 4 root root    47 Jan 12 09:47 ..<br />
-rw-r&#8211;r&#8211; 1 root root 17131 Jun 15  2006 ElTorito.img.gz<br />
-rw-r&#8211;r&#8211; 1 root root   744 Jun 15  2006 README<br />
-rw-r&#8211;r&#8211; 1 root root    83 Jun 15  2006 boot.bat<br />
-rw-r&#8211;r&#8211; 1 root root  1475 Jun 15  2006 floppy.img.gz<br />
drwxr-xr-x 2 root root   138 Jun 25  2006 isolinux<br />
-rwxr-xr-x 1 root root  3695 Jun 25  2006 isomod</p>
<p>./rescue-x86_64-20060625/boot/isolinux:<br />
total 1776<br />
drwxr-xr-x 2 root root     138 Jun 25  2006 .<br />
drwxr-xr-x 3 root root     104 Jun 25  2006 ..<br />
-r&#8211;r&#8211;r&#8211; 1 root root    2048 Jun 25  2006 boot.catalog<br />
-rw-r&#8211;r&#8211; 1 root root    1530 Jun 25  2006 boot.msg<br />
-rw-r&#8211;r&#8211; 1 root root    1197 Jun 18  2006 help.msg<br />
-rw-r&#8211;r&#8211; 1 root root  364891 Jun 25  2006 initrd.ide<br />
-rw-r&#8211;r&#8211; 1 root root   10440 Jun 25  2006 isolinux.bin<br />
-rw-r&#8211;r&#8211; 1 root root     701 Jun 15  2006 isolinux.cfg<br />
-rw-r&#8211;r&#8211; 1 root root   94760 Jun 15  2006 memtest<br />
-rw-r&#8211;r&#8211; 1 root root 1321472 Jun 25  2006 vmlinuz</p>
<p>./rescue-x86_64-20060625/custom:<br />
total 4<br />
drwxr-xr-x 2 root root   24 Jun 25  2006 .<br />
drwxr-xr-x 4 root root   47 Jan 12 09:47 ..<br />
-rw-r&#8211;r&#8211; 1 root root 1024 Jun 25  2006 custom.cpio</p>
<p>./suse-10.1:<br />
total 9164<br />
drwxr-xr-x 2 root root      31 Jan 12 10:37 .<br />
drwxr-xr-x 9 root root    4096 Jan 13 15:26 ..<br />
-rw-r&#8211;r&#8211; 1 root root 8137429 May  3  2006 initrd<br />
-rw-r&#8211;r&#8211; 1 root root 1237785 May  3  2006 linux</p>
<p>./suse-9.2:<br />
total 12972<br />
drwxr-xr-x 2 root root      60 Jan 12 10:06 .<br />
drwxr-xr-x 9 root root    4096 Jan 13 15:26 ..<br />
-rw-r&#8211;r&#8211; 1 root root 5379369 Oct 21  2004 initrd<br />
-rw-r&#8211;r&#8211; 1 root root 4730075 Oct 20  2004 initrd64<br />
-rw-r&#8211;r&#8211; 1 root root 1555945 Oct 21  2004 linux<br />
-rw-r&#8211;r&#8211; 1 root root 1608082 Oct 20  2004 linux64</p>
<p>./suse-9.3:<br />
total 14932<br />
drwxr-xr-x 2 root root      60 Jan 12 10:05 .<br />
drwxr-xr-x 9 root root    4096 Jan 13 15:26 ..<br />
-rw-r&#8211;r&#8211; 1 root root 6183757 Mar 24  2005 initrd<br />
-rw-r&#8211;r&#8211; 1 root root 6048487 Mar 24  2005 initrd64<br />
-rw-r&#8211;r&#8211; 1 root root 1424645 Mar 24  2005 linux<br />
-rw-r&#8211;r&#8211; 1 root root 1625590 Mar 24  2005 linux64</p>
</blockquote>
<p><i>rescue-*</i> directories contain unmodified copy of PLD RescueCD ISO images content. <i>suse-*</i> contain kernel images and initrd file copied from SuSE installation cdrom/dvd. <i>winb98se.img</i> is a image of Windows 98 SE boot floppy disk.</p>
<p><b>pxelinux &#8220;default&#8221; configuration file</b></p>
<p>
The configuration file is shown below. <i>vesamenu.c32</i> allows do display menus in graphical mode with background jpg/png images. For pure text mode there is <i>menu.c32</i>. <i>MENU LABEL</i> allows to add text message shown in menu for single <i>label</i> part of configuration.
</p>
<p> &#8220;^&#8221; is used to mark keyboard shortcut letter.</p>
<p> Windows floppy image uses special loader called <i>memdisk</i> which allows to boot legacy operating systems.</p>
<p> CPU identification case is interesting because it starts entire new &#8220;program&#8221; named <i>cpuidtest.c32</i> which is the same kind of &#8220;program&#8221; as <i>vesamenu.c32</i>. That&#8217;s way of handling allows us to create multiple submenus which will read different configuration files specified in <i>APPEND</i> directive &#8211; example:</p>
<blockquote><p>
LABEL newmenu<br />
        MENU LABEL New Menu<br />
        KERNEL vesamenu.c32<br />
        APPEND something.conf newmenu.conf
</p></blockquote>
<p>I don&#8217;t use submenus in my setup though.</p>
<blockquote><p>
[root@arm /var/lib/tftp]# cat pxelinux.cfg/default<br />
DEFAULT syslinux/vesamenu.c32<br />
MENU BACKGROUND pxe-background.png<br />
PROMPT 0</p>
<p>MENU TITLE Remote Boot Services</p>
<p>label rescue-x86<br />
  MENU LABEL ^1. PLD Rescue 20060625 x86<br />
  kernel rescue-x86-20060625/boot/isolinux/vmlinuz<br />
  append initrd=rescue-x86-20060625/rescue.cpi,rescue-x86-20060625/custom/custom.cpio root=/dev/ram0 CONF=&#8221;`/dev/fd0:/rescue`;;;;;;;;;;;&#8221;<br />
  ipappend 1</p>
<p>label rescue-x86<br />
  MENU LABEL ^2. PLD Rescue 20070109 x86<br />
  kernel rescue-x86-20070109/boot/isolinux/vmlinuz<br />
  append initrd=rescue-x86-20070109/rescue.cpi,rescue-x86-20070109/custom/custom.cpio root=/dev/ram0 CONF=&#8221;`/dev/fd0:/rescue`;;;;;;;;;;;&#8221;<br />
  ipappend 1</p>
<p>label rescue-x86_64<br />
  MENU LABEL ^3. PLD Rescue 20060625 x86_64<br />
  kernel rescue-x86_64-20060625/boot/isolinux/vmlinuz<br />
  append initrd=rescue-x86_64-20060625/rescue.cpi,rescue-x86_64-20060625/custom/custom.cpio root=/dev/ram0 CONF=&#8221;`/dev/fd0:/rescue`;;;;;;;;;;;&#8221;</p>
<p>label suse-install-9.2-x86<br />
  MENU LABEL ^4. SuSE Linux Install 9.2 x86<br />
  kernel suse-9.2/linux<br />
  append initrd=suse-9.2/initrd splash=silent showopts install=ftp://192.168.1.250/SUSE/9.2</p>
<p>label suse-install-9.2-x86_64<br />
  MENU LABEL ^5. SuSE Linux Install 9.2 x86_64<br />
  kernel suse-9.2/linux64<br />
  append initrd=suse-9.2/initrd64 splash=silent showopts install=ftp://192.168.1.250/SUSE/9.2</p>
<p>label suse-install-9.3-x86<br />
  MENU LABEL ^6. SuSE Linux Install 9.3 x86<br />
  kernel suse-9.3/linux<br />
  append initrd=suse-9.3/initrd splash=silent showopts install=ftp://192.168.1.250/SUSE/9.3</p>
<p>label suse-install-9.3-x86_64<br />
  MENU LABEL ^7. SuSE Linux Install 9.3 x86_64<br />
  kernel suse-9.3/linux64<br />
  append initrd=suse-9.3/initrd64 splash=silent showopts install=ftp://192.168.1.250/SUSE/9.3</p>
<p>label suse-install-10.1-x86<br />
  MENU LABEL ^8. SuSE Linux Install 10.1 x86<br />
  kernel suse-10.1/linux<br />
  append initrd=suse-10.1/initrd splash=silent showopts install=ftp://192.168.1.250/SUSE/10.1</p>
<p>label win98se<br />
  MENU LABEL ^9. Windows 98 SE Boot Disk<br />
  kernel syslinux/memdisk<br />
  append initrd=winb98se.img</p>
<p>LABEL cpuid<br />
        MENU LABEL ^A. Identify Processor<br />
        KERNEL syslinux/cpuidtest.c32
</p></blockquote>
<p><b>Screenphotos</b></p>
<p>(click images to see in full size))</p>
<p>
Text boot using <i>menu.c32</i> (or when <i>vesamenu.c32</i> gets wrong options, files like background image in wrong size (needs to be 640&#215;480)).
</p>
<p>
<a class="imagelink" href="http://readme.maven.pl/wp-content/uploads/2007/01/rba-text.jpg" title="Text boot"><img id="image34" src="http://readme.maven.pl/wp-content/uploads/2007/01/rba-text.thumbnail.jpg" alt="Text boot" /></a>
</p>
<p>
Graphical boot with PLD-style background image.
</p>
<p>
<a class="imagelink" href="http://readme.maven.pl/wp-content/uploads/2007/01/rba-graph.jpg" title="Graphical boot"><img id="image32" src="http://readme.maven.pl/wp-content/uploads/2007/01/rba-graph.thumbnail.jpg" alt="Graphical boot" /></a>
</p>
<p>
You can change boot options just like in grub.
</p>
<p>
<a class="imagelink" href="http://readme.maven.pl/wp-content/uploads/2007/01/rba-graph-edit.jpg" title="Graphical boot with editing parameters for single boot entry"><img id="image31" src="http://readme.maven.pl/wp-content/uploads/2007/01/rba-graph-edit.thumbnail.jpg" alt="Graphical boot with editing parameters for single boot entry" /></a>
</p>
<p>
PLD RescueCD boots&#8230;
</p>
<p>
<a class="imagelink" href="http://readme.maven.pl/wp-content/uploads/2007/01/rba-rescue-boot.jpg" title="Booting PLD RescueCD"><img id="image33" src="http://readme.maven.pl/wp-content/uploads/2007/01/rba-rescue-boot.thumbnail.jpg" alt="Booting PLD RescueCD" /></a>
</p>
<p>
Windows 98 SE image already started.
</p>
<p>
<a class="imagelink" href="http://readme.maven.pl/wp-content/uploads/2007/01/rba-win.jpg" title="Booting Windows 98 SE floppy image"><img id="image35" src="http://readme.maven.pl/wp-content/uploads/2007/01/rba-win.thumbnail.jpg" alt="Booting Windows 98 SE floppy image" /></a>
</p>
<p>
Example of CPU Identification that comes with syslinux package.
</p>
<p>
<a class="imagelink" href="http://readme.maven.pl/wp-content/uploads/2007/01/rba-cpuid.jpg" title="CPU Identification example"><img id="image30" src="http://readme.maven.pl/wp-content/uploads/2007/01/rba-cpuid.thumbnail.jpg" alt="CPU Identification example" /></a>
</p>
<p>Background image used in screenshots</p>
<p>
<a class="imagelink" href="http://readme.maven.pl/wp-content/uploads/2007/01/pld-background.png" title="PLD Background"><img id="image36" src="http://readme.maven.pl/wp-content/uploads/2007/01/pld-background.thumbnail.png" alt="PLD Background" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://readme.maven.pl/2007/01/13/pxe-remote-boot-for-your-homework-lab/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Apache Mod Fastcgi PHP</title>
		<link>http://readme.maven.pl/2005/08/20/apache-mod-fastcgi-php/</link>
		<comments>http://readme.maven.pl/2005/08/20/apache-mod-fastcgi-php/#comments</comments>
		<pubDate>Sat, 20 Aug 2005 21:05:41 +0000</pubDate>
		<dc:creator>arekm</dc:creator>
				<category><![CDATA[Servers]]></category>

		<guid isPermaLink="false">http://www.maven.pl/?p=10</guid>
		<description><![CDATA[Default apache running from one UID/GID isn&#8217;t too secure. Users can look into all virtuals hosted on server. No one can stop them if PHP/CGI is allowed. One of solutions of this problem is to run PHP as CGI. With suexec this will allow to run PHP under certain UID/GID. Unfortunately running PHP as CGI [...]]]></description>
			<content:encoded><![CDATA[<p>Default apache running from one UID/GID isn&#8217;t too secure. Users can look into all virtuals hosted on server. No one can stop them if PHP/CGI is allowed.</p>
<p>One of solutions of this problem is to run PHP as CGI. With suexec this will allow to run PHP under certain UID/GID. Unfortunately running PHP as CGI slows things down. <a href="http://www.fastcgi.com/" title="FastCGI">FastCGI</a> comes with help here.</p>
<p><span id="more-10"></span></p>
<p>What do you need? mod_fastcgi and php compiled with FastCGI mode enabled (in PLD you have apache-mod_fastcgi and php-fcgi packages with that). I will not describe compilation/installation proces for them. It&#8217;s docummented so you can read yourself.</p>
<p>Example apache 2.0 configuration:</p>
<blockquote><p><em>FastCgiWrapper /usr/sbin/suexec-fcgi</em><em><br />
</em><em>FastCgiServer /home/services/httpd/cgi-bin/php -user pubhttp -group pubhttp</em><em><br />
</em><em>AddHandler php-fastcgi .php</em><em><br />
</em><em><br />
</em><em>    SetHandler fastcgi-script</em><em><br />
</em><em><br />
</em><em>Action php-fastcgi /cgi-bin/php</em><em><br />
</em><em>AddType application/x-httpd-php .php</em></p></blockquote>
<p>/home/services/httpd/cgi-bin/php is shell script:</p>
<blockquote><p><em>#!/bin/sh</em><em><br />
</em><em>PHPRC=&#8221;/etc/php/&#8221;</em><em><br />
</em><em>export PHPRC</em><em><br />
</em><em>PHP_FCGI_CHILDREN=4</em><em><br />
</em><em>export PHP_FCGI_CHILDREN</em><em><br />
</em><em>exec /usr/bin/php.fcgi</em></p></blockquote>
<p>PHPRC allows to specify configuration file for php while PHP_FCGI_CHILDREN limits number of FastCGI PHP servers on one pool.</p>
<p>/usr/sbin/suexec-fcgi is modified apache suexec to disable checking of UID/GID against directory/script file owner. Here is <a href="http://www.maven.pl/wp-content/uploads/2006/04/fastcgi-suexec.txt" title="suexec patch">ApacheSuEexecPatch</a>.</p>
<p>In each  context you also need to specify proper username/group or UID/GID for example:</p>
<blockquote><p><em>ServerAdmin admin@somehost.pl</em><em><br />
</em><em>DocumentRoot /home/virtuals/virtual01</em><em><br />
</em><em>#SuexecUserGroup virtual01-user virtual-group</em><em><br />
</em><em>SuexecUserGroup &#8220;#50000&#8243; &#8220;#5000&#8243;</em></p></blockquote>
<p>It&#8217;s also good to specify SuexecUserGroup defaultapacheuser defaultapachegroup in global context. I had problems with mod_fastcgi trying to user root/root without this directive.I&#8217;ve also modified mod_fastcgi in the way that allows using it with UID/GID only (so no proper entries in /etc/{passwd,group}. Here is <a href="http://www.maven.pl/wp-content/uploads/2006/04/fastcgi.txt" title="fastcgi patch">ModFastCgiPatch</a>.</p>
<p>As result you will get something like this:</p>
<blockquote><p><em>|-httpd(22368)-+-httpd(22388,http)-+-php.fcgi(26822,artwol)-+-php.fcgi(26823)</em><em><br />
</em><em>        |              |                   |                        `-php.fcgi(26824)</em><em><br />
</em><em>        |              |                   |-php.fcgi(22657,powiat9)-+-php.fcgi(22658)</em><em><br />
</em><em>        |              |                   |                         |-php.fcgi(22659)</em><em><br />
</em><em>        |              |                   |                         |-php.fcgi(22660)</em><em><br />
</em><em>        |              |                   |                         `-php.fcgi(22661)</em><em><br />
</em><em>        |              |                   |-php.fcgi(22489,sebastian)-+-php.fcgi(15654)</em><em><br />
</em><em>        |              |                   |                           |-php.fcgi(15809)</em><em><br />
</em><em>        |              |                   |                           |-php.fcgi(15810)</em><em><br />
</em><em>        |              |                   |                           `-php.fcgi(15828)</em><em><br />
</em><em>        |              |                   |-php.fcgi(24300,piochaj)-+-php.fcgi(24301)</em><em><br />
</em><em>        |              |                   |                         `-php.fcgi(24302)</em><em><br />
</em><em>        |              |                   |-php.fcgi(22496,gazetas01)-+-php.fcgi(22497)</em><em><br />
</em><em>        |              |                   |                           |-php.fcgi(22498)</em><em><br />
</em><em>        |              |                   |                           |-php.fcgi(22499)</em><em><br />
</em><em>        |              |                   |                           `-php.fcgi(22500)</em><em><br />
</em><em>        |              |                   |-php.fcgi(25690,design)-+-php.fcgi(25691)</em><em><br />
</em><em>        |              |                   |                        `-php.fcgi(25692)</em><em><br />
</em><em>        |              |                   |-php.fcgi(24613,marbo3)-+-php.fcgi(24614)</em><em><br />
</em><em>        |              |                   |                        `-php.fcgi(24615)</em><em><br />
</em><em>        |              |                   |-php.fcgi(3208,emawoz)-+-php.fcgi(3209)</em><em><br />
</em><em>        |              |                   |                       `-php.fcgi(3210)</em><em><br />
</em><em>        |              |                   |-php.fcgi(26503,arhen01)-+-php.fcgi(26504)</em><em><br />
</em><em>        |              |                   |                         `-php.fcgi(26505)</em><em><br />
</em><em>        |              |                   |-php.fcgi(17300,thomson)-+-php.fcgi(17301)</em><em><br />
</em><em>        |              |                   |                         `-php.fcgi(17302)</em><em><br />
</em><em>        |              |                   |-php.fcgi(22482,pereko)-+-php.fcgi(22483)</em><em><br />
</em><em>        |              |                   |                        |-php.fcgi(22484)</em><em><br />
</em><em>        |              |                   |                        |-php.fcgi(22485)</em><em><br />
</em><em>        |              |                   |                        `-php.fcgi(22486)</em><em><br />
</em><em>        |              |                   |-php.fcgi(22468,pubhttp)-+-php.fcgi(22469)</em><em><br />
</em><em>        |              |                   |                         |-php.fcgi(22470)</em><em><br />
</em><em>        |              |                   |                         |-php.fcgi(22471)</em><em><br />
</em><em>        |              |                   |                         `-php.fcgi(22472)</em><em><br />
</em><em>        |              |                   `-php.fcgi(16126,szpaner)-+-php.fcgi(16127)</em><em><br />
</em><em>        |              |                                             `-php.fcgi(16128)</em><em><br />
</em><em>        |              |-httpd(1699,http)&#8212;httpd(1700)-+-httpd(1702)</em><em><br />
</em><em>        |              |                                |-httpd(1703)</em><em><br />
</em><em>        |              |                                |-httpd(1704)</em><em><br />
</em><em>        |              |                                |-httpd(1705)</em><em><br />
</em><em>        |              |                                |-httpd(1706)</em><em><br />
</em><em>        |              |                                |-httpd(1707)</em><em><br />
</em><em>        |              |                                |-httpd(1708)</em></p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://readme.maven.pl/2005/08/20/apache-mod-fastcgi-php/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

