Debian, PHP 7.3 und Nextcloud 16

Am 25.04 wurde das langersehnte Release von Nextcloud 16 veröffentlicht.
Da ich kein Update machen wollte, entschloß ich mich zu einer frischen Neuinstallation. Als Grundlage dient mir eine VM auf der QNAP TS-253B. Die Maschine hat 1 Kern, 1024MB RAM sowie 100GB Festplatte zugewiesen bekommen. Als OS kommt das bei mir beliebte Debian in Version 9.8 Stretch mit PHP 7.3 zum Einsatz.

Zuerst sollten wir die VM auf den neuesten Stand bringen. Zusätzlich den Webserver Apache2 sowie MariaDB für die Datenbank installieren und die Paketquellen für PHP 7.3 aufnehmen:

  • apt update && apt dist-upgrade
  • apt install ca-certificates apt-transport-https
  • wget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add –
  • echo “deb https://packages.sury.org/php/ stretch main” | tee /etc/apt/sources.list.d/php.list
  • apt install apache2 mariadb-server
  • apt update && apt dist-upgrade

Benötigte Dienste aktivieren, einschalten, elementare Pakete und deren Abhängigkeiten installieren:

  • systemctl start apache2
  • systemctl enable apache2
  • systemctl start mysql
  • systemctl enable mariadb
  • apt-get install php7.3 libapache2-mod-php php7.3-cgi php7.3-gd php7.3-zip wget unzip php7.3-cli php7.3-common php7.3-curl php7.3-mbstring php7.3-mysql php7.3-xml php-intl php7.3-apcu -y

Nach der ganzen Vorarbeit können wir uns nun Nextcloud zuwenden. Wir laden dazu Nextcloud herunter, entpacken es, verschieben die Dateien in das Verzeichnis des Webservers, und vergeben Rechte dafür.

  • mysql -u root -p
  • create database nextcloud;
  • create user ‘nextcloud’@’localhost’ identified by ‘mypassword’;
  • grant all privileges on nextcloud.* to ‘nextcloud’@’localhost’;
  • flush privileges;
  • \q

Eine Datenbank im Internet bietet immer eine Angriffsfläche, die – soweit es möglich ist – minimiert werden sollte. Dazu gehören eine ordentliche Konfiguration, starke Passwörter sowie regelmässige Updates. Für eine erste Grundkonfiguration liefert MySQL den Befehl mysql_secure_installation welcher leider in den wenigsten Anleitungen erwähnt wird. Die Anwendung ist einfach und sorgt dafür dass unnötige Testzugänge und zu lockere Rechte abgestellt werden. Diesen Befehl ausführen und im Idealfalle alles mit “y” beantworten. Als nächstes müssen wir eine Datenbank anlegen. Dazu melden wir uns an MySQL an, erstellen eine DB für Nextcloud und gewähren die notwendigen Rechte dafür.   

  • wget https://download.nextcloud.com/server/releases/nextcloud-16.0.0.zip
  • unzip nextcloud-16.0.0.zip
  • mv nextcloud /var/www/html/
  • chown -R www-data:www-data /var/www/html/nextcloud

Zum Abschluß noch eine Konfigurationdatei erstellen, die Default-Seite deaktiveren, Webserver neu starten und fertig.

  • nano /etc/apache2/sites-available/nextcloud.conf

In die Datei kommt der Inhalt:

 
<VirtualHost *:80>
ServerAdmin admin@example.com
DocumentRoot "/var/www/html/nextcloud"
ServerName 10.1.1.41
<Directory "/var/www/html/nextcloud/">
Options MultiViews FollowSymlinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
TransferLog /var/log/apache2/nextcloud_access.log
ErrorLog /var/log/apache2/nextcloud_error.log
</VirtualHost>
  • a2dissite 000-default
  • a2ensite nextcloud
  • systemctl restart apache2

Die IP der VM im Browser aufrufen, Anmeldedaten festlegen, Datenbankuser sowie Passwort eintippen.

Das Thema Bereinigen der Einrichtungswarnungen hat Karsten in seinem Blog bereits behandelt. Siehe http://www.kussaw.de/2019/04/nextcloud-16-gelandet/ und http://www.kussaw.de/2019/04/nextcloud-15-0-7-und-fehlermeldungen/. Auch ich habe bereits darüber geschrieben. Siehe Artikel https://gander.in/update-zu-nextcloud/

Update zu Nextcloud

Wie in meinen letzten Beitrag (der auch schon etwas zurück liegt) erwähnt, hatte ich noch Probleme mit meiner Installation von Nextcloud. Heute habe ich mir das nochmal angesehen. Ab und an wurmt mich das ganze doch.

Die fehlende Konvertierung kann man recht einfach loswerden. Hierzu muß aber Nextcloud in den Wartungsmodus versetzt werden. Das geht am einfachsten über die config.php. Bei mir unter var/www/html/nextcloud/config Dort die Zeile “maintenance” => false, nach “maintenance” => true, ändern und anschließend mit service apache2 restart den Webserver neu starten.

Nun als www-data (User unter dem der Webserver läuft) am System anmelden: su -s /bin/bash www-data und ins Verzeichnis von Nextcloud wechseln. Dann noch php occ db:convert-filecache-bigint, Maintenance wieder abschalten, Apache2 erneut neu starten und fertig.

Das Update von PHP schiebe ich noch ein wenig vor mir her.
Auch die Fehlermeldungen


Dein Web-Server ist nicht richtig eingerichtet um “/.well-known/caldav” aufzulösen.
Dein Web-Server ist nicht richtig eingerichtet um “/.well-known/carddav” aufzulösen.

habe ich noch nicht abschließend lösen können. Ich vermute hier als Fehlerursache den rProxy von Synology. Wenn ich die VM über die lokale IP anspreche, sind diese Fehler nämlich verschwunden. Für eine sauber laufende Instanz von Nextcloud ohne Einrichtungswarnungen muß man mittlerweile auch immer mehr Zeit investieren.

Nextcloud 15

Ich habe die am 10.12.2018 veröffentlichte Version zum Anlaß einer Neuinstallation genommen. Als Grundlage dient mir ein Minimal-Debian (meine bevorzugte Distribution für Serveranwendungen) als VM auf der TS-253B. Die Maschine hat einen Kern, 512MB RAM und 50GB HDD zugewiesen bekommen. Für die Installation von Nextcloud habe ich mich grob an an einem Tutorial orientiert. Nach der erfolgreichen Grundinstallation werdet ihr von einer ganzen Reihe Einrichtungswarnungen samt Rechtschreibfehlern begrüßt. 🙂

Die ersten beiden Warnungen kann man beseitigen, indem man das Rewrite-Modul für Apache2 aktiviert. Das macht man am besten über die Konsole. a2enmod rewrite

Für die Warnung bezüglich des PHP-Cache müssen wir das passende Paket noch installieren. Das geschieht mit apt-get install php7.0-apcu.
Um das Paket nun auch noch zu aktivieren, müsst ihr in die config.php von Nextcloud (meist unter /var/www/html/nextcloud/config) ‘memcache.local’ => ‘\OC\Memcache\APCu’, hinzufügen. Um die Veränderungen einzulesen und zu übernehmen noch den Apache2-Dienst mit systemctl restart apache2 neu starten.

Um die Warnung des fehlenden PHP-OPcache zu eliminieren reicht es in die  /etc/php/7.0/apache2/php.ini

opcache.enable=1
opcache.enable_cli=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1

am Ende der Datei zu hinterlegen.

Für den Fehler des fehlenden PHP-Moduls “imagick” reicht es dieses mit  apt-get install php-imagick nachzuinstallieren und den Apache2 neu zu starten.

Mit den bisherigen Schritten werden die Warnungen/Fehlermeldungen schon weniger. Mit den restlichen Bemängelungen habe ich mich noch nicht näher beschäftigt. Eventuell weiß ja der ein oder andere Besucher mehr. Der Zugriff über HTTPS ist in meinem Umfeld weniger von Bedeutung, da schon andere Maßnahmen getroffen wurden. Das Changelog hält wie immer ausführliche und detaillierte Information bereit. 


QTS 4.3.5.0713

Für meine QNAP TS-253B ist ein neues Major-Release veröffentlicht worden.
Es hört auf den Namen 4.3.5 und ist gestern zum Download bereitgestellt worden. 
Dem Release gingen 3 Betas voraus (4.3.5.0684 Public Beta, 4.3.5.0691 Public Beta 2 und 4.3.5.0699 Public Beta 3) die ich aber allesamt ausgelassen habe. Erfreulicherweise hat mich mein NAS drauf hingewiesen, daß man das Update besser nach einem Neustart machen sollte.

Die reine Installation der neuen Firmware war in knapp 2 Minuten erledigt. Nach dem erforderlichen Reboot stand noch eine Dateisystemprüfung an. Diese dauerte bei meinen 2 Volumen etwa 10 Minuten.

Erste große und sichtbaren Neuerungen sind bei dem virtuellen Switch sowie dem Notification Center zu sehen.

 

Der virtuelle Switch zeigt nun welche VMs über welchen Switch gehen. So eine Art Topographie der Netzwerkumgebung. Und über das Notification lassen siche eigenständige Regeln der Benachrichtigung über Ereignisse definieren.

Insgesamt ein rundum gelungenes Update ohne Komplikationen oder Fehler.  

Ausführliche und detaillierte Informationen über Neuerungen, Änderungen und Fixes liefert das Changelog.
Im hiesigen Forum der QNAP-ianer gibt auch einen Thread der sich ganz der neuen Version widmet.