Come installare BIKA LIMS Inkosi su Ubuntu Server in 15 minuti
Introduzione
Questa howto spiega come creare una soluzione BIKA LIMS standalone su un server Ubuntu. Se hai già installato Ubuntu base, il processo di copia e incolla dei comandi richiede circa 15 minuti. Nota importante: BIKA non funziona con le versioni più recenti di Plone; quindi useremo versioni storiche funzionanti e compatibili tra loro.
Importante: usa questa procedura solo quando non è possibile aggiornare BIKA o Plone. Per ambienti di produzione moderni considera approcci aggiornati e testati.
Scopo e varianti di ricerca
Scopo principale: installare BIKA LIMS Inkosi su Ubuntu Server usando Zope 2.9.9 e Plone 2.5.3. Varianti correlate: installazione BIKA su Ubuntu, BIKA Inkosi con Zope/Plone legacy, migrazione BIKA, installazione Plone 2.5.3.
Prerequisiti
- Scarica Ubuntu 8.04 (Hardy Heron) da http://releases.ubuntu.com/releases/8.04/
- Connessione di rete e accesso SSH fra la macchina di lavoro e il LIMSERVER
- Permessi sudo sul server
- Nome host suggerito per esempio: LIMSERVER; sostituisci con il tuo
- Un client TTY/SSH (es. PuTTY) su un PC di rete: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
Nota: questa guida mantiene nomi variabili come USERNAME e PASSWORD. Sostituiscili con quelli reali.
Panoramica del processo
- Installare Ubuntu 8.04 e i pacchetti di sviluppo necessari
- Ottenere Zope 2.9.9, compilarlo e installarlo
- Creare l’istanza Zope/Plone
- Scaricare e installare Plone 2.5.3 nelle Products
- Scaricare e installare BIKA LIMS 2.2.1 bundle e dipendenze
Preparazione del server e connessione SSH
Dopo aver installato Ubuntu e aver fatto il login, determina l’indirizzo IP locale assegnato al LIMSERVER:
ifconfig
L’indirizzo locale è il numero dopo la prima istanza di inet. Ad esempio: inet addr:192.168.2.8 indica 192.168.2.8. Non confonderlo con 127.0.0.1 (loopback).
Apri una sessione SSH (porta 22) dal tuo PC verso l’IP locale del LIMSERVER e accedi usando l’account con privilegi.
Preparare le directory di lavoro
Esegui questi comandi per impostare le directory per i download e gli ambienti di build:
DOWNLOAD_DIR=~/temp
BUILDS_DIR=~/builddirs
MY_PRODUCTS_DIR=~/products
Impostare le variabili per Zope
ZOPE_TARBALLDIR=http://www.zope.org/Products/Zope/2.9.9
ZOPE_TARBALL=Zope-2.9.9-final.tgz
ZOPE_WGET_ADDRESS=$ZOPE_TARBALLDIR/$ZOPE_TARBALL
ZOPE_BUILDDIR=$BUILDS_DIR/Zope-2.9.9-final
Impostare le variabili per Plone
SOFTWARE_HOME=~/zope-2.9.9
# Plone software
PLONE_TARBALL_DIR=http://launchpad.net/plone/2.5/2.5.3/+download
PLONE_TARBALL=Plone-2.5.3-final.tar.gz
PLONE_VERSION=Plone-2.5.3-final
PLONE_WGET_ADDRESS=$PLONE_TARBALL_DIR/$PLONE_TARBALL
# Nome dell'istanza Zope
INSTANCE_HOME=$SOFTWARE_HOME/Plone
Impostare le variabili per BIKA e dipendenze
ROOT_LOGIN='admin'
ROOT_PASSWORD='PASSWORD'
BIKA_TARBALL_DIR=http://downloads.sourceforge.net/project/bika/bika/2.2.1
BIKA_TARBALL=bika-2_2_1_bundle.tar.gz
BIKA_VERSION=bika-2_2_1_bundle
BIKA_WGET_ADDRESS=$BIKA_TARBALL_DIR/$BIKA_TARBALL
REPORTLAB_TARBALL_DIR=http://www.reportlab.com/ftp/
REPORTLAB_TARBALL=ReportLab_2_4.tar.gz
REPORTLAB_VERSION=ReportLab_2_4
REPORTLAB_WGET_ADDRESS=$REPORTLAB_TARBALL_DIR/$REPORTLAB_TARBALL
BIKAFONTS_ZIPFILE_DIR=http://bioinf.scri.ac.uk/lp/downloads/programs/genomediagram/
BIKAFONTS_ZIPFILE=linfonts.zip
BIKAFONTS_DIR=linfonts
BIKAFONTS_WGET_ADDRESS=$BIKAFONTS_ZIPFILE_DIR/$BIKAFONTS_ZIPFILE
Nota: i link esterni possono cambiare nel tempo. Se un file non è più disponibile, cerca l’archivio ufficiale o mirror compatibili mantenendo la stessa versione.
Installare i compilatori e le dipendenze base
sudo apt-get install gcc
sudo apt-get install g++
sudo apt-get install make
Crea le directory:
mkdir $BUILDS_DIR $DOWNLOAD_DIR $MY_PRODUCTS_DIR
Installa la versione richiesta di Python e moduli:
sudo apt-get install python2.4
sudo apt-get install python2.4-dev
sudo apt-get install python2.4-elementtree
Scaricare, compilare e installare Zope
sudo wget $ZOPE_WGET_ADDRESS -P $DOWNLOAD_DIR
sudo tar -xzf $DOWNLOAD_DIR/$ZOPE_TARBALL -C $BUILDS_DIR
cd $ZOPE_BUILDDIR
./configure --prefix=$SOFTWARE_HOME
make
make install
Spiegazione rapida: il prefisso –prefix definisce la cartella di installazione di Zope; il comando ./configure utilizza lo script nella directory di build.
Crea l’istanza Zope:
$SOFTWARE_HOME/bin/mkzopeinstance.py -d $INSTANCE_HOME -u $ROOT_LOGIN:$ROOT_PASSWORD
Scaricare e installare Plone
sudo wget $PLONE_WGET_ADDRESS -P $DOWNLOAD_DIR
sudo tar -xzf $DOWNLOAD_DIR/$PLONE_TARBALL -C $MY_PRODUCTS_DIR
Per collegare i componenti Plone all’istanza Zope:
for i in $MY_PRODUCTS_DIR/$PLONE_VERSION/*;
do echo $i;
ln -s $i $INSTANCE_HOME/Products/;
done
Ogni linea sopra è un singolo comando, esegui le quattro linee come indicate.
Poiché questa versione di Plone non contiene tutte le parti necessarie, installa il pacchetto aggiuntivo:
sudo apt-get install plone-site
A questo punto dovresti avere un sito Plone funzionante all’interno di un’istanza Zope.
Installare BIKA LIMS e dipendenze (sintesi)
Scarica i bundle di BIKA e ReportLab e copia i pacchetti nella cartella Products dell’istanza Zope/Plone, quindi riavvia l’istanza e abilita i prodotti dall’interfaccia di gestione di Zope (ZMI).
Esempi di comandi (adatta i percorsi se necessario):
sudo wget $BIKA_WGET_ADDRESS -P $DOWNLOAD_DIR
sudo tar -xzf $DOWNLOAD_DIR/$BIKA_TARBALL -C $MY_PRODUCTS_DIR
# Copia i pacchetti in Products come fatto per Plone
Segui le istruzioni specifiche del bundle BIKA per la configurazione in ZMI (creazione di tipi, permessi, tool di laboratorio ecc.).
Importante e note pratiche
- Importante: usa Ubuntu 8.04 solo se non puoi eseguire una migrazione: distribuzioni obsolete non ricevono patch di sicurezza.
- Nota: se hai più istanze Plone, dovrai gestire gli ID delle porte di avvio (start-id-server) per evitare conflitti.
- Nota di rete: assicurati che il LIMSERVER sia raggiungibile via WWW e che il firewall non blocchi le porte necessarie.
Cosa fare se qualcosa fallisce
- Errore di download: verifica che l’URL sia ancora attivo o cerca mirror per la stessa versione.
- Errore di compilazione: assicurati di aver installato gcc, g++ e make; controlla i log di make.
- Problemi di compatibilità: se un pacchetto non si installa, verifica la versione di Python richiesta (qui 2.4) e che i dev headers siano presenti.
Alternative moderne
- Se possibile, usa una versione aggiornata di BIKA o valuta containerizzazione (Docker) con immagini compatibili per isolare ambienti legacy.
- Valuta il refactor verso Plone più recente solo dopo aver testato la compatibilità dei componenti custom di BIKA.
Mini-metodologia di deploy (3 fasi)
- Preparazione: installazione OS, network, SSH e tool base.
- Build: compilare e installare Zope, estrarre Plone e collegarlo all’istanza.
- Configurazione: aggiungere BIKA bundle, dipendenze, configurare ZMI e test funzionali.
Checklist per ruolo
- SysAdmin: verificare accesso SSH, firewall, pacchetti build e Python 2.4.
- DevOps: compilare Zope, impostare servizi di avvio e gestione processi.
- Responsabile di laboratorio: testare funzionalità chiave BIKA (campionamento, workflow laboratori).
Criteri di accettazione
- L’istanza Plone è accessibile via browser dall’IP del LIMSERVER.
- BIKA appare nella ZMI nella sezione Products e può essere installato nella site root.
- Login amministratore creato e funzionante.
Sicurezza e privacy
- Avviso: Ubuntu 8.04 è fuori ciclo di vita; non esporre direttamente a Internet senza un perimetro di sicurezza (VPN, firewall, aggiornamenti di sicurezza backported).
- Se tratti dati sensibili o personali, applica controlli di accesso, logging e restrizioni di rete per conformità legale.
Compatibilità e migrazione
- Questa guida è specifica per Zope 2.9.9 e Plone 2.5.3. Per migrare a versioni più recenti, pianifica test approfonditi su un ambiente di staging e verifica ogni prodotto custom di BIKA.
Riepilogo
Seguendo i comandi forniti puoi predisporre un ambiente BIKA LIMS funzionante su Ubuntu 8.04 usando Zope 2.9.9 e Plone 2.5.3. Fai attenzione alle versioni e limita l’esposizione di questo server in produzione per motivi di sicurezza.
Punti chiave:
- Mantieni backup prima di ogni modifica.
- Controlla che tutte le dipendenze siano installate (gcc, g++, make, python2.4-dev, elementtree).
- Se possibile, valuta un approccio container o una migrazione controllata verso versioni supportate.