Skip to content

Update Ubuntu 16 LTS auf Ubuntu 20 LTS

Matthias Ronge edited this page Feb 22, 2021 · 1 revision

Betriebssystem-Update

Zunächst muss man alle ausstehenden Updates installieren:

apt-get update
apt-get upgrade
apt list --upgradable | cut -d/ -f1 | sudo xargs apt-get install
reboot

Dann das Update starten:

do-release-upgrade

Tomcat

Nach dem Update gibt es keinen Tomcat mehr. Tomcat 9 installieren:

apt-get install tomcat9

und erstmal stoppen:

service tomcat9 stop

Die Web-Apps sind noch vorhanden:

cd /var/lib/tomcat8/webapps

Der Tomcat 9 läuft unter dem Benutzer tomcat, nicht mehr unter dem Benutzer tomcat8, daher müssen wir alle Berechtigungen ändern.

chown -R tomcat:tomcat *

Dann ins neue webapps-Verzeichnis verschieben:

mv * ../../tomcat9/webapps/
rmdir /var/lib/tomcat8/webapps /var/lib/tomcat8

Unter /usr/local/kitodo/ alle Rechte ändern:

cd /usr/local/kitodo
find . -user tomcat8 -exec chown -v tomcat {} \;
find . -group tomcat8 -exec chgrp -v tomcat {} \;

Dasselbe gilt für eine eingebundene Datenpartition. Wie genau hängt davon ab, wie die Partition und die Rechte dafür verwaltet werden. In meinem Fall (cifs) musste ich die Datei /etc/fstab ändern und neu booten.

vi /etc/fstab
reboot

Die Datei /lib/systemd/system/tomcat9.service anpassen. Hier NoNewPrivileges auf false setzen (wird für sudo ohne Passwort in den Skripten gebraucht) und ReadWritePaths= für /usr/local/kitodo/ und Datenpartition eintragen. Danach: systemctl daemon-reload.

In der Datei /etc/tomcat9/server.xml den AJP-Connector konfigurieren:

<Connector protocol="AJP/1.3"
           port="8009"
           redirectPort="8443" secretRequired="false" />

Mit dem Befehl sudoedit /etc/sudoers.d/kitodo die Sudoers-Datei bearbeiten und den Tomcat-Benutzer tomcat8 in tomcat ändern. Den Editor mit Strg+x, y, Enter beenden.

Tomcat neu starten:

service tomcat9 restart

Apache

In der Datei /etc/apache2/mods-enabled/jk.conf die Abschnitte

<Location /jk-status>
    # Inside Location we can omit the URL in JkMount
    JkMount jk-status
    Order deny,allow
    Deny from all
    Allow from 127.0.0.1
</Location>
<Location /jk-manager>
    # Inside Location we can omit the URL in JkMount
    JkMount jk-manager
    Order deny,allow
    Deny from all
    Allow from 127.0.0.1
</Location>

auskommentieren. Die entrsprechenden Komponenten sind nicht installiert und mod_jk initialisiert sich dann nicht.

In der Datei /etc/libapache2-mod-jk/workers.properties das workers.tomcat_home auf /usr/share/tomcat9 setzen.

Dann den Apache neu starten:

service apache2 restart

Samba

In den Dateien /lib/systemd/system/smbd.service und nmbd.service im Abschnitt [Service] jeweils die folgenden Zeilen ergänzen:

ReadWritePaths=/var/log/samba/
ReadWritePaths=/var/cache/samba/
ReadWritePaths=/var/spool/samba/
ReadWritePaths=/usr/local/kitodo/users/
ReadWritePaths=/mnt/data/metadata/

Die Dateien mit systemctl daemon-reload neu einlesen. In der Datei /etc/samba/smb.conf im Abschnitt [global] die Zeilen:

server min protocol = LANMAN1
client min protocol = CORE

hinzufügen. Im LDAP für alle existierenden Benutzer die sambaLogonHours korrigieren. Dazu eine correct.ldif erstellen, in der für jeden Benutzer ein Block wie folgt steht (Blöcke durch Leerzeilen trennen):

dn: cn=.........,ou=users,dc=nodomain
changetype: modify
replace: sambaLogonHours
sambaLogonHours: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

Die Datei einspielen mit:

ldapmodify -D 'cn=admin,dc=nodomain' -W -f correct.ldif

Den Dienst neu starten:

systemctl restart smbd nmbd
Clone this wiki locally