I was asked on Friday night if I could make a demo foswiki USB system, and given that its high time we did one, I started to look into it. Initially I thought this would be a great oportunity to try out the HTTPEngine work Gilmar has been doing, but we’re not quite there yet. And so, I started a quick perusal of the existing WebServer on a Stick systems. Ideally, I want to use Strawberry perl, apache, and have the server and a browser start up automatically when the USB stick is inserted into the computer.
MicroApache was the first thing i looked at, as the contact pointed out DokuWikiOnAStick, but that server doesn’t seem to have source, nor is the upstream web site there (last release seems to be 2007, so too old for Strawberry perl too) Server2Go looks nice, but as its not really free in the debian sense, I’ll pass on that unless nothing else works. XAMPP – unzipped it, foswiki and did some minor configurations. unziped, removed everything except apache, added strawberry perl, and wrote a systray icon and menu system for you to control it with. TADA! FoswikiOnAStick v0.1v0.3 (running foswiki 1.0.6). please try it out.
unzip it to the root of your USB key (or any drive)
start the systray app, web server and browser using start_foswiki.bat (goto http://localhost/ if the browser doesn’t start) (unblock / allow apache to get through the windows firewall)
before ejecting the usb key, you need to stop the webserver by running stop_foswiki.bat yes, thats all. Please report any issues or observations to me – SvenDowideit@fosiki.com
the web server runs at the standard port 80, so if there is already a web server running it will fail
when the web server starts, it will probably be blocked by Windows firewall – every time I’ve tested, a dialog pops up, and allows you to unblock it.
I have made no attempt (yet) to reduce the accesses to the disk – so it may use up all the blue smoke in your usbkey, cause your bits to turn green, or one of many other unforseen side effects which may or may not appear amusing if they happen to someone else. I’ve tested this on Windows7rc, Windows Vista, Windows2003server, and Windows XP – if it works for you, excellent :).
To use them, add the following 2 lines to your /etc/apt/sources.list
deb http://distributedinformation.com/experimental/ experimental main contrib
deb-src http://distributedinformation.com/experimental/ experimental main contrib
to update the available packages.
you can now see all 212 packages with apt-cache search twiki-
and install (assuming you don’t have twiki installed yet)
apt-get install apache2 twiki
and TWiki Contrib installation is as easy as
apt-get install twiki-bugscontrib
You will still need to use configure to enable Plugins.
Please report your experiences to me – bugs, gripes, you name it – its a work in progress. and I need your help!
I have just uploaded the OpenIDUserContrib for TWiki 4.2.0. It adds OpenID login and 1.1 Attribute functionalty to TWiki.
Currently, it disables Registration, and limits authentication to OpenID users.
It has the advantage over the OpenIDAuth apache module, that it automatically requests the User’s OpenId 1.1 attributes like Name, Email address directly from their OpenID identity.
While it trusts the user’s choice of ‘FullName’ registration attribute when displaying who made changes to topics, the TWiki topic source
actually stores the authenticating OpenID URI, thus their user details will be updated from the authentication server next time they log in.
Note that TWiki Topic based Groups are not yet implemented using this Mapper.
add mixing of UserMappers to allow OpenID and ‘normal’ TWiki auth
turn TWiki into an OpenID identity server
add Safe Group definition system
add OpenId to TWiki’s registration process (would require openid auth first, then prefill registration details from any available attributes
This will require re-writing of TWiki’s inbuilt registration system
move the list of Known users and their mapping information from data/OpenIdUsers.txt to somewhere more scalable. (perhaps DBI)
combine the info TWiki uses persistently with the Session and other caching info OpenID11? uses
Net::OpenID11 (based on Net::JanRain::OpenID)
To make this work, I fixed the Perl bugs I found in Net::JanRain::OpenID, and renamed the resulting modules under Net::openID11 (as it is not OpenID2.0). I expect to upload these packages to CPAN some time soon.