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