[[!meta title="Mirroring the Monkeysphere web site"]]
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.