9. Oktober 2024

Installation Nextcloud 30 HUB 9

Nextcloud 30 Hub 9 wurde veröffentlicht, und dieses Mal sind die Änderungen in Bezug auf Funktionen, Anwendungen, Verbesserungen und die UI signifikant. Es gibt ein frisches UI-Update. Es ist kompakter, und die runden Formen sind gut gelungen. Fast jede Core App hat ein Neudesign erhalten. Die Talk UI wurde auch überarbeitet und sieht fantastisch aus.

Was Du für diese Installation benötigst:

  • Server mit Ubuntu 24.04 OS
  • Minimum 1GB RAM und 20GB HDD
  • 1cpu core
  • Ein Domainname der auf die IP des Servers zeigt

Was wir in diesem Artikel abdecken werden:

  • Firewall mit den Ports konfigurieren
  • Installation von LAMP (PHP-FPM, Apache)
  • Redis für den Cache

1. Den Server Vorbereiten:

Du musst den Upgrade-Befehl möglicherweise nicht ausführen, da Ubuntu 24.04 LTS neu ist, aber um gründlich zu sein, lasse es trotzdem laufen:

apt update && apt upgrade -y

Standardmäßig ist der SSH-Port 22.
Wenn Deiner anders ist, justiere den Befehl entsprechend unten.
Wir werden auch die Ports 80 und 443 in der Firewall öffnen.

ufw default allow outgoing
ufw default deny incoming
ufw allow 22
ufw allow 80
ufw allow 443
ufw enable
ufw status
2024-10-27-23_18_46-srv106-nextcloud Installation Nextcloud 30 HUB 9

2. Installation LAMP (ohne Datenbank)

Lass uns LAMP Stack installieren.
Ubuntu 24.04 kommt mit PHP 8.3, was wir hier brauchen.

apt install apache2 libapache2-mod-php php php-gmp php-bcmath php-gd php-json php-mysql php-cli php-curl php-mbstring php-intl php-imagick php-xml php-zip php-fpm php-redis php-apcu php-opcache php-ldap php-bz2 bzip2 zip unzip imagemagick vim ffmpeg redis-server

Um PHP FPM zu aktivieren, führe die folgenden Befehle aus.

a2enconf php8.3-fpm
a2dismod php8.3
a2dismod mpm_prefork
a2enmod mpm_event

Ein paar Apache-Module Aktivierst Du mit:

a2enmod ssl rewrite headers proxy proxy_http deflate cache proxy_wstunnel http2 proxy_fcgi env expires

Um die php8.3-fpm für Apache zu Aktivieren, tun wir das mit:

systemctl enable apache2
systemctl enable php8.3-fpm
systemctl enable mariadb

Dann muss der Webserver Apache2 noch neu gestartet werden mit:

systemctl restart apache2

3. Konfiguration mit PHP

Da wir PHP FPM verwenden, aktualisieren wir die FPM-Konfigurationsdatei:

nano /etc/php/8.3/fpm/php.ini
output_buffering = off (line 236)
max_execution_time = 180 (line 419)
memory_limit = 512M (line 445)
post_max_size = 1G (line 713)
upload_max_filesize = 1G (line 865)
date.timezone = Europe/Vienna (line 989)

opcache.enable=1 (line 1782)
opcache.enable_cli=1 (line 1785)
opcache.memory_consumption=512 (line 1788)
opcache.interned_strings_buffer=96 (line 1791)
opcache.max_accelerated_files=10000 (line 1795)
opcache.revalidate_freq=1 (line 1813)
opcache.save_comments=1 (line 1820)

Anschliessend noch den Dienst neu starten mit:

systemctl restart php8.3-fpm

4. Tuning PHP FPM

Dies ist optional und hängt von Deinen Bedürfnissen ab.
Wenn die Standardeinstellungen für Dich funktionieren, kannst Du diesen Schritt zu überspringen.

nano /etc/php/8.3/fpm/pool.d/www.conf

Aktivieren oder ändere die Werte entsprechend wie folgt:

pm = dynamic  (line 116)
pm.max_children = 12  (line 127)
pm.start_servers = 6  (line 132)
pm.min_spare_servers = 4  (line 137)
pm.max_spare_servers = 8  (line 142)
pm.max_requests = 0  (line 159)

Den Dienst wieder neu starten, damit die Änderungen wirksam werden:

systemctl restart php8.3-fpm

5. Download Nextcloud

cd /var/www
wget https://download.nextcloud.com/server/releases/nextcloud-30.0.0.zip

Entpacke das Nextcloud-Archiv und verschiebe es in das Web-Root-Verzeichnis (html):

unzip nextcloud-30.0.0.zip
rm /var/www/html/index.html
shopt -s dotglob
mv nextcloud/* html/

Erstelle ein Datenverzeichnis außerhalb des HTML-Verzeichnisses:

mkdir /var/www/data

Die Berechtigungen setzen mit:

chown -R www-data:www-data /var/www/html
chown -R www-data:www-data /var/www/data

6. Apache virtual host erstellen:

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

Füge nun folgendes hinzu und ersetzen die DOMAIN.COM mit der eigenen:

<VirtualHost *:80>
    ServerName DOMAIN.COM

    DocumentRoot /var/www/html

    <Directory "/var/www/html">
        AllowOverride All
        Options -Indexes +FollowSymLinks
    </Directory>

    ErrorLog /var/log/apache2/nextcloud_error.log
</VirtualHost>

Aktivieren der neuen Konfiguration und starte den Apache neu mit:

a2dissite 000-default.conf
a2ensite nextcloud.conf
apachectl -t
systemctl restart apache2

7. Installation der Nextcloud

Sobald alle oben genannten Schritte abgeschlossen sind,
kannst Du jetzt auf den Domainnamen im Browser klicken, um loszulegen.
Die meisten Installationsschritte sind gleich.

  • username
  • password für den user
  • Datenpfad (/var/www/data)
  • Databank Zugangsdaten

http://server-ip