README

README FOR THE TUX MODULE (by Sascha Schumann)
($Date$)
This is a SAPI module for the TUX web-server by Ingo Molnar.
The special thing about TUX is that it is integrated into the Linux
kernel and thus provides high-speed serving of static files.
The web-server provides a user-space API which allows arbitrary
plug-ins to be made available.
All requests to the PHP userspace module are currently serialized.
This module is of alpha quality. Due to incomplete APIs, HTTP
authentication and handling of POST requests has not been
implemented yet.
SECURITY NOTE: PHP will happily run everything under the
web-root through the parser; so be careful what you put
there.
Note that requests are served in a chroot'ed environment.
The initialization of PHP does not take place in the chroot'ed
environment, so that e.g. /usr/local/lib/php.ini is treated
as usual.
REQUIRED DOWNLOADS
1. TUX
http://people.redhat.com/~mingo/TUX-patches/QuickStart-TUX.txt
2. PHP 4.0.x
Download:
http://www.php.net/
Snapshots from CVS:
http://snaps.php.net/
BUILD INSTRUCTIONS
1. Install TUX as outlined in the QuickStart text.
Create /tux-modules where modules will reside.
2. Prepare PHP
$ cd php-*
$ ./configure \
--with-tux=/tux-modules \
<further PHP options>
# make install
You can see the list of valid PHP options by executing
$ ./configure --help
3. Touch a file in your web-root 'php4.tux'. This will
cause requests to '/php4.tux' to be redirected to the
userspace module php4.tux.
4. Start TUX with something like
# tux -d -t 8 -r /www -m /tux-modules php4.tux
(daemon mode, eight threads, web-root /www, modules in
/tux-modules, load php4.tux)
BEFORE running this command, the kernel side of TUX has to
be properly setup.
5. Try to access
http://yourserver/php4.tux?=PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000
It should display the PHP credits page.
To access a script /foo/bar.php, use
http://yourserver/php4.tux?/foo/bar.php
Parameters can be appended:
http://yourserver/php4.tux?/foo/bar.php&var=value