release announcement for 0.14-1 (we should automate creating these)
[monkeysphere.git] / website / mirrors.mdwn
index 8445a26330ec2ae52c61474135d0c19815ca4e33..44f50d996eda0253e03201e1741d076ce71e011f 100644 (file)
@@ -8,50 +8,91 @@ We're mirrored on several servers. Rather than using ikiwiki's [pinger/pingee
 approach to distribution](http://ikiwiki.info/tips/distributed_wikis/), we've
 opted for a method that uses ssh.
 
-The steps for creating a new mirror are:
-
- * Add etch-backports to your /etc/apt/sources.list:
-               deb http://www.backports.org/debian etch-backports main contrib non-free
- * Add the following lines to your /etc/apt/preferences file:
-               Package: ikiwiki
-               Pin: release a=etch-backports
-               Pin-Priority: 999
-
-               # needed by ikiwiki
-               Package: libcgi-formbuilder-perl
-               Pin: release a=etch-backports
-               Pin-Priority: 999
-               
-               Package: git-core 
-               Pin: release a=etch-backports
-               Pin-Priority: 999
-       * Install git-core and ikiwiki
-               aptitude update; aptitutde install git-core ikiwiki
-       * Create a new user. Change the new users shell to git-shell:
-               adduser -s /usr/bin/git-shell <username>
-       * Add webmaster@george's public key to this user's ~/.ssh/authorized_keys file
-       * 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]
-       * Upload and edit ikiwiki.setup.sample from the docs directory
-       * As the new user, create two new git repos
-               mkdir monkeysphere.git; cd monkeysphere.git; git init --bare; cd ../
-               git clone monkeysphere.git # this will create a second git repo called monkeysphere
-       * Change the mode of monkeysphere.git/hooks/post-receive to 755
-               chmod 755 monkesphere.git/hooks/post-receive
-       * Edit the file so that it executes the post-receive hook ikiwiki generates (as you specified in the ikiwiki.setup file)
-
-The steps to be taken on the mirror site should now be complete. The following steps should be taken by a Monkeysphere admin user:
-
- * Add a new dns record for SERVERNAME.monkeysphere.info. 
- * Test the ssh connection by logging in as webmaster@george.riseup.net
- * Add the new server as a remote on webmaster@george.riseup.net:monkeysphere.git
-               cd ~/monkeysphere.git
-               git add remote SERVERNAME USER@SERVERNAME.monkeysphere.info:/path/to/repo
- * Test:
-               git pusch SERVERNAME
-
-
-               
+## Initial steps to take on the mirror server ##
+
+Add etch-backports to your /etc/apt/sources.list:
+
+    deb http://www.backports.org/debian etch-backports main contrib non-free
+
+Add the following lines to your /etc/apt/preferences file:
+
+    Package: ikiwiki
+    Pin: release a=etch-backports
+    Pin-Priority: 999
+
+    # needed by ikiwiki
+    Package: libcgi-formbuilder-perl
+    Pin: release a=etch-backports
+    Pin-Priority: 999
+    
+    Package: git-core 
+    Pin: release a=etch-backports
+    Pin-Priority: 999
+
+Install git-core and ikiwiki
+
+    aptitude update; aptitutde install git-core ikiwiki
+
+Create a new user. Change the new users shell to git-shell:
+
+    adduser -s /usr/bin/git-shell <username>
+
+Add webmaster@george's public key to this user's ~/.ssh/authorized_keys file
+
+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]
+
+Upload and edit ikiwiki.setup.sample from the docs directory
+
+As the new user, create a git repo
+
+    mkdir monkeysphere.git; cd monkeysphere.git; git init --bare;
+
+
+## Initial Admin steps to take to enable the configuration ##
+
+Add a new dns record for SERVERNAME.monkeysphere.info. 
+
+Test the ssh connection by logging in as webmaster@george.riseup.net
+
+Add the new server as a remote on webmaster@george.riseup.net:monkeysphere.git
+
+    cd ~/monkeysphere.git
+    git add remote SERVERNAME USER@SERVERNAME.monkeysphere.info:/path/to/repo
+
+Modify ~/monkeysphere.git/config, so the new repo stanza looks like this:
+
+    [remote "SERVERNAME"]
+               url = USER@SERVERNAME.monkeysphere.info:monkeysphere.git
+               push = +refs/heads/master
+               skipDefaultUpdate = true
+
+Test:
+
+    git push SERVERNAME
+
+
+## Final steps to take on mirror server ##
+
+At this point, you should have a populated git repo in your
+monkeyshere.git directory. 
+
+Change the mode of monkeysphere.git/hooks/post-receive to 755
+
+    chmod 755 monkesphere.git/hooks/post-receive
+
+Edit the file so that it executes the post-receive hook ikiwiki generates (as
+you specified in the ikiwiki.setup file)
+
+Next, clone the repository:
+
+    clone monkeysphere.git monkeysphere
+
+And lastly, run ikiwiki manually to generate the post-receive hook:
+
+    ikiwiki --setup ikiwiki.setup
+