Skip to content

Nextcloud Quick Install

Installation auf einem Ubuntu 22.04 LTS

Modul Bedeutung und Funktion
apache2 Der Apache HTTP Server, einer der am häufigsten verwendeten Webserver.
mariadb-server MariaDB, eine relationale Datenbank, die eine Abspaltung von MySQL ist.
openssl Eine Toolkit-Implementierung des Secure Sockets Layer (SSL) und Transport Layer Security (TLS) Protokolls.
php PHP, eine Skriptsprache, die hauptsächlich für die serverseitige Webentwicklung verwendet wird.
wget Ein Befehlszeilenprogramm zum Herunterladen von Dateien aus dem Internet.
curl Ein Befehlszeilen-Tool für die Datenübertragung mit URL-Syntax.
zip und unzip Werkzeuge zum Komprimieren und Dekomprimieren von Dateien und Verzeichnissen.
php-mysql PHP-Erweiterung für die MySQL-Datenbankanbindung.
php-zip PHP-Erweiterung für die Arbeit mit ZIP-Archiven.
libapache2-mod-php Apache-Modul für die Integration von PHP in den Webserver.
php-xml PHP-Erweiterung für die Verarbeitung von XML-Dokumenten.
php-mbstring PHP-Erweiterung für Multibyte-String-Manipulationen.
php-gd PHP-Erweiterung für die dynamische Erzeugung von Bildern.
php-curl PHP-Erweiterung für die Unterstützung von cURL, einem Werkzeug für die Datenübertragung mit URLs.
php-apcu PHP-Erweiterung für den Alternativen PHP Cache - User Cache, ein Cache-System für PHP-Anwendungen.
php-intl PHP-Erweiterung für Internationalisierung und Lokalisierung.
php-bcmath PHP-Erweiterung für präzise mathematische Berechnungen mit beliebiger Genauigkeit.
php-gmp PHP-Erweiterung für GNU Multiple Precision, für mathematische Operationen.
php-imagick PHP-Erweiterung für die Manipulation von Bildern mit der ImageMagick-Bibliothek.
libmagickcore-6.q16-6-extra Zusätzliche Bibliotheken für ImageMagick, die für die Bildmanipulation benötigt werden.
Konfigurationsoption Bedeutung
output_buffering = Off Deaktiviert den Ausgabe-Puffer.
memory_limit = 2048M Legt das maximale Limit für den Speicherverbrauch eines einzelnen PHP-Skripts auf 2048 Megabyte fest.
upload_max_filesize = 20G Definiert die maximale Größe von hochgeladenen Dateien auf 20 Gigabyte.
post_max_size = 20G Legt das maximale Limit für die Größe aller POST-Daten in einem HTTP-POST-Request auf 20 Gigabyte fest.
opcache.interned_strings_buffer=16 Reserviert 16 Megabyte Speicher im OPcache für internierte Zeichenketten, was die Leistung in Bezug auf Zeichenkettenoptimierung unterstützt.
extension=apcu.so Aktiviert die Erweiterung "apcu.so" (Alternative PHP Cache - User Cache), die einen benutzerdefinierten Cache für PHP-Anwendungen bereitstellt.
apc.enable_cli=1 Aktiviert den APC-Cache auch für PHP-CLI (Command Line Interface) Anwendungen.

Vorbereitung des Webservers

Benötigte Pakete

root@nc:~# apt update && apt upgrade -y

apt install -y apache2  mariadb-server openssl php wget curl zip unzip php-mysql php-zip libapache2-mod-php php-xml php-mbstring php-gd php-curl php-apcu php-intl php-bcmath php-gmp php-imagick libmagickcore-6.q16-6-extra

MariaDB - Datenbank

mysql_secure_installation
    Enter current password for root (enter for none):
    Switch to unix_socket authentication [Y/n] n
    Change the root password? [Y/n] Y
    New password:SQL#Root
    Re-enter new password:SQL#Root
    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
Nextcloud DB Einrichten

root@nc:~# mysql
    create database nextcloud;
    create user 'nc_user'@'localhost' identified by 'nc_pass';
    grant all privileges on nextcloud.* to 'nc_user'@'localhost' identified by 'nc_pass';
    flush privileges;
    exit;   
Testen

root@nc:~# mysql -u nc_user -p
    show databases;
    exit;

Webserver Anpassen

Apache2 Anpassen

root@nc:~# vi /etc/apache2/sites-enabled/000-default.conf

<VirtualHost *:80>

    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/nextcloud

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    <Directory "/var/www/nextcloud">
        Require all granted
        AllowOverride All
        Options FollowSymLinks MultiViews
    </Directory>

</VirtualHost>

PHP Anpassungen

root@nc:~# vi /etc/php/8.1/apache2/php.ini
    output_buffering = Off
    memory_limit = 2048M
    upload_max_filesize = 20G
    post_max_size = 20G
    opcache.interned_strings_buffer=16
vi /etc/php/8.1/mods-available/apcu.ini
extension=apcu.so
apc.enable_cli=1

Aktivieren der Änderungen

a2enmod rewrite
root@nc:~# systemctl restart apache2
root@nc:~# mkdir /var/www/nextcloud
root@nc:~# cd /var/www/nextcloud/
root@nc:/var/www/nextcloud# wget https://download.nextcloud.com/server/installer/setup-nextcloud.php
root@nc:/var/www/nextcloud# cd ..
root@nc:/var/www# chown -R www-data:www-data nextcloud/
root@nc:~# vi /var/www/nextcloud/config/config.php

IP-Adresse im Webbroser aufrufen, es sollte die Initiale Installations Seite der Nextcloud zu sehen sein.

!BILD-Admin!