Changes between Initial Version and Version 1 of Reports/Dynamic/Installation

01/14/09 19:28:07 (14 years ago)



  • Reports/Dynamic/Installation

    v1 v1  
     1== Overview == 
     3Installation of the new reporting system requires installation of a python module and configuration of the Apache webserver with a virtual host. Additionally, until fully integrated, periodically an "import script" must be executed via Cron or similar mechanism. 
     5Versions 0.9.5pre1 and greater no longer need to be installed at the root url for a given host, and therefore no longer require their own virtual host. 
     7== Prerequisites == 
     9 * sqlite3 
     10 * pysqlite2 
     11 * [ Django] 0.96.x 
     12 * mod-python 
     14== Install == 
     15'''setup bcfg2.conf or bcfg2-web.conf''' 
     17Be sure to include the specified fields included the example bcfg2.conf file. These can be specified in either /etc/bcfg2.conf, if it is readable by the webserver user, or /etc/bcfg2-web.conf. This changed in 0.9.5. 
     20'''Install skeleton database''' 
     22Inside the {{{bcfg2-tarball/examples/}}} directory from the tarball you will find {{{brpt.sqlite}}}. Copy this file to <path-to-bcfg2-repository>/etc/brpt.sqlite 
     24If you are not using sqlite (the default choice), please see the "Notes on Alternative Databases" section below. 
     26At this point we can import statistics date in to the database from your {{{clients.xml}}} and {{{statistics.xml}}} files. 
     28execute the following: {{{python .../site-packages/Bcfg2/Server/Reports/ }}} 
     30(''Versions 0.8.7 and prior must specify: {{{python .../site-packages/Bcfg2/Server/Reports/ <repo>/Metadata/clients.xml -s <repo>/etc/statistics.xml}}} '') 
     32It might be a good idea to write a 1-line shell script to execute this very long command; it is only an interim measure until the {{{/etc/statistics.xml}}} file is obsoleted. 
     34At this point you shouldn't get any errors or tracebacks. Common problems include incorrect installation of the pysqlite2 module. 
     36'''Next we configure Apache:''' 
     38An example site config is included below for the vhost "": 
     41        ServerAdmin [email protected] 
     42        ServerName 
     43        DocumentRoot /var/www/reports 
     44        <Directory /var/www/reports> 
     45                Order deny,allow 
     46                Deny from all 
     47                Allow from localhost #you may want to change this 
     48                AllowOverride None 
     49        </Directory> 
     51        # Possible values include: debug, info, notice, warn, error, crit, 
     52        # alert, emerg. 
     53        LogLevel warn 
     55        ServerSignature Off 
     57        # Stop TRACE/TRACK vulnerability 
     58        <IfModule mod_rewrite.c> 
     59                RewriteEngine on 
     60                RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK) 
     61                RewriteRule .* - [F] 
     62        </IfModule> 
     63<Location "/"> 
     64        SetHandler python-program 
     65        PythonHandler django.core.handlers.modpython 
     66        SetEnv DJANGO_SETTINGS_MODULE Bcfg2.Server.Reports.settings 
     67        PythonDebug On 
     69<Location "/site_media/"> 
     70        SetHandler None 
     75The first three lines of this configuration must be customized per site. 
     77The {{{bcfg2-tarball/reports/site_media/}}} directory needs to be copied to {{{/var/www/reports/site_media/}}} It could live anywhere; as long as the contents are accessible on the virtual host at {{{/site_media/}}}.  
     79At this point you should be able to point your web browser to the virtualhost you created '''and see the new reports'''. 
     81One final step is to configure your system to import statistics data regularly.  
     82execute the following: {{{python .../site-packages/Bcfg2/Server/Reports/ }}} 
     84(''Versions 0.8.7 and prior must specify: {{{python .../site-packages/Bcfg2/Server/Reports/ <repo>/Metadata/clients.xml -s <repo>/etc/statistics.xml}}} '') 
     86on a regular basis, perhaps as often as every 5 or 10 minutes or as infrequent as daily, so your reports are always up to date. 
     88== Notes on Alternative Databases == 
     89 If you choose to use a different database, you'll need to edit from inside of the brpt module. Instructions on this process can be found on the Django website. The provided sqlite database file is pre-populated with the appropriate tables, if you choose a different database engine, you will need to run "python syncdb" from the brpt module directory to configure it before importing any data. As of vers 0.9.5, these settings are moved to the more appropriate /etc/bcfg2.conf 
     92''If you encounter any problems or have suggestions for these instructions feedback is welcome and encouraged.''