Nextcloud – Die Installation

Hallo Freunde,

Hier werde ich aufzeigen, wie man das System vorbereit und Nextcloud installiert und erst einmal grundlegend konfiguriert. Meine Installation erfolgt auf einem gemieteten VServer, der mich ~5€ / Monat kostet. Damit kann ich vor überall darauf zugreifen, habe 320GB Speicherplatz und eine ausreichend schnelle Anbindung. Ein sehr gutes Angebot, wie ich finde. Als Betriebssystem läuft ein Ubuntu 20.04 LTS mit Minimalkonfiguration und SSH Zugriff.

Der Zugriff auf den Server

Um auf den Server mittels SSH Zugriff zu erhalten, nutzt man unter Windows am besten Putty und unter Linux nimmt man ja sowieso das Terminal zur Verbindung.

Hinweis: Die hier gezeigte IP-Adresse ist natürlich frei erfunden!

ssh root@33.132.332.334

Sind wir verbunden, bringen wir die Kiste erst einmal auf den aktuellen Stand:

apt update && apt full-upgrade -y

Installation der benötigten Pakete

Um am Ende einen lauffähigen Nextcloud Server zu bekommen, sind verschiedene „dependencies„, also Abhängigkeiten von Nöten, die wir jetzt installieren und einrichten.

Zum einen brauchen wir einen Webserver, damit wir dann eine tolle Web-Oberfläche haben und sehen was wir da anklicken und zum anderen einen Datenbankserver, um alles korrekt zu speichern:

sudo apt-get install apache2 mysql-server -y

Der nächste Schritt ist der, dass wir weitere Voraussetzungen wie PHP installieren:

sudo apt-get install php zip libapache2-mod-php php-gd php-json php-mysql php-curl php-mbstring php-intl php-imagick php-xml php-zip php-mysql php-bcmath php-gmp -y

Hinweis zur Installation:

Ist auch PHP installiert, werden wir die MySQL Datenbank einrichten. Nachdem wir den Befehl eingeben haben, tippen wir ein „y„, um ein sicheres Passwort zu setzen. Ich wähle dann die „1„, um ein sicheres Passwort mit mehr als 8 Zeichen, Groß- und Kleinschreibung und Sonderzeichen.  

Das Passwort bestätigen wir mit einem „y“ und wir entfernen den „anonymous user“mit einem „y„. Des Weiteren habe ich nächsten 3 Fragen mit „y“ beantwortet.

sudo mysql_secure_installation

Nun loggen wir uns als root in die Datenbank ein, mit dem vorher vergebenen Passwort:

sudo mysql -u root -p

Erfolgreich eingeloggt, erstellen wir eine Datenbank, einen Benutzernextcloud“ mit dem Passwort: „PASSWORD“ und geben ihm die Rechte, auf die Datenbank zuzugreifen.

CREATE DATABASE nextcloud;
CREATE USER 'nextcloud'@'localhost' IDENTIFIED BY 'PASSWORD';
GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud'@'localhost';
FLUSH PRIVILEGES;
exit

Super, mit MySQL sind wir durch. Nun geht es an die Installation von Nextcloud selbst. Dazu laden wir uns die aktuelle Version herunter, entpacken diese und verschieben den neuen Ordner in das Ziellverzeichnis. Ist das Verzeichnis an dem gewünschten Ort, geben wir diesen auch die erforderlichen Rechte mit.

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

Starke Sache das! Wir haben es fast geschafft. Jetzt konfigurieren wir noch den Apache Webserver, damit dieser mit Nextcloud funktioniert. Dazu Erstellen wir uns die Config-File. In diese kommt folgender Inhalt:

sudo nano /etc/apache2/sites-available/nextcloud.conf
Alias /nextcloud "/var/www/html/nextcloud/"
<Directory /var/www/html/nextcloud/>
    Options +FollowSymlinks
    AllowOverride All
      <IfModule mod_dav.c>
        Dav off
      </IfModule>
     
     SetEnv HOME /var/www/html/nextcloud
    SetEnv HTTP_HOME /var/www/html/nextcloud
</Directory>

Speichern mit Strg + O und Schließen Strg + X. Und nun muss diese Config und die benötigten Module nur noch aktiviert werden. Als letztes fehlt noch die „php.ini„, welche wir Erstellen.

sudo a2ensite nextcloud
sudo a2enmod rewrite headers env dir mime
sudo sed -i '/^memory_limit =/s/=.*/= 512M/' /etc/php/7.4/apache2/php.ini

Phewww… Alle geschafft. Neustart vom Apache bitte fein:

sudo systemctl restart apache2

Ok. Um Nextcloud fertig einzurichten, rufen wir unsere IP-Adresse auf, mit einem Backslash und Nextcloud:

http://SERVER_IP/nextcloud

Auf der Web-Oberfläche angekommen, müssen wir uns einen ersten Benutzer anlegen und die Daten für die Datenbank eingeben. Das war:

Datenbank-Benutzer: nextcloud
Datenbank-Name: nextcloud
Passwort: Das von Dir vergebene Passwort
Server: localhost