Skip to main content

Tutorial #7: Nextcloud installieren und konfigurieren

Video:

Falls du nach einem guten und bezahlbaren Server für deine Projekte suchst, schaue gerne bei Contabo vorbei!
Klicke hier (Partnerlink)

Vorbereitung

1. Server updaten und upgraden:

apt update && apt upgrade -y

2. Benötigte Programme installieren:

apt install apache2 unzip wget curl mariadb-client mariadb-server nano 

PHP8.0 Repository hinzufügen (Debian 11):

apt-get install ca-certificates apt-transport-https software-properties-common gnupg2 -y
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/sury-php.list
wget -qO – https://packages.sury.org/php/apt.gpg | apt-key add –
apt update && apt upgrade -y

Falls ihr weder Debian 10, noch Debian 11 benutzt, sucht im Internet nach den richtigen Repositories bzw. wie man PHP8.0 installiert.

1. PHP8.0 installieren:

apt install php8.0 -y

2. Benötigte Module installieren:

apt install libapache2-mod-php8.0 php8.0-{zip,xml,mbstring,gd,curl,imagick,intl,bcmath,gmp,cli,mysql,apcu,redis}

3. php.ini anpassen:

nano /etc/php/8.0/apache2/php.ini

Folgende Werte abändern:

memory_limit = 1024M
upload_max_filesize = 16G
post_max_size = 16G
date.timezone = Europe/Berlin

Um nicht durch die ganze Config scrollen zu müssen, könnt ihr mit [STRG+W] ein Suchfeld öffnen, den Parameternamen eingeben und mit [Enter] bestätigen, um direkt zur richtigen Zeile zu gelangen.

Datenbank erstellen:

1. In die Datenbanksoftware einloggen:

mysql -u root -p

Ihr werdet nun aufgefordert, euer root-Password einzugeben.

2. Datenbank erstellen:

create database nextcloud;

3. Benutzer erstellen:

create user 'nextcloud'@'localhost' identified by 'PASSWORT';

Ersetze bitte das PASSWORT durch ein sicheres Passwort! (Die beiden Anführungsstriche müssen stehen bleiben!

4. Rechte vergeben:

grant all privileges on nextcloud.* to 'nextcloud'@'localhost';

5. Privilegien flushen:

flush privileges;

6. Datenbanksoftware verlassen:

exit;

Nextcloud installieren:

1. Benötigte Dateien herunterladen:

cd /tmp && wget https://download.nextcloud.com/server/releases/latest.zip

2. Archiv entpacken:

unzip latest.zip

3. Archiv löschen:

rm latest.zip

4. Verzeichnis verschieben:

mv nextcloud /var/www

5. Apache2 Module aktivieren:

a2enmod rewrite headers env dir mime

6. Virtual Host einfügen:

nano /etc/apache2/sites-available/nextcloud.conf
<VirtualHost *:80>
     ServerAdmin <EureEmail>
     DocumentRoot /var/www/nextcloud/
     ServerName <EureDomain>
 
     Alias /nextcloud "/var/www/nextcloud/"
 
     <Directory /var/www/nextcloud/>
        Options +FollowSymlinks
        AllowOverride All
        Require all granted
          <IfModule mod_dav.c>
            Dav off
          </IfModule>
        SetEnv HOME /var/www/nextcloud
        SetEnv HTTP_HOME /var/www/nextcloud
     </Directory>
 
     ErrorLog ${APACHE_LOG_DIR}/error.log
     CustomLog ${APACHE_LOG_DIR}/access.log combined
 
</VirtualHost>

Bitte folgende Werte abändern:
<EureEmail> (Hier tragt ihr eure E-Mail Adresse ein und entfernt die Klammern.)
<EureDomain> (Hier tragt ihr eure (Sub)Domain ein.

7. Config aktivieren:

a2ensite nextcloud.conf

8. Webserver neustarten:

systemctl restart apache2

9. Dateiablage erstellen (Optional):

mkdir /home/data

Wenn ihr eure Daten wo anders speichern wollt, passt den Pfad im Befehl an.

10. Rechte anpassen:

chown -R www-data:www-data /var/www/nextcloud
chmod -R 755 /var/www/nextcloud

#Falls ihr eine Dateiablage erstellt habt:
chown -R www-data:www-data /home/data

#Falls ihr einen anderen Ort als /home/data gewählt habt, passt den Pfad im Befehl an

SSL-Zertifikat installieren:

1. Certbot installieren:

apt install certbot python3-certbot-apache -y

2. Certbot starten:

certbot --apache

Der genaue Zertifizierungsprozess wird in meinem Tutorial gezeigt.

Installation abschließen:

Ruft hierfür eure (Sub)Domain im Browser auf.
Alle weiteren Informationen findet ihr in meinem Tutorial.