GNU/Linux >> Znalost Linux >  >> Debian

Jak nainstalovat Etherpad s Nginx a SSL na Debian 11

Etherpad je bezplatná a open-source alternativa ke službám jako Google Docs a Zoho Writer. Etherpad je kolaborativní textový editor v reálném čase pro váš tým, je dostupný odkudkoli a kdykoli, protože Etherpad je webový textový editor.

Jakékoli změny na Etherpadu se dějí v reálném čase a také etherpad podporuje verzování a vestavěné formátování pro týmy. Etherpad je vysoce přizpůsobitelný editor s podporou různých pluginů. A také podporuje moderní formáty dokumentů, jako je doc, pdf, odt, markdown atd.

V tomto tutoriálu nainstalujete a nakonfigurujete editor Etherpad Real-time Collaborative Editor na Debian 11 Bullseye. Tento tutoriál používá MariaDB jako backend databáze a webový server Nginx jako reverzní proxy s povoleným zabezpečeným HTTPS. Nakonec budete mít Etherpad nainstalovaný a zabezpečený pomocí zabezpečeného šifrování HTTPS.

Předpoklady

K dokončení tohoto kurzu budete nejprve potřebovat následující požadavky:

  • Server Debian 11, pro testování můžete použít 1 GB RAM. Pro produkci můžete použít více zdrojů v závislosti na vašem prostředí a využití.
  • Uživatel bez oprávnění root s právy root. Volitelně můžete použít uživatele root.
  • Název domény pro instalaci a ujistěte se, že odkazuje na adresu IP serveru. V tomto příkladu použijeme doménu 'etherpad.example.io '.

Až splníte všechny tyto předpoklady, přejděte k první části a spusťte instalaci.

Instalace závislostí balíčků

Etherpad je webová aplikace postavená na Node.js. V době psaní tohoto článku je nejnovější verze Etherpadu xxx a vyžaduje alespoň Node.js verze 14.x . V této části nainstalujete některé závislosti balíčků, včetně Node.js na server Debian 11.

1. Nejprve aktualizujte seznam indexů balíků a poté nainstalujte závislosti sestavení spuštěním následujícího příkazu.

aktualizace sudo apt
instalace sudo apt gzip git curl python libssl-dev pkg-config gcc g++ make build-essential -y

2. V tomto tutoriálu nainstalujete Node.js z úložiště Nodesource, které poskytuje několik verzí Node.js. Tento výukový program používá Node.js verze 16.x pro instalaci Etherpadu.

Nyní spusťte následující příkaz a přidejte úložiště Node.js do svého systému. Tento příkaz automaticky přidá úložiště Nodesource, aby obnovil váš index balíčků.

curl -sL https://deb.nodesource.com/setup_16.x | sudo -E bash -

3. Dále nainstalujte Node.js 16.x z úložiště Nodesource spuštěním příkazu níže.

sudo apt install nodejs -y

4. Po dokončení instalace ověřte verzi Node.js pomocí následujícího příkazu.

node --version

Obdržíte výstup jako 'bla bla'.

V této části jste nainstalovali závislosti balíčků pro Etherpad a Node.js verze 16.x z úložiště Nodesource. Dále nainstalujete a nakonfigurujete databázi MariaDB.

Instalace a konfigurace databáze MariaDB

V této části nainstalujete databázi MariaDB na server Debian 11. Poté nastavíte root heslo pro MariaDB a nakonec vytvoříte novou databázi a uživatele pro Etherpad.

1. Ve výchozím nastavení jsou balíčky MariaDB dostupné v úložišti Debian 11. Spusťte následující příkaz a nainstalujte jej.

sudo apt install mariadb-server -y

2. Po dokončení instalace MariaDB se automaticky spustí a povolí.

MariaDB poskytuje nástroj příkazového řádku, který vám pomůže bezpečně nasadit MariaDB, včetně nastavení root hesla pro MariaDB. Spusťte příkaz 'mysql_secure_installation' jak je uvedeno níže.

mysql_secure_installation

Nyní budete dotázáni na několik otázek souvisejících s nasazením MariaDB a budete vyzváni k nastavení hesla uživatele root.

3. Výchozí uživatel root pro mariaDB nemá žádné heslo, stiskněte ENTER .

Zadejte aktuální heslo pro root (zadejte žádné):
OK, úspěšně použité heslo, pokračujeme...

4. Nyní budete požádáni o přepnutí metody ověřování pomocí 'unix_socket “, zadejte „Y souhlasit.

Přepnout na autentizaci unix_socket [A/n] Y
Úspěšně povoleno!
Opětovné načítání tabulek oprávnění...
 ... Úspěch!

5. Napište „Y ' pro nastavení nového hesla root pro MariaDB. Poté zadejte své silné heslo a opakujte.

Změnit heslo uživatele root? [A/n] A
Nové heslo:
Znovu zadejte nové heslo:
Heslo bylo úspěšně aktualizováno!
Opětovné načítání tabulek oprávnění...
 ... Úspěch!

6. Výchozí instalace MariaDB je dodávána s anonymním uživatelem. Chcete-li jej odstranit, zadejte „Y“.

Odebrat anonymní uživatele? [A/n] A
 ... Úspěch!

7. Nyní vypněte vzdálené přihlášení pro uživatele root MariaDB. Zadejte „Y souhlasit.

Zakázat vzdálené přihlášení root? [A/n] A
 ... Úspěch!

8. Dále zadejte „Y ' pro souhlas a odstranění výchozí databáze 'test “ a všechna oprávnění k tomu.

Odebrat testovací databázi a získat k ní přístup? [A/N] A
 – Ruší se testovací databáze...
 ... Úspěch!
 – Odebírání oprávnění k testovací databázi...
 ... Úspěch!

9. Nakonec znovu načtěte oprávnění tabulky, abyste mohli použít novou konfiguraci. Zadejte „Y “ pro souhlas a stiskněte ENTER .

Obnovit nyní tabulky oprávnění? [A/n] A
 ... Úspěch!

Když je veškerá konfigurace dokončena, obdržíte výstupní zprávu, například „Vše hotovo! ' jak je uvedeno níže.

Vše hotovo! Pokud jste provedli všechny výše uvedené kroky, vaše
instalace MariaDB by nyní měla být zabezpečená.

Děkujeme, že používáte MariaDB!

10. Dále spusťte následující příkaz pro přihlášení do prostředí MariaDB. Budete vyzváni k zadání hesla root MariaDB. Zadejte své heslo.

mysql -u root -p

11. Nyní vytvořte novou databázi a uživatele pro Etherpad spuštěním následujících dotazů. Tento příklad vytvoří novou databázi 'etherpad_lite_db ' s uživatelem 'etherpaduser “ a heslo „StrongPasswordEtherpadDB '. Nezapomeňte změnit heslo.

VYTVOŘIT DATABÁZI etherpad_lite_db;
VYTVOŘIT UŽIVATELE [chráněno e-mailem] IDENTIFIKOVANÉ PODLE 'StrongPasswordEtherpadDB';
GRANT CREATE,ALTER,SELECT,INSERT,UPDATE,DELETE na etherpad_lite_dbprotected];

12. Poté znovu načtěte oprávnění všech tabulek, abyste mohli použít novou konfiguraci, a poté spusťte dotaz 'exit' pro odhlášení z prostředí mariaDB.

FLUSH PRIVILEGES;
EXIT

V této části jste dokončili instalaci a konfiguraci databáze MariaDB na Debianu 11. Také jste vytvořili databázi a uživatele pro Etherpad. Dále si stáhnete zdrojový kód Etherpadu a nainstalujete jej.

Instalace a konfigurace Etherpad

V této části nainstalujete Etherpad ze zdrojového kódu, poté jej nakonfigurujete s databází MariaDB a vytvoříte nový soubor systemd pro Etherpad. Nakonec Etherpad poběží jako systémová služba.

1. Před stažením zdrojového kódu Etherpadu vytvoříte nového uživatele 'etherpad ' ve vašem systému. Tento uživatel bude použit ke spuštění instalačního skriptu Etherpad a ke spuštění služby Etherpad.

Spusťte 'adduser ' příkaz níže k vytvoření nového uživatele 'etherpad '. Definujte také domovský adresář na '/opt/etherpad-lite '. Tento adresář bude použit pro uložení všech zdrojů Etherpadu.

sudo adduser --system --no-create-home --home=/opt/etherpad-lite --group etherpad

2. Nyní přejděte do adresáře '/opt a naklonujte zdroj Etherpad pomocí příkazu git.

cd /opt/
klon git --branch master https://github.com/ether/etherpad-lite.git

3. Poté změňte vlastnictví adresáře 'etherpad-lite' na uživatele 'etherpad “ a skupina „etherpad '.

sudo chown -R etherpad:etherpad etherpad-lite

4. Nyní přejděte do adresáře 'etherpad-lite/ a nainstalujte všechny závislosti Node.js pomocí instalačního skriptu 'installDeps.sh' jak je uvedeno níže. Instalační skript 'installDeps.sh ' bude spuštěn jako uživatel 'etherpad' bez oprávnění root.

cd /opt/etherpad-lite
sudo su -s /bin/bash -c "./bin/installDeps.sh" etherpad

Počkejte na dokončení instalace závislostí všech balíčků.

Dále upravte soubor 'settings.json ' pro nastavení instalace Etherpadu. K úpravě tohoto souboru můžete použít nano editor nebo použít preferovaný editor.

nano settings.json

V horní části řádku změňte název na svůj vlastní. Tento příklad používá název 'Entherpad Johndoe '.

  "title":"Etherpad Johndoe",

V tomto tutoriálu bude Etherpad běžet pod reverzním proxy Nginx. A pro zabezpečení je dobré provozovat Etherpad na localhostu. Nyní změňte 'ip :' konfigurace na '127.0.0.1' . S touto konfigurací bude Etherpad běžet pouze na localhost.

  "ip":"127.0.0.1",
  "port":9001,

Ve výchozím nastavení používá Etherpad jako databázi SQLite. Zakomentujte všechny tyto řádky, abyste je zakázali.

  /*
  *"dbType":"dirty",
  *"dbSettings":{
  *  "filename":"var/dirty.db"
  *} ,
  */

Nyní zadejte konfiguraci databáze MariaDB níže. A nezapomeňte změnit název databáze, uživatele a heslo.

  "dbType" :"mysql",
  "dbSettings" :{
    "user":     "etherpaduser",
    "host":     "localhost",
    "port ":     3306,
    "password":"StrongPasswordEtherpadDB",
    "database":"etherpad_lite_db",
    "charset":  "utf8mb4"
  },

Uložte a ukončete soubor.

Dále vytvořte nový soubor služby systemd 'etherpad.service ' v adresáři '/etc/systemd/system '. Tento soubor bude obsahovat všechny konfigurační podrobnosti, které Etherpad potřebuje ke správnému fungování na serveru. Vytvořte jej pomocí nano editoru.

sudo nano /etc/systemd/system/etherpad.service

Přidejte do souboru následující konfiguraci.

[Unit]
Description=Etherpad-lite, editor pro spolupráci.
After=syslog.target network.target

[Service]
Typ=simple
Uživatel=etherpad
Skupina=etherpad
WorkingDirectory=/opt/etherpad-lite
Prostředí=NODE_ENV=výroba
ExecStart=/usr/bin/node --experimental -worker /opt/etherpad-lite/node_modules/ep_etherpad-lite/node/server.js
# použijte mysql plus kompletní soubor settings.json, abyste se vyhnuli zdržení služby a naplánovali restart.
Restart =always

[Instalovat]
WantedBy=multi-user.target

Tento servisní soubor bude spuštěn jako uživatel a skupina 'etherpad'. A všimnete si možnosti 'Prostředí=NODE_ENV=výroba ', což znamená, že aplikace Etherpad bude spuštěna v produkčním prostředí. 'ExecStart=.. Volba ' je výchozí příkaz pro spuštění aplikace Etherpad.

Uložte a zavřete soubor.

Nyní znovu načtěte správce systemd a použijte nový soubor služby.

sudo systemctl daemon-reload

Poté spusťte a povolte službu etherpad a ověřte její stav spuštěním následujícího příkazu.

povolení sudo systemctl --nyní etherpad
stav sudo systemctl etherpad

Obdržíte výstup podobný níže uvedenému snímku obrazovky. Služba etherpad je nyní 'aktivní (běžící) ', automaticky se spustí při startu systému a běží na localhost s výchozím portem '9001 '.

V tomto okamžiku jste dokončili instalaci Etherpadu. Dále nainstalujete Nginx a nastavíte jej jako reverzní proxy pro aplikaci Etherpad.

Instalace a konfigurace Nginx

Pro produkční prostředí se vždy doporučuje umístit před aplikaci reverzní proxy. Zvýší výkon a zabezpečení vaší aplikace. V této části nainstalujete a nakonfigurujete webový server Nginx jako reverzní proxy. Nakonec budete mít Etherpad spuštěný s názvem vaší domény a zabezpečený protokolem HTTPS.

1. Nejprve nainstalujte balíčky Nginx spuštěním příkazu níže.

sudo apt install nginx -y

2. Nyní, pokud máte na svém systému Debian UFW firewall. Povolte veřejný přístup k portům HTTP a HTTPS (80 a 443) spuštěním 'ufw ' níže.

sudo ufw povolit "Nginx Full"

Obdržíte následující výstup.

Přidáno pravidlo
Přidáno pravidlo (v6)

3. Dále vytvořte nový soubor virtuálního hostitele Nginx 'etherpad ' v adresáři '/etc/nginx/sites-available/ '. Vytvořte jej pomocí nano editoru nebo vašeho preferovaného editoru.

sudo nano /etc/nginx/sites-available/etherpad

Zkopírujte a vložte následující konfiguraci do souboru. Také nahraďte název své domény a cestu certifikátu SSL svými vlastními informacemi. Pro certifikáty SSL můžete certifikáty SSL volně generovat pomocí Letsencrypt.

# vynucovat HTTPS
server {
    poslouchat       80;
    poslouchat       [::]:80;
    název_serveru  etherpad.example.io;
    vrátit 301   https://$host$request_uri;
}

# zde jsme v kontextu http
mapa $http_upgrade $connection_upgrade {
    výchozí upgrade;
''      close;
}

server {
    poslouchat       443 ssl http2;
    poslouchat       [::]:443 ssl http2;
    název_serveru  etherpad.example .io;

    access_log  /var/log/nginx/eplite.access.log;
    error_log   /var/log/nginx/eplite.error.log;

    ssl_certificate      /etc/letsencrypt/live/etherpad.example.io/fullchain.pem;
    ssl_certificate_key  /etc/letsencrypt/live/etherpad.example.io/privkey.pem;  sesl_br /timeout;  sesl ssl /timeout 5 m;

    ssl_protocols TLSv1.2;
    ssl_prefer_server_ciphers on;
    ssl_ciphers "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECHADH+DHECDSA /br ECDSA+SHA256 EEC DH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 \
    EECDH EDH+aRSA RC4 !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS"; br />    umístění / {
        proxy_pass         http://127.0.0.1:9001;
        proxy_buffering    off; # buďte opatrní, tento řádek nepřepisuje žádné proxy_buffering při nastavení v conf.d/file.conf
        proxy_set_header   Host $host;
        proxy_pass_header  Server;

        # Všimněte si možná budete chtít předat i tato záhlaví atd.
        proxy_set_header    X-Real-IP $remote_addr; # https://nginx.org/en/docs/http/ngx_http_proxy_module.html
        proxy_set_header    X-Forwarded-For $remote_addr; # protokoly EP pro zobrazení skutečné vzdálené IP
        proxy_set_header    X-Forwarded-Proto $scheme; #, aby EP nastavil příznak zabezpečeného souboru cookie při použití protokolu https
        proxy_http_version  1.1; # doporučeno pro udržovací připojení

        # WebSocket proxy – z https://nginx.org/en/docs/http/websocket.html
        proxy_set_header  Upgrade $http_upgrade;
        proxy_set_header $connection_upgrade;
    }
}

Tento virtuální hostitelský soubor Nginx automaticky přesměruje veškerý provoz z HTTP na zabezpečený protokol HTTPS. Pro ladění v případě chyby zkontrolujte soubor protokolu '/var/log/nginx/eplite.error.log '. Všechny požadavky klientů budou odeslány na backend 'proxy_pass ' aplikace Etherpad, která běží na portu localhost 9001.

4. Uložte a zavřete soubor a poté aktivujte konfiguraci virtuálního hostitele vytvořením symbolického odkazu na soubor 'etherpad ' do adresáře '/etc/nginx/sites-enabled '.

sudo ln -s /etc/nginx/sites-available/etherpad /etc/nginx/sites-enabled/

5. Dále spusťte příkaz 'nginx -t' pro ověření konfigurace nginx. Tento příkaz zkontroluje všechny syntaktické chyby v konfiguraci.

sudo nginx -t

Obdržíte výstup, jak je uvedeno níže. Výstupní zpráva 'syntaxe je v pořádku ' znamená, že nemáte žádné chyby.

nginx:syntaxe konfiguračního souboru /etc/nginx/nginx.conf je v pořádku
nginx:test konfiguračního souboru /etc/nginx/nginx.conf byl úspěšný.

6. Nakonec restartujte službu Nginx, abyste použili nový soubor virtuálního hostitele Nginx.

sudo systemctl restart nginx

V této části jste dokončili instalaci a konfiguraci Nginx jako reverzní proxy pro aplikaci Etherpad. Váš Etherpad je nyní dostupný na http://etherpad.example.io.

Ověřte instalaci etherpadu

1. Otevřete webový prohlížeč a do adresy zadejte název domény „http://etherpad.example.io/“. A budete automaticky přesměrováni na zabezpečené připojení HTTPS, jak je uvedeno níže.

2. Chcete-li vytvořit nový blok, zadejte název bloku do sloupce a klikněte na tlačítko 'OK '.

Nyní uvidíte Etherpad Real-time Collaboration Editor, jak je uvedeno níže.

Závěr

V tomto tutoriálu jste nainstalovali a nakonfigurovali Etherpad Real-time Collaborative Editor na serveru Debian 11. Také jste nainstalovali a nakonfigurovali Nginx jako reverzní proxy pro aplikaci Etherpad.

Nyní jste připraveni používat etherpad jako editor spolupráce ve vašem týmu. Další informace o Etherpadu najdete v oficiální dokumentaci k Etherpadu.


Debian
  1. Jak nainstalovat Phorum s Nginx na Debian 9

  2. Jak nainstalovat Textpattern CMS s Nginx na Debian 10

  3. Jak nainstalovat a nakonfigurovat Mariadb 10 v Debianu 11

  1. Jak nainstalovat OpenCart s Nginx a Lets Encrypt na Debian 10

  2. Jak nainstalovat a zabezpečit MariaDB na Debian 11

  3. Jak nainstalovat WonderCMS s Nginx na Debian 11

  1. Jak nainstalovat Drupal 9 s Nginx a nechat šifrovat SSL na Debian 10

  2. Jak nainstalovat SuiteCRM s Apache a zdarma Lets Encrypt SSL na Debian 11

  3. Jak nainstalovat AbanteCart s Nginx a SSL na Debian 11