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):
- Neue VM erstellen (ESXi 5.5, VM mit Ubuntu-Linux, 4 CPUs, 8GB RAM)
- 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.
- Alfresco auf der neuen VM installieren.
- Für die Installation verwende ich die default Installations-Routine von Alfresco.
- Die Ports Ändere ich auf 80 bzw. 443.
- Den Service installiere ich auch mit der Alfresco Installations-Routine.
- Memory anpassen: Link
- Max Open Files anpassen: Link
- 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
- Zwei eigene Listen (Inventar und Bibliothek). Hier zeige ich nur die Bibliotheksliste. Das selbe auch für Inventar machen.
- 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
- Download Buttons entfernen: Link
- Header-Icons ausblenden, welche nicht gebraucht werden: Link
- Download-Button nur wenn Schreibrecht vorhanden: Link
Alte Alfresco-Instanz backupen
- Alte Alfresco-Instanz stoppen
- Ganze DB backupen
- Postgres starten
sudo /opt/alfresco-community/alfresco.sh start postgresql
- Die gesamte Alfresco-Datenbank dumpen
cd /opt/alfresco-community/postgresql/bin/
./pg_dump -h localhost -U alfresco alfresco > /tmp/alfrescodbdump
- Postgres stoppen
sudo /opt/alfresco-4.2.d/alfresco.sh stop postgresql
- Postgres starten
- 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
- Die neue Alfresco-Instanz stoppen.
- Nun die Postgresql-Datenbank der NEUEN Installation starten:
sudo /opt/alfresco-community/alfresco.sh start postgresql
- 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:
- Die gelöschte Datenbank wieder erstellen
$ sudo ./createdb -U postgres -T template0 alfresco -h localhost Password:
- 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
- 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.
- 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
- Jetzt den mount-Punkt „alf_data“ des NFS-Servers auf die neue Alfresco-Instanz mounten.
- Nun die postgres Daten wieder zurück kopieren
sudo rm -r sudo cp ~/alf_data/postgresql/* /opt/alfresco/alf_data/postgresql/
- 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),
- iso ins Betriebssystem einhängen
sudo mkdir /mnt/cdrom
sudo mount /dev/cdrom /mnt/cdrom
- 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
- Pakete fürs Kompilieren holen/überprüfen, falls diese noch nicht installiert sind
- #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
- Shutdown der VM, welche kopiert werden soll
- Click on the host > Configuration tab
- Select Hardware > Storage to display the datastores
- Right-click on the datastore with the VM you want to clone > Browse Datastore
- Create a new folder in the store
- Right click on the VM folder and select Copy (must be done in the right pane of the Datastore Browser)
- Paste the VM to a new sub folder (otherwise the VM will overwrite itself)
- Once copied, rename and move the folder if desired
- 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
IntelliJ auf Ubuntu installieren
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.
MySQL Backup einer best. Mysql-Datenbank erstellen
mysqldump --host=hostname --opt datenbank --user=root --password=password > datensicherung.sql
mysqldump --databases test > dump.sql
Links