giovedì 25 dicembre 2014

Continuare ad usare Skype 4.2 su Linux

Il rilascio della versione 4.3 di Skype ha reso inutilizzabile la precedente versione 4.2. Non è più possibile effettuare il login su Skype 4.2 (Skype can't connect).
La soluzione sembrerebbe semplice: aggiornare skype. Il problema è che Skype 4.3 non funziona su computer con cpu a 32bit (i686).

Per risolvere il problema è necessario avere un pc linux con cpu 64 bit con Skype 4.3.
  1. Sul pc con cpu 64bit effettuare il login su Skype (selezionando il checkbox ricordami su questo pc) con l'utente che si vuole utilizzare su skype 4.2
  2. Copiare la cartella nascosta .Skype nella home dell'utente con cui si è fatto il login nello step precedente.
  3. Sul pc a 32bit eliminare se presente la cartella /home//.Skype
  4. Trasferire nella home la directory .Skype copiata nello step 2
  5. Avviare Skype
Questa procedura ha funzionato con successo utilizzando due pc con Arch Linux.

mercoledì 26 dicembre 2012

Il risparmio energetico in linux

Il noto pessimo supporto da parte dei produttori ai driver per linux, comporta spesso un abbassamento della durata della batteria dei portatili.
Gli utenti linux sanno bene che per ottenere le massime performance da questo sistema operativo è necessario personalizzarlo per il particolare hardware su cui viene installato. Di seguito riporterò la configurazione utilizzata sul mio notebook magari potrà tornare utile a chi è in possesso di un notebook con una configurazione hardware simile.

Il mio notebook è un Asus U36SD, la configurazione hardware è la seguente:
[roberto@u36sd ~]$ lspci
00:00.0 Host bridge: Intel Corporation 2nd Generation Core Processor Family DRAM Controller (rev 09)
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port (rev 09)
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)
00:16.0 Communication controller: Intel Corporation 6 Series/C200 Series Chipset Family MEI Controller #1 (rev 04)
00:1a.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (rev 05)
00:1b.0 Audio device: Intel Corporation 6 Series/C200 Series Chipset Family High Definition Audio Controller (rev 05)
00:1c.0 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 1 (rev b5)
00:1c.1 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 2 (rev b5)
00:1c.3 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 4 (rev b5)
00:1c.5 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 6 (rev b5)
00:1d.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 (rev 05)
00:1f.0 ISA bridge: Intel Corporation HM65 Express Chipset Family LPC Controller (rev 05)
00:1f.2 SATA controller: Intel Corporation 6 Series/C200 Series Chipset Family 6 port SATA AHCI Controller (rev 05)
00:1f.3 SMBus: Intel Corporation 6 Series/C200 Series Chipset Family SMBus Controller (rev 05)
01:00.0 VGA compatible controller: NVIDIA Corporation GF119 [GeForce GT 520M] (rev a1)
03:00.0 Network controller: Intel Corporation Centrino Wireless-N 1030 [Rainbow Peak] (rev 34)
04:00.0 USB controller: Fresco Logic FL1000G USB 3.0 Host Controller (rev 04)
05:00.0 Ethernet controller: Atheros Communications Inc. AR8151 v2.0 Gigabit Ethernet (rev c0)
Il sistema operativo è Arch Linux aggiornato al 26/12/2012.
[roberto@u36sd ~]$ uname -a
Linux u36sd 3.6.10-1-ARCH #1 SMP PREEMPT Tue Dec 11 09:40:17 CET 2012 x86_64 GNU/Linux
Finora per il risparmio energetico ho sempre utilizzato laptop-mode-utils senza preoccuparmi più di tanto della sua configurazione in dettaglio. Cercando in rete mi sono accorto che il precedente pacchetto è caduto in disuso e una delle soluzioni più adottate al momento è pm-utils.
Come specificato nel wiki di Archlinux, pm-utils è un nuovo framework per l'impostazione della sospensione e per la variazione dello stato dell'alimentazione.  
pm-utils è una collezione di script. È facilmente estendibile tramite l'aggiunta di script personalizzati. Nel mio caso ho utilizzato il pacchetto solo per la gestione dell'alimentazione e non per la sospensione.

Come prima cosa ho rimosso laptop-mode-tools e tutti i suoi file di configurazione in /etc. In seguito ho installato pm-utils.
sudo pacman -Rs laptop-mode-tools
sudo pacman -S pm-utils
Quando al notebook viene rimossa l'alimentazione da rete e passa in alimentazione tramite batteria, viene sollevato un evento che è raccolto da pm-powersave che provvederà a capire quale evento si è verificato e ad eseguire i relativi script.
Gli script predefiniti si trovano nel seguente percorso:
/usr/lib/pm-utils/power.d/
Gli script personalizzati dell'utente si aggiungono creando un nuovo file (non importa il nome del file) nel seguente percorso:
/etc/pm/power.d/
Nel mio caso ho creato in /etc/pm/power.d/ un file chiamato powersave, contenente il seguente script:
#!/bin/sh
# A script to enable laptop power saving features for #! & Debian GNU+linux.
# http://crunchbanglinux.org/forums/topic/11954

# List of modules to unload, space seperated. Edit depending on your hardware and preferences.
#modlist="uvcvideo"
# Bus list for runtime pm. Probably shouldn't touch this.
#buslist="pci spi i2c"

case "$1" in
    true)
    # Enable some power saving settings while on battery
       # Enable laptop mode
       # echo 5 > /proc/sys/vm/laptop_mode
       # Less VM disk activity. Suggested by powertop
        echo 1500 > /proc/sys/vm/dirty_writeback_centisecs
       # Intel power saving
        echo Y > /sys/module/snd_hda_intel/parameters/power_save_controller
        echo 1 > /sys/module/snd_hda_intel/parameters/power_save
       # Set backlight brightness to 50%
       # echo 5 > /sys/devices/virtual/backlight/acpi_video0/brightness
       echo 8 > /sys/class/backlight/acpi_video0/device/backlight/acpi_video0/brightness
       # Cpu governor
       cpupower frequency-set -g powersave
       # USB powersaving
        for i in /sys/bus/usb/devices/*/power/autosuspend; do
            echo 1 > $i
        done
       # SATA power saving
        for i in /sys/class/scsi_host/host*/link_power_management_policy; do
            echo min_power > $i
        done
       # Disable hardware modules to save power
        for mod in $modlist; do
            grep $mod /proc/modules >/dev/null || continue
            modprobe -r $mod 2>/dev/null
        done
       # Enable runtime power management. Suggested by powertop.
        for bus in $buslist; do
            for i in /sys/bus/$bus/devices/*/power/control; do
                echo auto > $i
            done
        done
    ;;
    false)
       #Return settings to default on AC power
        #echo 0 > /proc/sys/vm/laptop_mode
        echo 500 > /proc/sys/vm/dirty_writeback_centisecs
        echo N > /sys/module/snd_hda_intel/parameters/power_save_controller
        echo 0 > /sys/module/snd_hda_intel/parameters/power_save
          echo 10 > /sys/class/backlight/acpi_video0/device/backlight/acpi_video0/brightness
          cpupower frequency-set -g ondemand
        for i in /sys/bus/usb/devices/*/power/autosuspend; do
            echo 2 > $i
        done
        for i in /sys/class/scsi_host/host*/link_power_management_policy
            do echo max_performance > $i
        done
        for mod in $modlist; do
            if ! lsmod | grep $mod; then
                modprobe $mod 2>/dev/null
            fi
        done
        for bus in $buslist; do
            for i in /sys/bus/$bus/devices/*/power/control; do
                echo on > $i
            done
        done
    ;;
esac

exit 0
Dopo bisogna modificare i permessi del file con il seguente comando:
chmod 777 /etc/pm/power.d/powersave
È anche possibile eseguire manualmente gli scripts con il seguente comando:
 pm-powersave true
che abilita la gestione del risparmio energetico
pm-powersave false
che disabilita la gestione del risparmio energetico
I log sono salvati in:
 /var/log/pm-powersave.log
 Nel mio caso dal log mi sono accorto che lo script presente in /usr/lib/pm-utils/power.d/pcie_aspm. Ho risolto il problema modificando la configurazione di Grub2 aggiungendo la stringa pcie_aspm=force nella riga del file /etc/default/grub:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash pcie_aspm=force add_efi_memmap i915.i915_enable_rc6=1 i915.i915_enable_fbc=1 drm.vblankoffdelay=1"
Se si possiede una scheda video Intel (nel mio caso ho una doppia scheda video Intel/Nvidia) si può ottenere un ulteriore risparmio energetico aggiungendo anche i915.i915_enable_rc6=1 i915.i915_enable_fbc=1 drm.vblankoffdelay=1

Infine un utile tool per visualizzare i consumi in dettaglio è powertop, sviluppato dalla Intel.

 

venerdì 23 dicembre 2011

Sincronizzare il calendario di Google con il client xfce Orage

Si intende creare uno script che sincronizza automaticamente il software di gestione dei calendari per Xfce Orage con il calendario di Google.
Prima di tutto bisogna copiare l'indirizzo privato del proprio calendario. Per farlo seguire i seguenti passi:
1) andare nella sezione impostazioni di Google Calendar;
2) selezionare la voce "Calendari" nel menu in alto;
3) cliccare sul calendario che si intende sincronizzare;
4) cliccare con il tasto destro del mouse sul tasto verde ical presente sulla destra della voce "Indirizzo privato:" e copiarne il link;


Ora bisogna creare il file dove copieremo il codice dello script.
Nella propria home creiamo il file "orage_cal_sync".
Concediamo al file i permessi di esecuzione tramite il comando:
chmod a+x ~/orage_cal_sync
Aggiungere al file le seguenti linee sostituendo a LINK_GOOGLE_CALENDAR il link precedentemente copiato
#!/bin/bash
cd ~
rm ~/basic.ics*
wget LINK_GOOGLE_CALENDAR
mv ~/basic.ics ~/.local/share/orage/orage.ics
Lo script esegue i seguenti passi:
1) accede alla home dell'utente
2) cancella eventuali copie vecchie del calendario presenti nella home
3) scarica da internet il file con i dati del calendario google e li salva nel file basic.ivs presente nella directory home
4) sposta il file nella directory dei calendari di orage

Ora bisogna aggiungere un nuovo job al crontab con lo script appena creato.
Aprire la shell, loggarsi con l'utente che effettua l'accesso al sistema e digitare il seguente comando:
crontab -l
ora aggiungere la riga seguente:
* */1 * * * ~/orage_cal_sync
In questo caso lo script viene eseguito una volta ogni ora. Per modificare i tempi di esecuzione dello script potete trovare informazioni utili su crontab alla pagina seguente:
http://en.wikipedia.org/wiki/Crontab

venerdì 28 maggio 2010

Backup dei file con rsync

Rsync è una utility molto efficace di backup sviluppata per gli ambienti Unix/Linux. Questo è il link per il download dei sorgenti:
http://rsync.samba.org/
è comunque possibile installarla nella maggior parte delle distribuzioni linux con l'uso del gestore dei pacchetti.
Il problema che mi sono posto è stato quello di creare sul mio hard disk esterno una copia di sicurezza dei dati presenti nella mia partizione "home". Dopo aver visto diversi software specializzati per la creazione di copie di backup mi sono imbattuto in rsync il quale soddisfa tutte le mie richieste. Il mio obiettivo è quello di creare una copia esatta dei miei file su un disco esterno, con la possibilità di aggiornare rapidamente le modifiche come la cancellazione o l'aggiunta di nuovi file. Inoltre voglio che sia possibile specificare dei file o directory da non includere nel backup (ad esempio non voglio copiare la directory video visto che occupa molto spazio e non contiene file di estrema importanza). Rsync è in grado di fare tutto questo e molto altro!
Anche se esistono diverse GUI per questo tool ho preferito usare la linea di comando vista la semplicità della sua sintassi.
La directory di cui intendo fare il backup si trova nel seguente path:
/home/roberto/
mentre il path relativo al disco esterno è il seguente:
/media/roberto_losanno/Backup_notebook/
il comando utilizzato è il seguente:
rsync -azv --delete --exclude='/video' /home/roberto/ /media/roberto_losanno/Backup_notebook/
Alla prima esecuzione del comando sarà avviata la copia di tutti i file sul disco esterno (Full backup). Le esecuzioni successive del comando si limiteranno soltanto ad apportare le modifiche che sono state fatte sulla partizione d'origine /home/roberto/ (Incremental backup). Studiamo la parte di sintassi che credo sia meno chiara:
  • -azv l'opzione 'a' serve per la copia ricorsiva delle sottocartelle; l'opzione 'z' effettua una compressione dei file; l'opzione 'v' imposta il funzionamento su verbose che stampa a video le operazioni effettuate.
  • --delete cancella dal percorso destinazione (disco esterno) i file che sono stati cancellati dal disco fisso del pc (cioè dalla directory origine /home/roberto/). Questa opzione interviene nel caso di "incremental backup" e non nel primo backup (full backup) visto che la directory destinazione è vuota.
  • --exclude='/video' esclude dal backup la directory "video". Da notare lo slash prima della parola "video", che indica ad rsync di escludere la directory "video" che si trova nel percorso radice della directory origine (/home/roberto/). Nel caso in cui si omettesse lo slash (--exclude='video') allora sarebbero esclusi dal backup tutti i file e le directory di nome "video" presenti nella directory d'origine (/home/roberto/) e nelle sue sottodirectory.
Nel caso in cui il numero di files o directory da escludere è elevato, è possibile salvare in un file i nomi, e utilizzare l'opzione --exclude-from.
Dopo aver creato il file che io ho chiamato "to_exclude", aprirlo ed inserire l'elenco di file e directory da escludere, ad esempio:
/video
/Downloads
/Documents/Temporal
imagecd1.iso
Da notare che la directory "Documents" non sarà esclusa dal backup, verrà invece esclusa la directory "Temporal" contenuta al suo interno.
Verranno inoltre esclusi tutti i file o le directory con il nome "imagecd1.iso" che si trovano nella directory origine o in una sua sottodirectory. Nell'opzione --exclude-from inserire il percorso al file appena creato.
Il comando da eseguire è il seguente:
rsync -azv --delete --exclude-from=/home/roberto/to_exclude /home/roberto/prova/ /media/roberto_losanno/Backup_notebook/
L'ultima opzione da includere è --delete-excluded che ritorna molto utile nei backup successivi al primo, nel caso in cui si modifica l'elenco dei file e delle directory da escludere. In questo caso infatti i nuovi file esclusi, ma già copiati precedentemente nella destinazione di backup, non sarebbero eliminati.
Quindi il comando finale con le opzioni che abbiamo utilizzato è il seguente:
rsync -azv --delete --delete-excluded --exclude-from=/home/roberto/to_exclude /home/roberto/prova/ /media/roberto_losanno/Backup_notebook/
Per approfondire l'uso di questo tool, è possibile utilizzare l'help in linea "man rsync", o collegarsi alla pagina:

lunedì 18 gennaio 2010

Pasta con spinaci a forno (Pasta con espinacas al horno)

Ingredienti per 4 persone:
  • 400 gr di pasta (a scelta, meglio se corta)
  • 200-300 gr di mozzarella
  • prosciutto cotto a pezzetti
  • 500 gr di spinaci
  • 1 cipolla
  • olio d'oliva, sale, pepe, peperoncino, formaggio grattuggiato
Preparazione:
Tagliare la cipolla a pezzetti piccoli e soffriggerla in una padella con 3 cucchiai di olio. Quando la cipolla si inizia a dorare aggiungere il prosciutto a pezzetti e dopo un paio di minuti gli spinaci. Cucinare per 10 minuti e alla fine aggiungere pepe, peperoncino e mozzarella a pezzetti e continuare a cucinare finchè si scioglie la mozzarella.
In una pentola lessare la pasta al dente. Nel frattempo imburrare un contenitore da forno. Quando la pasta è pronta scolarla e mescolarla con gli spinaci e la metà del formaggio. Quando si è amalgamata bene versarla nel contenitore imburrato, coprire con il formaggio restante e cucinarla a forno a 180° per 10-15 min.

(Español)

Ingredientes para 4 personas:
  • 400 gr de pasta (mejor si es corta)
  • 200-300 gr di mozzarella
  • jamón dulce a dados
  • 500 gr de espinacas
  • 1 cebolla
  • aceite de oliva, sal, pimienta, pimienta picante, queso rallado
Preparación:
Cortar la cebolla a trozos pequeños y cocinarla en una sartén con tres cucharas de aceite. Cuando la cebolla empieza a dorarse añadir el jamón y después de dos minutos las espinacas. Cocinar durante 10 minutos y al final añadir pimienta, pimienta picante y mozzarella a dados y seguir cocinando hasta que la mozzarella se deshaga. En una olla hervir la pasta al punto. Mientras tanto, poner la mantequilla en un contenedor para horno. Cuando la pasta esta lista escorerla y mezclarla con las espinacas y con la mitad del queso. Cuando esta todo bien mezclado, ponerla en el contenedor, cubrirla con el queso que queda y cocinar al horno a 180° durante 10-15 min.

Risultato (Resultado):

sabato 25 luglio 2009

PHP: rinominare file con estensione

PROBLEMA: Eseguire l'upload di un file il cui nome è già presente nella directory di destinazione sul server.

UNA POSSIBILE SOLUZIONE: rinominare il file aggiungendo alla fine la data e l'ora (si suppone che nello stesso secondo non possano avvenire due upload in contemporanea -> OK nei siti con pochi accessi). Esempio:
il file che voglio caricare si chiama pippo.jpg, ma sul server già esiste un file con lo stesso nome. Il file sarà rinominato in:
pippo_1:51:05-22.07.09.jpg
Vogliamo inoltre tener conto della situazione in cui il file non possiede un'estensione, in questo caso il file pippo sarà rinominato in:
pippo_1:51:05-22.07.09

CODIFICA
: non è possibile semplicemente aggiungere data e ora alla fine del file perchè il risultato sarebbe il seguente:
pippo.jpg_1:51:05-22.07.09
L'idea è quella di separare il nome del file dall'estensione, rinominare solo il nome del file e infine aggiungere l'estensione al file rinominato.
Tralasciamo il codice per eseguire l'upload e chiamiamo $fname la variabile che contiene il nome del file che sta per essere caricato.
(in breve sia
<input type="file" name="user_file" />
$file = $_FILES['user_file'];
$fname = $file['name']
)
Ora veniamo al codice:
if (file_exists($filename)) {
//FILE GIA ESISTENTE, lo rinominiamo per non sostituirlo
// ricava l'estensione dal file
$estensione_file=estensione($fname);
//taglia l'estensione dal file
$fname=cut_extension($fname);
// assegna un nome univoco al file rinominando il nome del file e aggiungendo alla fine l'estensione
$fname=rename_file($fname).".".$estensione_file;
}
Di seguito le funzioni estensione, cut_extension, rename_file:
function estensione($nome){
$trova_punto = explode(".", $nome);
$estensione = $trova_punto[count($trova_punto) - 1];
$estensione = strtolower($estensione);
if (isset($trova_punto[1]) == FALSE){
return ""; //NESSUNA ESTENSIONE
}
return $estensione;
}

function cut_extension($nome){
$trova_punto = explode(".", $nome);
if(count($trova_punto)==1){//ALLORA é UN FILE CHE NON HA ESTENSIONE
$new_nome=$trova_punto[0];
}
else{
for($i=0;$i<count($trova_punto)-1;$i++){
$new_nome.=$trova_punto[$i];
//nel caso il file contenga più punti ripristina i punti centrali
if($i<count($trova_punto)-2)
$new_nome.=".";
}
}
return $new_nome;

function rename_file($file){
$suffisso= date("_g:i:s-d.m.y");
$new_file_name=$file.$suffisso;
return $new_file_name;
}

domenica 1 marzo 2009

Installare Adempiere ERP su Ubuntu

Un breve tutorial sull'installazione del software ERP open source Adempiere. Ho installato con successo Adempiere su Ubuntu 8.10 con JDK 5.

File necessari:

  • Adempiere (lo trovi qui)

  • PlSql per Postgres 8.3 (lo trovi qui)

  • JDK 5/6 (JRE non va bene)

  • PostgreSql 8.3

Per ora ci servirà scaricare solo il pacchetto Adempiere e PlSql. Per quanto riguarda gli altri file, utilizzeremo delle versioni precompilate per Ubuntu, disponibili nei repository ufficiali.

Installazione JDK

installare il pacchetto

sun-java6-jdk

se si verificano dei problemi nei passi successivi installare

sun-java5-jdk

ed impostare come jdk predefinita la versione 5 con i seguenti comandi:

java -version

selezionare la versione 5 dopo aver dato i comandi:

sudo update-alternatives --config javac

sudo update-alternatives --config java

digitare:

java -version

per verificare che sia attiva la jdk5.


Aggiungere le variabili d'ambiente

Modificare il file nascosto profile contenuto nella directory home:

gedit /home/roberto/.profile

aggiungendo i seguenti path alla fine del file:

export JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun/

export ADEMPIERE_HOME=/home/roberto/Programmi/Adempiere/

disconnettersi da Ubuntu e riconnettersi per rendere effettive le modifiche.


Installazione Postgresql e PlJava

Da Sistema->Amministrazione->Gestione pacchetti synaptics installare:

  • postgresql (e pacchetti dipendenti)

  • pgadmin3 (e pacchetti dipendenti)


Scaricare PlJava

dal sito http://pgfoundry.org/frs/download.php/1598/pljava-i686-pc-linux-gnu-pg8.3-1.4.0.tar.gz

scaricare la versione appropriata per la versione di Postgresql installata.

Ad esempio nel caso in cui si installa Postgresql 8.3, scaricare il file:

pljava-i686-pc-linux-gnu-pg8.3-1.4.0.tar.gz

[For 64bit users, download from pljava64bit from Sim IT Sdn Bhd]


Terminata l'installazione di postgresql aprire il terminale e loggarsi come root:

sudo su -

impostare la password per l'utente (creato durante l'installazione del DB) postgres:

passwd postgres

esportare la variabile JAVA_HOME (se è stata installata un'altra versione di java, verificare il percorso):

export JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun/


Creare un nuovo host (in Adempiere non è possibile usare localhost). Creeremo un host con indirizzo 127.0.0.2:

sudo gedit /etc/hosts

e aggiungere la riga:

127.0.0.2 roberto-laptop

dove roberto-laptop è il nome del computer (il nome del tuo computer lo puoi ricavare aprendo il terminale).

In questo modo possiamo configurare anche altri computer in modo che raggiungano i nostri servizi.


Modificare il file pg_pass.hba:

gedit /etc/postgresql/8.2/main/pg_hba.conf

cambiare il metodo di autenticazione da md5 a trust e aggiungere la riga evidenziata in rosso:

# Database administrative login by UNIX sockets
local all postgres trust
# TYPE DATABASE USER CIDR-ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all trust
# IPv4 local connections:
host all all 127.0.0.1/32 trust
host all all 127.0.0.2/32 trust
# IPv6 local connections:
host all all ::1/128 trust


Estrarre l'archivio pljava, scaricato prima, in /opt/pljava:

sudo mkdir /opt/pljava

sudo cp pljava-i686-pc-linux-gnu-pg8.3-1.4.0.tar.gz /opt/pljava

cd /opt/pljava

sudo tar xzvf pljava-i686-pc-linux-gnu-pg8.3-1.4.0.tar.gz


Editare il file postgres.conf:

gedit /etc/postgresql/8.2/main/postgresql.conf

sostituire la riga

#listen_addresses = 'localhost'

con:

listen_addresses = '*'

ricordarsi di decommentare la riga togliendo il #.

Inoltre, sempre in questo file (postgresql.conf) aggiungere le seguenti righe:

dynamic_library_path = '\$libdir:/opt/pljava'
custom_variable_classes = 'pljava'
pljava.classpath = '/opt/pljava/pljava.jar'


Editare il file:

gedit /etc/ld.so.conf

aggiungere le righe:

$JAVA_HOME/jre/lib/i386
$JAVA_HOME/jre/lib/i386/client
$JAVA_HOME/jre/lib/i386/native_threads
$JAVA_HOME/jre/lib/i386/server

digitare il comando seguente per ricaricare la configurazione:

ldconfig

riavviare il server di postgresql:

sudo su – postgres

/etc/init.d/postgresql-8.3 restart


Avviare pgAdminIII (Applicazioni->Strumenti di sistema->pgAdmin III)

Registrare un nuovo server come mostrato nella figura seguente:

come password usare la stessa dell'utente postgres creata prima con il comando passwd postgres.

Nome: postgres

Host: 127.0.0.2

Nome utente: postgres

Password:


Creare un nuovo ruolo e un nuovo database

Per il nuovo ruolo scegliere come nome adempiere e come password adempiere (vedi figura seguente):

creare un nuovo database chiamato adempiere, come in figura:

Alternativamente è possibile il database usando la shell:

sudo su – postgres

createdb -E UTF8 -O adempiere adempiere




Installazione Pljava

loggarsi al terminale come root:

sudo su -

estrarre l'archivio Adempiere_353a.tar.gz in /home/roberto/Adempiere

(al posto di roberto utilizzare il nome della vostra home directory)


copiare il file postgresql.jar in /opt/pljava

cp /home/roberto/Adempiere/lib/postgresql.jar /opt/pljava

cd /opt/pljava

eseguire il seguente comando:

java -cp postgresql.jar:pljava.jar:deploy.jar org.postgresql.pljava.deploy.Deployer -database adempiere -user adempiere -password adempiere -install


Importare il dump del database

In poche parole bisogna popolare il database adempiere creato prima con tutte le tabelle e tutto ciò che è necessario per il funzionamento di Adempiere (ricordiamo che Adempiere per funzionare ha bisogno di un database. In questo caso abbiamo scelto di usare PostgreSql ma è possibile usarne altri).

  • Avviare pgAdmin III dal menu

  • connettersi al server

  • selezionare il database Adempiere ed eliminare con cascade lo schema sqlj (se non ci riuscite saltate questo passo)

  • aprire il terminale e digitare:

sudo su - postgres

psql -d adempiere < /home/roberto/Adempiere/data/Adempiere_pg.dmp


Installare Adempiere

cd $ADEMPIERE_HOME

sh RUN_setup.sh

si avvierà una schermata in cui si dovranno inserire delle informazioni:

  • tipo di database: postgres

  • user database: adempiere

  • porta 80 oppure 8080

  • porta ssl 443 oppure 5223

  • porta db: 5432

  • database name: adempiere (o template1 non ricordo bene)

  • password database: adempiere


Cliccare su test, se tutto ok cliccare su save. Trascorreranno circa 5 minuti, controllare nel terminale che non si verifichino degli errori. Alla fine del processo dovrebbe apparire la scritta BUILD SUCCESSFULLY in 5 min...


Avviare il server di Adempiere:

sh $ADEMPIERE_HOME/utils/RUN_Server2.sh

l'avvio richiede circa 5 minuti.

Quando termina l'avvio del server uscirà la scritta started in 5min... se vengono visualizzati degli errori che riguardano l'invio di e-mail non riuscito, ignorarli. Non chiudere questa shell.

Aprire una nuova shell e avviare Adempiere con il seguente comando:

sh $ADEMPIERE_HOME/RUN_Adempiere.sh

Si aprirà una finestra con un campo evidenziato in rosa. Cliccare su tale campo ed effettuare il test dell'applicazione e del database (ricordo di usare roberto-laptop nel campo host). Confermare tutto e cliccare sulla spunta verde per avviare Adempiere.


Creare un ordine di acquisto per verificare che PlJava funzioni correttamente:

  • Login to Adempiere as GardenAdmin with password GardenAdmin. On the next screen accept the defaults and click the green tick. The Java Client will open!

  • Select Menu tab

  • Select Requisition-to-Invoice / Purchase Order

  • A new record will open with the Business Partner field in pink

  • Click the icon at the end of the Business Partner and a Business Partner Info window will open

  • Press Enter and all the Business Partners will show

  • Highlight Tree Farm or another partner, and click the green tick

  • On the left menu, select PO Line

  • Click icon on the end of the Product field and the Product Info window will open

  • Press Enter and all the Products should appear. If the Products do appear the PL/Java is operational. If the Products do not appear then your PL/Java is not working and you need to check that you have activated PL/Java in the method above!

To Exit:

  • Click the red cross to Exit

  • Close the Purchase Order window to Exit this PL/Java confirmation test.


Chiudere Adempiere

Per chiudere adempiere, basta chiudere l'applicazione e stoppare il server.

Aprire un nuovo terminale e digitare:

sh $ADEMPIERE_HOME/utils/RUN_Server2Stop.sh

FONTI:

http://ubuntuforums.org/showthread.php?t=725933

http://www.adempiere.com/wiki/index.php/Install_on_Ubuntu_8.10