Instruktaż/Tutorial OpenKM 6.3.0 dla platformy ARM

qiui

System Engineer
Q Specialist
29 Listopad 2013
153
35
28
QNAP
TS-x51+
Ethernet
1 GbE
OpenKM 6.3.0 na bazie MySQL
system elektronicznego zarządzania dokumentami (DMS)
dla platformy ARM (na przykładzie TS-x21)
uruchomiony w Natywnym Debianie Squeeze

[Notatki informacyjne]
Producent zaleca instalację na maszynach posiadających 2 GB pamięci RAM i procesora dual-core Intel 3,2 GHz (dla 30-50 użytkowników systemu), dlatego instalacja tego na maszynach typu TS-x21 z 1 GB RAM jest poniżej minimalnych wymagań (ale działa :) ).

[Instalacja]
  1. Zainstaluj Natywnego Debiana Squeeze.

  2. Pobierz Oracle Java SE Embedded (zgodnie z zaleceniem producenta OpenKM powinno być to JDK 6 lub 7, ale dla platformy ARMv5 dostępna jest jedynie wersja Embedded JRE). Wersja do pobrania:
    ARMv5 Linux - Headless EABI, SoftFP ABI, Little Endian - ejre-7u75-fcs-b13-linux-arm-sflt-headless-18_dec_2014.tar.gz
    1. Ze względów licencyjnych podaję linka do strony producenta. W celu pobrania konieczne będzie założenie konta w portalu oracle.com.
    2. W czasie czytania tego postu może być dostępna nowa wersja, dlatego w następnych krokach należy w odpowiednich miejscach uwzględnić poprawną lokalizację folderu JAVA.

  3. Przenieś pobrany plik ejre-... do powyżej zainstalowanego Natywnego Debiana do folderu
    /opt/

  4. Pobierz załączony do tego postu plik libsigar-arm-linux.tar.gz i podobnie jak w pkt. 3 przenieś go do folderu
    /opt/

  5. Zaloguj się do QNAPa (nie Natywnego Debiana) w celu przygotowania bazy MySQL
    Bash:
    # Podłącz się do bazy MySQL
    /mnt/ext/opt/mysql/bin/mysql -h localhost -u root -p
    I wykonaj poniższe operacje:
    Kod:
    # Utwórz bazę "okmdb"
    DROP DATABASE IF EXISTS okmdb;
    CREATE DATABASE okmdb DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_bin;
    
    # Utwórz użytkownika bazy "okmdb"
    CREATE USER openkm@localhost IDENTIFIED BY 'twoje_haslo_dla_uzytkownika';
    GRANT ALL ON okmdb.* TO openkm@localhost WITH GRANT OPTION;
    exit;
    UWAGA: Zapamiętaj hasło użytkownika.

  6. Za pomocą klienta SSH (np. PuTTY) zaloguj się na do powyższej instalacji Natywnego Debiana i wykonaj poniższe polecenia
    1. Bash:
      # Utwórz katalog OpenKM
      mkdir -p /opt/OpenKM
      cd /opt/OpenKM
      
      # Przenieś i rozpakuj pobraną instalację JAVA
      mv /opt/ejre-7u75-fcs-b13-linux-arm-sflt-headless-18_dec_2014.tar.gz /opt/OpenKM
      tar zxvf ejre-7u75-fcs-b13-linux-arm-sflt-headless-18_dec_2014.tar.gz
      rm -f ejre-7u75-fcs-b13-linux-arm-sflt-headless-18_dec_2014.tar.gz
      
      # Pobierz OpenKM 6.3.0
      curl -L -O http://sourceforge.net/projects/openkm/files/6.3/openkm-6.3.0-community-tomcat-bundle.zip
      unzip openkm-6.3.0-community-tomcat-bundle.zip
      rm -f openkm-6.3.0-community-tomcat-bundle.zip
      
      # Podegraj bibliotekę libsigar-arm-linux.so
      tar zxvf ../libsigar-arm-linux.tar.gz
      mv libsigar-arm-linux.so tomcat/lib/sigar/
      rm -f ../libsigar-arm-linux.tar.gz

    2. Bash:
      # Konfiguracja połączenia do bazy "okmdb"
      vim /opt/OpenKM/tomcat/conf/server.xml
      Odkomentuj (usuń znaczniki <!-- -->) poniższy fragment
      XML:
      <Resource name="jdbc/OpenKMDS" auth="Container" type="javax.sql.DataSource"
                  maxActive="100" maxIdle="30" maxWait="10000" validationQuery="select 1"
                  username="openkm" password="*****" driverClassName="com.mysql.jdbc.Driver"
                  url="jdbc:mysql://localhost:3306/okmdb?autoReconnect=true&amp;useUnicode=true&amp;characterEncoding=UTF8"/>
      W miejsce ***** wstaw hasło utworzonego użytkownika bazy danych (twoje_haslo_dla_uzytkownika).
      Następnie zakomentuj (dodaj znaczniki <!-- -->) poniższy fragment
      XML:
      <Resource name="jdbc/OpenKMDS" auth="Container" type="javax.sql.DataSource"
                  maxActive="100" maxIdle="30" maxWait="10000" validationQuery="select 1 from INFORMATION_SCHEMA.SYSTEM_USERS"
                  username="sa" password="" driverClassName="org.hsqldb.jdbcDriver"
                  url="jdbc:hsqldb:${catalina.base}/repository/okmdb"/>
      Bash:
      # Zmień dialekt połączenia
      vim /opt/OpenKM/tomcat/OpenKM.cfg
      Zamień
      INI:
      hibernate.dialect=org.hibernate.dialect.HSQLDialect
      na
      INI:
      hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect

    3. Ustaw parametry wykorzystania pamięci przez wirtualną maszynę JAVA (poniższa konfiguracja dotyczy urządzenia z 1 GB pamięci RAM)
      Bash:
      vim /opt/OpenKM/tomcat/bin/setenv.sh
      Zamień:
      Bash:
      JAVA_OPTS="$JAVA_OPTS -Xms256m -sXmx1256m -XX:PermSize=256m -XX:MaxPermSize=512m"
      Na:
      Bash:
      JAVA_OPTS="$JAVA_OPTS -Xms256m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=256m"

    4. Zmień porty wykorzystywane przez serwer Tomcat
      Bash:
      vim /opt/OpenKM/tomcat/conf/server.xml
      Domyślnie wykorzystywane są porty:
      • Shutdown port: 8005
      • AJP Connector port: 8009
      • Tomcat Connector port: 8080
      • Tomcat SSL Connector port: 8443.
      Jeśli Twój QNAP nie wykorzystuje tych portów, to możesz nie zmieniać tej konfiguracji. Jeśli jednak porty te są już wykorzystywane - zmień je. Poniżej moja propozycja:
      • Shutdown port: 9005
      • AJP Connector port: 9009
      • Tomcat Connector port: 9080
      • Tomcat SSL Connector port: 9443.
      Rekonfiguracja portów polega na zmianie wszystkich portów o podanym numerze na nowy numer (np. zmieniając port 8005, zastępuję wszystkie wystąpienia tego portu na 9005).

    5. W celu poprawnego generowania podglądów wymagane jest zainstalowanie i konfiguracja:
      1. LibreOffice
        Bash:
        # Dodaj backport do listy źródeł
        vim /etc/apt/sources.list
        Dodaj na końcu pliku:
        Bash:
        # Squeeze Backports na potrzeby instalacji LibreOffice
        deb http://ftp.vectranet.pl/debian-backports squeeze-backports main
        Wykonaj poniższe polecenia w celu zainstalowania LibreOffice
        Bash:
        apt-get update
        apt-get install -t squeeze-backports uno-libs3 # removes openoffice.org-*
        apt-get install -t squeeze-backports libreoffice
      2. SWFTools
        Bash:
        mkdir /opt/OpenKM/swftools
        
        # Doinstaluj brakujące biblioteki
        aptitude update
        aptitude install build-essential libgif-dev xpdf libfreetype6 libfreetype6-dev libjpeg62 libjpeg8 libjpeg8-dev
        
        # Pobierz SWFTools
        cd /opt/OpenKM/
        wget http://www.swftools.org/swftools-0.9.2.tar.gz
        tar -zvxf swftools-0.9.2.tar.gz
        cd swftools-0.9.2/
        
        # Zainstaluj SWFTools
        ./configure --prefix=/opt/OpenKM/swftools
        make
        make install
        cd ..
        rm -rf swftools-0.9.2/
        
        # Zmień konfigurację uruchamiania pdf2swf
        vim /opt/OpenKM/tomcat/OpenKM.cfg
        Zamień
        INI:
        system.swftools.pdf2swf=/opt/openkm/bin/pdf2swf -f -T 9 -t -s storeallcharacters ${fileIn} -o ${fileOut}
        Na
        INI:
        system.swftools.pdf2swf=/opt/OpenKM/swftools/bin/pdf2swf -f -T 9 -t -G -s storeallcharacters ${fileIn} -o ${fileOut}
      3. ImageMagick
        Bash:
        # Instalacja ImageMagick
        aptitude install imagemagick
    6. Ustaw zmienną środowiskową JRE_HOME
      Bash:
      vim /etc/environment
      Wprowadź:
      INI:
      JRE_HOME=/opt/OpenKM/ejre1.7.0_75/
      Bash:
      export JRE_HOME
      source /etc/environment
      
      # Zweryfikuj, czy JRE_HOME została prawidłowo dodana
      printenv | grep JRE_HOME

    7. Test pierwszego uruchomienia serwera OpenKM
      Bash:
      # Uruchomienie serwera Tomcat
      /opt/OpenKM/tomcat/bin/catalina.sh start
      
      # Podgląd logu (najlepiej w osobnym SSH lub screenie)
      tail -f /opt/OpenKM/tomcat/logs/catalina.out

      Adres do zalogowania z przeglądarki:
      http://[adres_qnapa]:9080/OpenKM
      login: okmAdmin
      hasło: admin

    8. Utwórz usługę serwera OpenKM
      Bash:
      # Utwórz użytkownika systemu odpowiedzialnego za uruchomienie serwera (bez podawania hasła)
      adduser openkm
      
      # Nadaj uprawnienia użytkownikowi openkm
      chown -R --from=root openkm /opt/OpenKM/tomcat
      
      # Edytuj konfigurację usługi
      vim /etc/init.d/openkm
      Wklej całą zawartość poniższego skryptu:
      Bash:
      #!/bin/sh
      ### BEGIN INIT INFO
      # Provides:          openkm
      # Required-Start:    $remote_fs $syslog
      # Required-Stop:     $remote_fs $syslog
      # Default-Start:     2 3 4 5
      # Default-Stop:      0 1 6
      # Short-Description: Start and stop OpenKM
      # Description:       Enable Apache Tomcat (OpenKM) service provided by daemon.
      ### END INIT INFO
      ECHO=/bin/echo
      TEST=/usr/bin/test
      TOMCAT_USER=openkm
      TOMCAT_HOME=/opt/OpenKM/tomcat
      TOMCAT_START_SCRIPT=$TOMCAT_HOME/bin/startup.sh
      TOMCAT_STOP_SCRIPT=$TOMCAT_HOME/bin/shutdown.sh
      $TEST -x $TOMCAT_START_SCRIPT || exit 0
      $TEST -x $TOMCAT_STOP_SCRIPT || exit 0
      
      start() {
          $ECHO -n "Starting OpenKM (Tomcat)"
          su - $TOMCAT_USER -c "$TOMCAT_START_SCRIPT &"
          $ECHO "."
      }
      stop() {
          $ECHO -n "Stopping OpenKM (Tomcat)"
          su - $TOMCAT_USER -c "$TOMCAT_STOP_SCRIPT 60 -force &"
          while [ "$(ps -fu $TOMCAT_USER | grep java | grep tomcat | wc -l)" -gt "0" ]; do
              sleep 5; $ECHO -n "."
          done
          $ECHO "."
      }
      case "$1" in
          start)
              start
              ;;
          stop)
              stop
              ;;
          restart)
              stop
              sleep 30
              start
              ;;
          *)
              $ECHO "Usage: openkm {start|stop|restart}"
              exit 1
      esac
      exit 0
      Zapisz plik i wykonaj kolejne polecenia:
      Bash:
      # Nadaj odpowiednie uprawnienia na usługę
      chmod 755 /etc/init.d/openkm
      
      # Ustaw poziomy uruchamiania usługi
      update-rc.d openkm defaults
      
      # Uruchom usługę
      service openkm start
  7. Za pomocą klienta SSH (np. PuTTY) zaloguj się do QNAPa (nie do instalacji Natywnego Debiana) i wykonaj poniższe polecenia w celu uruchamiania usługi openkm po każdym restarcie serwera
    Bash:
    vim /share/HDA_DATA/debpool/squeeze/env.init
    Do tablicy SERVICES dopisać 'openkm'
Mam nadzieję, że o niczym nie zapomniałem hmmm.
Powodzenia :Dumny:
 

Załączniki

  • libsigar-arm-linux.tar.gz
    82,2 KB · Wyświetleń: 86