sitecopy è uno strumento per copiare siti Web archiviati localmente su un server Web remoto (utilizzando FTP o WebDAV). Ti aiuta a mantenere sincronizzato il sito remoto con la tua copia locale caricando i file locali modificati ed eliminando i file remoti che sono stati eliminati sul computer locale. Questo tutorial mostra come gestire il tuo sito Web remoto dal desktop Ubuntu 16.04 locale con sitecopy.
1 Nota preliminare
Sto usando il nome utente fino a sul mio desktop Ubuntu locale (ho effettuato l'accesso sul mio desktop Linux locale come quell'utente, per favore non accedere come root). I file per il sito Web remoto example.com sono archiviati nella directory /home/till/sites/example.com/ sul computer locale. La radice del documento remoto è /var/www/example.com/web/.
Puoi utilizzare sitecopy con FTP e WebDAV, quindi dovresti avere un account FTP o WebDAV sul server remoto. Sto utilizzando il nome utente FTP predefinito fino a 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 utilizziamo sudo):
sudo apt-get -y install sitecopy
Ora dovresti dare un'occhiata alla pagina man di sitecopy per familiarizzare con le sue opzioni:
man sitecopy
3 Configurazione di sitecopy
Vai alla tua home directory sul desktop locale...
cd ~
... e crea la directory .sitecopy con i permessi di 700 (sitecopy usa quella directory per memorizzare i dettagli del file):
mkdir -m 700 .sitecopy
Quindi, 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 stanza per ogni sito web che vuoi gestire con sitecopy.)
La direttiva del sito deve essere seguita da un nome per il sito Web:puoi sceglierne uno liberamente, ad es. esempio.com o il mio sito. Questo nome verrà utilizzato in seguito nei comandi 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 si desidera utilizzare WebDAV, specificare il protocollo webdav. La direttiva locale contiene il percorso locale della copia del sito Web, remote contiene il percorso del sito Web sul server remoto - può essere assoluto o relativo. Se il tuo utente è in chroot (come normalmente accade con gli utenti FTP), dovresti usare un percorso relativo (come ~/ o ~/web). Altrimenti usa un percorso assoluto.
Le righe di esclusione sono facoltative, sono qui solo per dimostrare come puoi escludere i file dalla manutenzione 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:
- Sito remoto esistente e copia locale, entrambi sincronizzati.
- Sito remoto esistente, nessuna copia locale.
- 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 fare in modo che sitecopy pensi che il sito locale sia esattamente lo stesso della copia remota. Sostituisci example.com con il nome del sito che utilizzi nel file .sitecopyrc.
[email protected]:~$ 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 usi nel file .sitecopyrc):
[email protected]:~$ 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 di inizializzare il sito. Sostituisci example.com con il nome del sito che utilizzi nel file .sitecopyrc.
[email protected]:~$ 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:
[email protected]:~$ 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
Successivamente, l'utilizzo del sitecopy è davvero semplice. Puoi lavorare con la tua copia locale e aggiornare, creare ed eliminare file. Un primo, ma facoltativo passaggio è l'esecuzione
sitecopy example.com
per scoprire quali file sono stati modificati localmente (sostituisci example.com con il nome del sito che utilizzi nel file .sitecopyrc):
[email protected]:~$ sitecopy example.com
sitecopy: Showing changes to site `example.com' (on example.com in ~/web/)
* These items have been added since the last update:
info.php
sitecopy: The remote site needs updating (1 item to update).
Per sincronizzare il tuo sito web remoto con la tua copia locale (ovvero caricare i file nuovi e modificati sul server remoto ed eliminare i file sul server remoto che sono stati eliminati localmente), esegui semplicemente
sitecopy --update example.com
[email protected]:~$ sitecopy --update example.com
sitecopy: Updating site `example.com' (on example.com in ~/web/)
Uploading info.php: [] done.
sitecopy: Update completed successfully.
Questo è tutto! Divertiti con Sitecopy!
6 link
- sitecopy:http://www.manyfish.co.uk/sitecopy/
- Ubuntu:http://www.ubuntu.com/