1README FOR THE TUX MODULE (by Sascha Schumann) 2($Date$) 3 4 This is a SAPI module for the TUX web-server by Ingo Molnar. 5 6 The special thing about TUX is that it is integrated into the Linux 7 kernel and thus provides high-speed serving of static files. 8 9 The web-server provides a user-space API which allows arbitrary 10 plug-ins to be made available. 11 12 All requests to the PHP userspace module are currently serialized. 13 14 This module is of alpha quality. Due to incomplete APIs, HTTP 15 authentication and handling of POST requests has not been 16 implemented yet. 17 18 SECURITY NOTE: PHP will happily run everything under the 19 web-root through the parser; so be careful what you put 20 there. 21 22 Note that requests are served in a chroot'ed environment. 23 The initialization of PHP does not take place in the chroot'ed 24 environment, so that e.g. /usr/local/lib/php.ini is treated 25 as usual. 26 27REQUIRED DOWNLOADS 28 29 1. TUX 30 31 http://people.redhat.com/~mingo/TUX-patches/QuickStart-TUX.txt 32 33 2. PHP 4.0.x 34 35 Download: 36 http://www.php.net/ 37 38 Snapshots from CVS: 39 http://snaps.php.net/ 40 41 42BUILD INSTRUCTIONS 43 44 1. Install TUX as outlined in the QuickStart text. 45 Create /tux-modules where modules will reside. 46 47 2. Prepare PHP 48 49 $ cd php-* 50 $ ./configure \ 51 --with-tux=/tux-modules \ 52 <further PHP options> 53 # make install 54 55 You can see the list of valid PHP options by executing 56 57 $ ./configure --help 58 59 3. Touch a file in your web-root 'php5.tux'. This will 60 cause requests to '/php5.tux' to be redirected to the 61 userspace module php5.tux. 62 63 4. Start TUX with something like 64 65 # tux -d -t 8 -r /www -m /tux-modules php5.tux 66 67 (daemon mode, eight threads, web-root /www, modules in 68 /tux-modules, load php5.tux) 69 70 BEFORE running this command, the kernel side of TUX has to 71 be properly setup. 72 73 5. Try to access 74 75 http://yourserver/php5.tux?=PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000 76 77 It should display the PHP credits page. 78 79 To access a script /foo/bar.php, use 80 81 http://yourserver/php5.tux?/foo/bar.php 82 83 Parameters can be appended: 84 85 http://yourserver/php5.tux?/foo/bar.php&var=value 86 87