Nextcloud (Linux): Unterschied zwischen den Versionen

Aus Tutorials
Zur Navigation springen Zur Suche springen
 
(14 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 15: Zeile 15:
sudo chown -R www-data:www-data nextcloud
sudo chown -R www-data:www-data nextcloud
</pre>
</pre>
=== Links ===
[https://nextcloud.com/install/ https://nextcloud.com/install/]
== MySQL-Datenbank anlegen ==
<pre>
mysql -u root -p
mysql> create database if not exists nextcloud;
mysql> create user 'nextcloud'@'%' identified by '<password>';
mysql> grant all on nextcloud.* to 'nextcloud'@'%';
mysql> flush privileges;
mysql> quit;
</pre>
== Konfiguration ==


=== Apache ===
=== Apache ===
Folgende Module werden benötigt/empfohlen:
<pre>
sudo a2enmod rewrite
sudo a2enmod headers
sudo a2enmod env
sudo a2enmod dir
sudo a2enmod mime
</pre>
Danach Apache neu starten:
<pre>
sudo service apache2 restart
</pre>
=== HTTPS ===
Erstellung eines SSL-Zertifikates siehe [[SSL_Zertifikat]]


<pre>
<pre>
sudo cat /etc/apache2/sites-available/nextcloud.conf
cd /etc/apache2/sites-available/
sudo nano nextcloud.conf
</pre>
</pre>


<pre>
<pre>
<VirtualHost *:80>
<VirtualHost *:80>
         ServerName nextcloud.<domain>
         ServerName nextcloud.kirner.or.at
         Redirect / https://nextcloud.<domain>
        ServerAlias nextcloud.kirner.or.at
         Redirect / https://nextcloud.kirner.or.at
</VirtualHost>
</VirtualHost>
</pre>
</pre>


<pre>
<pre>
sudo cat /etc/apache2/sites-available/nextcloud-ssl.conf
sudo nano nextcloud-ssl.conf
</pre>
</pre>


<pre>
<pre>
<VirtualHost *:443>
<VirtualHost *:443>
     ServerName nextcloud.<domain>
     ServerName nextcloud.kirner.or.at
 
    ServerAlias nextcloud.kirner.or.at
     SSLEngine on
     SSLEngine on
     SSLCertificateFile /etc/ssl/certs/nextcloud.crt
     SSLCertificateFile /etc/ssl/certs/nextcloud.crt
Zeile 45: Zeile 84:
     KeepAlive On
     KeepAlive On
     KeepAliveTimeout 5
     KeepAliveTimeout 5
    <Directory /var/www/nextcloud/>
        Options +FollowSymlinks
        AllowOverride All
    </Directory>


     <IfModule mod_headers.c>
     <IfModule mod_headers.c>
Zeile 55: Zeile 89:
     </IfModule>
     </IfModule>


     ErrorLog ${APACHE_LOG_DIR}/nextcloud.<domain>-error.log
     ErrorLog ${APACHE_LOG_DIR}/nextcloud.kirner.or.at-error.log
     CustomLog ${APACHE_LOG_DIR}/nextcloud.<domain>-access.log combined
     CustomLog ${APACHE_LOG_DIR}/nextcloud.kirner.or.at-access.log combined
</VirtualHost>
</VirtualHost>
</pre>
</pre>
Zeile 65: Zeile 99:
sudo service apache2 reload
sudo service apache2 reload
</pre>
</pre>
== Optionale Konfiguration ==


=== PHP Memory Cache aktivieren ===
=== PHP Memory Cache aktivieren ===
Installation des Redis-Server siehe: [[Redis-Server (Ubuntu)|Redis-Server]]
Damit der Apache-Benutzer <code>www-data</code> darauf zugreifen kann, muss er zur Gruppe <code>redis</code> hinzugefügt werden:


<pre>
<pre>
sudo apt-get install redis-server php-redis
sudo usermod -aG redis www-data
</pre>
</pre>
Danach in der Datei <code>config.php</code>


<pre>
<pre>
sudo vi /var/www/nextcloud/config/config.php  
sudo vi /var/www/nextcloud/config/config.php  
</pre>
</pre>
folgende Zeilen hinzufügen:


<pre>
<pre>
Zeile 80: Zeile 125:
   'memcache.local' => '\OC\Memcache\Redis',
   'memcache.local' => '\OC\Memcache\Redis',
   'redis' => array(
   'redis' => array(
     'host' => 'localhost',
     'host' => '/var/run/redis/redis.sock',
     'port' => 6379,
     'port' => 0,
    'dbindex' => 0,
    'password' => 'secret',
    'timeout' => 1.5,
       ),
       ),
</pre>
</pre>
Zeile 111: Zeile 159:
</pre>
</pre>


=== Links ===
==== Links ====
 
[https://nextcloud.com/install/ https://nextcloud.com/install/]


[https://docs.nextcloud.com/server/12/admin_manual/configuration_server/caching_configuration.html#id3 https://docs.nextcloud.com/server/12/admin_manual/configuration_server/caching_configuration.html]
[https://docs.nextcloud.com/server/12/admin_manual/configuration_server/caching_configuration.html#id3 https://docs.nextcloud.com/server/12/admin_manual/configuration_server/caching_configuration.html]


== MySQL-Datenbank anlegen ==
== Nextcloud absichern ==
 
<pre>
mysql -u root -p
mysql> create database if not exists nextcloud;
mysql> create user 'nextcloud'@'%' identified by '<password>';
mysql> grant all on nextcloud.* to 'nextcloud'@'%';
mysql> flush privileges;
mysql> quit;
</pre>
 
== Konfiguration ==
 
=== Apache ===
 
Folgende Module werden benötigt/empfohlen:
 
<pre>
sudo a2enmod rewrite
sudo a2enmod headers
sudo a2enmod env
sudo a2enmod dir
sudo a2enmod mime
</pre>
 
Danach Apache neu starten:
 
<pre>
sudo service apache2 restart
</pre>
 
=== HTTPS ===
 
Erstellung eines SSL-Zertifikates siehe [[SSL_Zertifikat]]
 
<pre>
cd /etc/apache2/sites-available/
sudo nano nextcloud.conf
</pre>
 
<pre>
<VirtualHost *:80>
        ServerName nextcloud.kirner.or.at
        ServerAlias nextcloud.kirner.or.at
        Redirect / https://nextcloud.kirner.or.at
</VirtualHost>
</pre>
 
<pre>
sudo nano nextcloud-ssl.conf
</pre>
 
<pre>
<VirtualHost *:443>
    ServerName nextcloud.kirner.or.at
    ServerAlias nextcloud.kirner.or.at
    SSLEngine on
    SSLCertificateFile /etc/ssl/certs/nextcloud.crt
    SSLCertificateKeyFile /etc/ssl/private/apache.key
    # Pfad zu den Webinhalten
    DocumentRoot /var/www/nextcloud
 
    KeepAlive On
    KeepAliveTimeout 5


    <IfModule mod_headers.c>
[[Nextcloud absichern (Ubuntu 18.04)#Fail2Ban| Nextcloud absichern#Fail2Ban]]
        Header always set Strict-Transport-Security "max-age=15768000; includeSubDomains; preload"
    </IfModule>
 
    ErrorLog ${APACHE_LOG_DIR}/nextcloud.kirner.or.at-error.log
    CustomLog ${APACHE_LOG_DIR}/nextcloud.kirner.or.at-access.log combined
</VirtualHost>
</pre>
 
<pre>
sudo a2ensite nextcloud
sudo a2ensite nextcloud-ssl
sudo service apache2 reload
</pre>


== Migration / Update ==
== Migration / Update ==
Zeile 223: Zeile 193:




Zurück zu [[Ubuntu]]
Zurück zu [[Nextcloud (unterschiedliche Versionen)#Ubuntu Versionen|Nextcloud]]

Aktuelle Version vom 9. Juni 2020, 07:18 Uhr

Voraussetzungen

sudo apt-get install libapache2-mod-php7.0 php7.0-gd php7.0-json php7.0-mysql php7.0-curl
sudo apt-get install php7.0-mbstring php7.0-intl php7.0-mcrypt php-imagick php7.0-xml php7.0-zip

Installation

wget https://download.nextcloud.com/server/releases/nextcloud-12.0.4.zip
unzip nextcloud-12.0.4.zip
sudo mv nextcloud /var/www/
cd /var/www/
sudo chown -R www-data:www-data nextcloud

Links

https://nextcloud.com/install/

MySQL-Datenbank anlegen

mysql -u root -p
mysql> create database if not exists nextcloud;
mysql> create user 'nextcloud'@'%' identified by '<password>';
mysql> grant all on nextcloud.* to 'nextcloud'@'%'; 
mysql> flush privileges;
mysql> quit;

Konfiguration

Apache

Folgende Module werden benötigt/empfohlen:

sudo a2enmod rewrite
sudo a2enmod headers
sudo a2enmod env
sudo a2enmod dir
sudo a2enmod mime

Danach Apache neu starten:

sudo service apache2 restart

HTTPS

Erstellung eines SSL-Zertifikates siehe SSL_Zertifikat

cd /etc/apache2/sites-available/
sudo nano nextcloud.conf
<VirtualHost *:80>
        ServerName nextcloud.kirner.or.at
        ServerAlias nextcloud.kirner.or.at
        Redirect / https://nextcloud.kirner.or.at
</VirtualHost>
sudo nano nextcloud-ssl.conf
<VirtualHost *:443>
    ServerName nextcloud.kirner.or.at
    ServerAlias nextcloud.kirner.or.at
    SSLEngine on
    SSLCertificateFile /etc/ssl/certs/nextcloud.crt
    SSLCertificateKeyFile /etc/ssl/private/apache.key
    # Pfad zu den Webinhalten
    DocumentRoot /var/www/nextcloud

    KeepAlive On
    KeepAliveTimeout 5

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

    ErrorLog ${APACHE_LOG_DIR}/nextcloud.kirner.or.at-error.log
    CustomLog ${APACHE_LOG_DIR}/nextcloud.kirner.or.at-access.log combined
</VirtualHost>
sudo a2ensite nextcloud
sudo a2ensite nextcloud-ssl
sudo service apache2 reload

Optionale Konfiguration

PHP Memory Cache aktivieren

Installation des Redis-Server siehe: Redis-Server


Damit der Apache-Benutzer www-data darauf zugreifen kann, muss er zur Gruppe redis hinzugefügt werden:

sudo usermod -aG redis www-data

Danach in der Datei config.php

sudo vi /var/www/nextcloud/config/config.php 

folgende Zeilen hinzufügen:

  'memcache.locking' => '\OC\Memcache\Redis',
  'memcache.local' => '\OC\Memcache\Redis',
  'redis' => array(
     'host' => '/var/run/redis/redis.sock',
     'port' => 0,
     'dbindex' => 0,
     'password' => 'secret',
     'timeout' => 1.5,
      ),

PHP OPCache aktivieren

Dazu in der Datei php.ini

sudo vi /etc/php/7.0/apache2/php.ini

von folgenden Zeilen das Kommentarzeichen entfernen bzw. die Werte anpassen:

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 muss Apache neu gestartet werden:

sudo service apache2 restart

Links

https://docs.nextcloud.com/server/12/admin_manual/configuration_server/caching_configuration.html

Nextcloud absichern

Nextcloud absichern#Fail2Ban

Migration / Update

Migration Owncloud to Nextcloud

Apps

https://apps.nextcloud.com/

Probleme

Dein Datenverzeichnis und deine Dateien sind wahrscheinlich vom Internet aus erreichbar. Die .htaccess-Datei funktioniert nicht.

In der Konfigurations-Datei muss folgender Eintrag hinzugefügt werden:

<Directory /var/www/nextcloud/> 
    Options +FollowSymlinks 
    AllowOverride All 
</Directory>

Links

https://nextcloud.com/


Zurück zu Nextcloud