In the following list are all the steps to create a working setup (performed on OSX 10.5.4 Leopard and VMware-Fusion.)

Install a turnkeylinux LAMP appliance on vmware-fusion by dowloading this => iso

The iso (180mb) can be installed on vmware, straight on a harddisk and boot live as cd.
Gives a ready-to-go server to work on.

Step 0 Watch the virtual-installation-video-instruction!

Step 1


Installation of the .iso on vmware >all default settings >network Bridged
When the installation is finished and restarted. The appliance will present a blue screen with several ip's+ports.
If you like to copy paste all the commands here, manually change the ip of the appliance to 10.0.1.4 (otherwise replace your ip in the following steps, 10.0.1.4 as example)

Go to webmin in the browser yourip:12321 or
https://10.0.1.4:12321
login: root + the password you gave during installation

Step 2 (preparing the server)

In webmin in the browser >system >softwarepackages >upgrade all packages (check upgrade-dist)
When ready (takes a while) restart the appliance
Open webmin again.

Webmin >system >softwarepackages >install> wget (check Package from APT)

and

Webmin >Servers >Apache Webserver >Existing Virtual Hosts
  • open the Virtual Server with portnumber 80
    • on the bottom (Virtual Server Details) change the port to 8080 and Save

Webmin >Servers >Apache Webserver >Global configuration
  • open Networking and Addresses
    • on "Listen on addresses and ports" change 80 to 8080 and Save
Apply Changes (top)

Now the (old) virtual server is on http://10.0.1.4:8080 so we can do twanager server yourip 80 later.

Step 3 (installing TiddlyWeb)

Open a console:
ssh root@10.0.1.4
mkdir /tiddlyweb && cd /tiddlyweb
wget http://pypi.python.org/packages/2.5/s/setuptools/setuptools-0.6c11-py2.5.egg#md5=64c94f3bf7a72a13ec83e0b24f2749b2
sh setuptools-0.6c11-py2.5.egg
sudo easy_install -U pip
pip install -U tiddlywebwiki
wget http://github.com/tiddlyweb/tiddlyweb/raw/v1.0.0/apache.py
edit it:
nano /tiddlyweb/apache.py
Replace the part in the file with the following and adjust the ip and "Myname" :
<VirtualHost *>
    ServerName 10.0.1.4
    AllowEncodedSlashes On
    Alias /static /home/Myname/public_html/10.0.1.4/static
    <Directory /home/Myname/public_html/10.0.1.4/static>
        Order allow,deny
        Allow from all
    </Directory>
    ErrorLog /var/log/apache2/10.0.1.4-error.log
    CustomLog /var/log/apache2/10.0.1.4-access.log combined
    WSGIDaemonProcess 10.0.1.4 user=Myname processes=1 threads=10
    WSGIProcessGroup 10.0.1.4
    WSGIPassAuthorization On
    WSGIScriptAlias  /wiki /home/Myname/tiddlywebs/10.0.1.4/apache.py
</VirtualHost>
save: Ctr.x >y >enter
twinstance webtest && cd /tiddlyweb/webtest
nano /tiddlyweb/webtest/tiddlywebconfig.py
And add this:
'server_host': {
        'scheme': 'http',
        'host': '10.0.1.4',
        'port': '80',
    }
Simular to this example: example
save: Ctr.x >y >enter

Adjust "Myname" and "mypasswd"
twanager adduser Myname mypasswd
twanager addrole Myname ADMIN
twanager server 10.0.1.4 80

Login:
http://10.0.1.4/challenge/cookie_form?tiddlyweb_redirect=%2Fbags%2Fcommon

Check:
http://10.0.1.4/recipes/default/tiddlers.wiki

Enjoy!

Step 4 (restarting TiddlyWeb)

To re-enjoy....(after the server is rebooted etc.)
Start the vmware appliance again.
Open a console
ssh root@10.0.1.4
cd to your twinstance created folder and start twanager server yourip 80
cd /tiddlyweb/webtest && twanager server 10.0.1.4 80

Login:
http://10.0.1.4/challenge/cookie_form?tiddlyweb_redirect=%2Fbags%2Fcommon

Work:
http://10.0.1.4/recipes/default/tiddlers.wiki

Step 5 (TiddlyWeb starting permanent)

Now it's all working you might want to automate the last step:

Edit:
nano /etc/rc.local
Add the following before the "exit 0":
cd /tiddlyweb/webtest && twanager server 10.0.1.4 80
save: Ctr.x >y >enter

Reboot the appliance
init 6
and check:
http://10.0.1.4/recipes/default/tiddlers.wiki

Step 6 (some error on the applaince)

The log gives some error on port 80....lets fix that
Webmin >Servers >Apache Webserver >Create virtual host
set the port on 80
The document root:
/tiddlyweb
Copy directives from: Automatic:8080 (/var/www/)
Apply Changes (top)

Step 7 (users/roles/rights)

In the current state the user "GUEST" is still able to make changes.
Lets present "GUEST" a "view" instead of "edit":
cd /tiddlyweb/webtest/store/bags/common
nano policy
Change the text as following:
Adjust "Myname"
{"read": ["GUEST","R:ADMIN"], "create": ["Myname","R:ADMIN"], "manage": ["Myname","R:ADMIN"], "accept": ["Myname","R:ADMIN"], "write": ["Myname","R:ADMIN"], "owner": null, "delete": ["Myname","R:ADMIN"]}
save: Ctr.x >y >enter

\o/
bag
howtoos_public
created
Wed, 10 Nov 2010 20:47:36 GMT
creator
bauwebijl
modified
Wed, 10 Nov 2010 20:47:36 GMT
modifier
bauwebijl
tags
publish
server
tiddlyweb
tiddlywiki
virtual