Nextcloud auf einem CentOS-7-Server bei centron installieren

Nextcloud ist – wie der Name schon andeutet – eine überzeugende Alternative zur Open-Source-Dateihosting-Lösung ownCloud.

In dieser Anleitung zeige ich dir, wie du Nextcloud auf einer centron CentOS-7-Serverinstanz bereitstellst.

Voraussetzungen

  • Eine frisch bereitgestellte centron CentOS-7-Serverinstanz.
  • Ein Benutzerkonto mit sudo-Rechten für den Login.

Schritt 1: System aktualisieren

Melde dich mit deinem sudo-Benutzer an und bringe das System auf den neuesten stabilen Stand:

sudo yum install epel-release -y

sudo yum update -y

sudo shutdown -r now

Nach dem Neustart loggst du dich erneut mit demselben sudo-Benutzer ein.

Schritt 2: Apache installieren

Richte Apache als Webserver ein, über den Nextcloud laufen wird:

sudo yum install httpd -y

Deaktiviere die standardmäßige Apache-Willkommensseite:

sudo sed -i 's/^/#&/g' /etc/httpd/conf.d/welcome.conf

Aus Sicherheitsgründen soll Apache keine Verzeichnisinhalte im Webroot /var/www/html auflisten:

sudo sed -i "s/Options Indexes FollowSymLinks/Options FollowSymLinks/" /etc/httpd/conf/httpd.conf

Wie von Nextcloud gefordert, verhindere das Laden der WebDAV-Module durch Apache:

sudo sed -i 's/^/#&/g' /etc/httpd/conf.modules.d/00-dav.conf

Starte Apache und stelle sicher, dass der Dienst beim Booten automatisch startet:

sudo systemctl start httpd.service

sudo systemctl enable httpd.service

Schritt 3: PHP und benötigte PHP-Erweiterungen installieren

Nextcloud empfiehlt PHP 5.6. Du kannst PHP 5.6 sowie die erforderlichen Erweiterungen über das IUS-YUM-Repository installieren.

Füge zunächst das IUS-YUM-Repository hinzu:

cd

wget https://centos7.iuscommunity.org/ius-release.rpm

sudo rpm -Uvh ius-release.rpm

Installiere danach PHP 5.6 samt aller notwendigen Erweiterungen aus IUS:

sudo yum install php56u php56u-common php56u-xml php56u-gd php56u-mbstring php56u-process php56u-mysqlnd php56u-intl php56u-mcrypt php56u-imap php56u-cli -y

Erhöhe die PHP-Upload-Limits auf einen passenden Wert, zum Beispiel 50 MB:

sudo cp /etc/php.ini /etc/php.ini.bak

sudo sed -i "s/post_max_size = 8M/post_max_size = 50M/" /etc/php.ini

sudo sed -i "s/upload_max_filesize = 2M/upload_max_filesize = 50M/" /etc/php.ini

Starte Apache neu, damit die Änderungen aktiv werden:

sudo systemctl restart httpd.service

Schritt 4: MariaDB installieren und eine Nextcloud-Datenbank anlegen

Installiere MariaDB:

sudo yum install mariadb mariadb-server -y

Starte MariaDB und aktiviere den Autostart beim Systemboot:

sudo systemctl start mariadb.service

sudo systemctl enable mariadb.service

Sichere die MariaDB-Installation ab:

sudo /usr/bin/mysql_secure_installation

Beantworte die Fragen dabei wie folgt:

  • Enter current password for root (enter for none): Enter
  • Set root password? [Y/n]: Y
  • New password: <your-password>
  • Re-enter new password: <your-password>
  • Remove anonymous users? [Y/n]: Y
  • Disallow root login remotely? [Y/n]: Y
  • Remove test database and access to it? [Y/n]: Y
  • Reload privilege tables now? [Y/n]: Y

Lege nun eine eigene Datenbank für Nextcloud an:

mysql -u root -p

Gib das zuvor gesetzte MariaDB-Root-Passwort ein, um die MySQL-Shell zu öffnen.

In der Shell erstellst du Datenbank und Benutzer und vergibst Rechte. Ersetze den Datenbanknamen nextcloud, den Nutzer nextclouduser und das Passwort yourpassword konsequent durch deine Werte:

CREATE DATABASE nextcloud;

CREATE USER 'nextclouduser'@'localhost' IDENTIFIED BY 'yourpassword';

GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextclouduser'@'localhost' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION;

FLUSH PRIVILEGES;

EXIT;

Schritt 5: Nextcloud installieren

Lade die aktuelle stabile Nextcloud-Version von der offiziellen Website herunter. Zum Zeitpunkt der Erstellung dieser Anleitung war 9.0.53 die neueste stabile Version.

cd

wget https://download.nextcloud.com/server/releases/nextcloud-9.0.53.zip

Entpacke das Nextcloud-Archiv:

sudo yum install unzip -y

unzip nextcloud-9.0.53.zip

Verschiebe die Nextcloud-Dateien in das Webroot und setze die passenden Berechtigungen:

sudo mv nextcloud/* /var/www/html && sudo chown apache:apache -R /var/www/html

Installiere Nextcloud per Kommandozeile mit den folgenden Beispielwerten. Ersetze sie durch deine echten Daten.

  • database-name: nextcloud
  • database-user: nextclouduser
  • database-pass: yourpassword
  • admin-user: admin
  • admin-pass nextcloudadminpassword

Starte die Installation mit:

cd /var/www/html/

sudo -u apache php occ maintenance:install --database "mysql" --database-name "nextcloud" --database-user "nextclouduser" --database-pass "yourpassword" --admin-user "admin" --admin-pass "nextcloudadminpassword"

Wenn alles korrekt läuft, erscheint eine Ausgabe wie:

Nextcloud is not installed - only a limited number of commands are available

ownCloud was successfully installed

Trage deine Server-IP (z. B. 203.0.113.1) und deine Domain (z. B. www.example.com) in die Liste der vertrauenswürdigen Domains ein:

sudo vi /var/www/html/config/config.php

Suche diese Zeile:

0 => 'localhost',

Füge direkt darunter diese beiden Zeilen ein:

1 => '203.0.113.1',

2 => 'www.example.com',

Speichere und beende den Editor:

:wq!

Nach der Installation solltest du strikte Rechte für Dateien und Ordner setzen, um unbefugten Zugriff zu verhindern:

sudo find /var/www/html -type f -print0 | sudo xargs -0 chmod 0640

sudo find /var/www/html -type d -print0 | sudo xargs -0 chmod 0750

sudo chown -R root:apache /var/www/html

sudo chown -R apache:apache /var/www/html/apps

sudo chown -R apache:apache /var/www/html/config

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

sudo chown -R apache:apache /var/www/html/themes

sudo chown -R apache:apache /var/www/html/updater

sudo chmod 0644 /var/www/html/.htaccess

sudo chown root:apache /var/www/html/.htaccess

sudo chmod 0644 /var/www/html/data/.htaccess

sudo chown root:apache /var/www/html/data/.htaccess

Beachte außerdem, dass das Verzeichnis /var/www/html/assets noch nicht existiert. Falls du es später anlegst, führe diesen Befehl aus:

sudo chown -R apache:apache /var/www/html/assets

Diese Rechte helfen dabei, Nextcloud vor unautorisiertem Zugriff zu schützen.

Hinweis: Für spätere Updates kannst du die Rechte vorübergehend lockern mit:

sudo chown apache:apache -R /var/www/html

Nach dem Update setzt du die strikten Rechte wie oben wieder.

Starte Apache neu, um alles zu übernehmen:

sudo systemctl restart httpd.service

Passe die Firewall so an, dass HTTP und HTTPS erreichbar sind:

sudo firewall-cmd --zone=public --permanent --add-service=http

sudo firewall-cmd --zone=public --permanent --add-service=https

sudo firewall-cmd --reload

Fertig. Du kannst nun im Browser http://203.0.113.1 aufrufen und dich mit dem angelegten Nextcloud-Admin-Konto anmelden.

Quelle: vultr.com

Jetzt 200€ Guthaben sichern

Registrieren Sie sich jetzt in unserer ccloud³ und erhalten Sie 200€ Startguthaben für Ihr Projekt.

Das könnte Sie auch interessieren:

Moderne Hosting Services mit Cloud Server, Managed Server und skalierbarem Cloud Hosting für professionelle IT-Infrastrukturen

Kimi Linear: Effiziente KI-Inferenz für lange Kontexte

AI/ML, Tutorial
VijonaGestern um 14:12 Uhr Kimi Linear: Eine hardwarebewusste Architektur für effiziente KI-Inferenz mit langen Kontexten Moonshot AI hat erneut eine bemerkenswerte Veröffentlichung vorgestellt. Nachdem Kimi-K2 und der dazugehörige Post-Training-Ansatz bereits einen…
Moderne Hosting Services mit Cloud Server, Managed Server und skalierbarem Cloud Hosting für professionelle IT-Infrastrukturen

Apache Airflow: Workflow-Orchestrierung erklärt

Python, Tutorial
VijonaGestern um 13:48 Uhr Apache Airflow: Workflow-Orchestrierung für Datenpipelines Moderne datengetriebene Organisationen arbeiten mit Pipelines, die Informationen erfassen, umwandeln, anreichern und von einem System in ein anderes übertragen. Solche Datenpipelines bestehen…
Moderne Hosting Services mit Cloud Server, Managed Server und skalierbarem Cloud Hosting für professionelle IT-Infrastrukturen

Schnellere LLM-Workflows mit Python erstellen

AI/ML, Tutorial
VijonaGestern um 13:20 Uhr Schnellere agentenbasierte LLM-Workflows mit asynchronen Python-Aufrufen erstellen Große Sprachmodelle können im produktiven Einsatz anspruchsvoll sein, da sie ungenaue Antworten, uneinheitliches Verhalten oder spürbare Verzögerungen verursachen können. Je…