Siti web · 6 min read · Feb 14, 2026

Mantenere siti web remoti con sitecopy su Ubuntu 16.04

sitecopy è uno strumento per copiare siti web memorizzati localmente su un server web remoto (utilizzando FTP o WebDAV). Ti aiuta a mantenere il sito remoto sincronizzato con la tua copia locale caricando file locali modificati e eliminando file remoti che sono stati eliminati sul computer locale. Questo tutorial mostra come puoi gestire il tuo sito web remoto dal tuo desktop locale Ubuntu 16.04 con sitecopy.

1 Nota Preliminare

Sto usando il nome utente till sul mio desktop locale Ubuntu (sono connesso sul mio desktop Linux locale come quell’utente - per favore non accedere come root). I file per il sito web remoto example.com sono memorizzati nella directory /home/till/sites/example.com/ sul computer locale. La radice del documento remoto è /var/www/example.com/web/.

Puoi usare sitecopy con FTP e WebDAV, quindi dovresti avere un account FTP o WebDAV sul server remoto. Sto usando il nome utente FTP defaulttill e la password howtoforge qui.

Il sito web remoto che utilizzo per questi esempi è stato creato con ISPConfig. Ma qualsiasi sito a cui hai accesso FTP o WebDAV funzionerà.

2 Installazione di sitecopy

Sitecopy può essere installato sul desktop locale come segue (abbiamo bisogno dei privilegi di root, quindi usiamo sudo):

sudo apt-get -y install sitecopy

Dovresti ora dare un’occhiata alla pagina man di sitecopy per familiarizzare con le sue opzioni:

man sitecopy

3 Configurazione di sitecopy

Vai alla tua directory home sul desktop locale…

cd ~

… e crea la directory .sitecopy con permessi di 700 (sitecopy utilizza quella directory per memorizzare i dettagli dei file):

mkdir -m 700 .sitecopy

Successivamente, crea il file di configurazione di sitecopy .sitecopyrc:

touch .sitecopyrc  
chmod 600 .sitecopyrc

Apri il file…

nano .sitecopyrc

… e compila la configurazione per il sito example.com. Ecco due esempi, uno per FTP…

site example.com
  server example.com
  username defaulttill
  password howtoforge
  local /home/till/sites/example.com/
  remote ~/web/
  exclude *.bak
  exclude *~

… e uno per WebDAV:

site example.com
  server example.com
  protocol webdav
  username defaulttill
  password howtoforge
  local /home/till/sites/example.com/
  remote /var/www/example.com/web/
  exclude *.bak
  exclude *~

(Puoi definire una strofetta per ogni sito web che desideri gestire con sitecopy.)

La direttiva site deve essere seguita da un nome per il sito web - puoi sceglierne uno liberamente, ad esempio example.com o mysite. Questo nome sarà utilizzato in seguito nei comandi di sitecopy. Le seguenti opzioni di configurazione che appartengono a quel sito devono essere rientrate!

La maggior parte delle seguenti opzioni di configurazione sono autoesplicative. Il protocollo predefinito è FTP; se desideri utilizzare WebDAV, specifica il protocollo webdav. La direttiva locale contiene il percorso locale della copia del sito web, remoto contiene il percorso del sito web sul server remoto - può essere assoluto o relativo. Se il tuo utente è chrooted (come è normalmente il caso con gli utenti FTP), dovresti usare un percorso relativo (come ~/ o ~/web). Altrimenti usa un percorso assoluto.

Le righe di esclusione sono opzionali, sono qui solo per dimostrare come puoi escludere file dalla gestione di sitecopy.

Puoi scoprire di più sulla configurazione di sitecopy nella sua pagina man:

man sitecopy

4 Primo Utilizzo

Prima di utilizzare sitecopy per la prima volta, devi decidere quale dei seguenti tre scenari corrisponde alla tua situazione:

  1. Sito remoto esistente e copia locale, entrambi sincronizzati.
  2. Sito remoto esistente, nessuna copia locale.
  3. Nuovo sito remoto, copia locale esistente.

4.1 Sito Remoto Esistente e copia locale, entrambi sincronizzati

Se sia il sito remoto che la copia locale esistono e sono sincronizzati, esegui

sitecopy --catchup example.com

per far credere a sitecopy che il sito locale sia esattamente lo stesso della copia remota. Sostituisci example.com con il nome del sito che utilizzi nel file .sitecopyrc.

till@ubuntu-desktop:~$ sitecopy --catchup example.com  
sitecopy: Catching up site `example.com' (on example.com in ~/web/)  
sitecopy: All the files and and directories are marked as updated remotely.

4.2 Sito Remoto Esistente, nessuna copia locale

Se non hai una copia locale del sito web remoto esistente, esegui

sitecopy --fetch example.com

prima in modo che sitecopy recuperi l’elenco dei file dal server remoto (sostituisci example.com con il nome del sito che utilizzi nel file .sitecopyrc):

till@ubuntu-desktop:~$ sitecopy --fetch example.com  
sitecopy: Fetching site `example.com' (on example.com in ~/web/)  
File: error/503.html - size 1906  
File: error/502.html - size 1881  
File: error/500.html - size 1851  
File: error/405.html - size 1810  
File: error/404.html - size 1806  
File: error/403.html - size 1809  
File: error/401.html - size 1806  
File: error/400.html - size 1792  
File: stats/.htaccess - size 128  
File: robots.txt - size 14  
File: index.html - size 1861  
File: favicon.ico - size 7358  
File: .htaccess - size 26  
Directory: error/  
Directory: stats/  
sitecopy: Fetch completed successfully.

Quindi esegui

sitecopy --synch example.com

per aggiornare il sito locale dalla copia remota.

sitecopy: Synchronizing site `example.com' (on example.com in ~/web/)  
Creating error/: done.  
Creating stats/: done.  
Downloading error/503.html: [.] done.  
Downloading error/502.html: [.] done.  
Downloading error/500.html: [.] done.  
Downloading error/405.html: [.] done.  
Downloading error/404.html: [.] done.  
Downloading error/403.html: [.] done.  
Downloading error/401.html: [.] done.  
Downloading error/400.html: [.] done.  
Downloading stats/.htaccess: [.] done.  
Downloading robots.txt: [.] done.  
Downloading index.html: [.] done.  
Downloading favicon.ico: [.] done.  
Downloading .htaccess: [.] done.  
sitecopy: Synchronize completed successfully.

4.3 Nuovo Sito Remoto, Copia Locale Esistente

Se la copia locale esiste, ma hai un sito remoto vuoto, esegui

sitecopy --init example.com

prima per inizializzare il sito. Sostituisci example.com con il nome del sito che utilizzi nel file .sitecopyrc.

till@ubuntu-desktop:~$ sitecopy --init example.com  
sitecopy: Initializing site `example.com' (on example.com in ~/web/)  
sitecopy: All the files and directories are marked as NOT updated remotely.  
  

Quindi esegui:

sitecopy --update example.com

per caricare la copia locale sul sito remoto:

till@ubuntu-desktop:~$ sitecopy --update example.com  
sitecopy: Updating site `example.com' (on example.com in ~/web/)  
Creating stats/: done.  
Creating data/: done.  
Creating error/: done.  
Uploading stats/.htaccess: [.] done.  
Uploading data/index.html: [.] done.  
Uploading error/403.html: [.] done.  
Uploading error/401.html: [.] done.  
Uploading error/404.html: [.] done.  
Uploading error/503.html: [.] done.  
Uploading error/400.html: [.] done.  
Uploading error/502.html: [.] done.  
Uploading error/405.html: [.] done.  
Uploading error/500.html: [.] done.  
Uploading index.html: [.] done.  
Uploading robots.txt: [.] done.  
Uploading .htaccess: [.] done.  
Uploading favicon.ico: [.] done.  
sitecopy: Update completed successfully.

5 Utilizzo di sitecopy

Dopo, l’utilizzo di sitecopy è davvero semplice. Puoi lavorare con la tua copia locale e aggiornare, creare ed eliminare file. Un primo, ma facoltativo passo è eseguire

sitecopy example.com

per scoprire quali file sono cambiati localmente (sostituisci example.com con il nome del sito che utilizzi nel file .sitecopyrc):

till@ubuntu-desktop:~$ sitecopy example.com  
sitecopy: Showing changes to site `example.com' (on example.com in ~/web/)  
* Questi elementi sono stati aggiunti dall'ultimo aggiornamento:  
info.php  
sitecopy: Il sito remoto ha bisogno di aggiornamenti (1 elemento da aggiornare).

Per sincronizzare il tuo sito web remoto con la tua copia locale (cioè caricare file nuovi e modificati sul server remoto ed eliminare file sul server remoto che sono stati eliminati localmente), esegui semplicemente

sitecopy --update example.com
till@ubuntu-desktop:~$ sitecopy --update example.com  
sitecopy: Updating site `example.com' (on example.com in ~/web/)  
Uploading info.php: [] done.  
sitecopy: Update completed successfully.

Ecco fatto! Divertiti con sitecopy!

6 Link

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.