Una breve guida su come installare duplicati su un server headless Ubuntu o Debian per effettuare tutti i nostri backup in sicurezza
Prima di tutto partiamo col dire cos’è duplicati (link al sito ufficiale). duplicati è un software opensouce multipiattaforma per effettuare il backup dei nostri dati in un’altra cartella del nostro PC (ad esempio un HD USB esterno) oppure in Cloud. Proprio sul cloud duplicati è molto forte, infatti oltre ai classici protocolli FTP, SFTP, WebDAV, supporta una moltitudine di altri servizi cloud. Giusto per citarne qualcuno Dropbox, Drive, S3 di Amazon AWS, BlackBlaze, box.com, Microsoft OneDrive e tantissimi altri. Il tutto gestito da una semplice interfaccia Web.
Veniamo ora all’installazione di duplicati su un server headless ubuntu (nel mio caso Ubuntu 16.04) per effettuare backup dei siti web e dei database SQL.
Prima di tutto creiamo le directory
mkdir /usr/lib/duplicati cd /usr/lib/duplicati
Ora dalla pagina ufficiale di github scarichiamo l’ultima versione .zip (non il .deb) della versione che più desideriamo (experimental o canary)
Nel mio caso ho installato l’ultima canary
wget https://github.com/duplicati/duplicati/releases/download/v2.0.2.12-2.0.2.12_canary_2017-10-20/duplicati-2.0.2.12_canary_2017-10-20.zip
unzip duplicati-2.0.2.12_canary_2017-10-20.zip rm duplicati-2.0.2.12_canary_2017-10-20.zip
Se volete usare LVM, eseguite il seguente comando:
chmod u+x /usr/lib/duplicati/lvm-scripts/*.sh
Creiamo lo script /usr/bin/duplicati-cli ed al suo interno incolliamo
#!/bin/bash INSTALLDIR=/usr/lib/duplicati export LD_LIBRARY_PATH="${INSTALLDIR}${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}" export MONO_PATH=$MONO_PATH:${INSTALLDIR} EXE_FILE=${INSTALLDIR}/Duplicati.CommandLine.exe APP_NAME=Duplicati.CommandLine exec -a "$APP_NAME" mono "$EXE_FILE" "$@"
Ora creiamo /usr/bin/duplicati-server e al suo interno incolliamo
#!/bin/bash INSTALLDIR=/usr/lib/duplicati export LD_LIBRARY_PATH="${INSTALLDIR}${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}" export MONO_PATH=$MONO_PATH:${INSTALLDIR} EXE_FILE=${INSTALLDIR}/Duplicati.Server.exe APP_NAME=DuplicatiServer exec -a "$APP_NAME" mono "$EXE_FILE" "$@"
Fatto questo impostiamo i permessi di esecuzione 755
chmod 755 /usr/bin/duplicati-cli chmod 755 /usr/bin/duplicati-server
Editiamo il file di configurazione (non esiste, dovrà essere creato) /etc/default/duplicati.
Al suo interno inseriamo
# Defaults for duplicati initscript # sourced by /etc/init.d/duplicati # # This is a POSIX shell fragment # # Additional options that are passed to the Daemon. DAEMON_OPTS="--webservice-port=8200 --webservice-interface=any"
con –webservice-port potremo scegliere la porta d’ascolto della nostra interfaccia web di amministrazione, mentre con –webservice-interface l’interfaccia d’ascolto. Impostando any sarà possibile accedere al pannello anche da remoto (nel mio caso è un server dedicato, quindi è necessario accedere in questo modo se non si vuole creare una VPN e metterlo in ascolto su questa interfaccia)
Ora non ci resta che impostare duplicati per avviarsi al boot
systemd setup for root
Creiamo il file /etc/systemd/system/duplicati.service e inseriamo
[Unit] Description=Duplicati web-server After=network.target [Service] EnvironmentFile=-/etc/default/duplicati ExecStart=/usr/bin/duplicati-server $DAEMON_OPTS [Install] WantedBy=multi-user.target
e poi eseguiamo
systemctl enable duplicati
systemd setup for non privileged users
Creiamo il file /etc/systemd/system/duplicati@.service e inseriamo
[Unit] Description=Duplicati web-server After=network.target [Service] User=%I EnvironmentFile=-/etc/default/duplicati ExecStart=/usr/bin/duplicati-server $DAEMON_OPTS [Install] WantedBy=multi-user.target
e poi eseguiamo
systemctl enable duplicati@user
ATTENZIONE dovrete sostituire user con l’utenza con il quale volete che duplicati sia eseguito
ora non ci resta che aprire il browser e collegarci a
http://ipdelserver:8200
Buon backup a tutti!
L'articolo Installare duplicati su un server headless ubuntu o debian sembra essere il primo su Blog WebEats.
Leggi il contenuto originale su How-To – Blog WebEats