One place for hosting & domains

      Schnellstart

      Installieren von Docker Compose unter Ubuntu 20.04 [Schnellstart]


      Einführung

      In diesem Schnellstartleitfaden installieren wir Docker Compose auf einem Ubuntu 20.04-Server.

      Eine ausführlichere Version dieses Tutorials mit genaueren Erklärungen zu den einzelnen Schritten finden Sie unter Installieren und Verwenden von Docker Compose unter Ubuntu 20.04.

      Voraussetzungen

      Um diesem Tutorial folgen zu können, benötigen Sie als sudo-Benutzer Zugriff auf einen Ubuntu 20.04-Server oder einen lokalen Rechner. Zudem muss auf dem System Docker installiert sein.

      Schritt 1 — Herunterladen von Docker Compose

      Ermitteln Sie zunächst auf der Versionsseite die aktuellste Version von Docker Compose. Bei der Verfassung dieses Artikels ist die aktuellste stabile Version 1.26.0.

      Führen Sie folgenden Befehl aus, um Docker Compose herunterzuladen und die Software in Ihrem System als docker-compose allgemein zugänglich zu machen:

      • sudo curl -L "https://github.com/docker/compose/releases/download/1.26.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

      Schritt 2 — Einrichten von Ausführungsberechtigungen

      Legen Sie als Nächstes die richtigen Berechtigungen fest, damit der Befehl docker-compose ausführbar ist:

      • sudo chmod +x /usr/local/bin/docker-compose

      Um zu überprüfen, ob die Installation erfolgreich war, können Sie Folgendes ausführen:

      Sie sehen eine Ausgabe, die dieser ähnelt:

      Output

      docker-compose version 1.26.0, build 8a1c60f6

      Docker Compose wurde nun erfolgreich auf Ihrem System installiert.

      Relevante Tutorials

      Hier sehen Sie Links zu detaillierteren Leitfäden, die in Verbindung mit diesem Tutorial stehen:



      Source link

      Installieren von MySQL unter Ubuntu 20.04 [Schnellstart]


      Einführung

      MySQL ist ein Open-Source-basiertes Datenbank-Managementsystem, das üblicherweise als Teil des beliebten LAMP-Stacks (Linux, Apache, MySQL, PHP/Python/Perl) installiert wird. Es implementiert das relationale Modell und verwendet zur Verwaltung der Daten Structured Query Language (besser bekannt als SQL).

      In diesem Schnellstart-Tutorial wird beschrieben, wie Sie MySQL-Version 8 auf einem Ubuntu 20.04-Server installieren.

      Voraussetzungen

      Um dieser Anleitung zu folgen, benötigen Sie:

      Schritt 1 – Installieren von MySQL

      Um MySQL zu installieren, aktualisieren Sie zuerst den Paketindex Ihres Servers, wenn Sie dies in letzter Zeit nicht getan haben:

      Installieren Sie anschließend das Paket mysql-server:

      • sudo apt install mysql-server

      Schritt 2 — Konfigurieren von MySQL

      Führen Sie mit sudo das in MySQL enthaltene Sicherheitsskript aus:

      • sudo mysql_secure_installation

      Dieses Skript führt Sie durch eine Reihe von Aufforderungen, in denen Sie verschiedene Änderungen an den Sicherheitseinstellungen Ihrer MySQL-Einrichtung vornehmen können. In der ersten Eingabeaufforderung werden Sie gefragt, ob Sie das Plugin Validate Password einrichten möchten, mit dem Sie die Stärke Ihres MySQL-Passworts testen können.

      Wenn Sie sich für die Einrichtung das Plugin Validate Password entscheiden, werden Sie von dem Skript gefragt, ob Sie eine Password-Validierungsstufe auswählen möchten, wobei 0 die schwächste und 2 die stärkste ist:

      Output

      Securing the MySQL server deployment. Connecting to MySQL using a blank password. VALIDATE PASSWORD COMPONENT can be used to test passwords and improve security. It checks the strength of password and allows the users to set only those passwords which are secure enough. Would you like to setup VALIDATE PASSWORD component? Press y|Y for Yes, any other key for No: Y There are three levels of password validation policy: LOW Length >= 8 MEDIUM Length >= 8, numeric, mixed case, and special characters STRONG Length >= 8, numeric, mixed case, special characters and dictionary file Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 2

      In der nächsten Eingabeaufforderung geben Sie ein Passwort für den MySQL-root user ein und bestätigen es:

      Output

      Please set the password for root here. New password: Re-enter new password:

      Dann fragt das Skript, ob Sie mit dem von Ihnen gerade eingegebenen Passwort fortfahren oder ein neues Passwort eingeben möchten. Wenn Sie mit Ihrem Passwort zufrieden sind, geben Sie Y ein, um mit dem Skript fortzufahren:

      Output

      Estimated strength of the password: 100 Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : Y

      Von dort aus können Sie Y und dann ENTER drücken, um die Standardeinstellungen für alle nachfolgenden Fragen zu akzeptieren.

      Schritt 3 — (Optional) Anpassen der Benutzerauthentifizierung und -berechtigungen

      Um als root ein Passwort für die Verbindung mit MySQL zu verwenden, müssen Sie die Authentifizierungsmethode vom standardmäßigen Plugin auth_socket in ein anderes Plugin ändern, wie zum Beispiel caching_sha2_password oder mysql_native_password. Öffnen Sie dazu die MySQL -Eingabeaufforderung auf Ihrem Terminal:

      Führen Sie von dort eine ALTER USER-Anweisung aus, um das verwendete Authentifizierungs-Plugin zu ändern, und legen Sie ein neues Passwort fest. Vergessen Sie nicht, password in ein starkes Passwort Ihrer Wahl zu ändern, und beachten Sie, dass dieser Befehl das root-Passwort, das Sie in Schritt 2 festgelegt haben, ändern wird:

      • ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'password';

      Anmerkung: caching_sha2_password ist das bevorzugte Authentifizierungs-Plugin von MySQL, da es eine sicherere Passwortverschlüsselung bietet als das ältere, aber immer noch verbreitete mysql_native_password.

      Allerdings funktionieren viele PHP-Anwendungen (beispielsweise phpMyAdmin) mit caching_sha2_password nicht zuverlässig. Wenn Sie diese Datenbank mit einer PHP-Anwendung verwenden möchten, wollen Sie root ggf. so festlegen, dass stattdessen mit mysql_native_password authentifiziert wird:

      • ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

      Führen Sie dann FLUSH PRIVILEGES aus, was den Server anweist, die Berechtigungstabellen neu zu laden und die Änderungen zu übernehmen:

      Prüfen Sie die von Ihren Benutzern verwendeten Authentifizierungsmethoden erneut, um zu bestätigen, dass root nicht mehr über das auth_socket-Plugin authentifiziert wird:

      • SELECT user,authentication_string,plugin,host FROM mysql.user;

      Output

      +------------------+------------------------------------------------------------------------+-----------------------+-----------+ | user | authentication_string | plugin | host | +------------------+------------------------------------------------------------------------+-----------------------+-----------+ | debian-sys-maint | $A$005$lS|M#3K #XslZ.xXUq.crEqTjMvhgOIX7B/zki5DeLA3JB9nh0KwENtwQ4 | caching_sha2_password | localhost | | mysql.infoschema | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password | localhost | | mysql.session | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password | localhost | | mysql.sys | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password | localhost | | root | *3636DACC8616D997782ADD0839F92C1571D6D78F | caching_sha2_password | localhost | +------------------+------------------------------------------------------------------------+-----------------------+-----------+ 5 rows in set (0.00 sec)

      Nach der Bestätigung auf Ihrem eigenen Server können Sie die MySQL-Shell beenden:

      Alternativ können Sie mit einem dedizierten Benutzer anstelle von root eine Verbindung zu MySQL herstellen. Um einen solchen Benutzer zu erstellen, öffnen Sie erneut die MySQL-Shell:

      Anmerkung: Wenn Sie für root die Passwortauthentifizierung aktiviert haben (wie in den vorherigen Absätzen beschrieben), müssen Sie stattdessen Folgendes ausführen:

      Erstellen Sie von dort einen neuen Benutzer und geben Sie ihm ein starkes Passwort:

      • CREATE USER 'sammy'@'localhost' IDENTIFIED BY 'password';

      Erteilen Sie dann Ihrem neuen Benutzer die entsprechenden Berechtigungen. Mit diesem Befehl können Sie dem Benutzer zum Beispiel Berechtigungen für alle Tabellen in der Datenbank sowie Berechtigungen zum Hinzufügen, Ändern und Entfernen von Benutzerberechtigungen erteilen:

      • GRANT ALL PRIVILEGES ON *.* TO 'sammy'@'localhost' WITH GRANT OPTION;

      Danach können Sie die MySQL-Shell verlassen:

      Zusammenfassung

      Sie haben nun eine grundlegende MySQL-Einrichtung auf Ihrem Server installiert. Hier sehen Sie einige Beispiele für nächste Schritte:



      Source link

      Installieren von Nginx unter Ubuntu 20.04 [Schnellstart]


      Einführung

      Nginx ist einer der beliebtesten Webserver der Welt und hostet einige der größten und datenverkehrsreichsten Sites im Internet. Nginx ist in den meisten Fällen ressourcenschonender als Apache und kann als Webserver oder Reverse-Proxy verwendet werden.

      In diesem Leitfaden erklären wir, wie Sie Nginx auf Ihrem Ubuntu 20.04-Server installieren können. Eine ausführlichere Version dieses Tutorials finden Sie in Installieren von Nginx unter Ubuntu 20.04.

      Voraussetzungen

      Bevor Sie mit diesem Leitfaden beginnen, sollten Sie einen regulären Benutzer ohne Rootberechtigung mit auf Ihrem Server konfigurierten Sudo-Berechtigungen haben. In unserem Leitfaden zur Ersteinrichtung des Servers unter Ubuntu 20.04. erfahren Sie, wie Sie ein reguläres Benutzerkonto konfigurieren.

      Wenn Sie über ein Konto verfügen, melden Sie sich zunächst als Nicht-Root-Benutzer an.

      Schritt 1 – Installieren von Nginx

      Da Nginx in Standard-Repositories von Ubuntu verfügbar ist, können Sie es mit dem Verpackungssystem apt installieren.

      Aktualisieren Sie Ihren lokalen Paketindex:

      Installieren Sie Nginx:

      Schritt 2 – Anpassen der Firewall

      Wenn Sie dem Tutorial zur Ersteinrichtung des Servers gefolgt sind, haben Sie die UFW-Firewall aktiviert. Prüfen Sie mit dem folgenden Befehl die verfügbaren ufw-Anwendungsprofile:

      Output

      Available applications: Nginx Full Nginx HTTP Nginx HTTPS OpenSSH

      Lassen Sie uns das restriktivste Profil aktivieren, das den Verkehr, den Sie konfiguriert haben, an Port 80 zulässt:

      • sudo ufw allow 'Nginx HTTP'

      Überprüfen Sie die Änderung:

      Output

      Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere Nginx HTTP ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) Nginx HTTP (v6) ALLOW Anywhere (v6)

      Schritt 3 – Testen Ihres Webservers

      Überprüfen Sie mit dem systemd init-System, um sicherzustellen, dass der Dienst ausgeführt wird, indem Sie Folgendes eingeben:

      Output

      nginx.service - A high performance web server and a reverse proxy server Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset:> Active: active (running) since Mon 2020-05-04 22:45:26 UTC; 1min 17s ago Docs: man:nginx(8) Main PID: 13255 (nginx) Tasks: 2 (limit: 1137) Memory: 4.6M CGroup: /system.slice/nginx.service ├─13255 nginx: master process /usr/sbin/nginx -g daemon on; master> └─13256 nginx: worker process

      Öffnen Sie die Standardstartseite von Nginx, um zu bestätigen, dass die Software über Ihre IP-Adresse ordnungsgemäß ausgeführt wird.

      http://your_server_ip
      

      Sie sollten nun die Standardstartseite von Nginx erhalten:

      Nginx-Standardseite

      Schritt 4 – Einrichten von Serverblocks (empfohlen)

      Bei Verwendung des Nginx-Webservers können Serverblocks (ähnlich wie virtuelle Hosts in Apache) genutzt werden, um Konfigurationsdetails einzukapseln und mehr als eine Domäne auf einem einzigen Server zu hosten. Wir richten eine Domäne namens your_domain ein, aber Sie sollten diesen Namen durch Ihren eigenen Domänenamen ersetzen. Um mehr über das Einrichten eines Domänennamens mit DigitalOcean zu erfahren, lesen Sie bitte unsere Einführung zu DigitalOcean DNS.

      Erstellen Sie das Verzeichnis für your_domain mit dem Flag -p, um alle erforderlichen übergeordneten Verzeichnisse zu erstellen:

      • sudo mkdir -p /var/www/your_domain/html

      Erteilen Sie den Besitz des Verzeichnisses:

      • sudo chown -R $USER:$USER /var/www/your_domain/html

      Die Berechtigungen Ihrer Webstämme sollten korrekt sein, wenn Sie Ihren unmask-Wert nicht geändert haben, aber Sie können das durch die folgende Eingabe prüfen:

      • sudo chmod -R 755 /var/www/your_domain

      Erstellen Sie als Nächstes eine index.html Beispielsseite durch die Verwendung von nano oder Ihrem bevorzugten Texteditor:

      • nano /var/www/your_domain/html/index.html

      Fügen Sie dann das folgende HTML-Beispiel hinzu:

      /var/www/your_domain/html/index.html

      <html>
          <head>
              <title>Welcome to your_domain!</title>
          </head>
          <body>
              <h1>Success!  The your_domain server block is working!</h1>
          </body>
      </html>
      

      Wenn Sie fertig sind, speichern und schließen Sie die Datei.

      Erstellen Sie einen neuen Serverblock in /etc/nginx/sites-available/your_domain:

      • sudo nano /etc/nginx/sites-available/your_domain

      Fügen Sie den folgenden Konfigurationsblock ein, der für unser neues Verzeichnis und den Domänennamen aktualisiert wird:

      /etc/nginx/sites-available/your_domain

      server {
              listen 80;
              listen [::]:80;
      
              root /var/www/your_domain/html;
              index index.html index.htm index.nginx-debian.html;
      
              server_name your_domain www.your_domain;
      
              location / {
                      try_files $uri $uri/ =404;
              }
      }
      

      Wenn Sie fertig sind, speichern und schließen Sie die Datei.

      Aktivieren Sie die Datei, indem Sie einen Link von ihr zum Verzeichnis sites-enabled erstellen:

      • sudo ln -s /etc/nginx/sites-available/your_domain /etc/nginx/sites-enabled/

      Zwei Serverblocks sind jetzt aktiviert und so konfiguriert, dass sie anhand ihrer Anweisungen listen und server_name auf Anfragen reagieren:

      • your_domain: Antwortet auf Anfragen nach your_domain und www.your_domain.
      • default: Antwortet auf alle Anfragen an Port 80, die nicht mit den anderen beiden Blocks übereinstimmen.

      Um ein mögliches Hash-Bucket-Speicherproblem zu verhindern, das durch das Hinzufügen zusätzlicher Servernamen entstehen kann, ist es erforderlich, einen einzelnen Wert in der Datei /etc/nginx/nginx.conf anzupassen. Öffnen Sie die Datei:

      • sudo nano /etc/nginx/nginx.conf

      Suchen Sie die Anweisung server_names_hash_bucket_size und entfernen Sie das Symbol #, um die Auskommentierung der Zeile aufzuheben:

      /etc/nginx/nginx.conf

      ...
      http {
          ...
          server_names_hash_bucket_size 64;
          ...
      }
      ...
      

      Testen Sie auf Syntaxfehler:

      Starten Sie Nginx neu, um Ihre Änderungen zu aktivieren:

      • sudo systemctl restart nginx

      Nginx sollte jetzt für Ihren Domänenamen eingerichtet sein. Sie können dies testen, indem Sie zu http://your_domain navigieren, wo Sie etwas Ähnliches wie dies sehen sollten:

      Erster Nginx-Serverblock

      Zusammenfassung

      Nachdem Sie Ihren Webserver installiert haben, haben Sie viele Optionen für die Art des Inhalts und die Technologien, die Sie verwenden möchten, um eine umfassendere Benutzererfahrung zu erzielen.

      Wenn Sie einen vollständigeren Anwendungsstapel erstellen möchten, lesen Sie diesen Artikel zu Konfigurieren eines LAMP-Stacks unter Ubuntu 20.04.



      Source link