Mirroring the Monkeysphere web site
In keeping with the distributed philosophy of distributed development, our web site is stored in our git repositories and converted into html by ikiwiki.
We're mirrored on several servers. Rather than using ikiwiki's pinger/pingee approach to distribution, we've opted for a simpler rsync of the ikiwiki-produced html files.
Initial steps to take on the mirror server
Create a new user.
Add web site configuration that the user has write access to. If you are using Apache, include the following rewrite:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^(YOURHOSTNAME|web)\.monkeysphere\.info$ [NC]
RewriteCond %{HTTP_HOST} !^$
RewriteRule ^/(.*) http://web.monkeysphere.info/$1 [L,R]
Add webmaster@george's public key to this user's
~/.ssh/authorized_keys file, restricting that user to rsync (modify
path to web directory as needed):
command="/usr/bin/rsync --server -vlogDtprz --delete . web/",no-pty,no-agent-forwarding,no-port-forwarding ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA0SCD6tAh7g1yyuelIm5zyh5OFX89NNbpNzyp+BxXNxMc/C1BS9SN5KlNDT30WdDbw3X0St0dBBC69TZWYbSUn4+/6BNmYpLH2orhedBv4w2jBLmtVEfnMWa3a11CnIagMEkEz7rBIWpl76WOqzoueQbAAa/7GziVmv+2qdjcDFxHluO+VL/+gEw8BqZc587oiDYkIw3oBnOLaxUWDtaMFKiL8sgdBmPxzc8PgHxL5ezVDJExw5krR4FK7hG7KpBOlSwKQPFy2pPhHSb1ZuFJmp2kr2wfJ0RO7By5s/GbrkJbnGoiJ5W0fUC9YoI82U3svC5saowvoSo19yToJW4QUw== webmaster@george
Admin steps to take to enable the configuration
Add a new dns record for SERVERNAME.monkeysphere.info.
If the mirror server is not participating in the monkeysphere, add the server to webmaster's known host file.
Add the new server to webmaster@george:~/mirrors in the format:
username@server:directory
Test by manually running the git post-receive hook as
webmaster@george:
~/monkeysphere.git/hooks/post-receive
Add a new A record into the web.monkeysphere.info round robin.

