Installazione di Alfresco Community 4.2.c su Windows Server 2008, niente bundle

alfresco_featured

Dopo l’interesse per l’analogo tutorial su piattaforma Ubuntu 12.04 e visto l’interesse suscitato nel forum ufficiale di Alfresco, in questo post vediamo insieme come installare Alfresco Community 4.2.c, l’ultima versione oggi disponibile del diffusissimo Open Source Enterprise Content Management, su Windows Server 2008 R2 Standard 64bit con Apache Tomcat 7.0.30 e PostgreSQL 9.0.4. L’installazione proposta non è la “facile” e comoda bundle consigliata da Alfresco per la valutazione del prodotto, ma la versione più “robusta” consigliata per una più affidabile e manutenibile installazione. Come di nostra preferenza vi proponiamo  una descrizione “step by step”, più semplice da capire, provare e sperimentare: spero sarete d’accordo.

Prima di iniziare…

In questo tutorial viene utilizzato un’installazione nuova di Windows Server 2008 R2 Standard a 64 bit, lavorando con un utente chiamato ‘alfresco’ anziché l’utente amministratore, sconsigliato da utilizzare per evidenti motivi di sicurezza. Connesso come utente ‘alfresco’ procedi installando una serie di software di base per poter iniziare a lavorare.

  • Installa 7ZIP per gestire i file compressi.
  • Installa Notepad++ per editare testi e file di configurazione.
  • Installa Adobe Flash Player per il preview dei documenti dal browser della macchina corrente.
  • JDK 1.7u7

    Link: http://www.oracle.com/technetwork/java/javase/downloads/index.html

    jdk

    Procedi scaricando ed eseguendo il file ‘jdk-7u7-windows-x64.exe’.
    Installa il jdk nel cammino ‘C:AlfrescoJavajdk1.7.0_07’.
    Installa il jre nel cammino ‘C:AlfrescoJavajre7’.
    Premi ‘Start’ e digita ‘cmd’ e premi .
    Esegui:

java -version

Controlla che venga riportata la versione di java e che sia corretta rispetto a quella installata.

Tasto destro su ‘Computer’ -> Proprietà -> Impostazione di sistema avanzate -> Variabili d’ambiente -> Nuova variabile di sistema con nome ‘JAVA_HOME’ e valore ‘C:AlfrescoJavajdk1.7.0_07’ -> Premi ‘Ok’ e chiudi tutto.

ImageMagick 6.7.9-4

imagemagickPer la gestione delle immagini in Alfresco occorre installare e configurare ImageMagick. Segnalo i binaries scaricabili qui.

Ancora prima di ImageMagick, scaricare da , (in particolare il file ‘gs906w64.exe’) utilizzato per il rendering i documenti PDF. Installa ‘gs906w64.exe’ nella cartella ‘C:Alfrescogs9.06’.

Scarica ‘ImageMagick-6.7.9-4-Q16-windows-x64-static.exe’ da qui.

ATTENZIONE: Altre versioni di ImageMagick potrebbero non funzionare con Alfresco.

Installa ‘ImageMagick-6.7.9-4-Q16-windows-x64-static.exe’ nella cartella ‘C:AlfrescoImageMagick’. Durante l’installazione, controlla che i flag ‘Add application directory to your system path’ e ‘Associate supported file extensions with ImageMagick’ siano spuntati. Premi ‘Start’, scrivi ‘cmd’ e premi .

convert.exe -version

Controlla che venga riportata la descrizione contenente la versione.

ffmpeg

Controlla che venga riportata la descrizione contenente la versione.

SWFTools 0.9.1

SWFTools è una collezione di utilities utilizzate per lavorare con i files Adobe Flash (SWF files). Scarica il file ‘swftools-0.9.1.exe’ dalla sezione Windows di questo link.

Installa SWFTools nella cartella’C:AlfrescoSWFTools’ per tutti gli utenti. Non creare shortcut o altro. Tasto destro su ‘Computer’ -> Proprietà -> Impostazione di sistema avanzate -> Variabili d’ambiente -> Seleziona ‘Path’ -> Modifica -> Aggiungi ‘;C:AlfrescoSWFTools’ in fondo a quanto riportato -> Premi ‘Ok’ e chiudi tutto.

Premi ‘Start’, scrivi ‘cmd’ e premi .
Esegui:

pdf2swf.exe -V

Controlla che venga riportata la descrizione contenente la versione.

LibreOffice Windows, version 3.5.7, English (GB)

libreofficeLibreOffice, per chi non lo sapesse, è lo strumento per eccellenza per l’Office Automation contrapposto a Microsoft Office, solo che Open Source e gratuitamente utilizzabile. LibreOffice è scaricabile qui. Versioni precedenti alla corrente sono scaricabili qui.

Scarica ed esegui il file ‘LibO_3.5.7_Win_x86_install_multi.msi’. Installa per tutti gli utenti. Seleziona ‘Installazione personalizzata’. Per il cammino, installalo in ‘C:AlfrescoLibreOffice’. Per le domande seguenti lascia pure i default (anche se evita di mettere un link sul desktop).

Premi ‘Start’, scrivi ‘cmd’ e premi . Esegui:

C:\Alfresco\LibreOffice\program\soffice.exe

LibreOffice verrà eseguito per verificarne il corretto funzionamento. Chiudilo pure dopo il corretto avvio.

Vediamo adesso come eseguire il tuning. Alfresco richiede che LibreOffice sia eseguito in modalità cosiddetta ‘headless’, ossia in un processo residente non dipendente da interfacce o processi attivi. Per invocarlo in questa modalità esegui:

C:\Alfresco\LibreOffice\program\soffice.exe "-accept=socket,host=localhost,port=8101;urp;StarOffice.ServiceManager" -nologo -headless

Per controllare la corretta esecuzione ‘headless’: apri il task manager dove sono presenti due diversi processi chiamati “soffice.exe *32” e “soffice.bin *32”. Seleziona ora “soffice.exe *32” e termina il processo. Anche l’altro processo verrà così terminato.

Premi ‘Start’, scrivi ‘notepad++.exe C:AlfrescoLibreOfficestart_oo.bat’ e premi . A questo punto ti verrà chiesto di creare un nuovo file nel quale inserirai quanto segue:

@echo off

rem -----------------------------
rem -                           -
rem - START Resident OpenOffice -
rem -                           -
rem -----------------------------

C:\Alfresco\LibreOffice\program\soffice "-accept=socket,host=localhost,port=8101;urp;StarOffice.ServiceManager" -nologo -headless

Salva ed esci. Premi ‘Start’, scrivi ‘C:AlfrescoLibreOfficestart_oo.bat’ e premi .

ATTENZIONE: Un terminale verrà aperto senza contenuto e rimarrà sospeso. Non ti preoccupare, chiudilo senza timore e l’avvio dei processi avverrà con successo.

Apri il task manager e controlla ancora che ci siano i due processi “soffice.exe *32” e “soffice.bin *32”.

ATTENZIONE: Riavviando la macchina i due processi headless non saranno riattivati automaticamente. Ricorda di eseguire (automaticamente o manualmente) lo script ‘start_oo.bat’ altrimenti Alfresco funzionerà correttamente ma non sarà in grado di gestire queste tipologie di documenti con preview, conversioni di formato o altro.

PostgreSQL 9.0.10

Scarica la versione corretta da qui.

PostgresqlEsegui l’installazione eseguendo il file scaricato.
Installa la distribuzione nella cartella ‘C:AlfrescoPostgreSQL9.0’.
Imposta la cartella dei dati nella cartella ‘C:AlfrescoPostgreSQL9.0data’.
Scegli adesso al tua password personale dell’utente ‘postgres’.
Premi next, next, next… quanto basta!
Non aggiungere alcun pacchetto con StackBuilder.

Adesso PostgreSQL è perfettamente funzionante ed è il momento di personalizzarlo per quanto richiede Alfresco. Premi ‘Start’ -> PostgreSQL 9.0 -> SQL shell (psql). Effettua il login come utente di default (che poi è ‘postgres’) ed esegui:

CREATE ROLE alfresco WITH PASSWORD 'alfresco' LOGIN;
CREATE DATABASE alfresco WITH OWNER alfresco;

Scrivi ‘q’ e per uscire.

Premi ‘Start’ -> PostgreSQL 9.0 -> SQL shell (psql). Effettua il login come utente ‘alfresco’ sul database ‘alfresco’ con password ‘alfresco’ ed esegui:

ALTER USER alfresco WITH PASSWORD 'alfresco';

Scrivi ‘q’ e per uscire.

Tomcat 7.0.30

tomcatScarica Tomcat da qui seguendo il percorso: Download ‘Tomcat 7.0’ -> Quick Navigation -> Archives -> 7.0.30 -> bin -> ‘apache-tomcat-7.0.30-windows-x86.zip’.

Scompatta il file nella cartella ‘C:Alfresco’ e rinomina ‘apache-tomcat-7.0.32’ in ‘tomcat’. Premi ‘Start’, scrivi ‘cmd’ e premi . Esegui:

cd C:\Alfresco\tomcat\bin
startup.bat

Un terminale verrà attivato con all’interno la visualizzazione del log di esecuzione di avvio di Tomcat. Alla fine, dopo pochi secondi, puoi procedere a verificare la corretta attivazione aprendo un browser all’indirizzo ‘’.

Per fermare Tomcat, nel terminale esegui:

shutdown.bat

Ora che Tomcat è correttamente installato e funzionante, procediamo alla sua personalizzazione per funzionare con Alfresco.

Premi ‘Start’, scrivi ‘C:Alfrescotomcatconf’ e premi . Copia il file ‘catalina.properties’ in ‘catalina.properties.orig’. Premi ‘Start’, scrivi ‘notepad++.exe C:Alfrescotomcatconfcatalina.properties’ e premi . Nel file sostituisci la linea con ‘shared.loader’, inizialmente vuota, con:

shared.loader=${catalina.base}/shared/classes,${catalina.base}/shared/lib/*.jar

Salva ed esci. Copia adesso il file ‘server.xml’ in ‘server.xml.orig’. Premi ‘Start’, scrivi ‘notepad++.exe C:Alfrescotomcatconfserver.xml’ e premi . Nel file aggiungi l’attributo ‘URIEncoding=”UTF-8″‘ al tag:


                  

Salva ed esci. Premi ‘Start’, scrivi ‘C:Alfrescotomcatconf’ e premi . Copia il file ‘context.xml’ in ‘context.xml.orig’. Premi ‘Start’, scrivi ‘notepad++.exe C:Alfrescotomcatconfcontext.xml’ e premi . Aggiungi la linea seguente all’interno del tag ‘’.


Salva ed esci.

Dallo zip contenente Alfesco (e con nome ‘alfresco-community-4.2.c.zip’) estrai il file ‘postgresql-9.0-802.jdbc4’ presente nella cartella ‘web-serverlib’ e copialo nella cartella ‘C:Alfrescotomcatlib’.

Alfresco Community 4.2.c

Premi ‘Start’, scrivi ‘C:\Alfresco\tomcat’ e premi .
Crea la cartella ‘endorsed’.Alfresco
Crea la cartella ‘shared’.
Crea la cartella ‘shared/classes’.
Crea la cartella ‘shared/lib’.
Scompatta il pacchetto ‘alfresco-community-4.2.c.zip’ nella cartella ‘C:\Alfresco\tomcat’.
Sposta tutto il contenuto della cartella ‘web-server/endorsed’ in ‘endorsed’.
Sposta tutto il contenuto della cartella ‘web-server/shared’ in ‘shared’.
Sposta tutto il contenuto della cartella ‘web-server/webapps’ in ‘webapps’.
Cancella il file ‘README.txt’.
Cancella la cartella ‘web-server’.
Tasto destro su ‘Computer’ -> Proprietà -> Impostazione di sistema avanzate -> Variabili d’ambiente -> Seleziona ‘Path’ -> Modifica-> Aggiungi ‘;C:\Alfresco\tomcat\bin’ alla fine del valore -> Premi ‘Ok’ e chiudi.
Premi ‘Start’, scrivi ‘C:\Alfresco\tomcat\shared\classes’ e premi .
Copia il file ‘alfresco-global.properties.sample’ in ‘alfresco-global.properties’.
Premi ‘Start’, scrivi ‘notepad++.exe C:\Alfresco\tomcat\shared\classes\alfresco-global.properties’ e premi .
Cambia le impostazioni come da descrizione seguente, lasciando inalterate le proprietà non esplicitamente descritte.

...
dir.root=C:\\Alfresco\\alf_data
# IMPORTANT: Leave the comment on the dir.keystore property.
...
db.username=alfresco
db.password=alfresco
...
#
# External locations
#-------------
# LibreOffice installation
ooo.exe=C:\\Alfresco\\LibreOffice\\program\\soffice.exe
ooo.enabled=true
jodconverter.officeHome=C:\\Alfresco\\LibreOffice
jodconverter.portNumbers=8101
jodconverter.enabled=true
# ImageMagick installation
img.root=C:\\Alfresco\\ImageMagick
img.exe=C:\\Alfresco\\ImageMagick\\convert.exe
# SWFTools exe
swf.exe=C:\\Alfresco\\SWFTools\\pdf2swf.exe
...
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
...

Salva ed esci.

Procediamo adesso con la definizione dello script di start/stop.
Premi ‘Start’, scrivi ‘notepad++.exe C:\Alfresco\alfresco.bat’ e premi .
Naturalmente crea il nuovo file con il contenuto seguente.

@echo off

rem ---------------------------
rem -                         -
rem - Start and Stop Alfresco -
rem -                         -
rem ---------------------------

set ALF_HOME=C:\Alfresco
set CATALINA_HOME=%ALF_HOME%\tomcat
set JAVA_OPTS=%JAVA_OPTS% -Xms512m -Xmx768m -Xss768m -server -XX:MaxPermSize=256M

if /I "%1"=="start" goto :start
if /I "%1"=="stop" goto :stop
echo Usage: alfresco.bat [start stop]
goto :end

:start
%CATALINA_HOME%\bin\startup.bat
goto :end

:stop
%CATALINA_HOME%\bin\shutdown.bat
goto :end

:end

Salva ed esci.

Premi ‘Start’, scrivi ‘cmd’ ma attendi a proseguire.
Tasto destro su ‘cmd’ ed esegui come amministratore.
Nel terminale esegui quanto descritto di seguito.

cd C:\Alfresco
alfresco.bat start

Un terminale verrà attivato con all’interno la visualizzazione del log di esecuzione di avvio di Tomcat. Alla fine, dopo un paio di minuti, puoi procedere a verificare la corretta attivazione aprendo un browser all’indirizzo ‘’.

Ultimo, ma non meno importante operazione, ricorda di copiare il file ‘C:\Alfresco\tomcat\bin\Win32NetBIOSx64.dll’ nella cartella ‘C:\Windows\System32’. Questo è utile all’attivazione di CIFS su Alfresco installato su Windows.

Divertiti! 😉

 
 
Aperitivo AndroidAnnotations a Firenze
 
 
CMIS Input plugin per Pentaho Data Integration (Kettle)

Francesco Corti

PreSale Engineer e Senior Developer per soluzioni di Enterprise Content Management e Business Intelligence. Prediligo Alfresco ECM, Hyland OnBase e WebDoc per la conservazione sostitutiva. Business Intelligence con Pentaho Open Source BI, Palo.net, SAP Business Objects, QlikView, Microsoft BI Platform. Enterprise portal and Collaboration con Liferay. Blog - - Gravatar.

  • Christian

    Ciao,

    ti ringrazio e ti faccio i miei complimenti per l’utilissima guida.

    Ho seguito tutti gli step e all’avvio di “alfresco.bat” aprendo la pagina mi compare la schermata di login correttamente, ma non riesco ad accedere in nessun modo, da cosa può dipendere?

    Ultimo quesito, come posso fare per inserire l’avvio di tomcat e alfresco come servizio? In modo da non doverlo startare manualmente ogni volta?

  • DagoDust

    Ciao, premetto che sono un neofita di Alfresco, ma la domanda che mi pongo è la seguente: Perchè Tomcat lo preferisci a 32 bit? Dato il footprint ampio di Alfresco non è consigliabile un installazione a 64 bit per poter utilizzare più memoria?

    • Ciao,

      Sarai anche un neofita di Alfresco ma la domanda è buona. 🙂

      Nella mia esperienza non ho dovuto approfondire questo aspetto pur avendo sempre lavorato con piattaforme a 64bit e non avendo mai avuto problemi legati ai 32bit di Tomcat (quando le ho installate).

      Ho sempre sottovalutato il problema perchè ho sempre trovato informazioni (qualche volta contrastanti) che dicono che questo non è un problema per Tomcat.

      Per esempio:

      http://www.mulesoft.com/tcat/tomcat-windows

      Però mi rendo conto che la mia risposta è un po’ troppo empirica.
      Se avrai informazioni più precise, ti sarei grato se le condividessi… mi sembra un buono spunto di riflessione.

      Grazie della riflessione.