Etherpad je editor pro spolupráci v reálném čase založený na Node.js. Jedná se o open source, webový editor pro spolupráci pro více uživatelů s možností importu/exportu do různých formátů kancelářských souborů a vysoce přizpůsobitelný online editor.
V tomto tutoriálu vás krok za krokem provedu instalací a konfigurací Etherpad-lite na serveru Ubuntu 18.04. Nainstalujeme Etherpad-lite s MySQL jako databází, webový server Nginx jako reverzní proxy a povolíme na něm zabezpečené připojení HTTPS.
Předpoklady
- Server Ubuntu 18.04
- Oprávnění uživatele root
Co uděláme?
- Instalujte závislosti balíčků
- Nainstalujte Nodejs
- Nainstalujte a nakonfigurujte MySQL
- Stáhněte si Etherpad
- Nakonfigurujte Etherpad
- Nastavit Etherpad jako službu
- Nastavit Nginx jako reverzní proxy pro Etherpad
- Nastavení brány UFW Firewall
- Testování
Krok 1 – Instalace závislostí balíčků
Prvním krokem, který v této příručce provedeme, je instalace všech závislostí balíčků pro instalaci Nodejs.
Spusťte níže uvedený příkaz apt.
sudo apt install gzip git curl python libssl-dev pkg-config gcc g++ make build-essential -y
Počkejte na všechny instalace.
Krok 2 – Instalace Nodejs
Etherpad vyžaduje Node.js>=6.9 a v tomto kroku nainstalujeme Nodejs 9.11, který lze nainstalovat z repozitáře nodesource.
Přidejte úložiště nodesource Nodejs a nainstalujte balíček Node.js pomocí příkazů níže.
curl -sL https://deb.nodesource.com/setup_9.x | sudo -E bash -
sudo apt install -y nodejs
Poté zkontrolujte příkazy nodejs a npm.
nodejs --version
npm --version
Node.js v9.11 byl nainstalován na server Ubuntu 18.04.
Krok 3 – Instalace a konfigurace MySQL
V tomto tutoriálu budeme používat MySQL jako databázi pro Etherpad.
Nainstalujte databázový server MySQL pomocí příkazu apt níže.
sudo apt install mysql-server mysql-client
Po dokončení instalace spusťte službu mysql a povolte její spuštění při každém spuštění systému.
sudo systemctl spustit mysql
sudo systemctl povolit mysql
Server MySQL byl nainstalován.
Dále nakonfigurujeme heslo root mysql a vytvoříme novou databázi a uživatele pro naši instalaci etherpadu.
Chcete-li nakonfigurovat heslo root MySQL, spusťte níže uvedený příkaz.
mysql_secure_installation
Zadejte své silné heslo root mysql.
Nyní se přihlaste do prostředí mysql pomocí uživatele root.
mysql -u root -p
Vytvořte novou databázi s názvem 'etherpad_db' a uživatelem 'hakase' a níže spusťte dotazy mysql.
vytvořit databázi etherpad_db;
udělit všechna oprávnění na etherpad_db.* uživateli [email protected] označenému jako '[email protected]#';
vyprázdnit oprávnění;
Databáze MySQL pro instalaci etherpadu byla vytvořena.
Krok 4 – Stáhnout Etherpad
V tomto kroku vytvoříme nového uživatele a stáhneme zdrojový kód etherpadu.
Vytvořte nového uživatele s názvem 'etherpad' a přihlaste se k uživateli.
useradd -m -s /bin/bash etherpad
su - etherpad
Nyní naklonujte úložiště etherpadu.
klon git git://github.com/ether/etherpad-lite.git
Přejděte do adresáře 'etherpad-lite/' a spusťte bash skript pro spuštění etherpadu.
cd etherpad-lite/
bin/run.sh
Dostanete výsledek, jak je uvedeno níže.
Otevřete webový prohlížeč a zadejte IP adresu serveru s portem '9001'.
http://192.168.33.10:9001/
A uvidíte domovskou stránku etherpadu.
Vraťte se do svého terminálu a stiskněte 'Ctrl+c' pro ukončení aplikace.
Krok 5 – Konfigurace Etherpad
V tomto kroku provedeme základní konfiguraci kolaborativního editoru etherpad.
Přihlaste se k uživateli etherpadu a přejděte do adresáře 'etherpad-lite'.
su - etherpad
cd etherpad-lite/
Upravte konfiguraci 'settings.json' pomocí editoru vim.
vim settings.json
Změňte IP adresu na '127.0.0.1' nebo localhost, protože etherpad spustíme na Nginx reverzním proxy.
"ip":"127.0.0.1",
"port" :9001,
Nyní deaktivujte výchozí špinavou databázi přidáním komentáře '/* .... */' a vložte konfiguraci databáze MySQL.
/*
"dbType" :"špinavé",
"dbSettings" :{
"název souboru" :"var/dirty.db"
> */
Konfigurace databáze MySQL.
"dbType" :"mysql",
"dbSettings" :{
"user" :"hakase",
" :3306,
"heslo":"[e-mail chráněný]#",
"databáze":"etherpad_db", 8 /před>
Dále povolíme uživatele admin odstraněním komentáře z těchto řádků a změnou hodnoty hesla pomocí nového hesla.
"users":{
"admin":{
// "password" může být nahrazeno "hash", pokud si nainstalujete ep_hash_auth
"password":"[e-mail protected] #",
"is_admin":true
},
"user":{
// "heslo" může být nahrazeno "hash", pokud si nainstalujete ep_hash_auth
"password":"[email protected]#",
"is_admin":false
}
},
Uložte a ukončete.
Základní konfigurace etherpadu byla dokončena.
Krok 6 – Nastavení Etherpadu jako služby
Nyní spustíme etherpad jako službu systemd na našem systému ubuntu.
Přejděte do adresáře '/etc/systemd/system' a vytvořte nový soubor služby s názvem 'etherpad.service'.
cd /etc/systemd/system/
vim etherpad.serviceVložte konfigurace níže.
[Unit]
Description=Etherpad-lite, editor pro spolupráci.
After=syslog.target network.target
[Service]
Typ=simple
Uživatel=etherpad
Skupina=etherpad
WorkingDirectory=/home/etherpad/etherpad-lite
Prostředí=NODE_ENV=výroba
ExecStart=/usr/bin/nodejs / home/etherpad/etherpad-lite/node_modules/ep_etherpad-lite/node/server.js
Restart=vždy # použijte mysql plus kompletní soubor settings.json, abyste se vyhnuli zdržení služby a naplánujte restart.
[Install]
WantedBy=multi-user.targetUložte a ukončete.
Znovu načtěte seznamy služeb systemd.
sudo systemctl daemon-reloadSpusťte službu etherpad a povolte její spuštění při každém spuštění systému.
sudo systemctl spustit etherpad
sudo systemctl povolit etherpadA ether běží jako služba na localhost ip s výchozím portem 9001.
Zkontrolujte službu pomocí příkazů níže.
sudo systemctl status etherpad
netstat -plntuKrok 7 – Instalace a konfigurace Nginx jako reverzního proxy
V tomto kroku nainstalujeme a nakonfigurujeme webový server Nginx jako reverzní proxy pro službu etherpad.
Nainstalujte webový server nginx pomocí příkazu apt níže.
sudo apt install nginx -yPo dokončení instalace přejděte do adresáře '/etc/nginx/sites-available' a vytvořte nového virtuálního hostitele 'etherpad'.
cd /etc/nginx/sites-available/
vim etherpadVložte konfigurace níže.
server {
listen 80;
název_serveru pad.hakase.io;
přepsat ^(.*) https://$server_name$1 trvalé;
}
# zde jsme v kontextu http
mapa $http_upgrade $connection_upgrade {
výchozí upgrade;
'' close;
}
server {
listen 443;
název_serveru pad.hakase.io;
access_log /var/log/nginx/eplite.access.log;
chyba var/log/nginx/eplite.error.log;
ssl on;
ssl_certificate /etc/sl/sl/ssl/s s t ng/fullchain.p. /privkey.pem;
ssl_session_timeout 5 m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
EEC spher spher s DH spher sDH sDH + ssl_prefer_server_sl_+ AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA RC4 !aNULL !eNULL ! !LOW !3DES !MD5 !EXP !PSK !SRP !DSS";
umístění / {
proxy_pass http://localhost:9001/; hostitele hostitele hostitele hostitele
proxy_pass_header Server;
# pozor, tento řádek nepřepisuje žádné proxy_buffering v souboru conf.d/file.conf
proxy_buffering off IP $remote_addr; # http://wiki.nginx.org/HttpProxyModule
proxy_set_header X-Forwarded-For $remote_addr; # protokoly EP pro zobrazení skutečné vzdálené IP
proxy_set_header X-Forwarded-Proto $scheme; # pro EP nastaví příznak zabezpečeného souboru cookie při použití protokolu https
proxy_set_header Host $host; # předat hlavičku hostitele
proxy_http_version 1.1; # Doporučeno s paketů kontroly otevření připojení
# websocket proxy - od http://nginx.org/en/docs/http/websocket.html
proxy_set_header upgrade $ http_upgrade;
proxy_set_header Connection $ connection_upgrade;
}
}Uložte a ukončete.
Poznámka:
- Ujistěte se, že jste změnili cestu protokolu SSL pomocí vlastních certifikátů ssl.
- Změňte doménu etherpadu „pad.hakase.io“ za svůj vlastní název domény.
Nyní aktivujte virtuálního hostitele etherpadu a otestujte konfiguraci.
ln -s /etc/nginx/sites-available/etherpad /etc/nginx/sites-enabled/
nginx -t
Ujistěte se, že nedošlo k chybě, poté spusťte službu nginx a povolte její spuštění při každém spuštění systému.
sudo systemctl restart nginx
sudo systemctl povolit nginx
Instalace a konfigurace Nginx jako reverzní proxy etherpad byly úspěšně dokončeny.
Krok 8 – Nastavení brány UFW Firewall
Pro nastavení brány firewall chceme pouze otevřít služby portů SSH, HTTP a HTTPS.
Níže spusťte příkazy ufw.
sudo fuw povolit ssh
sudo ufw povolit http
sudo ufw povolit https
Poté povolte ufw firewall.
povolit sudo ufw
A konfigurace firewallu ufw byla dokončena.
Krok 9 – Testování
Otevřete webový prohlížeč a zadejte název domény etherpad, moje je: http://pad.hakase.io/
Nyní budete přesměrováni na zabezpečené připojení HTTP.
Vytvořte nový pad zadáním názvu padu do pole a klikněte na tlačítko 'OK'.
A získáte editor Etherpad, jak je uvedeno níže.
Dále otevřete adresu URL správce etherpadu. Můj je https://pad.hakase.io/admin/
Budete požádáni o uživatelské jméno a heslo správce. Zadejte svého vlastního uživatele a heslo a klikněte na tlačítko Přihlásit se.
A níže získáte výchozí stránku správce Etherpadu.
– Konfigurace Etherpad settings.json
– Správce zásuvných modulů Etherpad
Instalace Etherpadu s MySQL a Nginx reverzním proxy na Ubuntu 18.04 byla úspěšně dokončena.