In questo tutorial, ti mostreremo come installare Etherpad Lite su Debian Wheezy. Etherpad Lite è un editor basato sul Web Open Source che fornisce editing collaborativo in tempo reale, inclusa la chat box integrata. Tutto questo avviene su uno dei nostri piani di hosting VPS Linux, ma dovrebbe funzionare altrettanto bene su qualsiasi altra installazione Linux.
Il comando seguente installerà tutti i pacchetti necessari
apt-get install gzip git-core curl python libssl-dev pkg-config \
build-essential python g++ make checkinstall \
nginx-full mysql-server Successivamente dobbiamo compilare e installare nodejs
cd /usr/src/ wget http://nodejs.org/dist/node-latest.tar.gz tar xzvf node-latest.tar.gz && cd node-v* ./configure && checkinstall
Quando si apre la finestra di dialogo, inserisci "3" e rimuovi la "v" davanti al numero di versione.
Installa nodejs con il seguente comando
dpkg -i node_*
Crea un database MySQL o MariaDB
CREATE DATABASE etherpad CHARACTER SET utf8 COLLATE utf8_general_ci; GRANT ALL PRIVILEGES ON etherpad.* TO etherpad@localhost IDENTIFIED BY '__yourPasswd__'; FLUSH PRIVILEGES; \q
Installa e configura Etherpad Lite
Vai alla directory in cui vuoi installare Etherpad Lite e clona il repository git
cd /var/www/ git clone git://github.com/ether/etherpad-lite.git
Modifica il file di configurazione
cd etherpad-lite/ cp settings.json.template settings.json vim settings.json
e modificare le seguenti impostazioni:
// change the IP Address "ip": "127.0.0.1",
// set a session key "sessionKey" : "rAnD0m5tRIng",
//configure the connection settings
"dbType" : "mysql",
"dbSettings" : {
"user" : "etherpad",
"host" : "localhost",
"password": "__yourPassword__",
"database": "etherpad"
}, // add admin user
"users": {
"admin": {
"password": "__yourAdminPassword__",
"is_admin": true
}
}, Crea un utente di sistema
adduser --system --home=/var/www/etherpad-lite/ --group etherpad chown -R etherpad: /var/www/etherpad-lite/
Avvia Etherpad Lite per la prima volta:
su -c "/var/www/etherpad-lite/bin/run.sh" -s /bin/bash etherpad
Se tutto è a posto, uccidi tutti i processi appartenenti all'utente etherpad
pkill -u etherpad
Crea uno script di inizializzazione utilizzando il tuo editor preferito
#!/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 chmod +x /etc/init.d/etherpad-lite update-rc.d etherpad-lite defaults /etc/init.d/etherpad-lite start
Crea un nuovo host virtuale (blocco server)
vim /etc/nginx/sites-available/domain.tld.conf
server {
listen 80;
server_name domain.tld;
location / {
proxy_pass http://localhost:9001/;
proxy_set_header Host $host;
proxy_buffering off;
}
}
ln -s /etc/nginx/sites-available/domain.tld /etc/nginx/sites-enabled/domain.tld
/etc/init.d/nginx restart Nel caso in cui utilizzi Apache, puoi utilizzare la seguente direttiva host virtuale
vim /etc/apache2/sites-available/domain.tld
<VirtualHost *:80>
ServerName domain.tld
ServerSignature Off
<IfModule mod_proxy.c>
ProxyVia On
ProxyRequests Off
ProxyPass / http://127.0.0.1:9001/
ProxyPassReverse / http://127.0.0.1:9001/
ProxyPreserveHost on
<Proxy *>
Options FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Proxy>
</IfModule>
</VirtualHost>
ln -s /etc/apache2/sites-available/domain.tld /etc/apache2/sites-enabled/domain.tld
a2enmod proxy proxy_http
/etc/init.d/apache2 restart Questo è tutto! Ora puoi accedere a Etherpad Lite dal tuo browser.
Homepage del progetto Etherpad su GitHub
Se stai cercando altre opzioni, potresti voler leggere la nostra guida su Come installare Etherpad su Debian 9.