IMPORTANT: Per accedir als fitxer de subversion: http://acacha.org/svn (sense password). Poc a poc s'aniran migrant els enllaços. Encara però funciona el subversion de la farga però no se sap fins quan... (usuari: prova i la paraula de pas 123456)

Alfresco és un sistema de gestió de contingut empresarial, multiplataforma basat en Java
Alert.png Aquesta wiki forma part dels materials d'un curs
Curs: Aplicacions web LOE
Fitxers: No hi ha
Repositori SVN: https://[email protected]/svn/iceupc/AplicacionsWeb
Usuari: anonymous
Paraula de pas: sense paraula de pas
Autors: Sergi Tur Badenas

Introducció

Alfresco és un sistema de Gestió de contingut empresarial, multiplataforma i basat en estàndards oberts.

Hi han dos versions d'Alfresco amb llicencies de programari diferents, Alfresco LABS que és programari lliure, amb llicencia GPL, empra estàndards oberts i és gratuït, i Alfresco Enterprise Edition, que és codi obert, propietari, de pagament i també està basat en estàndards oberts.

Està dissenyat per a usuaris que requereixen un alt grau de modularitat i rendiment escalable. Alfresco inclou una font de continguts, un marc de portal web per administrar i utilitzar el contingut estàndard en portals, una interfície CIFS que proveeix compatibilitat de sistemes d'arxius en Windows i sistemes operatius similars a Unix, un sistema d'administració de contingut web amb capacitat de virtualizar aplicacions i llocs web estàtics via Apache Tomcat, recerques via el motor Lucene i flux de treball en jBPM.

Alfresco està desenvolupat en Java.

Conceptes

  • Dahsboard: El podríem traduir com a panell de comandament. Cada usuari té el seu panell de comandament i es poden organitzar amb diferents dashlets (components que es poden afegir al dahboard).
  • Espai(Space): Similar a una carpeta però amb força més funcionalitat. Pot tenir subespais per organitzar l'espai. Teniu els següents espais predefinits:
  • Espai de l'empresa: comparant amb una carpeta és l'arrel del sistema. Només és configurable per l'administrador i conté els següents espais per defecte:
  • User Homes: Cada usuari de l'empresa té el seu propi espai.
  • Guest Home: És l'espai públic d'Alfresco al que tothom i pot accedir des de Internet sense teniu usuari de l'empresa.
  • Sites: Alfresco permet crear llocs web.
  • Data Dictionary: TODO
  • Contingut (Content): Acostuma a ser un fitxer o qualsevol tipus de document. Tenen dos components: el document en sí i les seves metadades. Els continguts es pengen als espais d'Alfresco. Els continguts es poden afegir (upload) o es poden crear des del propi Alfresco.

És pot accedir a Alfresco des de múltiples interfícies:

  • Alfresco web client: És la interfície per defecte. Hi podeu accedir amb la url http://el_meu_domini.org:8080/alfresco
  • Accés WebDAV: És un accés per navegador web. WebDAV utilitza al màxim les possibilitat dels protocol HTTP i a part de fer GETs, POSTs també pot modificar pàgines amb PUT.
  • Vista CIFS: Accessible per xarxa de Windows (protocol CIFS, implementat per Samba). Per exemple l'accés seria: \\NOM_SERVIDOR/Alfresco/UserHomes/sergi/espai. Només és vàlid si estem a la mateixa xarxa i/p tenim accés als ports CIFS.
  • URL: Tot recurs té una URL estàtica que podem utilitzar com enllaç al recurs (si el recurs no és public demanarà login abans d'accedir al recurs).

Recursos:

Característiques

Per a més informació podeu consultar el webcast:

http://www.alfresco.com/products/ecm/tour/tour.html

Compartir documents

Qualsevol contingut el podeu compartir invitant a altres usuaris a utilitzar-lo. Es defineixen els següents rols a l'hora d'assignar els permisos que els usuaris tenen sobre el document compartit:

PermisosAlfresco.png

Instal·lació

Requeriments

Alfresco necessita dels següent programari per funcionar:

  • Sun Java JDK 6: Alfresco és una aplicació Java que s'executa sobre un servidor d'aplicacions Java,
  • Tomcat: Tomcat és un servidor d'aplicacions web Java lliure. En aquesta wiki utilitzarem l a versió bundle de Tomcat proporcionada per Alfresco. És tracta d'un Tomcat 5.
  • Servidors de base de dades MySQL 5.0.67 o superior: Alfresco emmagatzema les seves dades en una base de dades MySQL.
  • OpenOffice.org: Alfresco utilitza OpenOffice per a convertir documents entre versions i per crear PDFs
  • Flash Player versió 10.x (els clients)
  • SWF Tools: És un conjunt d'aplicacions (suite) que permet treballar amb fitxers Flash. Utilitzarem l'ordre pdf2swf
  • Imagemagick: És un conjunt d'aplicacions (suite) que permet crear, manipular i fer tot tipus de modificacions d'imatges tan programant com per línia d'ordres.

Instal·lació dels requeriments

Els passos indicats en aquest aparta s'ha provat tant en una Ubuntu Server 9.10 com una Ubuntu Desktop 9.10. Consulteu l'article Ubuntu Server si voleu obtenir una màquina virtual amb Ubuntu Server.

Java i el servidors d'aplicacions Java Tomcat

Per instal·lar Java només necessiteu:

$ sudo apt-get install sun-java6-jdk

Us mostraran la llicència de Java, només cal prémer Ok (tabuleu i utilitzeu la tecla Enter sobre Ok) i Yes.

Comproveu que teniu Java instal·lat correctament amb:

$ java -version
java version "1.6.0_15"
Java(TM) SE Runtime Environment (build 1.6.0_15-b03)
Java HotSpot(TM) Server VM (build 14.1-b02, mixed mode)

A data (--acacha 08:21, 14 abr 2010 (UTC)) la versió de Java és 1.6_0_15. Si la versió dels repositoris no fos suficient nova per a les vostres necessitats (no és el cas de la instal·lació d'Alfresco), podeu consultar com és fa la instal·lació a mà de Java a Instal·lació manual de Java

NOTA: En entorns d'escriptori, molta gent instal·la els Restricted Extras que entre d'altres coses contenen Java, Flash, suport per a MP3...

El Tomcat no cal que l'instal·lem ja que ens descarregarem la versió d'Alfresco que ja té Tomcat incorporat.

Base de dades

Si ja teniu instal·lat LAMP ja tindreu una base de dades MySQL. Sinó podeu executar:

$ sudo tasksel install lamp-server

i escolliu bé (recordeu-la!) la paraula de pas de root de MySQL.

Instal·lació d'OpenOffice

Open Office és una eina gràfica. Si feu la instal·lació a una Ubuntu Desktop possiblement ja el tindreu instal·lat, sinó el podeu instalar dels del Centre de programari de l'Ubuntu.

En un servidor primer cal instal·lar un servidor X de mentira Xvfb:

$ sudo apt-get install xvfb

I després només el nucli (core) d'OpenOffice:

$ sudo apt-get install openoffice.org-core

NOTA: A la documentació d'Alfresco parlant del paquet openoffice.org-headless però aquest paquet no existeix i els repositoris ens avisen que s'ha d'utilitzar openoffice.org-core

Altres

Executeu:

$ sudo apt-get install swftools imagemagick

Per tal d'instal·lar Imagemagick i swftools.

IMPORTANT: Des de la versió 10.04 d'Ubuntu (Lucid Lynx) no està disponible el paquet swftools. En tot cas no és tracta d'un paquet imprescindible

Instal·lació manual

IMPORTANT: Abans d'instal·ar Alfresco instal·leu tots els requeriments

Teniu diverses opcions per a instal·lar Alfresco. Ho podeu fer a un Tomcat ja instal·lat o instal·lar una versió de Alfresco que porta Tomcat incorporat, instal·lar Alfresco des del binari executable per a Linux de la web d'Alfresco o fins i tot instal·lar-lo des dels repositoris de Launchpad.

Instal·lar Alfresco amb Tomcat bundle

Aneu a la vostra HOME, creeu una carpeta per a Alfresco i descarregeu la versió Bundle de l'Alfresco Community:

$ cd
$ mkdir alfresco
$ cd alfresco
$ wget http://dl.alfresco.com/release/community/build-2765/alfresco-community-tomcat-3.3.tar.gz?dl_file=release/community/build-2765/alfresco-community-tomcat-3.3.tar.gz

NOTA: L'enllaç és la última versió d'Alfresco a data (--acacha 09:07, 14 abr 2010 (UTC)). Aneu a la web Download Community Edition i a l'apartat Custom Installs trobareu el fitxer alfresco-community-tomcat-X.Y.tar.gz amb l'última versió bundle d'Alfresco

Ara cal descomprimir el fitxer:

$ tar xvzf alfresco-community-tomcat-3.3.tar.gz\?dl_file\=release%2Fcommunity%2Fbuild-2765%2Falfresco-community-tomcat-3.3.tar.gz

Observeu quins fitxers us han quedat a la carpeta:

$ ls -l
total 127300
-rw-r--r--  1 sergi sergi 130322135 2010-04-08 15:11 alfresco-community-tomcat-3.3.tar.gz?dl_file=release%2Fcommunity%2Fbuild-2765%2Falfresco-community-tomcat-3.3.tar.gz
-rwxr-xr-x  1 sergi sergi       755 2010-03-21 17:27 alfresco.sh
drwxr-xr-x  2 sergi sergi      4096 2010-04-14 11:08 amps
-rwxr-xr-x  1 sergi sergi       952 2010-03-31 10:16 apply_amps.sh
drwxr-xr-x  2 sergi sergi      4096 2010-04-14 11:08 bin
drwxr-xr-x  3 sergi sergi      4096 2010-04-14 11:08 extras
drwxr-xr-x  3 sergi sergi      4096 2010-04-14 11:08 licenses
-rw-r--r--  1 sergi sergi       487 2010-02-16 12:58 README.txt
drwxr-xr-x 11 sergi sergi      4096 2010-04-14 11:08 tomcat

Ara copiem (si voleu també el podeu moure) Alfresco a una carpeta més apropiada:

$ cd ..
$ sudo cp -r alfresco /opt

Abans de poder arrancar Alfresco, es necessari fer algunes adaptacions. Recordeu que és necessari tenir insta·lat java. Podeu seguir els passos de:

Java#Ubuntu_10.10

Per tal de tenir instal·lada la versió JDK del Java de Sun

Primer cal que configureu la variable d'entorn JAVA_HOME. Podeu saber on esta instal·lat Java amb:

$ ls -la /usr/lib/jvm/          (tabuleu dos cops al final)
java-6-sun/          java-6-sun-1.6.0.22/ .java-6-sun.jinfo    

A l'exemple la versió de Java és la 1.6.0.22. El paquet que us ha instal·lat Java és (en negreta):

$ dpkg -l | grep java
ii  java-common                       0.30ubuntu4                        Base of all Java packages
ii  sun-java6-bin                     6.22-0ubuntu1~9.04.1               Sun Java(TM) Runtime Environment (JRE) 6 (ar
ii  sun-java6-jdk                     6.22-0ubuntu1~9.04.1               Sun Java(TM) Development Kit (JDK) 6
ii  sun-java6-jre                     6.22-0ubuntu1~9.04.1               Sun Java(TM) Runtime Environment (JRE) 6 (ar

A l'hora d'establir la variable d'entorn JAVA_HOME tingueu en compte que podeu indicar la carpeta amb la versió exacte o ser més genèrics i posar /usr/lib/jvm/java-6-sun. Aquesta carpeta realment és un enllaç a la versió concreta:

$ ls -l /usr/lib/jvm/
total 48
lrwxrwxrwx   1 root root    19 2010-11-16 10:56 java-6-sun -> java-6-sun-1.6.0.22
drwxr-xr-x   8 root root  4096 2010-11-16 10:56 java-6-sun-1.6.0.22
...

NOTA: Si canvieu la variable d'entorn JAVA_HOME i ho feu a qualsevol dels fitxers de configuració d'inici de sessió (/etc/environment, bashrc, etc...) penseu que haureu de tornar a iniciar una sessió. Podeu sortir i tornar a entrar o provar amb: $ su - usuari

IMPORTANT: Compte amb les màquines virtuals de Java! Teniu diferents màquines, per exemple hi ha la oficial de Sun i una implementació oberta que és diu openjdk. Us recomanem que utilitzeu la de Sun

Creació de la Base de Dades:

$ cd /opt/alfresco/extras/databases/mysql

Executeu el client de MySQL i importeu la base de dades:

$ sudo mysql -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 840206
Server version: 5.1.37-1ubuntu5.1 (Ubuntu) 

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> SOURCE db_setup.sql;
mysql> Query OK, 1 row affected (0,02 sec)

Query OK, 0 rows affected (0,06 sec)  

Query OK, 0 rows affected (0,00 sec)
mysql> exit

NOTA: La primera paraula de pas que us pregunten és la de sudo (a no ser que faci poc ja hagiu utilitzat sudo) i després la paraula de pas de l'usuari root (administrador) del servidor MySQL.

Això generà la base de dades esquelet i l'usuari d'accés a la base de dades. Per defecte les dades són:

  • base de dades: alfresco
  • usuari: alfresco
  • paraula de pas: alfresco

NOTA: Durant la primera execució d'Alfresco si observeu el fitxer de log de Tomcat veureu com s'omple la base de dades esquelet amb l'informació necessària per executar correctament Alfresco

Instal·leu PhpMyAdmin i comproveu que s'ha instal·lat correctament la base de dades.

IMPORTANT: Observeu que en un entorn de producció pot ser un greu error de seguretat instal·lar PhpMyAdmin si no canvieu les paraules de pas d'Alfresco, ha que qualsevol podria entrar a la base de dades d'Alfresco amb l'usuari i paraula de pas per defecte.

Podeu arrencar Tomcat i l'Alfresco amb:

$ cd /opt/alfresco/
$ sudo -E ./alfresco.sh start
Using CATALINA_BASE:   /opt/alfresco/tomcat
Using CATALINA_HOME:   /opt/alfresco/tomcat
Using CATALINA_TMPDIR: /opt/alfresco/tomcat/temp
Using JRE_HOME:       /usr/lib/jvm/java-6-sun-1.6.0.13

NOTA: L'opció -E de sudo és necessari per que carregui les variables d'entorn i tinguem disponible la variable $JAVA_HOME. Observeu que les variables d'entorn que apareixen siguin les correctes...

Un cop arrancada la màquina executeu:

$ sudo tail -f --lines=500 /opt/alfresco/tomcat/logs/catalina.out

No hauríeu de veure cap missatge d'error (excepte l'indicat aquí que ara resoldrem...) i al final hauria de posar quelcom similar a:

...
14/04/2010 11:34:40 org.apache.catalina.startup.Catalina start

Premeu Crtl+C per sortir del log.

Tardarà una estona (espereu que al log aparegui: INFO: Server startup in XXXX ms) però un cop hagi acabat, podeu accedir a Alfresco posant la URL http://localhost:8080/alfresco al navegador web:

$ firefox http://localhost:8080/alfresco
Menú de navegació d'Alfresco

El primer que heu de fer és entrar com administrador. Feu clic a login, apareix a la part superior dreta de la pàgina a l'esquerre del cercador. Les dades per defecte de l'administrador són:

  • Usuari: admin
  • Paraula de pas: admin

El primer que heu de fer es canviar la paraula de pas. Aneu al perfil de l'usuari (User Profile) i busqueu l'enllaç Change password.

Ara que Alfresco ja s'ha desplegat correctament (des de els fitxers .war de la carpeta /opt/tomcat/webapps), trobarem els seu codi font a:

$ cd /opt/alfresco/tomcat/webapps/alfresco

Podem canviar la configuració de les eines swftools i imagemagick modificant el fitxer:

$ sudo joe /opt/tomcat/webapps/alfresco/WEB-INF/classes/alfresco/repository.properties  

I seguiu les passes de Alfresco#Falta_l.27executable_pdf2swf. Ara cal aturar Alfresco i tornar-lo a iniciar. Per aturar Tomcat i l'Alfresco amb:

$ cd /opt/alfresco/
$ sudo -E /opt/alfresco/alfresco.sh stop
Using CATALINA_BASE:   /opt/alfresco/tomcat
Using CATALINA_HOME:   /opt/alfresco/tomcat
Using CATALINA_TMPDIR: /opt/alfresco/tomcat/temp
Using JRE_HOME:       /usr/lib/jvm/java-6-sun-1.6.0.13

{{nota| ESpereu un temps prudencial a que s'aturi tot. De fet millor encara si comproveu amb: $ [[ps] aux | grep tomcat que no s'està executant Tomcat.}}

Aprofiteu que teniu Tomcat aturat per tal d'afegir el català com a idioma disponible a Alfresco. Seguiu els passos de:

Alfresco#Idiomes

Torneu a iniciar Alfresco amb:

$ cd /opt/alfresco/
$ sudo -E ./alfresco.sh start

NOTA: En principi no cal executar Tomcat com a root ja que utilitza el port 8080, que és un port sense privilegis (<1024). Però resulta que Alfresco utilitza alguns ports privilegiats i si no executeu Tomcat com a root no us aniran correctament algunes funcionalitats

I ja teniu un Alfresco en funcionament i en català.

Instal·lar Alfresco a un Tomcat ja existent

NOTA: L'autor d'aquest article no ha aconseguit instal·lar correctament Alfresco seguint aquest mètode. Sembla ser que podria ser més fàcil amb un Tomcat anterior a la versió 6

A:

http://wiki.alfresco.com/wiki/Community_Edition_file_list_32r2

Baixeu el fitxer:

$ cd; mkdir alfresco && cd alfresco
$ wget http://dl.alfresco.com/release/community/build-2440/alfresco-community-war-3.2r2.tar.gz?dl_file=release/community/build-2440/alfresco-community-war-3.2r2.tar.gz

Ara descomprimiu amb tar:

$ tar xvzf alfresco-community-war-3.2r2.tar.gz\?dl_file\=release%2Fcommunity%2Fbuild-2440%2Falfresco-community-war-3.2r2.tar.gz

Ara cal copiar els fitxers alfresco.war i share.war a la carpeta webapps de Tomcat:

$ sudo cp alfresco.war /opt/apache-tomcat-6.0.26/webapps
$ sudo cp share.war /opt/apache-tomcat-6.0.26/webapps

Ara torneu a iniciar Tomcat:

$ cd /opt/apache-tomcat-6.0.26/bin
$ sh shutdown.sh
$ sh startup.sh

Ara les aplicacions haurien de ser accessibles amb:

http://localhost:8080/share
http://localhost:8080/alfresco

Si teniu un Tomcat 6 possiblement no us funcionarà. Seguiu els següents passos:

http://wiki.alfresco.com/wiki/Install_Tomcat6

1. Locate <TOMCAT_HOME>.
2. Create the shared/classes directory.
3. Open the <TOMCAT-HOME>/conf/catalina.properties file.
4. Change the value shared.loader= to the following:
   shared.loader=${catalina.base}/shared/classes,${catalina.base}/shared/lib/
   *.jar
5. Copy the JDBC drivers for the database you are using to:
   lib/
6. Ensure that a copy of the commons-el.jar file is in the lib directory.
7. If you are using Java SE 6, copy any jar files that needed to go into the Tomcat common/endorsed
   directory into the following directory:
  ...jdk6/jre/lib/endorsed

Instal·lar Alfresco amb el binari executable

NOTA: L'autor d'aquest article ho ha provat amb una Ubuntu 9.10 i l'instal·lador tenia diversos problemes!

TODO

Instal·lar des dels repositoris de Launchpad

NOTA: NO ho he provat però hi ha pàgines web que no ho recomanen...

TODO

Configuració

Fitxer alfresco_global.properties

org.alfresco.error.AlfrescoRuntimeException: 03140000 The store 'avm://sitestore' has a duplicate root node entry.

TODO

alf_data

WARN  [repo.admin.ConfigurationChecker] The Alfresco 'dir.root' property is set to a relative path './alf_data'.  'dir.root' should be overridden to point to a specific folder.
$ sudo mkdir /opt/alf_data
$ sudo joe /opt/tomcat/webapps/alfresco/WEB-INF/classes/alfresco/repository.properties

Canviar alf_data?

Iniciar Alfresco durant l'arrancada de la màquina

Idiomes

Instal·lació del català

Atureu Alfresco si el teniu en execució:

$ sudo -E /opt/alfresco/alfresco.sh stop

NOTA: No he provat si es pot afegir un idioma sense aturar Alfresco...

A la web:

http://wiki.alfresco.com/wiki/Language_Packs

Hi ha una llista de tots els paquets d'idiomes disponibles. Les últimes versions del paquet d'idioma les trobareu a:

http://forge.alfresco.com/projects/alf-catalan/

A data (--acacha 06:15, 15 abr 2010 (UTC)) la versió és la 140 i la podeu baixar amb wget.S'han d'instal·lar els fitxers a:

<Tomcat home>/shared/classes/alfresco

En el nostre cas:

$ cd /opt/alfresco/tomcat/shared/classes/alfresco/messages
$ sudo wget http://forge.alfresco.com/frs/download.php/140/Catalan_Language_Pack_140.zip
$ sudo unzip Catalan_Language_Pack_140.zip 
 Archive:  Catalan_Language_Pack_140.zip
 inflating: system-messages_ca_ES.properties  
 inflating: jbpm_ca_ES.properties   
 inflating: version-service_ca_ES.properties  
 inflating: bootstrap-spaces_ca_ES.properties  
 inflating: lock-service_ca_ES.properties  
 inflating: bootstrap-templates_ca_ES.properties  
 inflating: application-model_ca_ES.properties  
 inflating: content-service_ca_ES.properties  
 inflating: dictionary-messages_ca_ES.properties  
 inflating: patch-service_ca_ES.properties  
 inflating: bpm-messages_ca_ES.properties  
 inflating: permissions-service_ca_ES.properties  
 inflating: readme_ca_ES.txt        
 inflating: webclient_ca_ES.properties  
 inflating: template-service_ca_ES.properties  
 inflating: bootstrap-tutorial_ca_ES.properties  
 inflating: action-service_ca_ES.properties  
 inflating: rule-config_ca_ES.properties  
 inflating: webdav-messages_ca_ES.properties  
 inflating: action-config_ca_ES.properties  
 inflating: coci-service_ca_ES.properties  
 inflating: dictionary-model_ca_ES.properties  
 inflating: system-model_ca_ES.properties  
 inflating: content-model_ca_ES.properties  
 inflating: workflow-messages_ca_ES.properties  
 inflating: schema-update_ca_ES.properties  
 inflating: forum-model_ca_ES.properties  

Ara cal configurar Alfresco per què permeti escollir el català com idioma al fer un login:

$ cd /opt/alfresco/tomcat/shared/classes/alfresco/extension
$ sudo joe web-client-config-custom.xml

Busqueu la secció idiomes (etiqueta xml <languages>) i afegiu el català:

<language locale="ca_ES">Català</language>'

Trobareu un apartat comentat a mode d'exemple de com afegir altres idiomes. El fitxer ha de quedar amb una secció com la següent:


  <config evaluator="string-compare" condition="Languages">
     <languages>
        <language locale="ca_ES">Català</language>
     </languages>
  </config>

Premeu Ctrl+K+X per sortir i guardar el fitxer. Torneu a iniciar Alfresco:

$ cd /opt/alfresco
$ sudo -E /opt/alfresco/alfresco.sh start

Recursos:

Manual

Usuari i paraula de pas per defecte

Al entrar a la web:

http://localhost:8080/alfresco

Per defecte entrem com a usuari guest. Per provar Alfresco possiblement voldreu entrar com a administrador... Els valor per defecte a una nova instal·lació:

  • Usuari: admin
  • Paraula de pas: admin

IMPORTANT: Tan aviat com entreu, per seguretat,un dels primers passos ha de ser canviar la paraula de pas

Documentació

TroubleShooting. Resol·lució de problemes

Problemes relacionats amb Tomcat

Consulteu:

Tomcat#Troubleshooting

Port 8080 ocupat

Consulteu:

Tomcat#Ports_ocupats._Port_8080

Com depurar problemes. Fitxers de log

El primer log que heu de consultar és el fitxer de log de Tomcat, al fitxer catalina.out. Sol estar a la carpeta:

<TOMCAT_HOME>/logs/catalina.out

Per exemple:

$ tail -f /home/sergi/alfresco1/tomcat_bundle/tomcat/logs/catalina.out

Out of Memory. Exception in thread "main" java.lang.OutOfMemoryError: PermGen space

Si al fixer de log catalina.log us apareix l'error:

java.lang.OutOfMemoryError: PermGen space

És molt comú que amb la memòria per defecte de Tomcat utilitzada per a JAVA el tomcat amb alfresco es quedi penjat. Cal definir la variable JAVA_OPTS:

JAVA_OPTS="-Xms512m -Xmx1536m -XX:PermSize=128m"

NOTA: Durant l'arrencada d'Alfresco, al fitxer de log segurament veureu errors amb la memòria Perm (Out of memory error)

Es pot establir temporalment:

$ export JAVA_OPTS="-Xms512m -Xmx1536m -XX:PermSize=128m"

NOTA: Heu d'executar l'ordre abans d'executar tomcat!

Ho podeu fer permanent afegint la línia al fitxer catalina.sh de la carpeta <TOMCAT_HOME>/bin/catalina.sh o al fitxer startup.sh

Instal·lació espatllada després d'errors de memòria o altres

Si al fitxer de lo de Tomcat catalina.log vegeu:

ERROR [repo.admin.ConfigurationChecker] CONTENT INTEGRITY ERROR: System content not found in content store.
ERROR [repo.admin.ConfigurationChecker] Ensure that the 'dir.root' property is pointing to the correct data  location.
ERROR [web.context.ContextLoader] Context initialization failed
org.alfresco.error.AlfrescoRuntimeException: 03140001 Ensure that the 'dir.root' property is pointing to the correct data location.

Heu de fer:

Atureu tomcat:

$ sudo -E /opt/tomcat/bin/shutdown.sh
Using CATALINA_BASE:   /opt/tomcat
Using CATALINA_HOME:   /opt/tomcat
Using CATALINA_TMPDIR: /opt/tomcat/temp
Using JRE_HOME:       /usr/lib/jvm/java-6-sun-1.6.0.15 

Cal esborrar tot del dir.root. El dir.root s'indica al fitxer:

$ sudo cat /opt/tomcat/webapps/alfresco/WEB-INF/classes/alfresco/repository.properties | grep dir
dir.root=./alf_data
...

És dir:

<TOMCAT_HOME>/alfresco/alf_data

O sigui:

/opt/tomcat/webapps/alfresco/alf_data

Per tant:

$ cd /opt/tomcat/webapps/alfresco/alf_data
$ sudo rm -rf *

Ara entreu a la base de dades:

$ cd /home/sergi/alfresco/extras/databases/mysql/
$ sudo mysql -p
...
mysql> DROP DATABASE alfresco;
mysql> SOURCE db_setup.sql;
mysql> exit

Ara canvieu index.recovery.mode a FULL al fitxer custom-repository.properties

index.recovery.mode=FULL

Torneu a iniciar tomcat:

$ sudo -E /opt/tomcat/bin/startup.sh

I observeu els logs:

$ sudo tail -f --lines=500 /opt/tomcat/logs/catalina.out


Falta l'executable pdf2swf

Si al fitxer de log vegeu els següents errors:

$ cat catalina.out | grep pdf2
   command:    [./bin/pdf2swf, -V]
   err:        Cannot run program "./bin/pdf2swf": java.io.IOException: error=2, No such file or directory

Aleshores cal dos coses, que instal·leu el paquet swftools:

$ sudo apt-get install swftools

Però a més si observeu els fitxers que instal·la el paquet:

$ dpkg -L swftools | grep pdf2
/usr/share/man/man1/pdf2swf.1.gz
/usr/bin/pdf2swf

o

$ whereis pdf2swf
/usr/bin/pdf2swf

Observeu que el path no és el mateix. Cal modificar el fitxer repository.properties, que trobareu a la carpeta:

<TOMCAT_HOME>/webapps/alfresco/WEB-INF/classes/alfresco/repository.properties

En el meu cas per exemple:

$ sudo joe /opt/alfresco/tomcat/webapps/alfresco/WEB-INF/classes/alfresco/repository.properties 

I canvieu la línia:

swf.exe=./bin/pdf2swf

a:

swf.exe=/usr/bin/pdf2swf

Aprofiteu per canviar la línia img.root de ImageMagick:

$ sudo apt-get install imagemagick
$ whereis convert
convert: /usr/bin/convert /usr/share/man/man1/convert.1.gz

I canvieu la línia:

img.root=./ImageMagick

per:

img.root=/usr

Caused by: java.rmi.server.ExportException: internal error: ObjID already in use

El error en el meu cas estava en que la IP del fitxer de /etc/hosts no era la que corresponia a la màquina.

Tomcat no s'atura correctament

A vegades tot i aturar Tomcat trobareu que encara s'està executant:

$ ps aux | grep tomcat
root     20529 57.2 21.4 1868468 442108 pts/2  Sl   12:20   1:38 /usr/lib/jvm/java-6-sun-1.6.0.15/bin/java -Xms512m -Xmx1536m -XX:PermSize=128m 
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=/opt/tomcat/conf/logging.properties -Djava.endorsed.dirs=/opt/tomcat  
/endorsed -classpath :/opt/tomcat/bin/bootstrap.jar -Dcatalina.base=/opt/tomcat -Dcatalina.home=/opt/tomcat -Djava.io.tmpdir=/opt/tomcat/temp 
org.apache.catalina.startup.Bootstrap start
root     20599  0.0  0.0   1752   532 pts/2    S    12:20   0:00 /bin/sh /usr/bin/soffice -accept=socket,host=localhost,port=8100;urp;StarOffice.ServiceManager 
-env:UserInstallation=file:///opt/tomcat/webapps/alfresco/alf_data/oouser -nologo -headless -nofirststartwizard -nocrashrep -norestore
root     20633  0.3  1.1 101904 24300 pts/2    Sl   12:20   0:00 /usr/lib/openoffice/program/soffice.bin -accept=socket,host=localhost,port=8100; 
urp;StarOffice.ServiceManager -env:UserInstallation=file:///opt/tomcat/webapps/alfresco/alf_data/oouser -nologo -headless -nofirststartwizard -nocrashrep -norestore
sergi    20717  0.0  0.0   3040   788 pts/2    R+   12:22   0:00 grep --color=auto tomcat

Cal aturar-lo amb kill:

$ sudo kill -9 20529
$ sudo kill -9 20599
$ sudo kill -9 20633
$ ps aux | grep tomcat
sergi    20723  0.0  0.0   3040   792 pts/2    R+   12:23   0:00 grep --color=auto tomcat

Vegeu també

Enllaços externs