-
Notifications
You must be signed in to change notification settings - Fork 64
Update Ubuntu 16 LTS auf Ubuntu 20 LTS
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
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
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
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