Benutzer-Werkzeuge

Webseiten-Werkzeuge


ncraspi

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige ÜberarbeitungVorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
ncraspi [2017/07/29 22:46] noonencraspi [2022/03/24 23:56] (aktuell) noone
Zeile 1: Zeile 1:
 +====NextCloud auf dem Raspberry Pi einrichten====
 +
 +===0. Vorbereitung===
 +aktuelles RaspberryPiOS-Image auf SD-Karte schreiben [[https://downloads.raspberrypi.org/raspbian_lite_latest|Lite Image für Headless]] oder [[https://downloads.raspberrypi.org/raspbian_latest|volles Image mit Desktop]]\\
 +ssh aktivieren\\
 +RasPi starten
 +  * über ssh anmelden
 +  * raspi-config
 +    * Passwort ändern
 +    * Dateisystem erweitern
 +    * ssh aktivieren
 +    * Spracheinstrellungen anpassen
 +    * Zeitzone konfigurieren
 +  * reboot
 +  * update/upgrade
 +[[piwebmin|Webmin]] installieren und anpassen
 +
 +Weitere Software installieren
 +   sudo apt install mc gpm htop
 +
 +[[staticip|Feste IP-Adresse zuweisen]]
 +
 +[[usbraspi|Betriebssystem auf USB-Stick verschieben]]
 +
 +USB-Platte fest mounten (PARTUUID eintragen in /etc/fstab)
 +
 +===1. Webserver installieren===
 +
 +   sudo apt install -y \
 +      apache2\
 +      mariadb-server\
 +      mariadb-client\
 +      php7.3\
 +      php7.3-mysql\
 +      php7.3-curl\
 +      php7.3-gd\
 +      php7.3-zip\
 +      php7.3-fpm\
 +      php7.3-mbstring\
 +      php7.3-xml\
 +      php7.3-intl\
 +      php-imagick
 +      libapache2-mod-php
 +
 +MariaDB absichern
 +   sudo mysql_secure_installation
 +
 +Datenbank für NextCloud anlegen
 +   sudo mysql -u root -p
 +   
 +   create database NextCloud;
 +   create user 'nextcloud'@'localhost' identified by '<passwort>';
 +   grant all on NextCloud.* to 'nextcloud'@'localhost';
 +   flush privileges;
 +   quit
 +
 +NextCloud herunterladen
 +   cd ~/Download
 +   wget https://download.nextcloud.com/server/releases/latest.zip
 +und entpacken
 +   unzip latest.zip
 +Verzeichnis nextcloud in den Webserver verschieben und Benutzer anpassen
 +   sudo mv nextcloud /var/www/html
 +   sudo chown -R www-data.www-data /var/www/html/nextcloud
 +
 +Konfiguration für virtuellen Host anlegen
 +   sudo nano /etc/apache2/sites-available/nextcloud.conf
 +mit dem Inhalt
 +   <VirtualHost *:80>
 +      ServerName p37.ddnss.de
 +      ServerAdmin pegasus37@gmx.net
 +      DocumentRoot /var/www/html
 +      
 +      ErrorLog ${APACHE_LOG_DIR}/hostname.tld_error.log
 +      CustomLog ${APACHE_LOG_DIR}/hostname.tld_access.log combined
 +      
 +      <Directory /var/www/html>
 +         Options +FollowSymlinks
 +         AllowOverride All
 +         
 +         <IfModule mod_dav.c>
 +            Dav off
 +         </IfModule>
 +         
 +         SetEnv HOME /var/www/html
 +         SetEnv HTTP_HOME /var/www/html
 +      </Directory>
 +   </VirtualHost>
 +
 +Webserver neustarten
 +   sudo systemctl restart apache2
 +
 +===2. Zertifikat einrichten===
 +
 +Pakete installieren
 +   sudo apt install certbot python-certbot-apache
 +Zertifikat anfordern
 +**Achtung:** Der Raspberry pi muss aus dem Internet auf Port 80 und Port 443 erreichbar sein. Vor diesem Schritt müssen die Ports im Router eingerichtet werden.
 +   sudo certbot --apache
 +Automatische Zertifikas-Erneuerung anlegen
 +Mit
 +   sudo crontab -e
 +die Cron-Tabelle öffnen und neuen Job eintragen
 +   0 3 * * * /usr/bin/certbot renew --quiet
 +Nach dem Speichern wird das Zertifikat rechtzeitig vor Ablauf automatisch erneuert.
 +
 +Für die Hintergrundarbeiten der NextCloud ist noch ein weiterer Cronjob anzulegen, diesmal für den Benutzer www-data:
 +   sudo crontab -u www-data -e
 +   */5 * * * * php -f /var/www/html/nextcloud/cron.php
 +
 +===3. Nextcloud einrichten===
 +
 +Webseite aufrufen
 +   <ip des Raspberry Pi>/nextcloud
 +
 +===PHP-Optimierungen===
 +
 +OPCache aktivieren
 +   sudo nano /etc/php/7.3/apach2/php.ini
 +
 +Einträge aktivieren
 +   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
 +
 +Filegrössen anpassen
 +   post_max_size = 2G
 +   upload_max_filesize = 2G
 +   max_file_uploads = 200
 +   memory_limit = 512M
 +
 +===PHP-Memory-Cache===
 +
 +Redis-Server inklusive passendes PHP-Modul installieren
 +   sudo apt install php-redis redis-server
  

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki