Alfresco Upgrade Prozedur von Version 5.1 auf Version 5.2 (Alfresco Community Edition 201612 GA)

Dieses Howto beschreibt meine Schritte um eine Alfresco 5.1 Installation nach Alfresco 5.2 (Alfresco Community Edition 201612 GA) zu erhöhen.

Aktuelle Alfresco Installation

Mein Alfresco-System wird nicht im produktiven Umfeld sondern lediglich privat genutzt. Die Anforderungen an das System sind entsprechend niedgrig (keine Skalierung, geringe Performance).

Alfresco
2 Server 1 VM-Server für die Alfresco Installation, DB und Index (45 GB Festplatte)
1 VM-Server für Daten (350 GB Festplatte)
Alfresco Home /opt/alfresco-community
Installation Default installations-Routine
Postgres-SQL Ja, Installiert über die normale Installations-Routine von Alfresco
Index SOLR4
Alfresco Service Ja. Servicename „alfresco“, Installiert über die normale Installations-Routiene von Alfresco
alf_data Das alf_data Verzeichnis befindet sich ausgelagert auf einem NFS-Server (VM für Daten und Index). Das alf_data Verzeichnis wird dann auf dem Alfresco-Server nach /opt/alfresco/alf_data gemounted.
Ugrade Prozedur Die Upgrade Prozedur richtet sich grundsätzlich nach der Alfresco-Doku: Link

Neue VM erstellen

Bei einem Alfresco-Update (welches ja nicht so häufig vorkommt) erstelle ich meist eine neue VM mit aktuellstem Ubuntu-Betriebssystem (LTS):

  1.  Neue VM erstellen (ESXi 5.5, VM mit Ubuntu-Linux, 4 CPUs, 8GB RAM)
  2. Alfresco benötigt einige Libs als Voraussetzung. Die Installationsroutine meckert, wenn diese nicht vorhanden sind (siehe hier).
    Auf Ubuntu folgendes ausführen:

    sudo apt-get install libice6 libsm6 libxt6 libxrender1 libxext6 libfontconfig1 libcups2 libglu1-mesa libcairo2 libegl1-mesa libxinerama1

    Achtung: Die Installationsroutine zeigt nach der Installation aller notwendigen Libs immer noch an, dass diese Fehlen (Stand 3.1.2017, Ubuntu 16.04). Das scheint aber ein Bug der Installationsroutine von Alfresco zu sein.

  3. Alfresco auf der neuen VM installieren.
    1. Für die Installation verwende ich die default Installations-Routine von Alfresco.
    2. Die Ports Ändere ich auf 80 bzw. 443.
    3. Den Service installiere ich auch mit der Alfresco Installations-Routine.
  4. Memory anpassen: Link
  5. Max Open Files anpassen: Link
  6. Anschlissend überprüfen ob die neue Installation sauber funktioniert (z.B. LibreOffice).

Konfigurationen/Customizing der neuen Installation anwenden

Ich habe auf meinem Alfresco einige „customs“ eingebaut:

Custom Datalists

Custom Share Header

Custom Web-Extensions

  1. Zwei eigene Listen (Inventar und Bibliothek). Hier zeige ich nur die Bibliotheksliste. Das selbe auch für Inventar machen.
  2. Die neuen Datalists registrieren
    cp /opt/alfresco-alt//tomcat/shared/classes/alfresco/extension/customDatalist-model-context.xml /opt/alfresco-neu//tomcat/shared/classes/alfresco/extension/customDatalist-model-context.xml

    Datalist-Model erstellen/kopieren

    cp /opt/alfresco-alt/tomcat/shared/classes/alfresco/extension/bibliothekDatalistModel.xml /opt/alfresco-neu/tomcat/shared/classes/alfresco/extension/bibliothekDatalistModel.xml

    Das web-extensions File erweitern mit den Erweiterungen aus der alten Instanz

    /opt/alfresco-community/tomcat/shared/classes/alfresco/web-extension/share-config-custom.xml
  3. Download Buttons entfernen: Link
  4. Header-Icons ausblenden, welche nicht gebraucht werden: Link
  5. Download-Button nur wenn Schreibrecht vorhanden: Link

Alte Alfresco-Instanz backupen

  1. Alte Alfresco-Instanz stoppen
  2. Ganze DB backupen
    1. Postgres starten
      sudo /opt/alfresco-community/alfresco.sh start postgresql
    2. Die gesamte Alfresco-Datenbank dumpen
      cd /opt/alfresco-community/postgresql/bin/
      ./pg_dump -h localhost -U alfresco alfresco > /tmp/alfrescodbdump
    3. Postgres stoppen
      sudo /opt/alfresco-4.2.d/alfresco.sh stop postgresql
  3. alf_data Verzeichnis der alten Alfresco-Instanz backupen. => Darauf achten, dass der Alfresco-Service nicht läuft!
    Ich kopiere dazu einfach das gesamte alte alf_data Verzeichnis nach alf_data_alt.

Daten auf neuer Alfresco-DB Instanz restoren

  1. Die neue Alfresco-Instanz stoppen.
  2. Nun die Postgresql-Datenbank der NEUEN Installation starten:
    sudo /opt/alfresco-community/alfresco.sh start postgresql
  3. Die Datenbank „alfresco“ der neuen Installation löschen:
    cd /opt/alfresco-community/postgresql/bin/
    ./dropdb -U alfresco alfresco -h localhost -i
    Database "alfresco" will be permanently removed.
    Are you sure? (y/n) y
    Password:
    
  4. Die gelöschte Datenbank wieder erstellen
    $ sudo ./createdb -U postgres -T template0 alfresco -h localhost
    Password:
    
  5. Nun den Alfresco-Dump der alten Instanz auf der neuen einspielen:
    $ sudo ./psql -U alfresco alfresco -h localhost < /tmp/alfrescodbdump
    Password:
    (...)
    ALTER TABLE
    ALTER TABLE
    REVOKE
    REVOKE
    GRANT
    GRANT
    $ exit
  6. Die Postgres-DB der neuen Installation wieder stoppen.
    sudo /opt/alfresco-community/alfresco.sh stop postgresql

Content-Store und Idexe restoren

Content-Store und Index habe ich auf einem NFS-Server.

  1. Wichtig, nicht das postgres-Datenverzeichnis der neuen Installation löschen!!!!!! Das ganze alf_data Verzeichnis der neuen Alfresco-Instanz nach ~/alf_data_backup verschieben. Dies, weil sich auch das postgres-Datenverzeichnis hier befindet. Die DB mit den Daten wird wegkopiert.
    sudo mv /opt/alfresco/alf_data ~/alf_data
  2. Jetzt den mount-Punkt „alf_data“ des NFS-Servers auf die neue Alfresco-Instanz mounten.
  3. Nun die postgres Daten wieder zurück kopieren
    sudo rm -r
    sudo cp ~/alf_data/postgresql/* /opt/alfresco/alf_data/postgresql/
  4. Reindexierung von SOLR4:
    Ich initialisiere Solr4 nach jeder Installation neu gem. Alfresco-Dokumentation: Link

Update Esxi Server

Dieses Howto beschreibt ein Update von ESXi 4.0 nach ESXi 4.1. Für ein Update von ESXi 5.5 siehe hier.

Vorbereitung

  • Kopieren der Update-Datei (z.B. update-from-esxi4.1-4.1_update03.zip) auf den Esxi-Host
  • Per SSH auf den Esxi-Host einloggen
  • Zum Update-File navigieren

Durchführung Update

Das Update-File kann nun mit dem Befehl

esxupdate

angewendet werden

Überprüfen welche Updates in dem File vorhanden sind

esxupdate --loglevel=DEBUG --bundle update-from-esxi4.1-4.1_update03.zip scan

Durchführung eines Testlaufs => nichts wird modifiziert

esxupdate --loglevel=DEBUG --bundle update-from-esxi4.1-4.1_update03.zip stage
  • Alle VMs sauber stoppen
  • Den Server in den Maintenance-Mode setzen => über den vShpereClient
  • Update installieren
    esxupdate --loglevel=DEBUG --bundle update-from-esxi4.1-4.1_update03.zip update
  • Den Host über vSphereClient rebooten
  • Den Host über vSphereClient wieder in den normalen Betriebs-Mode setzen
  • Alle VMs wieder starten
  • Check ob alle Dienste wieder laufen

Beschreibung der Optionen

Siehe File: esxupdate

VM-Ware Tools auf einem Ubunut-Gastsystem installieren (VM-Ware ESXi 4.1)

Getestet mit „ESXi 4.1 Update 3“ Server (4.1.0, 800380) und folgenden Gastsystemen:

  • Ubuntu-Server 10.04.4 LTS
  • Ubuntu-Server 12.04.1 LTS
  • Ubuntu-Server 12.10

Als erstes sicherstellen, dass auf dem Gastsystem alles notwendige installiert ist:

sudo apt-get install build-essential
sudo apt-get install linux-headers-$(uname -r)

Dann in der vSphere-Client-Konsole: Menü VM->Gast->VMwareTools installieren. Dies hängt das VMWare-Tools .iso ein, das per ESXi-Server-Installation bereits im datastore liegt.

Per SSH zur VM verbinden, oder einfach die Konsole öffnen (ich finde SSH komfortabler, da in der Konsole kein Copy&Paste möglich ist),

  1. iso ins Betriebssystem einhängen
    sudo mkdir /mnt/cdrom
    sudo mount /dev/cdrom /mnt/cdrom
  2. VMware Tools-<version> kopieren und auspacken
    cp /mnt/cdrom/VMwareTools-9.4.15-2827462.tar.gz /tmp/
    cd /tmp
    tar -zxf VMwareTools-9.4.15-2827462.tar.gz
  3. Pakete fürs Kompilieren holen/überprüfen, falls diese noch nicht installiert sind
  4. #Installation durchführen
    cd vmware-tools-distrib
    sudo ./vmware-install.pl

    – Alle Nachfragen mit ENTER bestätigen.
    – Das Script hängt das Image automatisch aus.
    – Ein Reboot des Gast-Systems ist nicht notwendig

VmWare-Tools läuft nun als Service:

ps -ef | grep vm
root      1072     1  0 14:53 ?        00:00:00 /usr/sbin/vmtoolsd
ralwet    1318  1219  0 14:54 pts/0    00:00:00 grep --color=auto vm

Check, welche VmWare-Tools version installiert ist

/usr/bin/vmware-toolbox-cmd -v
8.3.17.15269 (build-784891)

 

ESXi Templates

  1. Shutdown der VM, welche kopiert werden soll
  2. Click on the host > Configuration tab
  3. Select Hardware > Storage to display the datastores
  4. Right-click on the datastore with the VM you want to clone > Browse Datastore
  5. Create a new folder in the store
  6. Right click on the VM folder and select Copy (must be done in the right pane of the Datastore Browser)
  7. Paste the VM to a new sub folder (otherwise the VM will overwrite itself)
  8. Once copied, rename and move the folder if desired
  9. Select the .vmx file within the cloned VM and select ‚Add to Inventory‘

Es kann vorkommen, dass das Networking der VM nach dem Kopieren nicht funktioniert. Das Problem war, weil der Adapternahme von eth0 auf eth1
gewechselt hatte:

http://blog.inventic.eu/2013/03/ubuntu-eth0-error-while-getting-interface-flags-no-such-device/

Nubia Z11 mini Root & GApps

Aktuellste Version des Original-China ROMS installieren

Achtung, es existieren zwei ROM-Versionen für das Nubia Z11 mini nx529j. Eines für die China-Version mit 64GB Speicher und eines für die Internationale Version mit 32GB Speicher. Ich besitze die China-Variante.

  • Als erstes unter http://www.needrom.com/category/zte/serial-nubia/z11-mini/ das original China Rom herunterladen und auf die SD-Disk speichern. Für die Internationale Version kann das ROM hier herunter geladen werden: http://www.nubia.com/de/support.php?a=phone&pid=9
  • Nubia ausschalten und mit + und Power-Button in das Nubia Recovery gehen.
  • Hier nun das ROM auf der SD-Disk auswählen und das ROM installieren
  • Das sollte so ohne Probleme durchlaufen

Telefon Rooten und TWRP installieren

Das Rooten und Installieren von TWRP habe ich nach folgenden Instruktionen durchgeführt http://www.nubiamobileshop.com/blog/nubia-z11-mini-how-to-root/

TWRP wird so auf chinesisch installiert. Die sprache kann man dann im TWRP einfach ändern: https://www.youtube.com/watch?v=KOhR92EKD7A

Google-Apps installieren

Unter http://opengapps.org/ kann man die Google-Apps zusammenklicken => ARM64, Android 5.1, Nano-Variante

Auf die SD Herunterlanden und mittels TWRP installieren.

China-Apps deinstallieren

  • Links
    http://www.nubiamobileshop.com/blog/nubia-z11-mini-how-to-root/
    http://www.needrom.com/category/zte/serial-nubia/z11-mini/ => Original China ROM
  • http://opengapps.org/
  • https://translate.googleusercontent.com/translate_c?act=url&depth=2&hl=hr&ie=UTF8&prev=_t&rurl=translate.google.com&sl=auto&sp=nmt4&tl=en&u=https://4pda.ru/forum/index.php%3Fshowtopic%3D803370&usg=ALkJrhgDB93aDkasaOZpte9lwOjD04HuPQ
  • https://www.kuketz-blog.de/your-phone-your-data-teil1/

MySQL Root Login ohne Passwort

Auf meinem lokalen mysql Server (Enticklungsmaschine) möchte ich einen root user ohne passwort:

1 connect mit sudo mysql

sudo mysql -u root

2 aktive mysql users anzeigen

SELECT User,Host FROM mysql.user;
+------------------+-----------+
| User | Host |
+------------------+-----------+
| admin | localhost |
| debian-sys-maint | localhost |
| magento_user | localhost |
| mysql.sys | localhost |
| root | localhost |

3 Den aktuellen root-user löschen

mysql> DROP USER 'root'@'localhost';
Query OK, 0 rows affected (0,00 sec)

4 Neuen Root-User erstellen

mysql> CREATE USER 'root'@'%' IDENTIFIED BY '';
Query OK, 0 rows affected (0,00 sec)

5 Alle Berechtigungen an Root vergeben

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
Query OK, 0 rows affected (0,00 sec)

6 Flush druchführen

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0,01 sec)

7 Exit und reconnect ohne sudo

Vi Pfeiltasten unter Ubuntu 14.04 / 16.04

Unter Ubuntu hatte ich oft das Problem, dass die Pfeiltasten im InsertMode (i) nicht die Navigation übernommen haben. Stattdessen haben die Pfeiltasten Buchstaben gesetzt (Steuerzeichen).

Das kann man in der Datei

/etc/vim/vimrc.tiny

beheben:

Ändern von

set compatible

nach

set nocompatible

Anschliessend funktionieren die Pfeiltasten wieder korrekt.