Etherpad je webový online editor v reálném čase, který umožňuje autorům současně upravovat textový dokument a sledovat všechny úpravy v reálném čase. Jedná se o open source, přizpůsobitelný a schopný zobrazit text každého autora v jeho vlastní barvě. Poskytuje také HTTP API, které můžete integrovat se svými aplikacemi pro správu uživatelů a skupin. Nabízí několik pluginů, které vám pomohou integrovat e-mailová upozornění, nahrávání souborů, videohovory do Etherpadu. V tomto tutoriálu vám ukážeme, jak nainstalovat webový editor Etherpad na server Ubuntu 20.04.
Předpoklady
- Server se systémem Ubuntu 20.04.
- Platný název domény s adresou IP vašeho serveru.
- Na serveru je nakonfigurováno heslo uživatele root.
Začínáme
Než začnete, budete muset aktualizovat systémové balíčky na nejnovější verzi. Můžete je aktualizovat spuštěním následujícího příkazu:
apt-get update -y
Jakmile budou všechny balíčky aktualizovány, budete muset do systému nainstalovat některé závislosti. Všechny je můžete nainstalovat pomocí následujícího příkazu:
apt-get install gnupg2 git unzip libssl-dev pkg-config gcc g++ make build-essential -y
Jakmile jsou všechny balíčky nainstalovány, můžete přejít k dalšímu kroku.
Instalace a konfigurace databáze MariaDB
Etherpad používá MariaDB jako backend databáze. Budete tedy muset do svého systému nainstalovat server MariaDB. Můžete jej nainstalovat pomocí následujícího příkazu:
apt-get install mariadb-server -y
Po instalaci MariaDB se přihlaste do prostředí MariaDB pomocí následujícího příkazu:
mysql
Po přihlášení vytvořte databázi a uživatele pro Etherpad pomocí následujícího příkazu:
MariaDB [(none)]> create database etherpad;
MariaDB [(none)]> grant all privileges on etherpad.* to [email protected] identified by 'password';
Dále vyprázdněte oprávnění a ukončete MariaDB pomocí následujícího příkazu:
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit;
V tomto okamžiku je vaše databáze nakonfigurována pro Etherpad. Nyní můžete přejít k dalšímu kroku.
Instalovat Node.js
Etherpad je založen na Node.js. Budete tedy muset do svého systému nainstalovat Node.js. Ve výchozím nastavení není nejnovější verze Node.js dostupná ve standardním úložišti Ubuntu 20.04. Budete tedy muset do systému přidat úložiště Node.js. Můžete jej přidat pomocí následujícího příkazu:
curl -sL https://deb.nodesource.com/setup_14.x -o nodesource_setup.sh
bash nodesource_setup.sh
Po přidání úložiště nainstalujte soubor Node.js pomocí následujícího příkazu:
apt-get install nodejs -y
Po instalaci Node.js ověřte nainstalovanou verzi Node.js pomocí následujícího příkazu:
node -v
Měli byste získat následující výstup:
v14.15.0
Jakmile budete hotovi, můžete přejít k dalšímu kroku.
Instalace a konfigurace Etherpad
Před instalací Etherpadu. Etherpad se doporučuje provozovat jako samostatný uživatel. Nového uživatele pro Etherpad můžete vytvořit pomocí následujícího příkazu:
adduser --home /opt/etherpad --shell /bin/bash etherpad
Budete požádáni o nastavení hesla, jak je uvedeno níže:
Adding user `etherpad' ... Adding new group `etherpad' (1000) ... Adding new user `etherpad' (1000) with group `etherpad' ... Creating home directory `/opt/etherpad' ... Copying files from `/etc/skel' ... New password: Retype new password: passwd: password updated successfully Changing the user information for etherpad Enter the new value, or press ENTER for the default Full Name []: Hitesh Room Number []: 1 Work Phone []: Home Phone []: Other []: Is the information correct? [Y/n] Y
Dále zadejte správná oprávnění k domovskému adresáři Etherpadu pomocí následujícího příkazu:
install -d -m 755 -o etherpad -g etherpad /opt/etherpad
Dále přepněte uživatele na Etherpad a stáhněte si nejnovější verzi Etherpadu z úložiště Git pomocí následujícího příkazu:
su - etherpad
git clone --branch master https://github.com/ether/etherpad-lite.git
Dále změňte adresář na stažený adresář a spusťte Etherpad pomocí následujícího příkazu:
cd etherpad-lite
bin/run.sh
Tím se nainstalují všechny závislosti a spustí se server Etherpad. Jakmile je server úspěšně spuštěn, měli byste získat následující výstup:
[2020-11-11 06:46:44.783] [INFO] console - Your Etherpad version is 1.8.6 (2c8769a) [2020-11-11 06:46:44.958] [INFO] console - You can access your Etherpad instance at http://0.0.0.0:9001/ [2020-11-11 06:46:44.958] [WARN] console - Admin username and password not set in settings.json. To access admin please uncomment and edit 'users' in settings.json [2020-11-11 06:46:44.958] [WARN] console - Etherpad is running in Development mode. This mode is slower for users and less secure than production mode. You should set the NODE_ENV environment variable to production by using: export NODE_ENV=production
Poté stiskněte CTRL + C pro zastavení serveru. Dále budete muset upravit soubor settings.json a definovat nastavení databáze a správce:
nano settings.json
Odeberte následující řádky:
"dbType" : "dirty", "dbSettings" : { "filename" : "var/dirty.db" },
Změňte nastavení MySQL, jak je uvedeno níže:
"dbType" : "mysql", "dbSettings" : { "user": "etherpad", "host": "localhost", "port": 3306, "password": "password", "database": "etherpad", "charset": "utf8mb4" },
Změňte řádek trustProxy na true:
"trustProxy": true,
Definujte heslo pro uživatele admin:
"users": { "admin": { "password": "adminpassword", "is_admin": true },
Uložte a zavřete soubor a poté nainstalujte požadované závislosti pomocí následujícího příkazu:
./bin/installDeps.sh
Jakmile jsou všechny závislosti nainstalovány, ukončete uživatele Etherpadu následujícím příkazem:
exit
V tomto okamžiku je Etherpad nainstalován a nakonfigurován. Nyní můžete přejít k dalšímu kroku.
Vytvoření souboru Systemd Service pro Etherpad
Dále budete muset vytvořit soubor služby systemd pro správu služby Etherpad. Můžete jej vytvořit pomocí následujícího příkazu:
nano /etc/systemd/system/etherpad.service
Přidejte následující řádky:
[Unit] Description=Etherpad-lite, the collaborative editor. After=syslog.target network.target [Service] Type=simple User=etherpad Group=etherpad WorkingDirectory=/opt/etherpad/etherpad-lite Environment=NODE_ENV=production ExecStart=/usr/bin/node /opt/etherpad/etherpad-lite/src/node/server.js Restart=always [Install] WantedBy=multi-user.target
Uložte a zavřete soubor a poté znovu načtěte démona systemd spuštěním následujícího příkazu:
systemctl daemon-reload
Dále spusťte službu Etherpad a povolte její spuštění při restartu systému pomocí následujícího příkazu:
systemctl start etherpad
systemctl enable etherpad
Stav služby Etherpad můžete také ověřit pomocí následujícího příkazu:
systemctl status etherpad
Měli byste vidět následující výstup:
? etherpad.service - Etherpad-lite, the collaborative editor. Loaded: loaded (/etc/systemd/system/etherpad.service; disabled; vendor preset: enabled) Active: active (running) since Wed 2020-11-11 06:50:49 UTC; 4s ago Main PID: 12269 (node) Tasks: 13 (limit: 4691) Memory: 119.1M CGroup: /system.slice/etherpad.service ??12269 /usr/bin/node /opt/etherpad/etherpad-lite/src/node/server.js
Konfigurace Nginx pro Etherpad
V tomto okamžiku se Etherpad spustí a naslouchá na portu 9001. Dále budete muset nainstalovat a nakonfigurovat Nginx jako reverzní proxy pro přístup k Etherpadu. Nejprve nainstalujte Nginx pomocí následujícího příkazu:
apt-get install nginx -y
Dále vytvořte nový konfigurační soubor virtuálního hostitele Nginx pomocí následujícího příkazu:
nano /etc/nginx/sites-available/etherpad.conf
Přidejte následující řádky:
upstream etherpad { server localhost:9001; keepalive 32; } server { listen 80; server_name etherpad.mydomain.com; location / { client_max_body_size 50M; proxy_set_header X-Real-IP $remote_addr; proxy_http_version 1.1; proxy_pass http://etherpad; } }
Uložte a zavřete soubor a poté aktivujte konfigurační soubor virtuálního hostitele Nginx pomocí následujícího příkazu:
ln -s /etc/nginx/sites-available/etherpad.conf /etc/nginx/sites-enabled/
Dále pomocí následujícího příkazu zkontrolujte Nginx, zda neobsahuje nějakou chybu syntaxe:
nginx -t
Měli byste získat následující výstup:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Poté restartujte službu Nginx, aby se změny aplikovaly:
systemctl restart nginx
Stav Nginx můžete také ověřit pomocí následujícího příkazu:
systemctl status nginx
Měli byste získat následující výstup:
? nginx.service - A high performance web server and a reverse proxy server Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2020-11-11 06:53:44 UTC; 6s ago Docs: man:nginx(8) Process: 12984 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Process: 12985 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Main PID: 13001 (nginx) Tasks: 3 (limit: 4691) Memory: 3.5M CGroup: /system.slice/nginx.service ??13001 nginx: master process /usr/sbin/nginx -g daemon on; master_process on; ??13002 nginx: worker process ??13003 nginx: worker process Nov 11 06:53:44 ubuntu2004 systemd[1]: Starting A high performance web server and a reverse proxy server... Nov 11 06:53:44 ubuntu2004 systemd[1]: Started A high performance web server and a reverse proxy server.
Přístup k Etherpadu
Nyní otevřete webový prohlížeč a zadejte adresu URL http://etherpad.mydomain.com . Budete přesměrováni na následující stránku:
Zadejte název své stránky a klikněte na OK knoflík. Na následující stránce byste měli vidět svůj řídicí panel Etherpad:
Závěr
Gratulujeme! úspěšně jste nainstalovali a nakonfigurovali Etherpad s Nginx jako reverzní proxy na serveru Ubuntu 20.04. Etherpad můžete snadno používat v produkčním prostředí. Pokud máte nějaké dotazy, neváhejte se mě zeptat.