In alcuni articoli precedenti abbiamo parlato del Gestore Documentale Alfresco introducendone brevemente le funzionalità ed i vantaggi che questo strumento può dare.
Oggi affronteremo una prima parte tecnica con un'articolo che tratta l'installazione di Alfresco Community Edition su una macchina Ubuntu senza utilizzare però il comodo installer inbundle più utile per funzionalità di test e valutazioni veloci, ma affrontando altresì il building di questa piattaforma "a manina" ed analizzando i vari componenti singolarmente per costruire un ambiente di lavoro più solido e monitorabile per installazioni in ambiti produttivi.
L'installazione è testata su un Server Ubuntu 12.04 x64 con un setup pulito senza particolari configurazioni. La versione di Alfresco è la Community 4.2.c .
PASSI PRELIMINARI
In questa fase ci limiteremo ad aggiornare il SO, ad eliminare OpenJDK prevedendo una successiva installazione di Java, a creare gli utenti alfresco e postgres che gestiranno i relativi servizi e a creare la cartella Alfresco con permessi personalizzati:
- sudo apt-get update
- sudo apt-get upgrade
- sudo apt-get purge openjdk-\*
- adduser alfresco
- sudo adduser alfresco sudo
- su – alfresco
- sudo mkdir -p /opt/alfresco
- exit
- sudo chown alfresco:alfresco /opt/alfresco
JAVA JDK
In questo passo procederemo all'installazione di Java JDK su Ubuntu impostando percorsi e permessi personalizzati per Alfresco:
- Andare su http://www.oracle.com/technetwork/java/javase/downloads/index.html e cercare l'ultima versione della Java JDK disponibile. E' consigliabile comunque effettuare prima una ricerca sulle note di rilascio di Alfresco e nei forum per verificare eventuali incompatibilità con le nuove release. La versione di Java JDK utilizzata per questa guida è la 1.7.0_17 ;
- mkdir -p /opt/alfresco/java
- Scaricare il pacchetto .tar.gz di Java JDK ( es. jdk-7u7-linux-x64.tar.gz ) dentro /opt/alfresco/java ed estrarlo nella stessa directory ;
- chown -R alfresco:alfresco jdk1.7.0_17
- rm -rf jdk-7u7-linux-x64.tar.gz
- sudo nano /etc/profile.d/java.sh –> Editare il file /etc/profile.d/java.sh con le due righe sotto suggerite. Attenzione a sostituire la corretta versione di Java che sta utilizzando:
- export JAVA_HOME=/opt/alfresco/java/jdk1.7.0_17
- export PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
- su – alfresco
- Verificare se l'installazione è andata a buon fine con i comandi: java -version e javac -version .
IMAGEMAGICK
Questo componente è opzionale ma necessario ad Alfresco per creare le preview dei documenti:
- sudo apt-get install ghostscript
- sudo apt-get install imagemagick
- Verifichiamo la corretta installazione con: sudo whereis convert e convert –version
SWFTOOLS
Anche questo strumento sempre opzionale è utilizzato da Alfresco per gestire le anteprime:
- sudo apt-add-repository ppa:guilhem-fr/swftools –> Aggiungiamo un repository necessario
- sudo apt-get install swftools libjodconverter-java ttf-mscorefonts-installer
- Verifichiamo l'installazione con: pdf2swf –-version e whereis pdf2swf
FFMPEG
Questo è un'altro componente opzionale utilizzato per gli stream audio e video. Purtroppo Alfresco ha riscontrato dei problemi utilizzando le nuove versioni di questo programma, perciò dobbiamo usare una release più vecchia ed è probabile che durante l'installazione vi comparirà un avviso per segnalarvi che la versione che state utilizzando andrà deprecata:
- sudo apt-get install ffmpeg
- Verifichiamo l'installazione con: whereis ffmpeg e ffmpeg
LIBRE OFFICE
Il programma sarà noto sicuramente a tutti. Alfresco utilizza anche questo per gestire le preview:
- sudo apt-get install libreoffice
- Verifichiamo la corretta installazione con: whereis soffice e soffice –version
POSTGRESQL
Alfresco dichiara compatibilità solo con la versione 9.0.4 , tuttavia la nostra guida è stata testata ed è funzionate anche con la più nuova 9.1, facilmente installabile via apt-get senza dover effettuare il bulding completo. Ora installeremo postgres, creeremo il DB e configureremo i giusti permessi:
- sudo apt-get installa postgresql –> verrà richiesto di immettere la password per l'user postgres
- su – postgres
- psql
- CREATE ROLE alfresco WITH PASSWORD ‘alfresco’ LOGIN;
- CREATE DATABASE alfresco WITH OWNER alfresco;
- ctrl+d
- psql -U alfresco -d alfresco
- ALTER USER alfresco WITH PASSWORD ‘alfresco’;
- ctrl+d
- exit
Si noti che ad oggi Postgres è il DB scelto da Alfresco per essere utilizzato di default nella versione Community, tuttavia questa sembra essere più che altro una scelta di licenza. Alfresco non ha particolari richieste a livello di DB, e le sue installazioni possono essere effettuate anche alternativamente con Microsoft SQL o MySQL.
TOMCAT
La nostra guida è testata utilizzando Tomcat 7.0.30 :
- cd /opt/alfresco
- wget http://archive.apache.org/dist/tomcat/tomcat-7/v7.0.30/bin/apache-tomcat-7.0.30.tar.gz
- chmod a+x apache-tomcat-7.0.30.tar.gz
- tar -xvf apache-tomcat-7.0.30.tar.gz
- rm -rf apache-tomcat-7.0.30.tar.gz
- mv apache-tomcat-7.0.30 /opt/alfresco/tomcat
- /opt/alfresco/tomcat/bin/startup.sh –> Facciamo partire Tomcat una sola volta per verificarne la corretta installazione senza configurazioni. Verifichiamone il funzionamento all'indirizzo http://myserver.com:8080 e poi provvederemo a rispegnerlo ;
- /opt/alfresco/tomcat/bin/shutdown.sh
- cp /opt/alfresco/tomcat/conf/catalina.properties /opt/alfresco/tomcat/conf/catalina.properties.orig –> Copia di backup del file di configurazione di Catalina ;
- nano /opt/alfresco/tomcat/conf/catalina.properties –> Editiamo il file catalina.properties modificando il valore shared.loader così:
shared.loader=${catalina.base}/shared/classes,${catalina.base}/shared/lib/*.jar
- cp /opt/alfresco/tomcat/conf/server.xml /opt/alfresco/tomcat/conf/server.xml.orig –> Copia di backup del file di configurazione di Tomcat ;
- nano /opt/alfresco/tomcat/conf/server.xml –> Editiamo questo file aggiungendo URIEncoding=”UTF-8 al Tag HTML <Connector port=”8080″ protocol=”HTTP/1.1″…
- nano /opt/alfresco/tomcat/conf/context.xml –> Editiamo il file aggiungendo:
<Valve className="org.apache.catalina.authenticator.SSLAuthenticator" securePagesWithPragma="false" />
- /opt/alfresco/tomcat/bin/startup.sh –> Facciamo nuovamente partire Tomcat per verificarne il funzionamento all'indirizzo http://myserver.com:8080 e poi rispegnamolo ;
- /opt/alfresco/tomcat/bin/shutdown.sh
ALFRESCO 4.2.C
- mkdir /opt/alfresco/tomcat/shared
- mkdir /opt/alfresco/tomcat/shared/classes
- mkdir /opt/alfresco/tomcat/shared/lib
- mkdir /opt/alfresco/tomcat/endorsed
- wget http://dl.alfresco.com/release/community/build-04576/alfresco-community-4.2.c.zip
- chmod a+x alfresco-community-4.2.c.zip
- sudo apt-get install unzip
- unzip alfresco-community-4.2.c.zip
- mv web-server/endorsed/* /opt/alfresco/tomcat/endorsed
- mv web-server/shared/* /opt/alfresco/tomcat/shared
- mv web-server/lib/* /opt/alfresco/tomcat/lib
- mv web-server/webapps/* /opt/alfresco/tomcat/webapps/
- rm -rf README.txt
- rm -R web-server/
- rm -rf alfresco-community-4.2.c.zip
- nano /opt/alfresco/start_oo.sh:
#!/bin/sh -e
SOFFICE_ROOT=/usr/bin
"${SOFFICE_ROOT}/soffice" "–accept=socket,host=localhost,port=8100;urp;StarOffice.ServiceManager" –nologo –headless &
- chmod uga+x /opt/alfresco/start_oo.sh
- /opt/alfresco/start_oo.sh
- killall soffice.bin
- nano /opt/alfresco/alfresco.sh :
#!/bin/sh
# Start or stop Alfresco server
# Set the following to where Tomcat is installed
ALF_HOME=/opt/alfresco
cd "$ALF_HOME"
APPSERVER="${ALF_HOME}/tomcat"
export CATALINA_HOME="$APPSERVER"
# Set any default JVM values
export JAVA_OPTS='-Xms512m -Xmx768m -Xss768k -XX:MaxPermSize=256m -XX:NewSize=256m -server'
export JAVA_OPTS="${JAVA_OPTS} -Dalfresco.home=${ALF_HOME} -Dcom.sun.management.jmxremote"
if [ “$1” = “start” ]; then
"${APPSERVER}/bin/startup.sh"
if [ -r ./start_oo.sh ]; then
"${ALF_HOME}/start_oo.sh"
fi
elif [ “$1” = “stop” ]; then
"${APPSERVER}/bin/shutdown.sh"
killall -u alfresco java
killall -u alfresco soffice.bin
fi
- chmod uga+x /opt/alfresco/alfresco.sh
- mkdir /opt/alfresco/alf_data
- cp /opt/alfresco/tomcat/shared/classes/alfresco-global.properties.sample /opt/alfresco/tomcat/shared/classes/alfresco-global.properties –> Creo il file alfresco-global.properties che contine e le maggiori configurazioni di Alfresco ;
- nano /opt/alfresco/tomcat/shared/classes/alfresco-global.properties:
dir.root=/opt/alfresco/alf_data
#IMPORTANT: comment dir.keystore
db.username=alfresco
db.password=alfresco
db.schema.update=true
db.driver=org.postgresql.Driver
db.url=jdbc:postgresql://localhost:5432/alfresco
index.recovery.mode=AUTO
authentication.chain=alfrescoNtlm1:alfrescoNtlm
alfresco.rmi.services.host=0.0.0.0
- /opt/alfresco/alfresco.sh start –> A questo punto Alfresco dovrebbe essere già configurato e partire correttamente. Nei prossimi giorni comunque proporremo una serie di configurazioni aggiuntive consigliabili per un maggior controllo del sistema ;
- tail -f /opt/alfresco/tomcat/logs/catalina.out -c 10000 –> Con questo comando potete controllare lo stato di avvio di Tomcat ;
- Le credenziali di dafault sono: Username: admin ; Password: admin ;
Si ringraziano gli autori delle seguenti fonti sulle quali ci siamo basati e vi invitiamo a consultare i link per un raffronto:
http://www.cosenonjaviste.it/installazione-passo-per-passo-di-alfresco-community-4-2-c-su-ubuntu-12-04-lts-minimal-64bit-niente-bundle-per-favore/
https://francescocorti.wordpress.com/2013/01/09/installation-alfresco-4-2-c-on-ubuntu/
http://www.whiteboardcoder.com/2013/01/install-alfresco-community-42-on-ubuntu_31.html