Installation Nextcloud unter Ubuntu 22.04 LTS: Unterschied zwischen den Versionen

Aus Privates Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 16: Zeile 16:


*Installion apache
*Installion apache
    apt install apache2
apt install apache2


*Installion PHP 8.1  
*Installion PHP 8.1  
    apt install software-properties-common
apt install software-properties-common
    add-apt-repository ppa:ondrej/php
add-apt-repository ppa:ondrej/php
    apt update
apt update


*Installion PHP 8.1 & Module
*Installion PHP 8.1 & Module
    apt install php8.1 libapache2-mod-php8.1 php8.1-zip php-dompdf php8.1-xml php8.1-mbstring php8.1-gd php8.1-curl php8.1-imagick libmagickcore-6.q16-6-extra php8.1-intl php8.1-bcmath php8.1-gmp php8.1-cli php8.1-mysql php8.1-zip php8.1-gd  php8.1-mbstring php8.1-curl php8.1-xml php-pear unzip nano php8.1-apcu redis-server ufw php8.1-redis
apt install php8.1 libapache2-mod-php8.1 php8.1-zip php-dompdf php8.1-xml php8.1-mbstring php8.1-gd php8.1-curl php8.1-imagick libmagickcore-6.q16-6-extra php8.1-intl php8.1-bcmath php8.1-gmp php8.1-cli php8.1-mysql php8.1-zip php8.1-gd  php8.1-mbstring php8.1-curl php8.1-xml php-pear unzip nano php8.1-apcu redis-server ufw php8.1-redis


# adjust PHP.ini file
# adjust PHP.ini file

Version vom 10. Mai 2023, 05:42 Uhr

Diese Anleistung basiert auf folgender Anleitung:

[1]


Die beiden zusätzlichen Änderungen am Schuss ergeben sich nach dem überprüfen der Einstellungen in Nextcloud.



Nextcloud 25 Installation auf Basis Ubuntu 22.04 LTS


  • Betriebsystem auf aktuellen Stand bringen
apt update && apt upgrade -y
  • Installion apache
apt install apache2
  • Installion PHP 8.1
apt install software-properties-common
add-apt-repository ppa:ondrej/php
apt update
  • Installion PHP 8.1 & Module
apt install php8.1 libapache2-mod-php8.1 php8.1-zip php-dompdf php8.1-xml php8.1-mbstring php8.1-gd php8.1-curl php8.1-imagick libmagickcore-6.q16-6-extra php8.1-intl php8.1-bcmath php8.1-gmp php8.1-cli php8.1-mysql php8.1-zip php8.1-gd  php8.1-mbstring php8.1-curl php8.1-xml php-pear unzip nano php8.1-apcu redis-server ufw php8.1-redis
  1. adjust PHP.ini file

nano /etc/php/8.1/apache2/php.ini

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

  1. Install Databse Server

apt install mariadb-server

  1. Maria DB Server Konfiguration

mysql_secure_installation

  1. open SQL dialoge

mysql

  1. create database calles nextcloud

CREATE DATABASE nextcloud;

  1. create database user with password

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

  1. grant accesss to databse

GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextclouduser'@'localhost';

  1. save changes and exit

FLUSH PRIVILEGES; EXIT;

  1. Download lastest nextcloud version

cd /tmp && wget https://download.nextcloud.com/server/releases/latest.zip unzip latest.zip mv nextcloud /var/www/

  1. create new conf

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>

  1. Enable the NextCloud and Rewrite Module

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

  1. restart apache

service apache2 restart

  1. prepare data folder

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

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

    1. create Let's Encrypt SSL-Certificate
  1. install certbot

apt install certbot python3-certbot-apache

certbot --apache -m master@domain.com -d cloud.domain.com

  1. --> only lasts 90 days
  1. gegebenenfall das Paket cron installieren
  2. install crontab

crontab -e 40 3 * * 0 letsencrypt renew >> /var/log/letsencrypt-renew.log && service apache2 reload > /dev/null 2>&1

--> Domain ansurfen und Einrichtung abschließen



Abschliessende Änderungen:

1. Erweitern der Datei : /etc/apache2/sites-available/nextcloud-le-ssl.conf um folgenden Eintrag

  1. Strict-Transport-Security:
 <VirtualHost *:443>
 ServerName cloud.nextcloud.com

<IfModule mod_headers.c> Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains" </IfModule>

</VirtualHost>


2. Erweitern der Einstellungen in der Datein /var/www/nextcloud/config/config.php um folgenden Eintrag 'default_phone_region' => 'DE',

(bei einer Snap Installation unter Ubuntu 20.04 liegt die Datei unter /var/snap/nextcloud/current/config/config.php)