Etherpad è un editor collaborativo in tempo reale basato su Node.js. È un editor collaborativo open source basato sul Web per l'accesso multiutente con la possibilità di importare/esportare in vari formati di file di ufficio e un editor online altamente personalizzabile.
In questo tutorial, ti guiderò passo dopo passo per installare e configurare Etherpad-lite su Ubuntu 18.04 Server. Installeremo Etherpad-lite con MySQL come database, il server web Nginx come proxy inverso e abiliteremo la connessione sicura HTTPS su di esso.
Prerequisiti
- Server Ubuntu 18.04
- Privilegi di root
Cosa faremo?
- Installa le dipendenze dei pacchetti
- Installa Nodejs
- Installa e configura MySQL
- Scarica Etherpad
- Configura Etherpad
- Configura Etherpad come servizio
- Configura Nginx come proxy inverso per Etherpad
- Configura Firewall UFW
- Test
Passaggio 1:installazione delle dipendenze dei pacchetti
Il primo passo che faremo in questa guida è installare tutte le dipendenze dei pacchetti per l'installazione di Nodejs.
Esegui il comando apt di seguito.
sudo apt install gzip git curl python libssl-dev pkg-config gcc g++ make build-essential -y
Attendi tutta l'installazione.
Passaggio 2 - Installa Nodejs
Etherpad richiede Node.js>=6.9 e in questo passaggio installeremo Nodejs 9.11 che può essere installato dal repository nodesource.
Aggiungi il repository Nodejs nodesource e installa il pacchetto Node.js utilizzando i comandi seguenti.
curl -sL https://deb.nodesource.com/setup_9.x | sudo -E bash -
sudo apt install -y nodejs
Successivamente, controlla i comandi nodejs e npm.
nodejs --version
npm --version
Node.js v9.11 è stato installato sul server Ubuntu 18.04.
Fase 3 - Installa e configura MySQL
In questo tutorial, useremo MySQL come database per Etherpad.
Installa il server di database MySQL usando il comando apt di seguito.
sudo apt install mysql-server mysql-client
Al termine dell'installazione, avvia il servizio mysql e abilitalo per l'avvio ogni volta all'avvio del sistema.
sudo systemctl start mysql
sudo systemctl abilita mysql
Il server MySQL è stato installato.
Successivamente, configureremo la password di root mysql e creeremo un nuovo database e un nuovo utente per l'installazione dell'etherpad.
Per configurare la password di root di MySQL, esegui il comando seguente.
installazione_mysql_secure
Digita la tua password di root mysql complessa.
Ora accedi alla shell di mysql usando l'utente root.
mysql -u root -p
Crea un nuovo database chiamato "etherpad_db" e l'utente "hakase" ed esegui query mysql di seguito.
crea il database etherpad_db;
concedi tutti i privilegi su etherpad_db.* a [email protected] identificato da '[email protected]#';
privilegi di svuotamento;
Il database MySQL per l'installazione di etherpad è stato creato.
Fase 4 - Scarica Etherpad
In questo passaggio creeremo un nuovo utente e scaricheremo il codice sorgente dell'etherpad.
Crea un nuovo utente chiamato 'etherpad' e accedi all'utente.
useradd -m -s /bin/bash etherpad
su - etherpad
Ora clona il repository etherpad.
git clone git://github.com/ether/etherpad-lite.git
Vai alla directory 'etherpad-lite/' ed esegui lo script bash per avviare etherpad.
cd etherpad-lite/
bin/run.sh
Otterrai il risultato come di seguito.
Apri il tuo browser web e digita l'indirizzo IP del server con la porta '9001'.
http://192.168.33.10:9001/
E vedrai la home page di etherpad.
Torna al tuo terminale e premi 'Ctrl+c' per uscire dall'applicazione.
Passaggio 5 - Configura Etherpad
In questo passaggio, eseguiremo la configurazione di base dell'editor collaborativo etherpad.
Accedi all'utente etherpad e vai alla directory 'etherpad-lite'.
su - etherpad
cd etherpad-lite/
Modifica la configurazione 'settings.json' usando l'editor vim.
vim settings.json
Cambia l'indirizzo IP in "127.0.0.1" o localhost, perché eseguiremo l'etherpad sul proxy inverso Nginx.
"ip":"127.0.0.1",
"porta" :9001,
Ora disabilita il database sporco predefinito aggiungendo il commento '/* .... */' e incolla la configurazione del database MySQL.
/*
"dbType" :"dirty",
"dbSettings" :{
"filename" :"var/dirty.db"
},
*/
Configurazione del database MySQL.
"dbType" :"mysql",
"dbSettings" :{
"user" :"hakase",
"host" :"localhost",
"port " :3306,
"password":"[email protected]#",
"database":"etherpad_db",
"charset" :"utf8mb4" /pre>
Successivamente, abiliteremo l'utente amministratore rimuovendo il commento da quelle righe e cambieremo il valore della password con una nuova password.
"users":{
"admin":{
// "password" può essere sostituito con "hash" se installi ep_hash_auth
"password":"[email protected] #",
"is_admin":true
},
"user":{
// "password" può essere sostituito con "hash" se installi ep_hash_auth
"password":"[email protected]#",
"is_admin":false
}
},
Salva ed esci.
La configurazione di base dell'etherpad è stata completata.
Passaggio 6 - Configura Etherpad come servizio
Ora eseguiremo etherpad come servizio systemd sul nostro sistema Ubuntu.
Vai alla directory '/etc/systemd/system' e crea un nuovo file di servizio chiamato 'etherpad.service'.
cd /etc/systemd/system/
vim etherpad.serviceIncolla le configurazioni di seguito.
[Unità]
Description=Etherpad-lite, l'editor collaborativo.
After=syslog.target network.target
[Servizio]
Tipo=simple
Utente=etherpad
Gruppo=etherpad
WorkingDirectory=/home/etherpad/etherpad-lite
Ambiente=NODE_ENV=produzione
ExecStart=/usr/bin/nodejs / home/etherpad/etherpad-lite/node_modules/ep_etherpad-lite/node/server.js
Restart=always # usa mysql più un settings.json completo per evitare il tempo di attesa del servizio, programmando il riavvio.
[Installa]
WantedBy=multi-user.targetSalva ed esci.
Ricarica gli elenchi dei servizi di sistema.
sudo systemctl daemon-reloadAvvia il servizio etherpad e abilitalo all'avvio ogni volta all'avvio del sistema.
sudo systemctl avvia etherpad
sudo systemctl abilita etherpadE l'etere è attivo e funzionante come servizio sull'ip localhost con la porta predefinita 9001.
Verifica il servizio utilizzando i comandi seguenti.
sudo systemctl status etherpad
netstat -plntuPassaggio 7 - Installa e configura Nginx come proxy inverso
In questo passaggio, installeremo e configureremo il server web Nginx come proxy inverso per il servizio etherpad.
Installa il server web nginx usando il comando apt di seguito.
sudo apt install nginx -yAl termine dell'installazione, vai alla directory '/etc/nginx/sites-available' e crea un nuovo host virtuale 'etherpad'.
cd /etc/nginx/sites-available/
vim etherpadIncolla le configurazioni di seguito.
server {
listen 80;
server_name pad.hakase.io;
riscrivi ^(.*) https://$server_name$1 permanente;
}
# siamo nel contesto http qui
map $http_upgrade $connection_upgrade {
aggiornamento predefinito;
'' close;
}
server {
listen 443;
server_name pad.hakase.io;
access_log /var/log/nginx/eplite.access.log;
log_errori / var/log/nginx/eplite.error.log;
ssl su;
ssl_certificate /etc/nginx/ssl/fullchain.pem;
ssl_certificate_key /etc/nginx/ /privkey.pem;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers A+ECDH+EC 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";
posizione / {
proxy_pass http://localhost:9001/;
proxy_set_header Host $host;
proxy_pass_header Server;
# attenzione, questa riga non sovrascrive alcun proxy_buffering sul set in un conf.d/file.conf
proxy_buffering disattivato;
proxy_set_header X-Real- IP $indirizzo_remoto; # http://wiki.nginx.org/HttpProxyModule
proxy_set_header X-Forwarded-For $remote_addr; # registri EP per mostrare l'IP remoto effettivo
proxy_set_header X-Forwarded-Proto $scheme; # per EP per impostare un cookie sicuro quando viene utilizzato https
proxy_set_header Host $host; # passa l'intestazione dell'host
proxy_http_versione 1.1; # consigliato con le connessioni Keepalive
# WebSocket Proxying - da http://nginx.org/en/docs/http/websocket.html
proxy_set_header upgrade $ http_upgrade;
proxy_set connection $ connect_upgrade;
}
}Salva ed esci.
Nota:
- Assicurati di modificare il percorso dell'SSL con i tuoi certificati SSL.
- Cambia il dominio etherpad 'pad.hakase.io' con il tuo nome di dominio.
Ora attiva l'host virtuale etherpad e verifica la configurazione.
ln -s /etc/nginx/sites-available/etherpad /etc/nginx/sites-enabled/
nginx -t
Assicurati che non ci siano errori, quindi avvia il servizio nginx e abilitalo per l'avvio ogni volta all'avvio del sistema.
sudo systemctl riavvia nginx
sudo systemctl abilita nginx
L'installazione e la configurazione di Nginx come proxy inverso etherpad sono state completate correttamente.
Passaggio 8 - Configurazione del firewall UFW
Per la configurazione del firewall, vogliamo solo aprire i servizi di porta SSH, HTTP e HTTPS.
Esegui i comandi ufw di seguito.
sudo fuw consentire ssh
sudo ufw consentire http
sudo ufw consentire https
Quindi abilita il firewall ufw.
sudo ufw abilita
E la configurazione del firewall ufw è stata completata.
Fase 9 - Test
Apri il tuo browser web e digita il nome di dominio etherpad, il mio è: http://pad.hakase.io/
Ora verrai reindirizzato alla connessione protetta HTTPS.
Crea un nuovo pad digitando il nome del pad sulla casella e fai clic sul pulsante 'OK'.
E otterrai l'editor Etherpad come di seguito.
Quindi, apri l'URL dell'amministratore dell'etherpad. Il mio è https://pad.hakase.io/admin/
Ti verrà chiesto il nome utente e la password dell'amministratore. Digita il tuo utente e la tua password, quindi fai clic sul pulsante Accedi.
E otterrai la pagina di amministrazione Etherpad predefinita di seguito.
- Configurazione Etherpad settings.json
- Gestore plug-in Etherpad
L'installazione di Etherpad con MySQL e proxy inverso Nginx su Ubuntu 18.04 è stata completata con successo.