LAMPNextcloudVPS

Neue Installation Nextcloud 13 auf Ubuntu 16.04 LTS mit php7.2-fpm und Apache2

Wenn wir noch keine Nextcloud 12 Installation haben, können wir eine frische Nextcloud 13 Installation durchführen. Die Schritte, die wir dazu durchführen müssen, möchte ich in diesem Artikel einmal komplett beschreiben.

Vorbereitung Server

Zuerst fügen wir einige PPAs für php, Apache2 und natürlich für certbot hinzu:

sudo apt-get install software-properties-common
sudo apt-get install -y python-software-properties
sudo add-apt-repository -y ppa:ondrej/php
sudo add-apt-repository -y ppa:ondrej/apache2
sudo add-apt-repository -y ppa:certbot/certbot
sudo apt-get update

und installieren die Software-Pakete, die wir benötigen:

sudo apt-get install lamp-server^
sudo apt-get install libapache2-mod-php7.2 php7.2-cli php7.2-common php7.2-mbstring php7.2-gd php7.2-intl php7.2-xml php7.2-mysql php7.2-zip php7.2-dev php7.2-curl php7.2-fpm php-dompdf php-apcu redis-server php-redis unzip nano
sudo a2dismod mpm_prefork
sudo a2enmod proxy_fcgi setenvif mpm_event
sudo a2dismod php7.2
sudo a2enconf php7.2-fpm
sudo apt-get install python-certbot-apache

die mysql-Installation sichern wir ab:

sudo mysql_secure_installation

Danach laden wir uns die aktuellste 13er-Version von Nextcloud herunter:

wget https://download.nextcloud.com/server/releases/latest-13.zip

und entpacken diese:

unzip latest-13.zip

Im Anschluß verschieben wir den entpackten Ordner an die richtige Stelle. Wenn wir nur Nextcloud auf diesem Server bereitstellen wollen, können wir die Daten in den Ordner /var/www/html/ verschieben und die Berechtigungen anpassen.

sudo mv nextcloud/* /var/www/html/
sudo chown -R www-data:www-data /var/www/html/

Um uns die Option weiterer Webseiten offen zu halten, verschieben wir den gesamten Ordner in den Pfad /var/www/html/

sudo mv nextcloud/ /var/www/html/
sudo chown -R www-data:www-data /var/www/html/nextcloud

 

Datenbank anlegen

sudo mysql -u root -p
create database nextcloud;
create user nextcloud@localhost identified by 'DEIN_PASSWORT';
grant all privileges on nextcloud.* to nextcloud@localhost;
flush privileges;
exit;

 

Webserver vorbereiten

Wir müssen einige Module im Apache aktivieren und den Webserver neu starten:

sudo a2enmod rewrite headers env dir mime
sudo service apache2 restart

und müssen einen Apache-vhost anlegen, dazu kopieren wir die default-vhost Konfiguration in eine neue Datei und bearbeiten diese:

sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/001-nextcloud.conf
sudo nano /etc/apache2/sites-available/001-nextcloud.conf

Zwischen dem „VirtualHost“-Block:

ServerName nextcloud.deine-domain.tld
ServerAdmin webmaster@deine-domain.tld
DocumentRoot /var/www/html/nextcloud

danach aktivieren wir die Site:

sudo a2ensite 001-nextcloud.conf
sudo systemctl restart apache2

Da wir die Site natürlich über https erreichen wollen, erstellen wir uns ein LetEncrypt-Zertifikat. Am einfachsten funktioniert das mit Certbot den wir oben bereits installiert haben:

sudo certbot --apache

 

Bei der letzten Abfrage bestätigen wir mit „2“, dass ein redirect erfolgen soll.
Certbot legt dann eine zweite vhost-Konfigurationsdatei an, die wir dann noch einmal bearbeiten:

sudo nano /etc/apache2/sites-available/001-nextcloud-le-ssl.conf

und fügen dort die folgenden Zeilen ein:

Header always set Strict-Transport-Security "max-age=15768000; preload; includeSubDomains"

dann starten wir den Webserver neu:

sudo systemctl restart apache2

 

Installation Nextcloud

Nun rufen wir unsere Domain im Browser auf:

und tragen die entsprechenden Daten ein.

Nacharbeiten

Um die Warnungen in der Verwaltung wegzubekommen führen wir die folgenden Anpassungen durch:

Als erstes bearbeiten wir die php.ini:

sudo nano /etc/php/7.2/fpm/php.ini

und fügen den folgenden Code ein:

opcache.enable=1
opcache.enable_cli=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1

danach nehmen wir uns die config.php von Nextcloud vor, um den Cache zu konfigurieren und das Datenverzeichnis anzupassen:

sudo nano /var/www/html/nextcloud/config/config.php

den folgenden Code einfügen:

'memcache.local' => '\OC\Memcache\Redis',
'memcache.locking' => '\\OC\\Memcache\\Redis',
'redis' => array(
'host' => 'localhost',
'port' => 6379,
),

für den ersten Fehler bearbeiten wir die apache2.conf:

sudo nano /etc/apache2/apache2.conf

und ändern den folgenden Code:

<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>

zu

<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>

Die Hintergrund-Aufgaben in den Grundeinstellungen ändern wir noch auf cron und konfigurieren den Cron-Job des Users www-data:

sudo crontab -u www-data -e

dort die Zeile einfügen:

*/15 * * * * php -f /var/www/html/nextcloud/cron.php

Zum Schluß noch ein:

sudo systemctl restart apache2
sudo systemctl restart php7.2-fpm

Nun haben wir ein frisch installiertes Nextcloud 13 und können z.B Collabora Online Office anbinden

2 Gedanken zu „Neue Installation Nextcloud 13 auf Ubuntu 16.04 LTS mit php7.2-fpm und Apache2

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.