In questo articolo, ti mostreremo come installare Etherpad su un server Debian 9 gestito.
Etherpad è un editor in tempo reale basato sul Web e viene fornito come pacchetto open source. Questa applicazione consente agli utenti di modificare contemporaneamente i documenti in tempo reale e di vedere le differenze attraverso l'uso di testo colorato. Etherpad ha anche una chat box che consente agli utenti di comunicare facilmente tra loro, migliorando ulteriormente la produttività. L'installazione non richiederà molto tempo, quindi iniziamo
Fase 1:connettiti al tuo server
Prima di iniziare, devi connetterti al tuo server tramite SSH come utente root o come account amministratore. Per fare ciò, usa il seguente comando:
ssh root@IP_ADDRESS -p PORT_NUMBER
Ovviamente dovrai sostituire IP_ADDRESS
e PORT_NUMBER
con il rispettivo indirizzo IP del server e numero di porta SSH. Se necessario, sostituisci "root" con il nome utente del tuo account amministratore.
Una volta effettuato l'accesso, assicurati che il tuo server sia aggiornato eseguendo i seguenti comandi:
apt update apt upgrade
Passaggio 2:installa le dipendenze
Dopo aver effettuato l'accesso, dovrai eseguire il comando seguente in modo da poter installare tutte le dipendenze per l'installazione di Node.js.
apt install gzip git curl python libssl-dev pkg-config gcc g++ make build-essential -y
Fase 3:installa Node.js
Etherpad richiede Node.js versione 8.9.0 o successiva, quindi in questo tutorial installeremo l'ultima versione di Node.js (al momento della stesura di questo tutorial).
Abilita il repository NodeSource con il seguente comando curl:
curl -sL https://deb.nodesource.com/setup_11.x | sudo bash -
Ora puoi installare Node.js con il seguente comando:
apt install -y nodejs
Puoi verificare le versioni nodejs e npm utilizzando i comandi seguenti.
nodejs --version npm --version
Fase 4:installa e configura MySQL
Un server di database è uno dei requisiti per eseguire Etherpad. Puoi installare MySQL, che è un ottimo server di database open source. Digita il seguente comando per installare MySQL sul tuo server:
apt install mysql-server mysql-client
Una volta installato MySQL sul tuo server, puoi utilizzare i comandi seguenti per arrestare, avviare e abilitare il servizio MySQL.
systemctl start mysql systemctl stop mysql systemctl enable mysql
Il comando successivo è facoltativo, ma consigliato da noi. È possibile eseguire il comando se si desidera proteggere il server MySQL impedendo l'accesso root remoto, rimuovendo il database di test e impostando una password di root per MySQL.
mysql_secure_installation
Quando richiesto, rispondi alle domande seguenti seguendo la guida.
Enter current password for root (enter for none): Just press the [Enter] key, as no password is set by default. Set root password? [Y/n]: Y New password: Enter your password Re-enter new password: Repeat your password Remove anonymous users? [Y/n]: Y Disallow root login remotely? [Y/n]: Y Remove test database and access to it? [Y/n]: Y Reload privilege tables now? [Y/n]: Y
Riavvia il server MySQL in modo che le modifiche abbiano effetto.
systemctl restart mysql
Ora dovresti essere in grado di accedere alla shell MySQL con il comando:
mysql -u root -p
Quindi digita la password che hai creato sopra per accedere. Una volta che sei nella shell MySQL, puoi usare il seguente comando e creare un database chiamato etherpad_db
per l'applicazione Etherpad.
CREATE DATABASE etherpad_db;
Per concedere all'utente etherpad_user l'accesso completo a etherpad_db, eseguire il comando:
GRANT ALL PRIVILEGES ON etherpad_db.* TO etherpad_user@localhost IDENTIFIED BY 'Str0n9Pas$worD';
NOTA: Non dimenticare di sostituire "Str0n9Pas$word" con una password univoca e complessa. Ora puoi utilizzare l'operazione di svuotamento dei privilegi per ricaricare le tabelle di concessione, dopodiché puoi uscire dalla shell MySQL.
FLUSH PRIVILEGES; EXIT;
Fase 5:scarica e installa Etherpad
Con i seguenti comandi creerai un nuovo utente chiamato etherpad e passerai a quell'utente.
useradd -m -s /bin/bash etherpad su - etherpad
Esegui il comando git di seguito e clona il repository etherpad.
git clone git://github.com/ether/etherpad-lite.git
Dopo aver clonato con successo il repository etherpad, puoi entrare nella directory etherpad-lite ed eseguire bin/run.sh
script per avviare Etherpad.
cd etherpad-lite/ bin/run.sh
Etherpad è stato ora temporaneamente avviato. Per vedere la home page di Etherpad puoi aprire il tuo browser web preferito e digitare l'indirizzo IP pubblico del tuo server con la porta 9001.
http://server_IP_address:9001/
Dovresti essere in grado di vedere la home page di Etherpad.
Per interrompere l'applicazione, puoi premere "Ctrl+c" nel tuo terminale. Il problema è che il servizio viene eseguito solo temporaneamente, solo mentre è aperto nella sessione del terminale. Affinché il server funzioni in modo permanente, è necessario creare un servizio per esso. Questo è spiegato nel Passaggio 7 .
Fase 6:Configura l'Etherpad
Seguendo questo passaggio dell'articolo, eseguirai alcune configurazioni di base dell'editor Etherpad.
Accedi all'utente etherpad ed entra nella directory etherpad-lite.
su - etherpad cd etherpad-lite/
Apri settings.json
file di configurazione con il tuo editor di testo preferito. Nel nostro esempio useremo nano come editor di testo preferito.
nano settings.json
Modificare l'indirizzo IP nel file di configurazione in 'server_IP_address' e, facoltativamente, è possibile modificare la porta di ascolto su non predefinita. Nel nostro esempio utilizzeremo la porta predefinita.
"ip": "server_IP_address", "port" : 9001,
Disattiva il database "sporco" che è l'impostazione predefinita nel file di configurazione utilizzando i tag di commento /*
e */
come mostrato nell'esempio seguente.
/* "dbType" : "dirty", "dbSettings" : { "filename" : "var/dirty.db" }, */
Ora decommenta la configurazione del database MySQL e inserisci le informazioni MySQL che hai creato nel quarto passaggio di questo articolo.
"dbType" : "mysql", "dbSettings" : { "user" : "etherpad_user", "host" : "localhost", "port" : 3306, "password": "Str0n9Pas$worD", "database": "etherpad_db", "charset" : "utf8mb4" },
Puoi abilitare l'utente amministratore rimuovendo il commento da quelle righe e sostituendo Str0n9Pas$worD
con una password a tua scelta.
"users": { "admin": { // "password" can be replaced with "hash" if you install ep_hash_auth "password": "Str0n9Pas$worD", "is_admin": true }, "user": { // "password" can be replaced with "hash" if you install ep_hash_auth "password": "Str0n9Pas$worD", "is_admin": false } },
Una volta terminate tutte le modifiche, puoi salvare il file di configurazione ed uscire.
Fase 7:imposta Etherpad come servizio
Metodo 1:Systemd
In questo passaggio, configurerai Etherpad per l'esecuzione come servizio systemd sul tuo sistema Debian 9.
Esegui il comando seguente in modo da poter creare un nuovo file di servizio denominato "etherpad.service".
cd /etc/systemd/system/ && nano etherpad.service
Quindi incolla la seguente configurazione.
[Unit] Description=etherpad-lite (real-time collaborative document editing) After=syslog.target network.target [Service] Type=simple User=etherpad Group=etherpad WorkingDirectory=/home/etherpad/etherpad-lite Environment=NODE_ENV=development ExecStart=/usr/bin/nodejs /home/etherpad/etherpad-lite/node_modules/ep_etherpad-lite/node/server.js Restart=always # use mysql plus a complete settings.json to avoid Service hold-off time over, scheduling restart. [Install] WantedBy=multi-user.target
È quindi possibile salvare il file di configurazione ed uscire. Utilizzare il comando seguente per ricaricare l'elenco dei servizi systemd sul server.
systemctl daemon-reload
Ora puoi usare il systemctl
comando in modo da poter avviare e abilitare l'applicazione Etherpad in modo semplice e persistente. Quando il servizio è abilitato, si avvierà automaticamente ad ogni avvio del sistema.
systemctl start etherpad systemctl enable etherpad
Metodo 2:Init.d
Se preferisci usare init, puoi creare un nuovo script iniziale con il seguente comando.
nano /etc/init.d/etherpad
Incolla il seguente script.
#!/bin/sh ### BEGIN INIT INFO # Provides: etherpad-lite # Required-Start: $local_fs $remote_fs $network $syslog # Required-Stop: $local_fs $remote_fs $network $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: starts etherpad lite # Description: starts etherpad lite using start-stop-daemon ### END INIT INFO PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/opt/node/bin" LOGFILE="/var/www/etherpad-lite/etherpad-lite.log" EPLITE_DIR="/var/www/etherpad-lite" EPLITE_BIN="bin/safeRun.sh" USER="etherpad" GROUP="etherpad" DESC="Etherpad Lite" NAME="etherpad-lite" set -e . /lib/lsb/init-functions start() { echo "Starting $DESC... " start-stop-daemon --start --chuid "$USER:$GROUP" --background --make-pidfile --pidfile /var/run/$NAME.pid --exec $EPLITE_DIR/$EPLITE_BIN -- $LOGFILE || true echo "done" } #We need this function to ensure the whole process tree will be killed killtree() { local _pid=$1 local _sig=${2-TERM} for _child in $(ps -o pid --no-headers --ppid ${_pid}); do killtree ${_child} ${_sig} done kill -${_sig} ${_pid} } stop() { echo "Stopping $DESC... " while test -d /proc/$(cat /var/run/$NAME.pid); do killtree $(cat /var/run/$NAME.pid) 15 sleep 0.5 done rm /var/run/$NAME.pid echo "done" } status() { status_of_proc -p /var/run/$NAME.pid "" "etherpad-lite" && exit 0 || exit $? } case "$1" in start) start ;; stop) stop ;; restart) stop start ;; status) status ;; *) echo "Usage: $NAME {start|stop|restart|status}" >&2 exit 1 ;; esac exit 0
Salva e chiudi il file. Rendi eseguibile lo script modificando i permessi del file e abilitalo all'avvio all'avvio.
chmod +x /etc/init.d/etherpad update-rc.d etherpad defaults /etc/init.d/etherpad start
Puoi verificare che l'applicazione sia attiva e in esecuzione sulla porta 9001 con i seguenti comandi.
systemctl status etherpad and netstat -tunlp | grep 9001
Fase 8:configurazione di un proxy inverso
Poiché Apache e Nginx sono uno dei server Web più popolari su Internet, in questo passaggio ti mostreremo come creare un proxy inverso per loro in modo da poter aprire il sito Web contenente Etherpad con un nome di dominio. Ciò ha inoltre il vantaggio di non richiedere la specifica di un numero di porta per accedere all'Etherpad.
Assumiamo che tu abbia già installato Apache o Nginx sul tuo server. Puoi controllare lo stato del server web con i comandi seguenti.
Per Apache2:
systemctl status apache2
Per Nginx:
systemctl status nginx
Se hai installato Apache2 sul tuo server, puoi creare un nuovo file di configurazione dell'host virtuale in modo da poter accedere all'applicazione Etherpad con un nome di dominio.
nano /etc/apache2/sites-available/domain_name.conf
aggiungi il seguente contenuto al file:
<VirtualHost *:80> ServerNamedomain_name.com
ServerAliaswww.domain_name.com
ServerSignature Off <IfModule mod_proxy.c> ProxyVia On ProxyRequests Off ProxyPass / http://server_IP_address:9001/ ProxyPassReverse / http://server_IP_address:9001/ ProxyPreserveHost on <Proxy *> Options FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Proxy> </IfModule> </VirtualHost>
Ovviamente, dovrai sostituire domain_name.com con il tuo nome di dominio registrato effettivo, oltre a sostituire server_IP_address con l'indirizzo IP pubblico del tuo server. Al termine della modifica del file di configurazione, salva il file ed esci.
Devono essere installati i seguenti moduli Apache:
a2enmod proxy a2enmod proxy_http a2enmod headers
Per abilitare l'host virtuale che hai appena creato, esegui a2ensite
comando:
a2ensite domain_name
Affinché le modifiche apportate abbiano effetto, è necessario riavviare Apache:
apache2ctl restart
Se hai installato Nginx sul tuo server, puoi creare un nuovo blocco server in modo da poter accedere all'applicazione Etherpad con un nome di dominio e nessun numero di porta.
Crea il nuovo blocco del server etherpad con il comando:
nano /etc/nginx/sites-available/etherpad.conf
aggiungi il seguente contenuto al file:
server { listen 80; server_name domain_name.com; location / { proxy_pass http://server_IP_address:9001/ proxy_set_header Host $host; proxy_buffering off; } }
Dovrai sostituire domain_name.com con il tuo nome di dominio registrato effettivo, oltre a sostituire server_IP_address con l'indirizzo IP pubblico del tuo server. Al termine della modifica del file di configurazione, salva il file ed esci.
Per attivare l'host virtuale etherpad puoi creare un collegamento simbolico con il comando:
ln -s /etc/nginx/sites-available/etherpad /etc/nginx/sites-enabled/
Una volta fatto, testa la configurazione di Nginx.
nginx -t
Prima di avviare e abilitare il servizio Nginx, è necessario assicurarsi che non vi siano errori durante il test di configurazione di Nginx. Se tutto funziona, puoi eseguire i seguenti comandi:
systemctl restart nginx systemctl enable nginx
Fase 9:accesso all'Etherpad
Ora apri il tuo browser web preferito e inserisci il tuo nome di dominio.http://domain_name.com/
Dovresti essere in grado di vedere l'editor Etherpad nel tuo browser.
Inserisci il nome del tuo nuovo Pad e clicca sul pulsante OK.
Ora dovresti essere in grado di vedere l'editor Etherpad come mostrato nell'immagine qui sotto.
Per accedere all'URL dell'amministratore, aggiungi /admin/
alla fine del tuo nome di dominio.
http://domain_name.com/admin/
Ti verrà richiesto un nome utente e una password di amministratore. Inserisci il nome utente e la password dell'amministratore, quindi fai clic sul pulsante Accedi.
Congratulazioni. Hai installato e configurato correttamente l'editor Etherpad.
In questo articolo, ti abbiamo mostrato come installare Etherpad su Debian 9. Ora puoi continuare a utilizzare ed esplorare questa incredibile applicazione open source.
Ovviamente, se sei uno dei nostri clienti di hosting Debian, non devi installare Etherpad sul tuo VPS Debian 9:chiedi semplicemente ai nostri amministratori, siediti e rilassati. I nostri amministratori installeranno e configureranno immediatamente Etherpad su Debian 9 per te.
PS. Se ti è piaciuto questo post su come installare Etherpad su un VPS Debian 9, condividilo con i tuoi amici sui social network usando i pulsanti di condivisione qui sotto, o semplicemente lascia un commento nella sezione commenti. Grazie.