Installazione software · 10 min read · Nov 02, 2025

Come installare Etherpad su AlmaLinux 9

Etherpad è un’alternativa gratuita e open-source a servizi come Google Docs e Zoho Writer. Etherpad è un editor di testo collaborativo e in tempo reale per il tuo team, accessibile da qualsiasi luogo e in qualsiasi momento perché Etherpad è un editor di testo basato sul web.

Qualsiasi modifica su Etherpad avviene in tempo reale e Etherpad supporta anche il versioning e la formattazione integrata per i team. Etherpad è un editor altamente personalizzabile con il supporto di vari plugin. Supporta anche formati di documento moderni come doc, pdf, odt, markdown, ecc.

Questo tutorial ti mostrerà come installare Etherpad su un server AlmaLinux 9 con un server database MariaDB e un server web Nginx. Inoltre, proteggerai Etherpad tramite certificati SSL per abilitare l’accesso sicuro.

Requisiti

Per completare questo tutorial, assicurati di avere quanto segue:

  • Un server AlmaLinux 9 - Questo demo utilizza un AlmaLinux con il nome host almalinux9.
  • Un utente non root con privilegi sudo.
  • Un nome di dominio puntato all’indirizzo IP del server.
  • Certificati SSL generati tramite Letsecnrypt e Certbot.

Installazione delle dipendenze

Prima di installare Etherpad, devi installare alcune delle dipendenze necessarie per Etherpad, tra cui:

  • Strumenti di sviluppo
  • Node.js e NPM (Node Package Manager)
  • Server database MariaDB
  • Server web Nginx

Completa questi passaggi per installare le dipendenze di Etherpad.

Installazione degli strumenti di sviluppo

Per prima cosa, devi installare “ Strumenti di sviluppo “ sul tuo server AlmaLinux. Inserisci il seguente comando dnf per installare “ Strumenti di sviluppo “, inserisci y e premi INVIO per procedere.

sudo dnf group install "Development Tools"

Successivamente, esegui il seguente comando per installare alcune dipendenze aggiuntive. Quando richiesto, inserisci y per confermare e premi INVIO.

sudo dnf install gzip git curl python3-devel openssl-devel pkg-config

install dependencies

Installazione di Node.js e NPM

Etherpad è un editor di collaborazione e in tempo reale basato sul web principalmente scritto con Node.js. Per installarlo, devi installare il runtime JavaScript Node.js e NPM (Node Package Manager).

Al momento della scrittura, Etherpad richiedeva almeno Node.js v16, che è disponibile per impostazione predefinita nel repository appstream di AlmaLinux e puoi installarlo tramite DNF.

Esegui il seguente comando dnf per installare Node.js e NPM. Inserisci y per confermare l’installazione e premi INVIO.

sudo dnf install nodejs npm

Una volta installato Node.js, esegui il seguente comando per aggiungere la directory /usr/local/bin alla variabile di ambiente PATH. Questo garantirà che alcuni file binari installati tramite NPM possano essere eseguiti sul server.

echo "export PATH=$PATH:/usr/local/bin" >> ~/.bashrc  
source ~/.bashrc

Successivamente, esegui il seguente comando per localizzare entrambi i file binari di Node.js e NPM.

which node  
which npm

Quindi, verifica la versione di Node.js e NPM utilizzando il comando qui sotto.

node --version  
npm --version

L’output visualizzato conferma che Node.js v16 e NPM 8.x sono installati e che entrambi i file binari si trovano nella directory /bin.

checking node.js and npm

Installazione del server MariaDB

Per impostazione predefinita, Etherpad installato utilizzava SQLite come database. Puoi utilizzare MariaDB/MySQL come database per grandi distribuzioni della tua installazione di Etherpad.

Esegui il comando dnf qui sotto per installare il server MariaDB. Quando richiesto, inserisci y per confermare e premi INVIO.

sudo dnf install mariadb-server

install mariadb

Una volta installato MariaDB, esegui il seguente comando per avviare e abilitare il servizio MariaDB.

sudo systemctl start mariadb  
sudo systemctl enable mariadb

Quindi, verifica lo stato del servizio MariaDB utilizzando il comando qui sotto.

sudo systemctl status mariadb

Se il server MariaDB è in esecuzione, l’output dovrebbe essere visualizzato in questo modo:

start enable mariadb

Installazione del server web Nginx

Dopo aver installato il server MariaDB, installerai il server web Nginx che sarà utilizzato come reverse proxy per Etherpad. Quindi, prima di andare oltre, assicurati di avere un nome di dominio puntato all’indirizzo IP del tuo server e certificati SSL generati tramite Letsencrypt e Certbot.

Esegui il comando dnf qui sotto per installare il server web Nginx. Quando richiesto, inserisci y per confermare e premi INVIO.

sudo dnf install nginx

install nginx

Ora, esegui il seguente comando per avviare e abilitare il servizio Nginx.

sudo systemctl start nginx  
sudo systemctl enable nginx

Dopo di che, inserisci il seguente comando per verificare il servizio Nginx e assicurarti che il servizio sia in esecuzione.

sudo systemctl status nginx

Se il servizio Nginx è in esecuzione, dovresti ottenere un output come questo:

start enable verify nginx

Successivamente, esegui il seguente comando per aprire le porte HTTP e HTTPS sul tuo server.

sudo firewall-cmd --add-service={http,https} --permanent  
sudo firewall-cmd --reload

Verifica l’elenco delle porte e dei servizi aperti utilizzando il seguente comando. Dovresti vedere che sia HTTP che HTTPS sono abilitati su firewalld.

sudo firewall-cmd --list-all

configure firewalld

Configurazione del server MariaDB

In questa sezione, proteggerai il server MariaDB con l’utilità mariadb-secure-installation, quindi creerai un nuovo database e un utente che saranno utilizzati per Etherpad.

Esegui il seguente comando per iniziare a proteggere il server MariaDB.

sudo mariadb-secure-installation

Dopo l’esecuzione del comando, ti verrà chiesto di configurare quanto segue:

  • Cambiare il metodo di autenticazione per l’utente root di MariaDB in unix_socket. Inserisci n per No.
    Impostare la password root di MariaDB. Inserisci y per confermare e digita la nuova password root di MariaDB e ripeti.
    Disabilitare il login remoto per l’utente root di MariaDB. Inserisci y per confermare.
    Rimuovere il database di test predefinito da MariaDB. Inserisci y per confermare.
    Rimuovere l’utente anonimo da MariaDB. Inserisci y per confermare.
    Infine, inserisci y di nuovo per ricaricare i privilegi delle tabelle per applicare le modifiche.

Con il server MariaDB protetto, creerai ora un nuovo database e un utente MariaDB.

Accedi al server MariaDB utilizzando il comando mariadb qui sotto.

sudo mariadb -u root -p

Esegui le seguenti query per creare un nuovo database MariaDB e un utente per Etherpad. In questo esempio, creerai un nuovo database etherpad_lite_db e l’utente etherpaduser con la password StrongPasswordEtherpadDB.

CREATE DATABASE etherpad_lite_db CHARACTER SET utf8mb4;  
CREATE USER etherpaduser@localhost IDENTIFIED BY 'StrongPasswordEtherpadDB';  
GRANT CREATE,ALTER,SELECT,INSERT,UPDATE,DELETE on etherpad_lite_db.* to etherpaduser@localhost;  
FLUSH PRIVILEGES;

create new database and user

Ora, esegui la seguente query per verificare i privilegi per l’utente MariaDB etherpaduser.

SHOW GRANTS FOR etherpaduser@localhost;  
quit

Noterai che l’utente MariaDB etherpaduser ha privilegi per accedere al database etherpad_lite_db.

show mariadb user privileges

Digita quit per uscire da MariaDB.

Scaricare e installare Etherpad

In questa sezione, inizierai l’installazione di Etherpad creando l’utente di sistema, scaricando il codice sorgente di Etherpad, installando le dipendenze per Etherpad, integrando Etherpad con il database MariaDB e quindi verificando l’installazione eseguendola tramite la riga di comando.

Per prima cosa, esegui il seguente comando per creare un nuovo utente di sistema e gruppo ‘ etherpad ‘. Questo utente sarà utilizzato per eseguire il servizio Etherpad.

sudo groupadd etherpad  
sudo adduser -r -M -d /opt/etherpad-lite -g etherpad etherpad

Scarica il codice sorgente di Etherpad tramite git nella directory di destinazione /opt/etherpad-lite.

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

Una volta scaricato il codice sorgente di Etherpad, esegui il seguente comando per cambiare la proprietà della directory /opt/etherpad-lite all’utente e al gruppo ‘ etherpad ‘.

sudo chown -R etherpad:etherpad /opt/etherpad-lite

create user and download etherpad source code

Successivamente, sposta la directory di lavoro nella directory /opt/etherpad-lite e installa le dipendenze di Etherpad utilizzando il comando qui sotto.

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

Dopo aver eseguito il comando, dovresti ottenere il processo di installazione come questo:

install etherpad dependencies

Quando l’installazione è terminata, apri la configurazione di Etherpad settings.json utilizzando il seguente comando dell’editor nano.

nano settings.json

Cambia il titolo della tua installazione di Etherpad.

  "title": "Etherpad AlmaLinux 9",

Cambia l’indirizzo IP predefinito per Etherpad per eseguire localhost o 127.0.0.1.

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

Rimuovi la configurazione del database predefinita qui sotto.

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

Cambia i dettagli del database per utilizzare il server MySQL/MariaDB in questo modo. E assicurati di cambiare il nome del database, l’utente e la password.

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

Salva il file e chiudi l’editor quando hai finito.

Successivamente, esegui il seguente comando per verificare e avviare Etherpad.

/bin/node --experimental-worker /opt/etherpad-lite/node_modules/ep_etherpad-lite/node/server.js

Se la configurazione del database e l’installazione di Etherpad sono riuscite, verrà visualizzato il seguente output:

running check etherpad

Premi Ctrl+c per terminare il processo.

Eseguire Etherpad come servizio Systemd

Con Etherpad installato, ora configurerai Etherpad come servizio systemd. Questo ti consente di eseguire Etherpad in background e gestire facilmente Etherpad tramite la riga di comando systemctl.

Per iniziare, crea un nuovo file di servizio systemd /lib/systemd/system/etherpad.service utilizzando il seguente comando dell’editor nano.

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

Inserisci la seguente configurazione nel file.

[Unit]  
Description=Etherpad-lite, the collaborative editor.  
After=syslog.target network.target mariadb.service nginx.service  
  
[Service]  
Type=simple  
User=etherpad  
Group=etherpad  
WorkingDirectory=/opt/etherpad-lite  
Environment=NODE_ENV=production  
ExecStart=/bin/node --experimental-worker /opt/etherpad-lite/node_modules/ep_etherpad-lite/node/server.js  
# use mysql plus a complete settings.json to avoid Service hold-off time over, scheduling restart.  
Restart=always  
  
[Install]  
WantedBy=multi-user.target

Salva e chiudi il file quando hai finito.

Ora, esegui il seguente comando per ricaricare il gestore systemd e applicare il file di servizio Etherpad al tuo sistema.

sudo systemctl daemon-reload

Quindi, avvia e abilita il servizio Etherpad utilizzando il comando qui sotto.

sudo systemctl start etherpad  
sudo systemctl enable etherpad

Verifica il servizio Etherpad utilizzando il seguente comando. Se il servizio Etherpad è in esecuzione, dovresti ottenere un output come ‘ active (running) ‘.

sudo systemctl status etherpad

verify etherpad service

Puoi anche verificare l’elenco delle porte aperte sul tuo sistema utilizzando il seguente comando. E dovresti vedere che Etherpad utilizza quella porta 9001.

ss -tulpn | grep 9001

Configurare Nginx come reverse proxy

A questo punto, Etherpad è attivo e funzionante sulla porta 9001. Per renderlo accessibile agli utenti finali, puoi utilizzare Nginx che sarà utilizzato come reverse proxy. Prima di iniziare, assicurati di avere il nome di dominio che sarà utilizzato per Etherpad e assicurati di aver generato certificati SSL tramite Letsencrypt e Certbot.

Crea una nuova configurazione del blocco server Nginx /etc/nginx/conf.d/etherpad.conf utilizzando il comando dell’editor nano qui sotto.

sudo nano /etc/nginx/conf.d/etherpad.conf

Inserisci la seguente configurazione e assicurati di cambiare i dettagli del nome di dominio e il percorso dei certificati SSL.

# enforce HTTPS  
server {  
    listen       80;  
    server_name  etherpad.howtoforge.local;  
    return 301   https://$host$request_uri;  
}  
  
# we're in the http context here  
map $http_upgrade $connection_upgrade {  
    default upgrade;  
    ''      close;  
}  
  
server {  
    listen       443 ssl http2;  
    server_name  etherpad.howtoforge.local;  
  
    access_log  /var/log/nginx/eplite.access.log;  
    error_log   /var/log/nginx/eplite.error.log;  
  
    ssl_certificate      /etc/letsencrypt/live/etherpad.howtoforge.local/fullchain.pem;  
    ssl_certificate_key  /etc/letsencrypt/live/etherpad.howtoforge.local/privkey.pem;  
  
    ssl_session_timeout  5m;  
  
    ssl_protocols TLSv1.2;  
    ssl_prefer_server_ciphers on;  
    ssl_ciphers "EECDH+ECDSA+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";  
  
    location / {  
        proxy_pass         http://127.0.0.1:9001;  
        proxy_buffering    off; # be careful, this line doesn't override any proxy_buffering on set in a conf.d/file.conf  
        proxy_set_header   Host $host;  
        proxy_pass_header  Server;  
  
        # Note you might want to pass these headers etc too.  
        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; # EP logs to show the actual remote IP  
        proxy_set_header    X-Forwarded-Proto $scheme; # for EP to set secure cookie flag when https is used  
        proxy_http_version  1.1; # recommended with keepalive connections  
  
        # WebSocket proxying - from https://nginx.org/en/docs/http/websocket.html  
        proxy_set_header  Upgrade $http_upgrade;  
        proxy_set_header  Connection $connection_upgrade;  
    }  
}

Salva il file e chiudi l’editor quando hai finito.

Ora, esegui il seguente comando per assicurarti di avere la configurazione corretta e appropriata. Se ha successo, dovresti ricevere un messaggio come “ La sintassi è ok - il test è riuscito “.

sudo nginx -t

Successivamente, inserisci il seguente comando per riavviare il servizio Nginx e applicare le modifiche.

sudo systemctl restart nginx

configure nginx as reverse proxy

Dopo di che, apri il tuo browser web e visita il nome di dominio dell’installazione di Etherpad (cioè: https://etherpad.howtoforge.local/). Dovresti vedere la home page predefinita del tuo editor collaborativo Etherpad.

Ora crea un nuovo pad digitando il nome del pad e clicca su OK.

create new pad

Qui sotto puoi vedere ora iniziare a utilizzare Etherpad come editor collaborativo.

etehrpad collaboratuive editor

Conclusione

Congratulazioni, hai completato l’installazione di Etherpad con il database MariaDB e il server web Nginx su un server AlmaLinux 9. Hai anche protetto Etherpad con certificati SSL. Ora puoi iniziare a utilizzare Etherpad come principale editor collaborativo con i tuoi amici/gruppi/team.

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.