FOSSology 2.0 Installation & Upgrades

This page has detailed installation instructions or links for all Fossology packages (and the source tarball).

It is important that the download page also be consulted to determine if the release/distro you are trying to install has been tested by FOSSology or the community.

Installation Cookbook

Use the table below to find the specific installation page for the Distro/Release you are installing. Has the download page been consulted to see if the release has been tested on the Distro of interest?

If you have any trouble installing from these packages, please write to our mailing list . The Debian packages tend to be much better tested than the rpm based packages since most of the developers use Debian.

You can find the How To Install links on our Sysadmin_Documentation

Post Install

After installing FOSSology, the system still needs configuration to allow FOSSology to operate correctly.

The full instructions are available in the source install file FOSSology version 2.0 INSTALL file.
To summarize, the following must be configured:

  • kernel parameters
  • Adjust postgresql configuration
  • Adjust PHP config (both apache and cli)
  • Adjust apache2 configuation (sites-available)

See the above INSTALL file for details.

Notes for Internal HP repository, fo.usa

Kernel
Postgres

laser@filch:/etc/postgresql/8.3/main$ diff postgresql.conf~ postgresql.conf
56c56,57
< max_connections = 400  # bobg 10/15/2010
---
> #max_connections = 400  # bobg 10/15/2010
> max_connections = 300  # msry 02/27/2012
99c100
< shared_buffers = 5GB   # ~35% of physical memory bobg 10/15/2010
---
> shared_buffers = 4GB   # 25% of physical memory bobg 2/28/2012
110c111,113
< work_mem = 1024000
---
> #work_mem = 1024000
> # bobg 2/89/2012
> work_mem = 512MB
112,113c115
< maintenance_work_mem = 2048000   # mary  According to the docs:
<                                 # "it's safe to set this value significantly larger than work_mem" 
---
> maintenance_work_mem = 512MB   # bobg 3/7/2012 roughly 50MB/GB of ram
153,155c155
< #fsync = on                             # turns forced synchronization on or off
< fsync = off   # 8/9/2006 bobg - favor performance and count on our manual agent
<               # controls to work in an emergency
---
> fsync = on                             # turns forced synchronization on or off
179a180
> checkpoint_completion_target = 0.9      # checkpoint target duration, 0.0 - 1.0
208a210
> random_page_cost = 2                   # bobg 3/20/2012 lowering due to large memory, much data is cached
226c228,232
< #default_statistics_target = 10         # range 1-1000
---
> # change from default 10, to 100 bobg 2/28/2012
> # as per http://wiki.postgresql.org/wiki/Introduction_to_VACUUM,_ANALYZE,_EXPLAIN,_and_COUNT
> # upped to 1000  bobg 3/7/2012
> default_statistics_target = 1000        # range 1-1000
>
385,388c391,397
< #autovacuum_vacuum_scale_factor = 0.4   # fraction of rel size before
<                                         # vacuum
< #autovacuum_analyze_scale_factor = 0.2  # fraction of rel size before
<                                         # analyze
---
> #autovacuum_vacuum_scale_factor = 0.4   # fraction of rel size before vacuum
> autovacuum_vacuum_scale_factor = 0.01   # bobg 3/16/2012 for large tables
>
> #autovacuum_analyze_scale_factor = 0.2  # fraction of rel size before analyze
> autovacuum_analyze_scale_factor = 0.01  # bobg 3/16/2012 for large tables
>
> autovacuum_vacuum_cost_delay = 10ms    # bobg 3/16/2012

PHP config
Apache2 (/etc/apache2/sites-enabled/000-default)

  
<VirtualHost *:80>
        ServerAdmin webmaster@localhost

#       DocumentRoot /var/www
        DocumentRoot /usr/share/fossology/www/ui

        # for backward compatibility
#        RewriteEngine on
#    RewriteLog "/tmp/apachelog" 
#    RewriteLogLevel 2
#        RewriteRule ^fossology.usa.hp.com/repo/$ fossology.usa.hp.com/$1
        Redirect /repo http://fossology.usa.hp.com
        <Directory />
                Options FollowSymLinks
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>
        <Directory /var/www/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
                # Uncomment this directive is you want to see apache2's
                # default start page (in /apache2-default) when you go to /
#               RedirectMatch 301 ^/$ /repo/
        </Directory>

        # taggart
        # Disallow browsing of Subversion working copy administrative dirs.
        <DirectoryMatch "^/.*/\.svn/">
                Order deny,allow
                Deny from all
        </DirectoryMatch>

        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
                AllowOverride None
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>

        ErrorLog /var/log/apache2/error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog /var/log/apache2/access.log combined
        ServerSignature On

    Alias /doc/ "/usr/share/doc/" 
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>

</VirtualHost>

bucketpools

Installation from source

Single system source install

The FOSSology source code ships with a text file called INSTALL. This file contains detailed instructions for how to perform an installation of FOSSology on nearly any system.

Multi-system source install

  1. Perform the steps above (for Single system source install) on the system that will run your scheduler/web/db services
  2. Perform steps up to 'make install' on each of the "agent" systems (i.e. systems that will run fossology jobs)
  3. run 'sudo fo-postinstall -a'

Continue with cluster-install.

Upgrading from the previous release of FOSSology

Upgrading FOSSology from a previously installed deb package

If you are upgrading FOSSology from a previously installed deb package, then follow these easy steps:

  • Stop the scheduler:
sudo /etc/init.d/fossology stop
  • Verify you have the correct entry in your /etc/apt/sources.list file: Debian Install
apt-get update; apt-get upgrade fossology
  • Examine the logfile for errors (/var/log/fossology/fossology.log). If there are no errors, you should see "STATUS: All scheduler agents are operational." at the end of the file.
  • Start the scheduler
sudo /etc/init.d/fossology start

You're done!

Upgrading FOSSology from a tarball

If you are upgrading FOSSology installation built from the previous release source using the newly released tarball follow these directions:

  • Stop the scheduler:
sudo /etc/init.d/fossology stop
  • Uncompress the fossology-<ver>.tar.gz file into a build directory and build.
tar -xzvf fossology-<ver>.tar.gz
cd fossology-<ver>
make
sudo make install
  • Run fo-postinstall to build the data base, data initialization (if any) and add the fossy user & fossy group.
sudo /usr/local/lib/fossology/fo-postinstall
  • Start the scheduler
sudo /etc/init.d/fossology start
  • Examine the logfile for errors (/var/log/fossology/fossology.log) or stdout if -L stdout was used. If there are no errors, you should see "STATUS: All scheduler agents are operational." at the end of the file.

You're done!

Upgrading from Older FOSSology Releases

You can use one of the following procedures to upgrade from 1.4.x to current release on Ubuntu. For Debian lenny just follow the instructions in Debian Install. NOTE the FOSSology team has not tested these procedures. The team believes they will work. They are similar to the procedure for upgrading from the previous release. The FOSSology team would like to hear from anyone who has tried these.

How to upgrade a single system install

For debian package installs:
  1. configure apt to point at the apt source of the new version for your distro version (may not even be needed depending on your situation)
  2. apt-get upgrade
For upstream installs:

All steps as root

  1. stop the scheduler using '/etc/init.d/fossology stop'
  2. remove the fossology software (but not data) * If you still have the build tree from the current installed version do "make uninstall" * IF you don't have the build tree from the current installed version OR your current version is <1.0.0 OR you are lazy, THEN run "utils/fo-cleanold". (DO NOT add any options to fo-cleanold, you are just trying to remove the software, not the data.)
  3. install the new version * In the new source tree run "make;make install" * run "/usr/local/lib/fossology/fo-postinstall"
  4. start the scheduler using '/etc/init.d/fossology start'
NOTES:
  • If you messed up an upstream install and want to start over, fo-cleanold has flags you can use to do that, but they will DELETE DATA so make sure you know what you are doing. Run 'fo-cleanold --help' for more info.
  • Upgrading from an upstream install to a package install or vise versa is possible, but tricky. It is recommended that you stick with one or the other.