Metainformationen zur Seite
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung Nächste Überarbeitung Beide Seiten der Revision | ||
start:linux:ubuntu:nextcloud:aktuellekonfiguration [2019/04/12 01:00] wikiadmin |
start:linux:ubuntu:nextcloud:aktuellekonfiguration [2021/12/16 22:49] wikiadmin [Webserver einrichten (nginx)] |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | {{https:// | ||
+ | ====== Nextcloud-Server ====== | ||
+ | Ein Beispiel einer reelen Konfiguration. Hier wird nur die Installation und Konfiguration in Kurzform aufgelistet. Eine Installationsanleitung findet sich unter folgenden Links: [[https:// | ||
- | !!!! IN ARBEIT !!!! | + | ===== Webserver einrichten (nginx) ====== |
- | ====== | + | Damit Ihr Rechner und damit auch Ihre Cloud PHP-Skripte ausführen kann und über das Internet erreichbar ist, müssen Sie zunächst einen Web- und Datenbankserver einrichten. Wir verwenden hierfür **[[http:// |
- | Ein Beispiel | + | |
+ | <code C# [enable_line_numbers=" | ||
+ | sudo apt-get install nginx php7.3-fpm php7.3-mysql mariadb-server mariadb-client | ||
+ | </ | ||
+ | Sobald Sie gefragt werden, ob Sie fortfahren möchten, bestätigen Sie durch Drücken der **[Enter]**-Taste. | ||
+ | |||
+ | Richten Sie nun den Datenbank-Server ein: | ||
+ | <code C# [enable_line_numbers=" | ||
+ | sudo mysql_secure_installation | ||
+ | </ | ||
+ | Falls Sie nach Ihrem Passwort gefragt werden, überspringen Sie die Abfrage mit der **[Enter]**-Taste, | ||
+ | <code C# [enable_line_numbers=" | ||
+ | Set root password? [Y/n] Y | ||
+ | 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 | ||
+ | </ | ||
+ | Anschließend installieren Sie durch Eingabe dieses Befehls noch einige benötigte Pakete. Darunter ist auch der Editor vim oder nano, mit dem Sie Dateien bearbeiten können. Wenn erforderlich, | ||
+ | <code C# [enable_line_numbers=" | ||
+ | # Anstelle von vim können Sie auch nano als Editor installieren. | ||
+ | sudo apt-get install php-pear php7.3-xml php7.3-cli php7.3-gd php7.3-intl php7.3-curl php7.3-zip php7.3-mbstring vim openssl | ||
+ | </ | ||
+ | Öffnen Sie die PHP-Konfigurationsdatei mit dem folgenden Befehl, damit auch bei zukünftigen Updates weniger Änderungen notwendig sind: | ||
+ | <code C# [enable_line_numbers=" | ||
+ | sudo vi / | ||
+ | </ | ||
+ | Sie sollten durch Scrollen mit den Pfeiltasten einen " | ||
+ | <code C# [enable_line_numbers=" | ||
+ | listen = 127.0.0.1: | ||
+ | </ | ||
+ | Durch **[Einfg]** können Sie die Zeile entsprechend bearbeiten. Drücken Sie anschließend **[Esc]**, geben Sie ": | ||
+ | |||
+ | ===== Port-Freigabe & Dynamisches DNS ===== | ||
+ | |||
+ | Damit sichergestellt ist, dass Sie von außen auf Ihren Server zugreifen können, müssen Sie in Ihrem Router eine sogenannte Port-Freigabe einrichten. Dies unterscheidet sich von Router zu Router. Zunächst müssen Sie jedoch Ihre IP-Adresse kennen. Geben Sie dafür auf dem Raspberry Pi folgendes ein: | ||
+ | <code C# [enable_line_numbers=" | ||
+ | ifconfig | ||
+ | </ | ||
+ | Irgendwo in der Ausgabe wird so ein ähnlicher Eintrag zu finden sein: "inet Adresse: | ||
+ | |||
+ | Richten Sie jetzt auf Ihrem Router eine (HTTPS)-Port-Freigabe (TCP) für den Eingangsport 443, Ausgangsport 443 und den Rechner mit Ihrer lokalen IP-Adresse ein. Je nach Router-Modell ist dies unterschiedlich, | ||
+ | |||
+ | <WRAP center round info 100%> | ||
+ | [[https:// | ||
+ | |||
+ | [[http:// | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | [[https:// | ||
+ | </ | ||
+ | Andere Modelle: Suchen Sie nach " | ||
+ | |||
+ | In der Regel werden Sie nach außen - gemeint ist als nicht die interne IP-Adresse Ihres Rechners - eine dynamische IP-Adresse haben. Ihre IP wird sich also regelmäßig ändern. Deshalb müssen Sie einen sogenannten dynamischen DNS-Anbieter auswählen. Wählen Sie einfach einen von diesen Anbietern aus: | ||
+ | |||
+ | <WRAP center round info 100%> | ||
+ | [[https:// | ||
+ | |||
+ | [[http:// | ||
+ | |||
+ | [[http:// | ||
+ | |||
+ | [[http:// | ||
+ | |||
+ | [[http:// | ||
+ | |||
+ | [[http:// | ||
+ | </ | ||
+ | |||
+ | Melden Sie sich nun bei einer dieser Seiten für einen kostenlosen Tarif an. Dort werden Sie einen sogenannten Hostnamen anlegen, z.B. " | ||
+ | |||
+ | Dort stehen keine Informationen dazu? Dann probieren Sie es mal über das Administrationsmenü Ihres Routers (bei der Fritz!Box " | ||
+ | |||
+ | Sobald Sie sich sowohl bei einem Anbieter registriert als auch diesen korrekt in Ihrem Router eingerichtet haben, können wir mit dem nächsten Schritt fortfahren. | ||
+ | ===== SSL-Verbindung einrichten ===== | ||
+ | |||
+ | Nun sind Sie fast am Ende dieses Tutorials angekommen. Nach den nächsten zwei Schritten werden Sie einen korrekt konfigurierten, | ||
+ | |||
+ | Nachfolgend wird ein sicheres, aber nicht-vertrauenswürdiges (=Bestätigung im Browser erforderlich) Zertifikat generiert. Wenn Sie Ihre Cloud für andere Nutzer öffnen möchten, können Sie mit entsprechenden Kenntnisen diesem Let's Encrypt-Tutorial folgen. | ||
+ | |||
+ | Führen Sie den folgenden Befehl aus, um ein neues Verzeichnis anzulegen und in dieses zu wechseln: | ||
+ | <code C# [enable_line_numbers=" | ||
+ | sudo mkdir -p / | ||
+ | </ | ||
+ | Damit auch der Benutzer Pi später Zugriff auf die Dateien hat, legen wir eine neue Gruppe an und fügen Pi hinzu: | ||
+ | <code C# [enable_line_numbers=" | ||
+ | # Anstelle von Pi kann jeder beliebiger Gruppenname oder Username stehen. | ||
+ | sudo addgroup pi && sudo usermod -aG pi pi | ||
+ | </ | ||
+ | Anschließend ändern wir die Rechte an den Ordnern: | ||
+ | <code C# [enable_line_numbers=" | ||
+ | sudo chown -R www-data:pi / | ||
+ | </ | ||
+ | Mit dem folgenden Befehle erstellen Sie nun ein SSL-Zertfikat, | ||
+ | <code C# [enable_line_numbers=" | ||
+ | sudo openssl req -x509 -nodes -days 9999 -newkey rsa:2048 -keyout cloudssl.key -out cloudssl.crt | ||
+ | </ | ||
+ | Bei Nachfragen bezüglich eines " | ||
+ | |||
+ | Besondere Sicherheit bekommen wir, indem wir den sogenannten Diffie-Hellman-Schlüsselaustausch ermöglichen. Machen Sie sich einen Kaffee oder Tee und führen Sie vorher diesen Befehl aus. Das Ausführen des Befehls kann einige Minuten (in meinem Test ca. 15-20 Minuten) dauern: | ||
+ | <code C# [enable_line_numbers=" | ||
+ | openssl dhparam 2048 > / | ||
+ | </ | ||
+ | Anschließend nehmen wir die richtige | ||
+ | <code C# [enable_line_numbers=" | ||
+ | sudo wget -q -O / | ||
+ | </ | ||
+ | |||
+ | <code C# [enable_line_numbers=" | ||
+ | # Der Inhalt der Datei sieht wie folgt aus: | ||
+ | |||
+ | ### DEFAULT INI FILE ### | ||
+ | memory_limit=256M | ||
+ | upload_max_filesize=1G | ||
+ | post_max_size=2G | ||
+ | session.save_path=/ | ||
+ | date.timezone = " | ||
+ | display_errors=off | ||
+ | error_reporting= | ||
+ | log_errors=off | ||
+ | max_file_uploads=25 | ||
+ | max_input_time=-1 | ||
+ | output_buffering=0 | ||
+ | request_order= | ||
+ | serialize_precision=50 | ||
+ | expose_php=off | ||
+ | cgi.fix_pathinfo=0 | ||
+ | </ | ||
+ | Starten Sie nun den Webserver und PHP neu: | ||
+ | <code C# [enable_line_numbers=" | ||
+ | sudo service nginx restart && sudo service php7.3-fpm restart | ||
+ | </ | ||
+ | ===== MySQL-Datenbank einrichten ===== | ||
+ | |||
+ | Wir werden nun noch eine MySQL/ | ||
+ | |||
+ | a. Falls Sie bereits oben ein Datenbank-Passwort gesetzt haben, geben Sie in der Kommando-Zeile Ihres Rechners den nachfolgenden Befehl ein, und setzen Sie an Stelle der eckigen Klammern das von Ihnen zuvor festgelegte Datenbank-Passwort ein. Wichtig: Die eckigen Klammern bitte in allen folgenden Beispielen auch ersetzen bzw. entfernen! | ||
+ | <code C# [enable_line_numbers=" | ||
+ | sudo mysql --user=root --password=" | ||
+ | </ | ||
+ | Nehmen Sie nun noch einige Anpassungen vor: | ||
+ | <code C# [enable_line_numbers=" | ||
+ | MariaDB [mysql]> update user set plugin='' | ||
+ | MariaDB [mysql]> flush privileges; | ||
+ | </ | ||
+ | Nun erstellen wir eine neue Datenbank, den Namen können Sie aus Buchstaben, Zahlen und Unterstrichen beliebig wählen, merken Sie ihn sich jedoch. Folgender Befehl ist dazu notwendig, bestätigt wird mit **[Enter]**: | ||
+ | <code C# [enable_line_numbers=" | ||
+ | CREATE database [DATENBANK-NAME, | ||
+ | </ | ||
+ | Anschließend erstellen wir einen neuen MySQL-Benutzer und gewähren ihm alle Rechte auf die Datenbank. Dafür müssen Sie sich einen Benutzernamen und im nächsten Schritt ein MySQL-Benutzer-Passwort ausdenken. Ergänzen Sie diese in den Befehlen: | ||
+ | <code C# [enable_line_numbers=" | ||
+ | GRANT ALL PRIVILEGES ON [DATENBANK-NAME, | ||
+ | </ | ||
+ | **[Enter]** drücken und anschließend folgendes eingeben und mit **[Enter]** bestätigen: | ||
+ | <code C# [enable_line_numbers=" | ||
+ | IDENTIFIED BY ' | ||
+ | </ | ||
+ | Kommt jetzt die Meldung "Query OK" haben Sie die Datenbank und den Benutzer korrekt eingerichtet. Bitte merken Sie sich alle Daten, da Sie sie später noch einmal benötigen werden. Mit **[Strg]+[C]** schließen Sie das Programm. | ||
+ | ---- | ||
+ | ==== Installationsschritte bei/mit Apache2 WEB-Server ==== | ||
<code C# [enable_line_numbers=" | <code C# [enable_line_numbers=" | ||
sudo -s # Root-System-Rechte erlangen. Root-Passwort notwendig. | sudo -s # Root-System-Rechte erlangen. Root-Passwort notwendig. | ||
Zeile 21: | Zeile 184: | ||
sudo apt install apache2 libapache2-mod-php7.2 | sudo apt install apache2 libapache2-mod-php7.2 | ||
sudo apt install php7.2-gd php7.2-json php7.2-mysql php7.2-curl php7.2-mbstring php7.2-intl php-imagick php7.2-xml php7.2-zip | sudo apt install php7.2-gd php7.2-json php7.2-mysql php7.2-curl php7.2-mbstring php7.2-intl php-imagick php7.2-xml php7.2-zip | ||
- | # Hier erfolgt die installation | + | # Hier erfolgt die Installation |
</ | </ | ||
---- | ---- |