« Previous - Version 8/21 (diff) - Next » - Current version
Mary Laser, 04/13/2012 05:33 pm


Installing FOSSology on Debain

Packages for deb based distributions are available from different sources, depending on release. Consult the appropriate instructions below for the line to add to your /etc/apt/sources.list file.

Debian squeeze (currently stable)

FOSSology 2.0 debs, produced by the FOSSology team. These debs have not yet been submitted to debian upstream. Older versions of FOSSology are available from the debian and ubuntu repositories. To use the FOSSology produced debs add the line below to your /etc/apt/source.list file.

deb http://fossology.org/debian/2.0/squeeze ./

Debian sid (currently testing)

FOSSology 2.0 debs, produced by the FOSSology team. These debs have not yet been submitted to debian upstream. Older versions of FOSSology are available from the debian and ubuntu repositories. To use the FOSSology produced debs add the line below to your /etc/apt/source.list file.

deb http://fossology.org/debian/2.0/sid ./

Debian wheezy (unstable)

The latest version of fossology is not available in wheezy. Use the fossology debs.

Single vs. Multi-system installs:

The FOSSology software has been split into separate packages by function and analysis agent in order to make it easy to add, update and install individual agents.

For a single system package install, (as root) type apt-get install fossology This will install all packages needed to run FOSSology on a single system.

For a cluster install, follow these steps (as root):
  1. Install the FOSSology server... db, web server, agents, etc...
    apt-get install fossology
  2. Install the "agent" systems where the analysis agents will run.
    apt-get install fossology-common fossology-buckets fossology-copyright fossology-delagent fossology-mimetype fossology-nomos fossology-pkgagent fossology-ununpack fossology-wgetagent
  3. edit fossology.conf & Db.conf on the server and copy to the agents
    Db.conf
    dbname=fossology;
    host=<server_hostname>;
    user=fossy;
    password=fossy;
    

    fossology.conf
    ; proxy settings that will be used by fossology agents
    ; examples:
    ;http_proxy = http://server:8080
    ;ftp_proxy = http://server:3128
    ;no_proxy = localhost,10.1.2.3
    

    [HOSTS]
    localhost = localhost /usr/local/etc/fossology  10
    <agent1_hostname>= <agent1_hostname> /usr/local/etc/fossology  10
    <agent2_hostname>= <agent2_hostname> /usr/local/etc/fossology  10
    

    [REPOSITORY]
    <server_hostname>[] = * 00 55
    <agent1_hostname>[] = * 56 aa
    <agent2_hostname>[] = * ab ff
    

    Don't forget to copy these conf files to each of your agents!
  4. Make your repository available to the entire cluster. This is highly dependent on your storage and filesystem type. These instructions are for a distributed, nfs cross-mounted repository as per the [REPOSITORY] section of the fossology.conf file above.

a) Cross-mount filesystems for your repository data on all systems (in this case, the 3 systems are server, agent1 & agent2) and create a link called localhost pointing to the host where it's created (there is an outstanding bug #1809 to create the localhost link):

root@server# ls -al
total 20
drwxrwx--- 5 fossy fossy 4096 Apr 12 15:58 .
drwxrwx--- 3 fossy fossy 4096 Apr 10 15:12 ..
drwxrwx--- 3 fossy fossy 4096 Apr 10 13:27 agent1
drwxrwx--- 3 fossy fossy 4096 Apr 10 05:40 agent2
lrwxrwxrwx 1 root  root     5 Apr 12 15:58 localhost -> server
drwxrwx--- 2 fossy fossy 4096 Apr 10 14:32 server

root@agent1# ls -al
total 20
drwxrwx--- 5 fossy fossy 4096 Apr 12 15:58 .
drwxrwx--- 3 fossy fossy 4096 Apr 10 15:12 ..
drwxrwx--- 3 fossy fossy 4096 Apr 10 13:27 agent1
drwxrwx--- 3 fossy fossy 4096 Apr 10 05:40 agent2
lrwxrwxrwx 1 root  root     5 Apr 12 15:58 localhost -> agent1
drwxrwx--- 2 fossy fossy 4096 Apr 10 14:32 server

root@agent2# ls -al
total 20
drwxrwx--- 5 fossy fossy 4096 Apr 12 15:58 .
drwxrwx--- 3 fossy fossy 4096 Apr 10 15:12 ..
drwxrwx--- 3 fossy fossy 4096 Apr 10 13:27 agent1
drwxrwx--- 3 fossy fossy 4096 Apr 10 05:40 agent2
lrwxrwxrwx 1 root  root     5 Apr 12 15:58 localhost -> agent2
drwxrwx--- 2 fossy fossy 4096 Apr 10 14:32 server

Make sure your user:group is fossy:fossy and permission are 770 on all systems in your cluster.

b) Create repository sub-directories on all systems in the cluster (there is an outstanding bug #1809 to perform this step during install):

cd localhost
mkdir files gold logs ununpack wget
chown -R fossy:fossy *
chmod 770 *