GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Mantenimiento de sitios web remotos con Sitecopy en Ubuntu 16.04

sitecopy es una herramienta para copiar sitios web almacenados localmente a un servidor web remoto (usando FTP o WebDAV). Le ayuda a mantener el sitio remoto sincronizado con su copia local cargando archivos locales modificados y eliminando archivos remotos que se han eliminado en la computadora local. Este tutorial muestra cómo puede administrar su sitio web remoto desde su escritorio local de Ubuntu 16.04 con Sitecopy.

1 nota preliminar

Estoy usando el nombre de usuario hasta en mi escritorio local de Ubuntu (he iniciado sesión en mi escritorio local de Linux como ese usuario; no inicie sesión como raíz). Los archivos para el sitio web remoto example.com se almacenan en el directorio /home/till/sites/example.com/ en la computadora local. La raíz del documento remoto es /var/www/example.com/web/.

Puede usar Sitecopy con FTP y WebDAV, por lo que debe tener una cuenta FTP o WebDAV en el servidor remoto. Estoy usando el nombre de usuario FTP predeterminado hasta y la contraseña cómo forjarla aquí.

El sitio web remoto que utilizo para estos ejemplos se ha creado con ISPConfig. Pero cualquier sitio al que tenga acceso FTP o WebDAV funcionará.

2 Instalando sitecopy

Sitecopy se puede instalar en el escritorio local de la siguiente manera (necesitamos privilegios de root, por lo que usamos sudo):

sudo apt-get -y install sitecopy

Ahora debería echar un vistazo a la página del manual de Sitecopy para familiarizarse con sus opciones:

man sitecopy

3 Configuración de copia del sitio

Vaya a su directorio de inicio en el escritorio local...

cd ~

... y cree el directorio .sitecopy con permisos de 700 (sitecopy usa ese directorio para almacenar detalles de archivos):

mkdir -m 700 .sitecopy

A continuación, cree el archivo de configuración de Sitecopy .sitecopyrc:

touch .sitecopyrc
chmod 600 .sitecopyrc

Abre el archivo...

nano .sitecopyrc

... y complete la configuración para el sitio example.com. Aquí hay dos ejemplos, uno para FTP...

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

... y uno para 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 *~

(Puede definir una estrofa para cada sitio web que desee administrar con Sitecopy).

La directiva del sitio debe ir seguida de un nombre para el sitio web; puede elegir uno libremente, p. ejemplo.com o misitio. Este nombre se usará más adelante en los comandos de Sitecopy. ¡Las siguientes opciones de configuración que pertenecen a ese sitio deben estar sangradas!

La mayoría de las siguientes opciones de configuración se explican por sí mismas. El protocolo predeterminado es FTP; si desea utilizar WebDAV, especifique el protocolo webdav. La directiva local contiene la ruta local de la copia del sitio web, la remota contiene la ruta del sitio web en el servidor remoto; puede ser absoluta o relativa. Si su usuario está chrooteado (como suele ser el caso con los usuarios de FTP), debe usar una ruta relativa (como ~/ o ~/web). De lo contrario, utilice una ruta absoluta.

Las líneas de exclusión son opcionales, están aquí solo para demostrar cómo puede excluir los archivos para que no sean mantenidos por Sitecopy.

Puede obtener más información sobre la configuración de Sitecopy en su página man:

man sitecopy

4 Primer uso

Antes de usar Sitecopy por primera vez, debe decidir cuál de los siguientes tres escenarios coincide con su situación:

  1. Sitio remoto existente y copia local, ambos sincronizados.
  2. Sitio remoto existente, sin copia local.
  3. Nuevo sitio remoto, copia local existente.

4.1 Sitio remoto existente y copia local, ambos sincronizados

Si tanto el sitio remoto como la copia local existen y están sincronizados, ejecute

sitecopy --catchup example.com

para hacer que Sitecopy crea que el sitio local es exactamente igual que la copia remota. Reemplace example.com con el nombre del sitio que usa en el archivo .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 Sitio remoto existente, sin copia local

Si no tiene una copia local del sitio web remoto existente, ejecute

sitecopy --fetch example.com

primero para que sitecopy obtenga la lista de archivos del servidor remoto (reemplace example.com con el nombre del sitio que usa en el archivo .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.

Entonces corre

sitecopy --synch example.com

para actualizar el sitio local desde la 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 Nuevo sitio remoto, copia local existente

Si existe la copia local, pero tiene un sitio remoto vacío, ejecute

sitecopy --init example.com

primero en inicializar el sitio. Reemplace example.com con el nombre del sitio que usa en el archivo .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.

Luego ejecuta:

sitecopy --update example.com

para cargar la copia local en el sitio 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 Uso de sitecopy

Posteriormente, el uso de Sitecopy es realmente fácil. Puede trabajar con su copia local y actualizar, crear y eliminar archivos. Un primer paso, pero opcional, es ejecutar

sitecopy example.com

para averiguar qué archivos han cambiado localmente (reemplace example.com con el nombre del sitio que usa en el archivo .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).

Para sincronizar su sitio web remoto con su copia local (es decir, cargar archivos nuevos y modificados en el servidor remoto y eliminar archivos en el servidor remoto que se han eliminado localmente), simplemente ejecute

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.

¡Eso es todo! ¡Diviértete con Sitecopy!

6 Enlaces

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

Ubuntu
  1. Uso compartido de escritorio remoto con NoMachine en Ubuntu 20.04 Focal Fossa

  2. Duplique su sitio web con rsync

  3. Mantenimiento de sitios web remotos con Sitecopy en Ubuntu 18.04

  4. Cómo instalar el servidor web Cherokee con PHP5 y MySQL en Ubuntu 11.04

  5. Configure apache para múltiples usuarios en ubuntu con el módulo userdir

Cómo configurar WordPress multisitio con Apache Web Server en Ubuntu

Instalación de AWStats (Estadísticas web avanzadas) en Ubuntu 18.04 con Apache

Instale Matomo Web Analytics (Piwik) en Ubuntu 18.04 con Apache/Nginx

Instale Matomo Web Analytics (Piwik) en Ubuntu 20.04 con Apache/Nginx

Cómo instalar Calibre Web en Ubuntu 20.04 con Docker

Ruby on Rails en Azure App Service (sitios web) con Linux (y Ubuntu en Windows 10)