GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Manutenzione di siti Web remoti con sitecopy su Ubuntu 16.04

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:

  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 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!

  • sitecopy:http://www.manyfish.co.uk/sitecopy/
  • Ubuntu:http://www.ubuntu.com/

Ubuntu
  1. Condivisione desktop remoto con NoMachine su Ubuntu 20.04 Focal Fossa

  2. Rispecchia il tuo sito Web con rsync

  3. Manutenzione di siti Web remoti con Sitecopy su Ubuntu 18.04

  4. Come installare il server Web Cherokee con PHP5 e MySQL su Ubuntu 11.04

  5. Configura apache per più utenti su Ubuntu con il modulo userdir

Come configurare WordPress Multisite con Apache Web Server su Ubuntu

Installazione di AWStats (Advanced Web Statistics) su Ubuntu 18.04 con Apache

Installa Matomo Web Analytics (Piwik) su Ubuntu 18.04 con Apache/Nginx

Installa Matomo Web Analytics (Piwik) su Ubuntu 20.04 con Apache/Nginx

Come installare Calibre Web su Ubuntu 20.04 con Docker

Ruby on Rails sul servizio app di Azure (siti Web) con Linux (e Ubuntu su Windows 10)