Archivo de la categoría: consejos

[TIP] Alfresco no funciona, no levanta o está roto

Si estás aquí es porque probablemente has ido a ver tu Alfresco y se encuentra apagado o fuera de cobertura. Bienvenido al mundo de Alfresco :)

En esta entrada os quiero explicar qué hacer y cómo ver qué ocurre “por detrás” para intentar solucionarlo. Antes de nada: Para tu Alfresco, no sirve de nada que siga ejecutándose comiendo recursos de la máquina.

¿Qué necesitamos? alfresco.log y catalina.out. Son logs donde se registran los detalles “técnicos” cuando se inicia Alfresco.

alfresco.log se encuentra en tu instalación en alfresco/alfresco.log

catalina.out se encuentra en alfresco/tomcat/logs/catalina.out

Prueba lo siguiente:

  1. Arranca alfresco y abre uno de esos logs, yo quizás te recomendaría que echaras un primer ojo a catalina.out y después a alfresco.log.
  2. Si puedes, lo ídeal es que el log se vaya refrescando a medida que vaya cargando.
    • En linux puedes lanzar el comando tail desde la terminal (tail -n500 -f /opt/alfresco/tomcat/logs/catalina.out)
    • En windows puedes utilizar esa utilidad  para obtener el mismo resultado que en linux
  3. Una vez tengas el log y empiecen las lineas a “correr”, fijate en la primera que contenta al inicio la palabra ERROR
  4. Una vez veas que tienes el / los errores, puedes parar tu Alfresco.
  5. Abre con un editor de texto el log (catalina.out o alfresco.log) Si tienes varios errores no te preocupes, busca siempre el primer ERROR que tengas, y mira a ver si tiene un Caused by algo más abajo.

Bien, ya tienes el error “técnico” pero no tienes ni la más remota idea de por dónde empezar. Aquí las claves:

  1. Busca el “Caused by:” completo de tu error  más la palabra “alfresco” en google.
    • Pincha aquí para ver un ejemplo.
  2. Prueba a poner el error completo en un nuevo hilo en la comunidad de alfresco.
  3. Chatea con expertos (normalmente en inglés aunque a veces hay gente en español que echan una mano).

Como veis no es muy complicado saber qué ocurre exactamente detrás de “alfresco no funciona”. Al menos ahora podréis encontrar vosotros mismos la solución o al menos sabéis dónde se encuentra los detalles técnicos del mismo.

Espero que os sirva como orientación.

¡Un saludo!

[TIP] Problemas entre addon alfresco-pdf-toolkit y Alfresco One 4.2

Buenas.

Recientemente le he instalado el addon alfresco-pdf-toolkit en un Alfresco 4.2 Enterprise y al tratar de compilarlo desde mi eclipse me encontré con este error:

 [ERROR] Failed to execute goal on project pdf-toolkit-repo: Could not resolve dependencies for project org.alfresco.extension:pdf-toolkit-repo:amp:1.2-SNAPSHOT: Failed to collect dependencies at org.alfresco:alfresco-enterprise-repository:jar:4.2.3 -> org.activiti:activiti-explorer:jar:5.13-alf-20140708 -> com.thebuzzmedia:imgscalr-lib:jar:3.1: Failed to read artifact descriptor for com.thebuzzmedia:imgscalr-lib:jar:3.1: Could not transfer artifact com.thebuzzmedia:imgscalr-lib:pom:3.1 from/to buzzmedia (<a class="Xx" dir="ltr" tabindex="-1" href="http://www.google.com/url?q=http%3A%2F%2Fmaven.thebuzzmedia.com&sa=D&sntz=1&usg=AFQjCNETyfe-xBQ1V_CxpfLkQMF2fwnhOA" target="_blank" rel="nofollow noreferrer" data-display="http://maven.thebuzzmedia.com" data-sanitized="http://www.google.com/url?q=http%3A%2F%2Fmaven.thebuzzmedia.com&sa=D&sntz=1&usg=AFQjCNETyfe-xBQ1V_CxpfLkQMF2fwnhOA">http://maven.thebuzzmedia.com</a>): Connect to maven.thebuzzmedia.com:80 [maven.thebuzzmedia.com/74.50.48.226] failed: Connection refused -> [Help 1] 

Sigue leyendo

[Alfresco Tip] Crear un servicio de alfresco en linux

Buenas.

¿No os ha ocurrido a veces que te encuentras una instalación en el que Alfresco no arranca al iniciar el sistema operativo? Hay una opción sencilla para hacerlo y es creando un demonio o servicio dentro del sistema operativo que dispongáis. En mi caso os voy a explicar cómo hacerlo para Ubuntu 14.04 LTS

Los pasos que vamos a realizar son:

  • Creamos el script que se encargará de levantar nuestro alfresco
  • Configuramos las variables que nos interesan de acuerdo con nuestra instalación
  • Creamos y damos permisos a los archivos necesarios
  • Refrescamos los servicios a nivel de sistema operativo
  • ¡A probar!

¡Manos a la obra!

Antes de nada comprobaremos que no esté creado en el sistema, para ello listaremos los que existen actualmente con el siguiente comando:

ls -l /etc/init.d/

Os devolverá algo similar a estas entradas:

-rw-r–r– 1 root root 4290 mar 12  2013 apache2
-rwxr-xr-x 1 root root 6173 abr 13  2012 bluetooth
-rwxr-xr-x 1 root root 4077 may  2  2010 ssh
….

Fijaros que no haya ninguno relativo a alfresco o tomcat. Una vez comprobado que realmente no disponemos de ningún servicio, procedemos a crear uno. Para ello realizamos los siguientes pasos:

    1. $ cd /etc/init.d/
    2. $ sudo nano alfresco
      Se nos abrirá el editor de texto. Deberemos pegar el siguiente contenido:

      #!/bin/sh
      #
      # description: Alfresco init.d startup
      # author: Cristina Martin
      # date: 18.12.15
      #
      ### BEGIN INIT INFO
      # Provides:          alfresco
      # Start:             start
      # Stop:              stop
      # Restart:           restart
      # Status:            status   
      # Description:       Alfresco start|stop|restart|status
      ### END INIT INFO
      
      RETVAL=0
      ALF_USER=alfresco
      ALF_LOGS=/var/log/alfresco
      ALF_HOME=/opt/alfresco-4.2.f
      ALF_CURRENT_USER=`whoami`
      #echo starttt
      #echo $ALF_CURRENT_USER
      start () {
          cd $ALF_LOGS
          if [ $ALF_CURRENT_USER = $ALF_USER ] ; then
             $ALF_HOME/alfresco.sh start $2
          else
             su $ALF_USER -c "$ALF_HOME/alfresco.sh start $2"
          fi
          #$ALF_HOME/alfresco.sh start $2
          #/opt/alfresco/alfresco.sh start "$2"
          RETVAL=$?
          if [ -d "/var/lock/subsys" ] &amp;amp;amp;amp;amp;amp;&amp;amp;amp;amp;amp;amp; [ `id -u` = 0 ] &amp;amp;amp;amp;amp;amp;&amp;amp;amp;amp;amp;amp; [ $RETVAL -eq 0 ] ; then
              touch /var/lock/subsys/alfresco
          fi
      }
      
      stop () {
          if [ $ALF_CURRENT_USER = $ALF_USER ] ; then
             $ALF_HOME/alfresco.sh stop $2
          else
             su $ALF_USER -c "$ALF_HOME/alfresco.sh stop $2"
          fi
          RETVAL=$?
      }
      
      
      case "$1" in
          start)
              start "$@"
              ;;
          stop)
              stop "$@"
              ;;
          restart)
              stop "$@"
              start "$@"
              ;;
          *)
          if [ $ALF_CURRENT_USER = $ALF_USER ] ; then
             $ALF_HOME/alfresco.sh $@
          else
             su $ALF_USER -c "$ALF_HOME/alfresco.sh $@"
          fi
          RETVAL=$?
      esac
      exit $RETVAL
      
      
    3. A tener en cuenta las siguientes líneas (cambiadlas por los valores que estéis usando):
      ALF_USER=alfresco
      ALF_LOGS=/var/log/alfresco
      ALF_HOME=/opt/alfresco-5.0.a

      ALF_USER: Es el usuario que se encargará de arrancar el alfresco
      ALF_LOGS: Será la ruta donde se guardaran los logs que genere nuestro servicio
      ALF_HOME: La ruta donde está instalado nuestro Alfresco

    4. Realizamos lo siguiente:
      $ control + x
      $ Y
      $ Tecla “intro”Con esto salvaremos nuestro nuevo fichero
    5. Asignamos permisos a nuestro nuevo archivo:
      sudo chown alfresco /etc/init.d/alfresco
      sudo chmod 755 /etc/init.d/alfresco
    6. Necesitamos crear la carpeta donde salvaremos los logs que se generen con este servicio y dar permisos a nuestro usuario:
      sudo mkdir /var/log/alfresco
      sudo chown alfresco /var/log/alfresco
    7. Lo siguiente es decirle a nuestro Sistema que hemos introducido este nuevo servicio y que queremos cargarlo cuando se inicie el sistema, para ello ejecutamos la siguiente orden:
      sudo update-rc.d alfresco defaults
    8. Reiniciar el sistema para probar que funciona y se inicia Alfresco correctamente con el comando reboot

Y con esto tendremos configurado nuestra instalación de Alfresco como servicio, de forma que si el servidor sufre alguna caída, Alfresco pueda levantarse automáticamente.

Espero que os haya servido este tip ;-)

Un saludo.

[Alfresco Tip] Error 404 al acceder a la consola Solr

Buenas a todos :-)

Tras realizar una instalación usando el bundle por defecto de Alfresco, versión 4.1 Enterprise, me di cuenta que al tratar de acceder a la consola de Solr esta arrojaba un significativo 404 not found. Me gustaría compartir con vosotros como conseguí echar a andar la consola, solventando por el camino otros errores relativos al certificado.

Por cierto: Esta solución está probada con Firefox versión 42.0.

En general, para habilitar la consola de Solr en Alfresco necesitamos instalar el certificado del browser que hay creado por defecto en nuestra instalación e importarlo en el explorador que vayamos a utilizar para que sea capaz de validar la sesión SSL de Solr. En el caso de no haber realizado la instalación con el instalador de Alfresco, deberás generar ese certificado siguiendo estas instrucciones.

Una vez tenemos ese certificado, debemos seguir los siguientes pasos:

  1. Abre Firefox, vamos a trabajar en él.
  2. Importa el certificado ubicado en ../alfresco/alf_data/keystore/browser.p12
  3. Si intentas acceder a la consola, obtendrás el siguiente error: ERR_SSL_WEAK_SERVER_EPHEMERAL_DH_KEY (más info acerca de esta vulneravilidad  aquí).
  4. Para solventarlo, abre una pestaña de Firefox y ejecuta los siguientes pasos:

– Teclea en la url about:config
– Acepta el mensaje y a continuación ve al cuadro de búsqueda
– Introduce security.ssl3.dhe_rsa_aes_128_sha y clicka dos veces en el para ponerlo a false
– De nuevo, busca: security.ssl3.dhe_rsa_aes_256_sha y clicka dos veces en el para ponerlo a false:

ssl_solr_1
– Accede a la siguiente url (https://IP_SERVIDOR:8443/solr) y “voilà”:

solr_console_1solr_console_2

Además de esta solución he encontrado esta otra (no la he probado pero quizás sería interesante y “menos engorrosa”).

En el archivo server.xml (en …/tomcat/conf/)

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
       maxThreads="150" scheme="https" secure="true"
       keystoreFile="keystorePath"
       keystorePass="keystorepass"
       ciphers="TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA"
       clientAuth="false" sslProtocol="TLS"/>

Aplicando esta solución, reiniciamos el tomcat y simplemente tendríamos que importar el certificado a nuestro explorador para poder acceder a la consola (no nos saldría el error ERR_SSL_WEAK_SERVER_EPHEMERAL_DH_KEY).

Espero que os haya servido de utilidad ;-)

¡¡Saludos!!