Cómo instalar alfresco en tomcat 7.

Introducción – ¿Qué es alfresco?

En este tutorial vamos a ver cómo instalar alfresco en tomcat 7 utilizando como base un servidor Debian Wheezy.

Alfresco es una sistema de administración de contenidos de código fuente libre, desarrollado en Java, basado en estándares abiertos y de escala empresarial para sistemas operativos tipo Windows, Unix Solaris y algunas versiones de Linux.

Ahora vamos a ver como realizar la instalación.

Procedimiento

Para realizar la instalación, vamos a implementarlo en una máquina debian wheezy con 3GB de ram , utilizando el paquete de java «openjdk-7-jre« y como base de datos «mysql«.  Realizamos los siguientes pasos:

Instalamos el paquete java:

aptitude install openjdk-7-jre

Descargamos tomcat y lo descomprimimos:

wget http://apache.rediris.es/taptitude install openjdk-7-jreomcat/tomcat-7/v7.0.56/bin/apache-tomcat-7.0.56.tar.gz
tar xvzf apache-tomcat-7.0.56.tar.gz

Movemos los archivos extraidos al directorio «/opt/tomcat«:

sudo mv apache-tomcat-7.0.56 /opt/tomcat

Procedemos a modificar el fichero «/opt/tomcat/conf/tomcat-users.xml» y añadimos la siguiente configuración con la que podremos acceder a la administración de tomcat:

<tomcat-users>
 <role rolename="manager-gui"/>
 <role rolename="admin-gui"/>
 <user username="admin" password="admin" roles="admin-gui,manager-gui,manager-script,admin-script"/>
</tomcat-users>

Ahora modificamos el fichero «/opt/tomcat/conf/server.xml» y añadimos la información del conector:

<Connector port="8080" protocol="HTTP/1.1"
 connectionTimeout="20000"
 redirectPort="8443"
 URIEncoding="UTF-8" />

Modificamos el fichero de inicio del servicio tomcat «/etc/init.d/tomcat» y lo configuramos de la siguiente manera:

# Tomcat auto-start
#
# description: Auto-starts tomcat
# processname: tomcat
# pidfile: /var/run/tomcat.pid
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
case $1 in
start)
sh /opt/tomcat/bin/startup.sh
;;
stop)
sh /opt/tomcat/bin/shutdown.sh
;;
restart)
sh /opt/tomcat/bin/shutdown.sh
sh /opt/tomcat/bin/startup.sh
;;
esac
exit 0

Cambiamos los permisos del fichero configurado:

sudo chmod 755 /etc/init.d/tomcat

Añadimos el servicio al autoinicio:

sudo update-rc.d tomcat defaults

Reiniciamos la máquina y procedemos a modificar la configuración de memoria que usará tomcat. Para ello modificamos el fichero «/opt/tomcat/bin/catalina.sh» y añadimos las siguientes lineas con las que tendremos como memoria máxima 2GB:

JAVA_OPTS="-XX:MaxPermSize=160m -XX:NewSize=256m -Xms512m "
JAVA_OPTS="$JAVA_OPTS -Xmx2048m -Xss512K "

Instalar mysql server.

Reiniciamos el servicio tomcat e instalamos mysql-server:

sudo apt-get install mysql-server

Accedemos a mysql para crear el usuario y la base de datos que utilizaremos:

mysql -u root -p -h localhost
CREATE USER 'alfresco'@'localhost' IDENTIFIED BY 'alfresco';
CREATE USER 'alfresco'@'%' IDENTIFIED BY 'alfresco';
grant all on alfresco.* to 'alfresco'@'%' identified by 'alfresco' with grant option;
create database alfresco default character set utf8 collate utf8_bin;

Reiniciamos el servicio mysql.

Instalar alfresco.

Creamos el directorio «alfresco» y el directorio raíz:

sudo mkdir /alfresco

En el directorio home del usuario vagrant creamos el directorio «alfresco» y accedemos a el:

mkdir alfresco
cd alfresco

Dentro de él descargamos alfresco y lo descomprimimos:

wget http://dl.alfresco.com/release/community/build-04576/alfresco-community-4.2.c.zip
unzip alfresco-community-4.2.c.zip

Accedemos a la url http://192.168.10.80:8080/manager y desplegamos un nuevo archivo WAR.

Trayectoria: /alfresco
 WAR: /home/vagrant/alfresco/web-server/webapps/alfresco.war

Desplegamos la aplicación y nos sale el siguiente error; «FALLO – Apliación desplegada en la ruta de contexto /alfresco, pero el contexto no pudo arrancar«

Continuamos la instalación sin preocuparnos y hacemos lo mismo para el WAR de share:

Trayectoria: /share
 WAR: /home/vagrant/alfresco/web-server/webapps/share.war

Desplegamos la aplicación y procedemos a instalar el conector mysql. Para ello descargamos el conector en el directorio home del usuario vagrant y lo descomprimimos:

wget http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.34.tar.gz
tar xvzf mysql-connector-java-5.1.34.tar.gz

Copiamos el conector al directorio «/opt/tomcat/lib«

cp ~/mysql-connector-java-5.1.34/mysql-connector-java-5.1.34-bin.jar /opt/tomcat/lib/

Copiamos el directorio shared de alfresco en «/opt/tomcat/«

sudo cp -r ~/alfresco/web-server/shared /opt/tomcat/

Alfresco requiere paquetes adicionales para funcionar, por lo que debemos instalar los siguientes paquetes y añadir los repositorios especificados:

sudo apt-get install python-software-properties
 sudo apt-add-repository ppa:guilhem-fr/swftools
 sudo add-apt-repository ppa:upubuntu-com/office
 sudo apt-get update
 sudo apt-get install imagemagick swftools libjodconverter-java ffmpeg ttf-mscorefonts-installer

Una vez que termine la instalación de los paquetes renombramos los archivos de ejemplo a los archivos .xml:

sudo cp /opt/tomcat/shared/classes/alfresco/extension/video-thumbnail-context.xml.sample /opt/tomcat/shared/classes/alfresco/extension/video-thumbnail-context.xml
sudo cp /opt/tomcat/shared/classes/alfresco/extension/video-transformation-context.xml.sample /opt/tomcat/shared/classes/alfresco/extension/video-transformation-context.xml

Modificamos el fichero «/opt/tomcat/conf/catalina.properties´». Buscamos la linea que comienza por «shared.loader» y la comentamos, justo debajo pegamos la siguiente linea:

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

De nuevo renombramos las propiedades de alfresco con el fichero de ejemplo como hicimos anteriormente:

sudo cp /opt/tomcat/shared/classes/alfresco-global.properties.sample /opt/tomcat/shared/classes/alfresco-global.properties

Ahora modificamos el fichero y lo dejamos así:

 ###############################
 ## Common Alfresco Properties #
 ###############################
#
 # Sample custom content and index data location
 #
 dir.root=/alfresco/alf_data
 #dir.keystore=${dir.root}/keystore
#
 # Sample database connection properties
 #
 db.username=alfresco
 db.password=alfresco
#Disabled the guest login
 alfresco.authentication.allowGuestLogin=false
#
 # External locations
 #-------------
 ooo.exe=/usr/bin/libreoffice
 ooo.enabled=true
 ooo.port=8100
 jodconverter.officeHome=/usr/lib/libreoffice/program/soffice
 jodconverter.portNumbers=8100
 jodconverter.enabled=true
 img.root=/usr
 img.dyn=${img.root}/lib
 img.exe=${img.root}/bin/convert
 swf.exe=/usr/bin/pdf2swf
 ffmpeg.exe=/usr/bin/ffmpeg
 #
 # Property to control whether schema updates are performed automatically.
 # Updates must be enabled during upgrades as, apart from the static upgrade scripts,
 # there are also auto-generated update scripts that will need to be executed. After
 # upgrading to a new version, this can be disabled.
 #
 #db.schema.update=true
#
 # MySQL connection
 #
 db.driver=org.gjt.mm.mysql.Driver
 db.name=alfresco
 db.url=jdbc:mysql://localhost/alfresco?useUnicode=yes&characterEncoding=UTF-8
#
 # Oracle connection
 #
 #db.driver=oracle.jdbc.OracleDriver
 #db.url=jdbc:oracle:thin:@localhost:1521:alfresco
#
 # SQLServer connection
 # Requires jTDS driver version 1.2.5 and SNAPSHOT isolation mode
 # Enable TCP protocol on fixed port 1433
 # Prepare the database with:
 # ALTER DATABASE alfresco SET ALLOW_SNAPSHOT_ISOLATION ON;
 #
 #db.driver=net.sourceforge.jtds.jdbc.Driver
 #db.url=jdbc:jtds:sqlserver://localhost:1433/alfresco
 #db.txn.isolation=4096
#
 # PostgreSQL connection (requires postgresql-8.2-504.jdbc3.jar or equivalent)
 #
 #db.driver=org.postgresql.Driver
 #db.url=jdbc:postgresql://localhost:5432/alfresco
#
 # DB2 connection
 #
 #db.driver=com.ibm.db2.jcc.DB2Driver
 #db.url=jdbc:db2://localhost:50000/alfresco:retrieveMessagesFromServerOnGetMessage=true;
#
 # Index Recovery Mode
 #-------------
 #index.recovery.mode=AUTO
#
 # Outbound Email Configuration
 #-------------
 #mail.host=
 #mail.port=25
 #mail.username=anonymous
 #mail.password=
 #mail.encoding=UTF-8
 #mail.from.default=alfresco@alfresco.org
 #mail.smtp.auth=false
#
 # Alfresco Email Service and Email Server
 #-------------
# Enable/Disable the inbound email service. The service could be used by processes other than
 # the Email Server (e.g. direct RMI access) so this flag is independent of the Email Service.
 #-------------
 #email.inbound.enabled=true
# Email Server properties
 #-------------
 #email.server.enabled=true
 #email.server.port=25
 #email.server.domain=alfresco.com
 #email.inbound.unknownUser=anonymous
# A comma separated list of email REGEX patterns of allowed senders.
 # If there are any values in the list then all sender email addresses
 # must match. For example:
 # .*\@alfresco\.com, .*\@alfresco\.org
 # Allow anyone:
 #-------------
 #email.server.allowed.senders=.*
#
 # The default authentication chain
 # To configure external authentication subsystems see:
 # http://wiki.alfresco.com/wiki/Alfresco_Authentication_Subsystems
 #-------------
 #authentication.chain=alfrescoNtlm1:alfrescoNtlm
#
 # URL Generation Parameters (The ${localname} token is replaced by the local server name)
 #-------------
 #alfresco.context=alfresco
 #alfresco.host=${localname}
 #alfresco.port=8080
 #alfresco.protocol=http
 #
 #share.context=share
 #share.host=${localname}
 #share.port=8080
 #share.protocol=http
#imap.server.enabled=true
 #imap.server.port=143
 #imap.server.host=localhost
# Default value of alfresco.rmi.services.host is 0.0.0.0 which means 'listen on all adapters'.
 # This allows connections to JMX both remotely and locally.
 #alfresco
 alfresco.rmi.services.host=0.0.0.0
#
 # RMI service ports for the individual services.
 # These seven services are available remotely.
 #
 # Assign individual ports for each service for best performance
 # or run several services on the same port. You can even run everything on 50500 if needed.
 #
 # Select 0 to use a random unused port.
 #
 #avm.rmi.service.port=50501
 #avmsync.rmi.service.port=50502
 #attribute.rmi.service.port=50503
 #authentication.rmi.service.port=50504
 #repo.rmi.service.port=50505
 #action.rmi.service.port=50506
 #wcm-deployment-receiver.rmi.service.port=50507
 #monitor.rmi.service.port=50508

Reiniciamos la máquina y ya tenemos instalado alfresco.
Accedemos a http://192.168.10.80:8080/alfresco/ y todo funciona correctamente.

¡No olvides hacer click sobre el botón «Me gusta» y comparte si te ha servido de ayuda este tutorial sobre cómo instalar alfresco en tomcat 7.

¡Suscríbete para recibir notificaciones de nuevos tutoriales!

Referencias:

https://es.wikipedia.org/wiki/Alfresco

 

Deja un comentario