Поиск по сайту:

Поддержка удаленных веб-сайтов с помощью sitecopy в Ubuntu 16.04


Это руководство существует для этих версий ОС

  • Ubuntu 11.04 (Натти Нарвал)

На этой странице

  1. 1 Предварительное примечание
  2. 2 Установка Sitecopy
  3. 3 Настройка копирования сайта
  4. 4 Первое использование
    1. 4.1 Существующий удаленный сайт и локальная копия, синхронизированные
    2. 4.2 Существующий удаленный сайт, без локальной копии
    3. 4.3 Новый удаленный сайт, существующая локальная копия

    sitecopy — это инструмент для копирования локально сохраненных веб-сайтов на удаленный веб-сервер (с использованием FTP или WebDAV). Это помогает вам синхронизировать удаленный сайт с вашей локальной копией, загружая измененные локальные файлы и удаляя удаленные файлы, которые были удалены на локальном компьютере. В этом руководстве показано, как вы можете управлять своим удаленным веб-сайтом с локального рабочего стола Ubuntu 16.04 с помощью sitecopy.

    1 Предварительное примечание

    Я использую имя пользователя до на моем локальном рабочем столе Ubuntu (я вошел в свой локальный рабочий стол Linux как этот пользователь — пожалуйста, не входите в систему как root). Файлы для удаленного веб-сайта example.com хранятся в каталоге /home/till/sites/example.com/ на локальном компьютере. Удаленный корень документа — /var/www/example.com/web/.

    Вы можете использовать sitecopy с FTP и WebDAV, поэтому у вас должна быть учетная запись FTP или WebDAV на удаленном сервере. Я использую имя пользователя FTP по умолчанию и пароль, как подделать здесь.

    Удаленный веб-сайт, который я использую для этих примеров, был создан с помощью ISPConfig. Но любой сайт, к которому у вас есть доступ по FTP или WebDAV, будет работать.

    2 Установка сайта

    Sitecopy можно установить на локальный рабочий стол следующим образом (нам нужны root-права, поэтому используем sudo):

    sudo apt-get -y install sitecopy

    Теперь вы должны взглянуть на справочную страницу sitecopys, чтобы ознакомиться с ее параметрами:

    man sitecopy

    3 Настройка копирования сайта

    Перейдите в свой домашний каталог на локальном рабочем столе...

    cd ~

    ... и создайте каталог .sitecopy с разрешениями 700 (sitecopy использует этот каталог для хранения сведений о файлах):

    mkdir -m 700 .sitecopy

    Затем создайте файл конфигурации sitecopy .sitecopyrc:

    touch .sitecopyrc
    chmod 600 .sitecopyrc

    Откройте файл...

    nano .sitecopyrc

    ... и заполните конфигурацию для сайта example.com. Вот два примера, один для FTP...

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

    ... и один для 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 *~

    (Вы можете определить раздел для каждого веб-сайта, которым хотите управлять с помощью sitecopy.)

    За директивой site должно следовать имя веб-сайта — вы можете свободно выбрать его, например. например.com или мой сайт. Это имя будет использоваться позже в командах sitecopy. Следующие параметры конфигурации, принадлежащие этому сайту, должны иметь отступ!

    Большинство следующих параметров конфигурации говорят сами за себя. Протокол по умолчанию — FTP; если вы хотите использовать WebDAV, укажите протокол webdav. Директива local содержит локальный путь к копии веб-сайта, remote содержит путь к веб-сайту на удаленном сервере - может быть абсолютным или относительным. Если ваш пользователь имеет chroot (как это обычно бывает с FTP-пользователями), вы должны использовать относительный путь (например, ~/ или ~/web). В противном случае используйте абсолютный путь.

    Строки исключения являются необязательными, они здесь просто для демонстрации того, как вы можете исключить файлы из обслуживания sitecopy.

    Вы можете узнать больше о настройке sitecopy на его справочной странице:

    man sitecopy

    4 Первое использование

    Прежде чем использовать sitecopy в первый раз, вы должны решить, какой из следующих трех сценариев соответствует вашей ситуации:

    1. Существующий удаленный сайт и локальная копия синхронизированы.
    2. Существующий удаленный сайт, локальной копии нет.
    3. Новый удаленный сайт, существующая локальная копия.

    4.1 Существующий удаленный сайт и локальная копия, синхронизированные

    Если и удаленный сайт, и локальная копия существуют и синхронизированы, запустите

    sitecopy --catchup example.com

    чтобы sitecopy думал, что локальный сайт точно такой же, как удаленная копия. Замените example.com именем используемого вами сайта в файле .sitecopyrc.

    :~$ 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 Существующий удаленный сайт, без локальной копии

    Если у вас нет локальной копии существующего удаленного веб-сайта, запустите

    sitecopy --fetch example.com

    сначала, чтобы sitecopy получал список файлов с удаленного сервера (замените example.com именем сайта, который вы используете в файле .sitecopyrc):

    :~$ 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.

    Затем запустите

    sitecopy --synch example.com

    для обновления локального сайта из удаленной копии.

    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 Новый удаленный сайт, существующая локальная копия

    Если локальная копия существует, но у вас есть пустой удаленный сайт, запустите

    sitecopy --init example.com

    сначала инициализировать сайт. Замените example.com именем используемого вами сайта в файле .sitecopyrc.

    :~$ 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.

    Затем запустите:

    sitecopy --update example.com

    чтобы загрузить локальную копию на удаленный сайт:

    :~$ 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 Использование сайта

    После этого использовать sitecopy очень просто. Вы можете работать с локальной копией и обновлять, создавать и удалять файлы. Первым, но необязательным шагом является запуск

    sitecopy example.com

    чтобы узнать, какие файлы были изменены локально (замените example.com на имя используемого вами сайта в файле .sitecopyrc):

    :~$ 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).

    Чтобы синхронизировать ваш удаленный веб-сайт с вашей локальной копией (т. е. загрузить новые и измененные файлы на удаленный сервер и удалить файлы на удаленном сервере, которые были удалены локально), вы просто запускаете

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

    Вот и все! Веселитесь с копией сайта!

    6 ссылок

    • копия сайта: http://www.manyfish.co.uk/sitecopy/
    • Убунту: http://www.ubuntu.com/