One place for hosting & domains

      Quickstart

      So installieren und sichern Sie Redis unter Ubuntu 20.04 [Quickstart]


      Einführung

      Redis ist ein In-Memory-Schlüsselwertspeicher, der für seine Flexibilität, Leistung und breite Sprachunterstützung bekannt ist. Dieses Quickstart-Tutorial zeigt, wie Sie Redis auf einem Ubuntu 20.04-Server installieren, konfigurieren und sichern.

      Voraussetzungen

      Um diesen Leitfaden auszuführen, benötigen Sie Zugriff auf einen Ubuntu 20.04-Server, der einen non-root user mit sudo-Berechtigungen und eine mit ufw konfigurierte Firewall aufweist. Hierzu können Sie unserem Leitfaden zur Ersteinrichtung eines Servers unter Ubuntu 20.04 folgen.

      Schritt 1 — Installieren und Konfigurieren von Redis

      Als Erstes aktualisieren Sie Ihren lokalen apt-Paketcache:

      Installieren Sie anschließend Redis, indem Sie Folgendes eingeben:

      • sudo apt install redis-server

      Öffnen Sie als Nächstes die Redis-Konfigurationsdatei mit Ihrem bevorzugten Texteditor:

      • sudo nano /etc/redis/redis.conf

      Suchen Sie in der Datei nach der Anweisung supervised, mit der Sie ein Init-System zur Verwaltung von Redis als Dienst deklarieren können. Da Ubuntu das Init-System systemd verwendet, ändern Sie den Wert von no zu systemd:

      /etc/redis/redis.conf

      . . .
      
      # If you run Redis from upstart or systemd, Redis can interact with your
      # supervision tree. Options:
      #   supervised no      - no supervision interaction
      #   supervised upstart - signal upstart by putting Redis into SIGSTOP mode
      #   supervised systemd - signal systemd by writing READY=1 to $NOTIFY_SOCKET
      #   supervised auto    - detect upstart or systemd method based on
      #                        UPSTART_JOB or NOTIFY_SOCKET environment variables
      # Note: these supervision methods only signal "process is ready."
      #       They do not enable continuous liveness pings back to your supervisor.
      supervised systemd
      
      . . .
      

      Wenn Sie fertig sind, speichern und schließen Sie die Datei. Wenn Sie nano zum Bearbeiten der Datei verwendet haben, drücken Sie dazu STRG + X, Y und dann ENTER.

      Starten Sie dann den Redis-Dienst neu, damit die Änderungen, die Sie in der Konfigurationsdatei vorgenommen haben, angewendet werden:

      • sudo systemctl restart redis.service

      Um zu testen, ob Redis richtig funktioniert, stellen Sie mit dem Redis-Befehlszeilenclient redis-cli eine Verbindung zum Server her:

      Testen Sie in der folgenden Eingabeaufforderung die Verbindung mit dem Befehl ping:

      Output

      PONG

      Diese Ausgabe bestätigt, dass die Serververbindung hergestellt ist. Als Nächstes überprüfen Sie, ob Sie Schlüssel festlegen können, indem Sie Folgendes ausführen:

      Output

      OK

      Rufen Sie den Wert ab, indem Sie Folgendes eingeben:

      Wenn alles funktioniert, können Sie den gespeicherten Wert abrufen:

      Output

      "It's working!"

      Nachdem Sie die Bestätigung haben, dass Sie den Wert abrufen können, beenden Sie die Redis-Eingabeaufforderung, um wieder zur Shell zu gelangen:

      Schritt 2 — Konfigurieren eines Redis-Passworts

      Sie können ein Redis-Passwort direkt in der Konfigurationsdatei von Redis, /etc/redis/redis.conf., konfigurieren. Öffnen Sie die Datei erneut mit Ihrem bevorzugten Editor:

      • sudo nano /etc/redis/redis.conf

      Scrollen Sie zum Abschnitt SECURITY und suchen Sie eine Anweisung mit der Kommentierung:

      /etc/redis/redis.conf

      . . .
      # requirepass foobared
      . . .
      

      Heben Sie die Kommentierung auf, indem Sie # entfernen, und ändern Sie foobared in ein sicheres Passwort:

      /etc/redis/redis.conf

      . . .
      requirepass your_redis_password
      . . .
      

      Nach dem Einrichten des Passworts speichern und schließen Sie die Datei. Starten Sie erneut Redis:

      • sudo systemctl restart redis.service

      Öffnen Sie den Redis-Client, um zu testen, ob das Passwort funktioniert:

      Folgendes zeigt eine Sequenz von Befehlen, mit denen getestet wird, ob das Redis-Passwort funktioniert. Der erste Befehl versucht, einen Schlüssel auf einen Wert vor der Authentifizierung einzustellen:

      Das funktioniert nicht, da Sie keine Authentifizierung durchgeführt haben. Daher gibt Redis einen Fehler aus:

      Output

      (error) NOAUTH Authentication required.

      Der nächste Befehl führt die Authentifizierung mit dem Passwort durch, das in der Redis-Konfigurationsdatei angegeben ist:

      Redis bestätigt:

      Output

      OK

      Danach wird der vorherige Befehl erfolgreich ausgeführt:

      Output

      OK

      get key1 fragt Redis nach dem Wert des neuen Schlüssels.

      Output

      "10"

      Nachdem Sie die Bestätigung haben, dass Sie Befehle im Redis-Client nach Authentifizierung ausführen können, beenden Sie redis-cli:

      Schritt 3 — Umbenennen von gefährlichen Befehlen

      Die andere in Redis integrierte Sicherheitsfunktion besteht in der Umbenennung oder vollständigen Deaktivierung bestimmter Befehle, die als gefährlich eingestuft werden. Einige der Befehle, die als gefährlich eingestuft werden, sind: FLUSHDB, FLUSHALL, KEYS, PEXPIRE, DEL, CONFIG, SHUTDOWN, BGREWRITEAOF, BGSAVE, SAVE, SPOP, SREM, RENAME und DEBUG. Die Deaktivierung oder Umbenennung dieser und anderer Befehle erschwert es unautorisierten Benutzern, Ihre Daten anders zu konfigurieren, zu zerstören oder anderweitig zu vernichten.

      Um Redis-Befehle umzubenennen oder zu deaktivieren, öffnen Sie erneut die Konfigurationsdatei:

      • sudo nano /etc/redis/redis.conf

      Achtung: Die folgenden Schritte zur Deaktivierung und Umbenennung von Befehlen sind Beispiele. Sie sollten nur die Befehle deaktivieren oder umbenennen, die für Sie sinnvoll sind. Sie können die vollständige Liste der Befehle unter redis.io/commands selbst überprüfen und eruieren, wie diese missbraucht werden könnten.

      Um einen Befehl zu deaktivieren, benennen Sie ihn einfach wie unten gezeigt in eine leere Zeichenfolge um (gekennzeichnet durch ein Paar Anführungszeichen ohne Zeichen dazwischen):

      /etc/redis/redis.conf

      . . .
      # It is also possible to completely kill a command by renaming it into
      # an empty string:
      #
      rename-command FLUSHDB ""
      rename-command FLUSHALL ""
      rename-command DEBUG ""
      . . .
      

      Zur Umbenennung eines Befehls geben Sie diesem wie bei den unten gezeigten Beispielen einen anderen Namen. Umbenannte Befehle sollten für andere schwierig zu erraten und für Sie selbst leicht zu merken sein:

      /etc/redis/redis.conf

      . . .
      # rename-command CONFIG ""
      rename-command SHUTDOWN SHUTDOWN_MENOT
      rename-command CONFIG ASC12_CONFIG
      . . .
      

      Speichern Sie Ihre Änderungen und schließen Sie die Datei.

      Nach der Umbenennung eines Befehls wenden Sie die Änderung an, indem Sie Redis neu starten:

      • sudo systemctl restart redis.service

      Um den neuen Befehl zu testen, gehen Sie in die Redis-Befehlszeile:

      Führen Sie dann eine Authentifizierung durch:

      Output

      OK

      Wenn Sie den Befehl CONFIG wie im vorausgehenden Beispiel in ASC12_CONFIG umbenannt haben, probieren Sie nun den ursprünglichen Befehl CONFIG aus. Das sollte fehlschlagen, da Sie diesen umbenannt haben:

      Output

      (error) ERR unknown command `config`, with args beginning with:

      Der umbenannte Befehl kann jedoch erfolgreich aufgerufen werden. Die Groß- und Kleinschreibung muss dabei nicht beachtet werden:

      • asc12_config get requirepass

      Output

      1) "requirepass" 2) "your_redis_password"

      Zusammenfassung

      In diesem Quickstart-Tutorial haben Sie Redis installiert und konfiguriert, die korrekte Funktion Ihrer Redis-Installation überprüft und die integrierten Sicherheitsfunktionen genutzt, um sie weniger anfällig für Angriffe böswilliger Akteure zu machen.



      Source link

      Como Instalar Linux, Apache, MySQL, PHP, pilha (LAMP) no Ubuntu 20.04 [Quickstart]


      Introdução

      Neste guia quickstart, instalaremos uma pilha LAMP em um servidor Ubuntu 20.04.

      Para obter uma versão mais detalhada deste tutorial, com mais explicações sobre cada passo, consulte o tutorial How To Install Linux, Apache, MySQL, PHP (LAMP) Stack on Ubuntu 20.04

      Pré-requisitos

      Para seguir este guia, você precisará ter acesso a um servidor Ubuntu 20.04 como um usuário sudo.

      Passo 1 — Instalar o Apache

      Atualize o cache do seu gerenciador de pacotes e, em seguida, instale o Apache com:

      • sudo apt update
      • sudo apt install apache2

      Assim que a instalação terminar, você precisará ajustar suas configurações de firewall para permitir o tráfego HTTP em seu servidor. Execute o seguinte comando para permitir o acesso externo na porta 80 (HTTP):

      • sudo ufw allow in "Apache"

      Com a nova regra de firewall adicionada, você poderá testar se o servidor está em funcionamento, acessando o endereço IP público do seu servidor ou nome de domínio do seu navegador Web. Você verá uma página como esta:

      Ubuntu 20.04 Apache default

      Passo 2 — Instalar o MySQL

      Agora, vamos instalar o MySQL, um popular sistema de gerenciamento de banco de dados utilizado em ambientes PHP.

      Novamente, utilize o apt para adquirir e instalar este software:

      • sudo apt install mysql-server

      Quando a instalação terminar, é recomendável que você execute um script de segurança que vem pré-instalado com o MySQL. Inicie o script interativo executando:

      • sudo mysql_secure_installation

      Este script irá perguntar se você deseja configurar o VALIDATE PASSWORD PLUGIN. Responda Y para sim, ou qualquer outra coisa para continuar sem a habilitar. Se você responder “yes”, você será solicitado a selecionar um nível de validação por senha.

      Em seguida, seu servidor pedirá que você escolha e confirme uma senha para o root user do MySQL. Embora o método de autenticação predefinido para o root user dispense o uso de uma senha, mesmo quando uma senha está definida, você deve definir uma senha forte aqui como uma medida de segurança adicional.

      Para o resto das perguntas, pressione Y e pressione a tecla ENTER em cada prompt.

      Nota: no momento em que este artigo foi escrito, a biblioteca nativa do PHP para o MySQL mysqlnd não suporta o caching_sha2_authentication, o método de autenticação padrão para o MySQL 8. Por essa razão, ao criar usuários de banco de dados para aplicações PHP no MySQL 8, você precisará garantir que eles estejam configurados para usar o mysql_native_password. Consulte o passo 6 do nosso guia LAMP detalhado no Ubuntu 20.04 para aprender a fazer isso.

      Passo 3 — Instalar o PHP

      Para instalar o PHP e suas dependências, execute:

      • sudo apt install php libapache2-mod-php php-mysql

      Assim que a instalação terminar, você pode executar o seguinte comando para confirmar sua versão PHP:

      Output

      PHP 7.4.3 (cli) (built: Mar 26 2020 20:24:23) ( NTS ) Copyright (c) The PHP Group Zend Engine v3.4.0, Copyright (c) Zend Technologies with Zend OPcache v7.4.3, Copyright (c), by Zend Technologies

      Passo 4 — Criando um Virtual Host para seu Website

      Neste guia,vamos configurar um domínio chamado your_domain, mas você deve substituí-lo por seu próprio nome de domínio.

      O Apache no Ubuntu 20.04 tem um bloco de servidor habilitado por padrão que está configurado para servir documentos do diretório /var/www/html. Em vez de modificar o /var/www/html, vamos criar uma estrutura de diretórios dentro do /var/www para o site your_domain, deixando o /var/www/html intocado como o diretório padrão para ser servido se uma solicitação de cliente não corresponder a nenhum outro site.

      Crie o diretório para o your_domain como segue:

      • sudo mkdir /var/www/your_domain

      Em seguida, atribua a propriedade do diretório com a variável de ambiente $USER, que deve fazer referência ao seu usuário de sistema atual:

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

      Em seguida, abra um novo arquivo de configuração no diretório sites-available do Apache usando seu editor de linha de comando preferido.

      • sudo nano /etc/apache2/sites-available/your_domain.conf

      Isso criará um novo arquivo em branco. Cole nele a seguinte configuração:

      /etc/apache2/sites-available/your_domain.conf

      <VirtualHost *:80>
          ServerName your_domain
          ServerAlias www.your_domain
          ServerAdmin webmaster@localhost
          DocumentRoot /var/www/your_domain
          ErrorLog ${APACHE_LOG_DIR}/error.log
          CustomLog ${APACHE_LOG_DIR}/access.log combined
      </VirtualHost>
      

      Salve e feche o arquivo quando terminar. Se você estiver usando o nano, você pode fazer isto pressionando CTRL+X, depois Y e ENTER.

      Agora, você pode usar a2ensite para habilitar o novo virtual host:

      • sudo a2ensite your_domain

      Para desativar o site padrão do Apache, digite:

      • sudo a2dissite 000-default

      Para garantir que seu arquivo de configuração não contenha erros de sintaxe, execute:

      • sudo apache2ctl configtest

      Por fim, recarregue o Apache para que essas alterações entrem em vigor:

      • sudo systemctl reload apache2

      Agora, seu novo site está ativo, mas o web root /var/www/your_domain ainda está vazio. Crie um arquivo index.html naquele local para que possamos testar se o virtual host funciona conforme esperado:

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

      Inclua o conteúdo a seguir neste arquivo:

      /var/www/your_domain/index.html

      <html>
        <head>
          <title>your_domain website</title>
        </head>
        <body>
          <h1>Hello World!</h1>
      
          <p>This is the landing page of <strong>your_domain</strong>.</p>
        </body>
      </html>
      

      Agora, vá até seu navegador e acesse o nome de domínio ou o endereço IP do seu servidor novamente:

      http://server_domain_or_IP
      

      Você verá uma página como esta:

      Teste do host virtual do Apache

      Agora, vamos criar um script de teste PHP para confirmar que o Apache consegue lidar e processar solicitações para arquivos PHP.

      Crie um novo arquivo chamado info.php dentro de sua pasta web root personalizada:

      • nano /var/www/your_domain/info.php

      Isso abrirá um arquivo em branco. Adicione o conteúdo a seguir ao arquivo:

      /var/www/your_domain/info.php

      <?php
      phpinfo();
      

      Quando você terminar, salve e feche o arquivo.

      Vá para seu navegador Web e acesse o nome de domínio ou o endereço IP do seu servidor seguido pelo nome do script, que neste caso é info.php:

      http://server_domain_or_IP/info.php
      

      Você verá uma página parecida com esta:

      Ubuntu 20.04 o PHP info

      Após verificar as informações relevantes sobre seu servidor PHP através dessa página, é melhor remover o arquivo que você criou, uma vez que ele contém informações confidenciais sobre seu ambiente PHP e seu servidor Ubuntu. Você pode usar o rm para fazer isso:

      • sudo rm /var/www/your_domain/info.php

      Tutoriais relacionados

      Aqui estão os links para os guias mais detalhados relacionados a este tutorial:



      Source link

      Como Instalar o Nginx no Ubuntu 20.04 [Quickstart]


      Introdução

      O Nginx é um dos servidores Web mais populares no mundo e é responsável por hospedar alguns dos sites de maior tráfego na Internet. Ele é mais amigável do que o Apache em termos de recursos na maioria dos casos e pode ser usado como um servidor Web ou como proxy reverso.

      Neste guia, vamos explicar como instalar o Nginx no seu servidor Ubuntu 20.04. Para uma versão mais detalhada deste tutorial, consulte How To Install Nginx on Ubuntu 20.04

      Pré-requisitos

      Antes de iniciar este guia, você deve ter um usuário regular e não-root com privilégios sudo configurado no seu servidor. Você pode aprender como configurar uma conta de usuário regular seguindo nosso Guia de configuração inicial de servidor para o Ubuntu 20.04.

      Quando tiver uma conta disponível, logue com seu non-root user para começar.

      Passo 1 — CComo instalar o Nginx

      Uma vez que o Nginx está disponível nos repositórios padrão do Ubuntu, instale-o utilizando o sistema de empacotamento apt.

      Atualize seu índice de pacotes local:

      Instale o Nginx:

      Passo 2 — Como ajustar o Firewall

      Se seguiu o tutorial pré-requisito de configuração do servidor, então você tem o firewall UFW ativado. Verifique os perfis de aplicativo ufw disponíveis com o seguinte comando:

      Output

      Available applications: Nginx Full Nginx HTTP Nginx HTTPS OpenSSH

      Vamos habilitar o perfil mais restritivo que ainda permitirá o tráfego que você configurou, permitindo o tráfego na porta 80:

      • sudo ufw allow 'Nginx HTTP'

      Verifique a mudança:

      Output

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

      Passo 3 — Como verificar seu Servidor Web

      Verifique com o sistema init systemd para garantir que o serviço esteja funcionando digitando:

      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

      Acesse a página inicial padrão do Nginx para confirmar que o software está funcionando corretamente através do seu endereço IP:

      http://your_server_ip
      

      Você deve receber a página inicial padrão do Nginx:

      Nginx default page

      Passo 4 — Como configurar os blocos de servidor (recomendado)

      Ao usar o servidor Web Nginx, os server blocks (similares aos hosts virtuais no Apache) podem ser usados para encapsular detalhes de configuração e hospedar mais de um domínio de um único servidor. Vamos configurar um domínio chamado your_domain, mas você deve substituí-lo por seu próprio nome de domínio. Para aprender mais sobre como configurar um nome de domínio com a DigitalOcean, por favor, consulte nossa Introdução ao DNS da DigitalOcean.

      Crie o diretório para your_domain, utilizando a flag -p para criar todos os diretórios pais necessários:

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

      Atribua a posse do diretório:

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

      As permissões dos Web roots devem estar corretas se ainda não tiver modificado seu valor umask, mas você pode certificar-se digitando:

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

      Crie uma página de amostra index.html utilizando o nano ou seu editor favorito:

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

      Dentro, adicione a seguinte amostra HTML:

      /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>
      

      Salve e feche o arquivo quando você terminar.

      Crie um novo bloco de servidor em /etc/nginx/sites-available/your_domain:

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

      Cole no seguinte bloco de configuração, atualizado para nosso novo diretório e nome de domínio:

      /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;
              }
      }
      

      Salve e feche o arquivo quando terminar.

      Habilite o arquivo criando um link dele para o diretório sites-enabled:

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

      Agora, dois blocos de servidor estão habilitados e configurados para responder a pedidos baseados nas diretrizes listen e server_name:

      • your_domain: irá responder às solicitações para your_domain e www.your_domain.
      • default: responderá a quaisquer pedidos na porta 80 que não correspondam aos outros dois blocos.

      Para evitar um possível problema de memória de hash que possa surgir ao adicionar nomes adicionais de servidor, é necessário ajustar um valor único no arquivo /etc/nginx/nginx.conf. Abra o arquivo:

      • sudo nano /etc/nginx/nginx.conf

      Encontre a diretriz server_names_hash_bucket_size e remova o símbolo # para remover a marca de comentário da linha:

      /etc/nginx/nginx.conf

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

      Teste para conferir se há erros de sintaxe:

      Reinicie o Nginx para habilitar suas alterações:

      • sudo systemctl restart nginx

      O Nginx agora deve estar exibindo seu nome de domínio. Você pode testar isso navegando para http://your_domain, onde você deve ver algo assim:

      Nginx first server block

      Conclusão

      Agora que tem seu servidor Web instalado, você tem muitas opções para o tipo de conteúdo a oferecer e as tecnologias que quiser usar para criar uma experiência mais rica.

      Se você gostaria de construir uma pilha de aplicações mais completa, verifique este artigo how to configure a LEMP stack on Ubuntu 20.04



      Source link