NextCloud Installtion

System Updaten

apt-get update && apt-get upgrade

Apache installieren

sudo apt install apache2 -y

Verzeichnisliste deaktivieren

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

Starte Apache Service

sudo systemctl start apache2.service

Installiere Maria DB

sudo apt install mariadb-server mariadb-client -y

Maria DB Server Konfiguration

sudo mysql_secure_installation
Enter current password for root (enter for none): Just press the Enter
Set root password? [Y/n]: Y
New password: Gebe hier das Root Passwort ein
Re-enter new password: Repeat 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

Neustart Maria DB Server

sudo systemctl restart mariadb.service

Installation PHP

PHP-Repository hinzufügen

sudo apt-get install software-properties-common
sudo add-apt-repository ppa:ondrej/php

Repositorys Updaten

sudo apt-get update

Endgültige PHP-Installation & Module

sudo apt install php8 libapache2-mod-php8 php8-common php8-gmp php8-url php8-intl php8-mbstring php8-xmlrpc php8-mysql php8-gd php8-xml php8-cli php8-zip php8-imagick php8-ldap -y

Passe die PHP.ini Datei an

sudo nano /etc/php/7.4/apache2/php.ini

Suche hier nach folgenden Stichworten und ändere sie gegebenenfalls ab.

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

Nextcloud Datenbank erstellen

Öffnen Sie den SQL-Dialog

sudo mysql

Datenbank nextcloud erstellen

CREATE DATABASE nextcloud;

Datenbankbenutzer mit Passwort anlegen

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

Zugriff auf die Datenbank gewähren

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

Änderungen sichern und beenden

FLUSH PRIVILEGES;
EXIT;

Lade die neueste Nextcloud-Version herunter

cd /tmp && wget https://download.nextcloud.com/server/releases/nextcloud-22.0.0.zip
sudo apt-get install unzip
sudo unzip nextcloud-22.0.0.zip
sudo mv nextcloud /var/www/

Konfiguriere Apache2

Erstelle eine neue conf Datei

sudo nano /etc/apache2/sites-available/nextcloud.conf
<VirtualHost *:80>
    ServerAdmin master@domain.com
    DocumentRoot /var/www/nextcloud/
    ServerName demo.domain.com
    ServerAlias www.demo.domain.com

    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>

Aktivieren Sie das Nextcloud- und das Rewrite-Modul

sudo a2ensite nextcloud.conf
sudo a2enmod rewrite
sudo a2enmod headers
sudo a2enmod env
sudo a2enmod dir
sudo a2enmod mime

Neustart vom apache Service

sudo systemctl restart apache2.service

Datenordner vorbereiten

cd /home
sudo mkdir /home/data/
sudo chown -R www-data:www-data /home/data/

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

Domain ansurfen und Einrichtung abschließen