<!DOCTYPE html> <html lang="de"> <head> <meta charset="UTF-8"> <meta content="width=device-width, initial-scale=1.0" name="viewport"> <title></title> <link href="/css/style.css" rel="stylesheet"> </head> <body> <jl-header data-title="Nextcloud auf Proxmox"></jl-header> <div id="content"> <p> Im folgenden werde ich Verständlich erklären, wie man eine <a href="//nextcloud.com/">Nextcloud</a> auf einem <a href="//alpinelinux.org/">Alpine Linux</a> LXC Container unter Proxmox installiert. Ich setze als Betriebssystem auf Alpine Linux, da es im gegensatz zu debian extrem klein ist (der basis LXC Container ist nur 2,5mb groß) und trotzdem super einfach zu verwalten ist.<br> Als erstes muss ein Container angelegt werden, hierbei empfehle ich bei der Nextcloud 2 Kerne und 2 GB RAM. Speicher hängt von der größe der Cloud später ab. Alle Werte können nachträglich abgeändert werden, falls diese zu klein sind.<br> Nachdem der LXC aufgesetzt wurde können wir damit anfangen ihn upzudaten und ein paar nützliche tools zu installieren: <pre> <code class="language-bash">apk update apk upgrade apk add nano htop openssh-server wget rc-update add sshd rc-service sshd start</code> </pre> Nun können wir entweder weiter auf der Konsole arbeiten oder uns via SSH verbinden.<br> Im nächsten Schritt können wir nun apache mit PHP installieren. Danach setzen wir den apache noch auf autostart und zu guter letzt starten wir ihn: <pre> <code class="language-bash">apk add apache2 php8-apache2 php8-zip php8-xml php8-dom php8-xmlwriter php8-ctype php8-gd php8-iconv php8-simplexml php8-curl php8-pdo php8-mbstring php8-cli php8-session php8-psql php8-pdo_pgsql php8-xmlreader php8-openssl rc-update add apache2 rc-service apache2 start</code> </pre> Nachdem unser Webserver nun läuft müssen wir noch den Datenbank Server installieren. Hierbei setze ich auf PostgreSQL, im Gegensatz zu MySQL läuft dieser einiges performanter, was sich später auch in der Nextcloud bemerkbar macht. <pre> <code class="language-bash">apk add postgresql rc-update add postgresql rc-service postgresql start</code> </pre> Nachdem wir unseren PostgreSQL Server installiert haben, müssen wir noch eine Datenbank und einen entsprechenden Nutzer mit Passwort anlegen. Dazu müssen wir uns als erstes auf den Datenbankserver verbinden. Dazu müssen wir zuerst mit <code class="language-bash">su postgres</code> auf den Datenbanknutzer wechseln. Danach können wir uns mit <code class="language-bash">psql</code> verbinden. Wenn dies erfolgreich funktioniert hat können wir unsere Datenbank und unseren Nutzer anlegen: <pre> <code class="language-sql">CREATE ROLE nextcloud with PASSWORD 'your-password' LOGIN; CREATE DATABASE nextcloud; GRANT ALL PRIVILEGES ON DATABASE nextcloud TO nextcloud; \q exit</code> </pre> Nun haben wir alle vorbereitungen getroffen und können die eigentlich Nextcloud installieren. Dazu wechseln wir in den Ordner vom Apache und laden uns das install script herunter: <pre> <code class="language-bash">cd /var/www/localhost/htdocs rm index.html wget https://download.nextcloud.com/server/installer/setup-nextcloud.php chown apache /var/www/localhost/htdocs/ -R</code> </pre> Dieses script können wir nun über die IP unseres LXC Containers aufrufen und dort der Setup-Anleitung folgen. Beim Installationsordner können wir ein . eingeben, damit wird die Nextcloud in den aktuellen Ordner installiert. Nachdem dieser Schritt erfolgreich durchlaufen ist landen wir auf der Setup-Seite, dort müssen wir unsere Datenbank und unseren admin Nutzer wie unten im Bild zu sehen angeben. Falls gewünscht unten den Haken bei den empfohlenden Anwendungen entfernen.<br> <img src="/API/getFile.php?filename=img/nextcloud-setup.png"><br> Nachdem die Datenbank angelegt und alle Apps installiert wurden, solltest du auf der Startseite der Nextcloud gelandet sein. Optional kann nun für mehr performance noch ein Memory-Caching konfiguriert werden. Wie dieses eingerichtet ist, kann dem <a href=https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/caching_configuration.html">Handbuch</a> entnommen werden. </p> <h2>Kommentare:</h2> <jl-comments_display></jl-comments_display> <jl-new_comment id="newComment"></jl-new_comment> </div> <jl-footer></jl-footer> <script async defer src='https://www.hCaptcha.com/1/api.js'></script> <script src="/js/script.js"></script>