GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Manutenzione di siti Web remoti con Sitecopy su Ubuntu 18.04

Sitecopy è uno strumento per copiare siti Web archiviati localmente su un server Web remoto (tramite 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 eliminati sul computer locale. Questo tutorial ti mostra come gestire il tuo sito remoto dal desktop Ubuntu 18.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]buntu-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:

[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. Come abilitare il desktop remoto di Ubuntu

  2. Manutenzione di siti Web remoti con sitecopy su Ubuntu 16.04

  3. Avvio molto lento con Ubuntu 15.04?

  4. Come controllare a distanza l'hardware Ubuntu Desktop con Spice, invece di Vnc?

  5. Problemi con lo scambio in Ubuntu 18.04?

Installa Ubuntu 16.04 – Con screenshot

Gestione dei pacchetti Ubuntu con apt

Proteggi Ubuntu con ClamAV Antivirus

Installa Portainer con Docker su Ubuntu

Problemi con l'installazione di Ubuntu in Virtualbox?

Problemi con Libre Office in Ubuntu 13.04?