[mirrorbrain-commits] r7730 - trunk/docs/installation

From: <poeml_at_mirrorbrain.org>
Date: Thu, 30 Jul 2009 19:37:37 +0200
Author: poeml
Date: Thu Jul 30 19:37:36 2009
New Revision: 7730
URL: http://svn.mirrorbrain.org/viewvc/mirrorbrain?view=revision&revision=7730

Log:
docs: 
- move the detailed list of prerequirements off the web site to documentation.
  The web page was simplified to give more of an overview, and link here for
  the full details.

Modified:
   trunk/docs/installation/opensuse.rst
   trunk/docs/installation/prerequirements.rst
   trunk/docs/installation/source.rst

Modified: trunk/docs/installation/opensuse.rst
==============================================================================
--- trunk/docs/installation/opensuse.rst	Thu Jul 30 18:25:26 2009	(r7729)
+++ trunk/docs/installation/opensuse.rst	Thu Jul 30 19:37:36 2009	(r7730)
@@ -75,9 +75,9 @@
 don't need to install mod_asn.
 
 .. note::
-   There was a bug in the :program:`mb` tool that it depends on the existance on
-   the database table ``pfx2asn`` which is created when mod_asn is installed. The
-   bug is going to be fixed in the 2.8.2 release.
+   There was a bug in the :program:`mb` tool that it depended on the existance on
+   a database table named ``pfx2asn`` which is created when mod_asn is installed. The
+   bug was fixed in the 2.9.0 release.
 
 To install mod_asn, refer to the `its documentation`__.
 

Modified: trunk/docs/installation/prerequirements.rst
==============================================================================
--- trunk/docs/installation/prerequirements.rst	Thu Jul 30 18:25:26 2009	(r7729)
+++ trunk/docs/installation/prerequirements.rst	Thu Jul 30 19:37:36 2009	(r7730)
@@ -1,7 +1,105 @@
+.. _prerequirements:
+
 Prerequirements
 ===============
 
-A recent enough version of the Apache HTTP server is required. 2.2.6 or later
-should be used. In addition, the apr-util library needs to be 1.3.0 or newer.
-This is because the DBD database pool functionality was developed mainly
-between 2006 and 2007, and reached production quality at the time.
+General
+-------
+
+The file tree to be served needs to be accessible locally by the Apache that
+runs mod_mirrorbrain. (See `FAQ`_.)
+
+The hardware needs are mediocre; MirrorBrain needs few resources.
+
+.. _`FAQ`: http://mirrorbrain.org/faq/#does-a-copy-of-the-mirrored-content-have-to-be-kept-locally
+
+
+Apache
+------
+
+A recent enough version of the Apache HTTP server is required. **2.2.6** or
+later should be used. In addition, the apr-util library needs to be **1.3.0**
+or newer. This is because the `DBD database pool functionality`_ was developed
+mainly around 2006 and 2007, and reached production quality at the time. This
+will mean that you have to upgrade Apache when installing on an oldish
+enterprise platform.
+
+.. _`DBD database pool functionality`: http://apache.webthing.com/database/
+
+
+Status of Apache version on individual platforms
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+openSUSE/SLE
+    sufficiently new, since openSUSE 11.0 and SLE11. SLE11 does not ship
+    the required PostgreSQL database adapter. The one from openSUSE 11.1 would work.
+    Current and stable Apache for openSUSE/SLE can always be found here:
+    http://download.opensuse.org/repositories/Apache/
+
+Gentoo
+    has a new enough Apache.
+
+CentOS 5/RHEL
+    very old Apache. It *might* work or not, but if not, you'll need to get a
+    newer one.
+
+Debian
+    the Apache in *Etch* is too old. In other releases, it should be alright.
+
+
+Frontend (mod_mirrorbrain, the redirector)
+------------------------------------------
+
+* `mod_geoip`_ and `libGeoIP`_
+
+* `mod_form`_
+
+* if you want to compile with the optional memcache support (there
+  should not be reason for it, though), you would need
+  libapr_memcache, `mod_memcache`_, `memcache`_ daemon
+
+.. _`mod_form`: http://apache.webthing.com/mod_form/
+.. _`mod_geoip`: http://www.maxmind.com/app/mod_geoip
+.. _`libGeoIP`: http://www.maxmind.com/app/c
+.. _`mod_memcache`: http://code.google.com/p/modmemcache/
+.. _`memcache`: http://www.danga.com/memcached/
+
+
+Database
+--------
+
+* `PostgreSQL`_
+
+* mod_mirrorbrain, the core of MirrorBrain, isn't actually bound to a particular
+  database; you could use MySQL just as well, SQLite, or Oracle - everything that the 
+  Apache DBD API has a driver for. The admin framework and tool set
+  however is currently provided for PostgreSQL only.
+
+* `mod_asn`_ is optional, for refined mirror selection and full exploitation 
+  of network locality. It works only with PostgreSQL as database. It needs a data 
+  type for PostgreSQL called "ip4r". Confer to `its documentation`_ and `its prerequirements`_).
+
+.. _`PostgreSQL`: http://www.postgresql.org/
+.. _`mod_asn`: http://mirrorbrain.org/mod_asn/
+.. _`its documentation`: http://mirrorbrain.org/mod_asn/docs/
+.. _`its prerequirements`: http://mirrorbrain.org/mod_asn/docs/installation/#prerequirements
+
+
+For the admin tools
+-------------------
+
+The toolset for database maintenance needs Python (an old 2.4.x is sufficient) and the following Python modules: 
+
+* :mod:`cmdln`
+* :mod:`sqlobject`
+* :mod:`psycopg2`
+
+The mirror scanner needs Perl and the following modules:
+
+* :mod:`Config::IniFiles`
+* :mod:`libwww::perl`
+* :mod:`DBD::Pg`
+* :mod:`Digest::MD4`
+* :mod:`Date::Parse`
+
+

Modified: trunk/docs/installation/source.rst
==============================================================================
--- trunk/docs/installation/source.rst	Thu Jul 30 18:25:26 2009	(r7729)
+++ trunk/docs/installation/source.rst	Thu Jul 30 19:37:36 2009	(r7730)
@@ -1,5 +1,5 @@
-Installation from source
-========================
+Installing from source
+======================
 
 
 Install Apache 2.2.6 or later. 
@@ -49,6 +49,7 @@
   * python-psycopg2
 
 - for the scanner, which is written in Perl, a few Perl modules are required:
+
   * perl-Config-IniFiles
   * perl-libwww-perl
   * perl-DBD-Pg
@@ -90,14 +91,14 @@
 
        # TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD
        # "local" is for Unix domain socket connections only
-       #local   all         all                               ident sameuser
+       #local   all         all                               ident
        local   all         all                               password
        # IPv4 local connections:
        host    all         all         127.0.0.1/32          password
        # IPv6 local connections:
        host    all         all         ::1/128               password
        # remote connections:
-       host    mb_samba    mb          10.10.2.3/32          password
+       host    mb_samba    mb          10.10.2.3/32          md5
 
        
       
@@ -178,7 +179,7 @@
 
     mb edit <identifier>
 
-  To simply display a mirror dataset, you'd use 'mb show kddilabs', for instance.
+  To simply display a mirror, you could use 'mb show kddi', for instance.
 
   Finally, each mirror needs to be scanned and enabled::
 
@@ -193,6 +194,7 @@
   * load the Apache modules::
 
      a2enmod form
+     a2enmod geoip
      a2enmod dbd
      a2enmod mirrorbrain
 
@@ -220,6 +222,13 @@
       DBDParams "host=localhost user=mb password=12345 dbname=mb_samba connect_timeout=15"
 
 
+    .. note:: The database connection string must be unique per virtual host.
+              This matters if several MirrorBrain instances are set up in one
+              Apache. If the database connection string is identical in
+              different virtual hosts, mod_dbd may fail to associate the
+              connection string with the correct virtual host.
+
+
   * configure mod_mirrorbrain.
     You probably want to reate a vhost (e.g.
     /etc/apache2/vhosts.d/samba.mirrorbrain.org.conf) and add the MirrorBrain
@@ -232,8 +241,8 @@
       
           DocumentRoot /srv/samba/pub/projects
       
-          ErrorLog     /var/log/apache2/samba.mirrorbrain.org/logs/error_log
-          CustomLog    /var/log/apache2/samba.mirrorbrain.org/logs/access_log combined
+          ErrorLog     /var/log/apache/samba.mirrorbrain.org/logs/error_log
+          CustomLog    /var/log/apache/samba.mirrorbrain.org/logs/access_log combined
 
           <Directory /srv/samba/pub/projects>
               MirrorBrainEngine On
@@ -254,10 +263,10 @@
       
       </VirtualHost>
 
-  * restart Apache, while watching the error log::
+  * restart Apache, best while watching the error log::
 
-      tail -F /var/log/apache2/*_log &
-      rcapache2 restart
+      tail -F /var/log/apache/*_log &
+      apachectl restart
 
     
   * mirror surveillance needs to be configured. Put this into /etc/crontab::
@@ -303,11 +312,12 @@
 
     * install the "metalink" tool from http://metamirrors.nl/metalinks_project
       (openSUSE package called metalink, http://download.opensuse.org/repositories/network:/utilities/)
-      and create the actual hashes::
+      and create the hashes::
 
         metalink-hasher update -t /srv/metalink-hashes/ppc/srv/ftp/pub/opensuse/ppc /srv/ftp/pub/opensuse/ppc
 
-    * add the hashing command to /etc/crontab to be run every few hours.
+    * add the hashing command to /etc/crontab to be run every few hours. Alternatively, run
+      it after changes in the file tree happen.
 
 
 .. note:: That's how far the instructions go. I hope they are useful. Please
@@ -321,21 +331,29 @@
 Memcache support
 ================
 
-Memcache support is optional. You should not need it normally, so it is
-suggested that you just ignore this. When compiling with memcache support,
--DWITH_MEMCACHE needs to be among the compile flags.
-apxs2 -c -Wc,"-DWITH_MEMCACHE -Wall -g" mod_mirrorbrain.c
+Memcache support can be compiled into mod_mirrorbrain to implement "mirror
+stickiness". 
+
+This is an optional feature, which you should not need normally. 
+
+When compiling with memcache support, ``-DWITH_MEMCACHE`` needs to be among the
+compile flags::
+
+    apxs2 -c -Wc,"-DWITH_MEMCACHE -Wall -g" mod_mirrorbrain.c
+
 If you use an apr-util version prior to 1.3, the memcache client support isn't included. Then you'll
-need to get and build libapr_memcache, and then you'll probably build mod_mirrorbrain like this:
-apxs2 -c -I/usr/include/apr_memcache-0 -lapr_memcache '-Wc,-Wall -DWITH_MEMCACHE -g -D_GNU_SOURCE' mod_mirrorbrain.c
+need to get and build libapr_memcache, and then you'll probably build mod_mirrorbrain like this::
+
+    apxs2 -c -I/usr/include/apr_memcache-0 -lapr_memcache '-Wc,-Wall -DWITH_MEMCACHE -g -D_GNU_SOURCE' mod_mirrorbrain.c
+
 
 Further steps required for memcache support would be:
 
-- install memcached
-- make sure it listens on localhost only (/etc/sysconfig/memcached)
-- start it ("/etc/init.d/memcached start")
-- configure it to start at boot ("chkconfig -a memcached")
-- install mod_memcache from http://code.google.com/p/modmemcache/
+* install memcached
+* make sure it listens on localhost only (/etc/sysconfig/memcached)
+* start it ("/etc/init.d/memcached start")
+* configure it to start at boot ("chkconfig -a memcached")
+* install mod_memcache from http://code.google.com/p/modmemcache/
   (openSUSE package apache2-mod_memcache); a2enmod memcache
 
 Configuration example::


_______________________________________________
mirrorbrain-commits mailing list
Archive: http://mirrorbrain.org/archive/mirrorbrain-commits/

Note: To remove yourself from this list, send a mail with the content
 	unsubscribe
to the address mirrorbrain-commits-request_at_mirrorbrain.org
Received on Thu Jul 30 2009 - 17:37:38 GMT

This archive was generated by hypermail 2.2.0 : Thu Jul 30 2009 - 17:45:06 GMT