# 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@nextcloud:~# 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@nextcloud:~# 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@nextcloud:~# mysql -u nc_user -p show databases; exit; ``` ## Webserver Anpassen **Apache2 Anpassen** ``` root@nextcloud:~# vi /etc/apache2/sites-enabled/000-default.conf ServerAdmin webmaster@localhost DocumentRoot /var/www/nextcloud ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined Require all granted AllowOverride All Options FollowSymLinks MultiViews ``` **PHP Anpassungen** ``` root@nextcloud:~# 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@nextcloud:~# systemctl restart apache2 ``` ``` root@nextcloud:~# mkdir /var/www/nextcloud root@nextcloud:~# cd /var/www/nextcloud/ root@nextcloud:/var/www/nextcloud# wget https://download.nextcloud.com/server/installer/setup-nextcloud.php root@nextcloud:/var/www/nextcloud# cd .. root@nextcloud:/var/www# chown -R www-data:www-data nextcloud/ ``` ``` root@nextcloud:~# 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!