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 [2021/12/16 22:16] wikiadmin [Nextcloud-Server] |
start:linux:ubuntu:nextcloud:aktuellekonfiguration [2021/12/16 22:49] wikiadmin [Webserver einrichten (nginx)] |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | !!!! IN ARBEIT !!!! | + | {{https:// |
- | ---- | + | |
====== Nextcloud-Server ====== | ====== 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:// | Ein Beispiel einer reelen Konfiguration. Hier wird nur die Installation und Konfiguration in Kurzform aufgelistet. Eine Installationsanleitung findet sich unter folgenden Links: [[https:// | ||
- | {{https:// | + | ===== Webserver |
- | ---- | + | 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:// |
- | === Webserver einrichten ==== | + | <code C# [enable_line_numbers=" |
- | + | ||
- | Damit Ihr Raspberry Pi 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 nginx. | + | |
- | + | ||
- | <code C# [enable_line_numbers=" | + | |
sudo apt-get install nginx php7.3-fpm php7.3-mysql mariadb-server mariadb-client | 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. | + | 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: | Richten Sie nun den Datenbank-Server ein: | ||
- | <code C# [enable_line_numbers=" | + | <code C# [enable_line_numbers=" |
sudo mysql_secure_installation | sudo mysql_secure_installation | ||
</ | </ | ||
- | Falls Sie nach Ihrem Passwort gefragt werden, überspringen Sie die Abfrage mit der [Enter]-Taste, | + | Falls Sie nach Ihrem Passwort gefragt werden, überspringen Sie die Abfrage mit der **[Enter]**-Taste, da aktuell noch keines festgelegt ist. Die nachfolgenden Abfragen bestätigen Sie jeweils durch Eingabe von **Y** und **[Enter]**. Sobald Sie nach einem neuen Passwort gefragt werden, geben Sie ein sicheres Passwort für den Zugang zur Datenbank ein und notieren Sie es sich. Das Passwort wird während der Eingabe nicht angezeigt, lassen Sie sich davon nicht irritieren. |
- | <code C# [enable_line_numbers=" | + | <code C# [enable_line_numbers=" |
Set root password? [Y/n] Y | Set root password? [Y/n] Y | ||
Remove anonymous users? [Y/n] Y | Remove anonymous users? [Y/n] Y | ||
Zeile 29: | Zeile 24: | ||
Reload privilege tables now? [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, mit dem Sie Dateien bearbeiten können. Wenn erforderlich, | + | 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=" | + | <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 | 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: | Öffnen Sie die PHP-Konfigurationsdatei mit dem folgenden Befehl, damit auch bei zukünftigen Updates weniger Änderungen notwendig sind: | ||
- | <code C# [enable_line_numbers=" | + | <code C# [enable_line_numbers=" |
sudo vi / | sudo vi / | ||
</ | </ | ||
Sie sollten durch Scrollen mit den Pfeiltasten einen " | Sie sollten durch Scrollen mit den Pfeiltasten einen " | ||
- | <code C# [enable_line_numbers=" | + | <code C# [enable_line_numbers=" |
listen = 127.0.0.1: | listen = 127.0.0.1: | ||
</ | </ | ||
Durch **[Einfg]** können Sie die Zeile entsprechend bearbeiten. Drücken Sie anschließend **[Esc]**, geben Sie ": | Durch **[Einfg]** können Sie die Zeile entsprechend bearbeiten. Drücken Sie anschließend **[Esc]**, geben Sie ": | ||
- | === Port-Freigabe & Dynamisches DNS === | + | ===== 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: | 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=" | + | <code C# [enable_line_numbers=" |
ifconfig | ifconfig | ||
</ | </ | ||
Zeile 53: | Zeile 49: | ||
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, | 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%> |
- | [[http:// | + | [[https:// |
- | [[https:// | + | |
- | [[https:// | + | |
- | Andere Modelle: Suchen Sie nach " | + | |
- | In der Regel werden Sie nach außen | + | [[http:// |
- | | + | [[https:// |
- | [[http:// | + | |
- | [[http:// | + | [[https:// |
- | [[http:// | + | </ |
- | [[http:// | + | Andere Modelle: Suchen Sie nach " |
- | [[http:// | + | |
+ | 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. " | Melden Sie sich nun bei einer dieser Seiten für einen kostenlosen Tarif an. Dort werden Sie einen sogenannten Hostnamen anlegen, z.B. " | ||
Zeile 73: | Zeile 81: | ||
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. | 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 === | + | ===== SSL-Verbindung einrichten |
Nun sind Sie fast am Ende dieses Tutorials angekommen. Nach den nächsten zwei Schritten werden Sie einen korrekt konfigurierten, | Nun sind Sie fast am Ende dieses Tutorials angekommen. Nach den nächsten zwei Schritten werden Sie einen korrekt konfigurierten, | ||
Zeile 80: | Zeile 88: | ||
Führen Sie den folgenden Befehl aus, um ein neues Verzeichnis anzulegen und in dieses zu wechseln: | Führen Sie den folgenden Befehl aus, um ein neues Verzeichnis anzulegen und in dieses zu wechseln: | ||
- | <code C# [enable_line_numbers=" | + | <code C# [enable_line_numbers=" |
sudo mkdir -p / | 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: | 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=" | + | <code C# [enable_line_numbers=" |
+ | # Anstelle von Pi kann jeder beliebiger Gruppenname oder Username stehen. | ||
sudo addgroup pi && sudo usermod -aG pi pi | sudo addgroup pi && sudo usermod -aG pi pi | ||
</ | </ | ||
Anschließend ändern wir die Rechte an den Ordnern: | Anschließend ändern wir die Rechte an den Ordnern: | ||
- | <code C# [enable_line_numbers=" | + | <code C# [enable_line_numbers=" |
sudo chown -R www-data:pi / | sudo chown -R www-data:pi / | ||
</ | </ | ||
Mit dem folgenden Befehle erstellen Sie nun ein SSL-Zertfikat, | Mit dem folgenden Befehle erstellen Sie nun ein SSL-Zertfikat, | ||
- | <code C# [enable_line_numbers=" | + | <code C# [enable_line_numbers=" |
sudo openssl req -x509 -nodes -days 9999 -newkey rsa:2048 -keyout cloudssl.key -out cloudssl.crt | sudo openssl req -x509 -nodes -days 9999 -newkey rsa:2048 -keyout cloudssl.key -out cloudssl.crt | ||
</ | </ | ||
- | Bei Nachfragen bezüglich eines " | + | 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: | 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=" | + | <code C# [enable_line_numbers=" |
openssl dhparam 2048 > / | openssl dhparam 2048 > / | ||
</ | </ | ||
Anschließend nehmen wir die richtige Konfiguration für PHP vor, um sicherzustellen, | Anschließend nehmen wir die richtige Konfiguration für PHP vor, um sicherzustellen, | ||
- | <code C# [enable_line_numbers=" | + | <code C# [enable_line_numbers=" |
sudo wget -q -O / | 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: | Starten Sie nun den Webserver und PHP neu: | ||
- | <code C# [enable_line_numbers=" | + | <code C# [enable_line_numbers=" |
sudo service nginx restart && sudo service php7.3-fpm restart | sudo service nginx restart && sudo service php7.3-fpm restart | ||
</ | </ | ||
- | === MySQL-Datenbank einrichten === | + | ===== MySQL-Datenbank einrichten |
Wir werden nun noch eine MySQL/ | Wir werden nun noch eine MySQL/ | ||
- | a. Falls Sie bereits oben ein Datenbank-Passwort gesetzt haben, geben Sie in der Kommando-Zeile Ihres Raspberry Pis 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! | + | a. Falls Sie bereits oben ein Datenbank-Passwort gesetzt haben, geben Sie in der Kommando-Zeile Ihres Rechners |
- | <code C# [enable_line_numbers=" | + | <code C# [enable_line_numbers=" |
sudo mysql --user=root --password=" | sudo mysql --user=root --password=" | ||
</ | </ | ||
Nehmen Sie nun noch einige Anpassungen vor: | Nehmen Sie nun noch einige Anpassungen vor: | ||
- | <code C# [enable_line_numbers=" | + | <code C# [enable_line_numbers=" |
MariaDB [mysql]> update user set plugin='' | MariaDB [mysql]> update user set plugin='' | ||
MariaDB [mysql]> flush privileges; | 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]: | + | 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=" | + | <code C# [enable_line_numbers=" |
CREATE database [DATENBANK-NAME, | 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: | 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=" | + | <code C# [enable_line_numbers=" |
GRANT ALL PRIVILEGES ON [DATENBANK-NAME, | GRANT ALL PRIVILEGES ON [DATENBANK-NAME, | ||
</ | </ | ||
Zeile 138: | Zeile 168: | ||
---- | ---- | ||
+ | ==== 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. |