Поддержка удаленных веб-сайтов с помощью sitecopy в Ubuntu 16.04
Это руководство существует для этих версий ОС
- Ubuntu 11.04 (Натти Нарвал)
На этой странице
- 1 Предварительное примечание
- 2 Установка Sitecopy
- 3 Настройка копирования сайта
- 4 Первое использование
- 4.1 Существующий удаленный сайт и локальная копия, синхронизированные
- 4.2 Существующий удаленный сайт, без локальной копии
- 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 в первый раз, вы должны решить, какой из следующих трех сценариев соответствует вашей ситуации:
- Существующий удаленный сайт и локальная копия синхронизированы.
- Существующий удаленный сайт, локальной копии нет.
- Новый удаленный сайт, существующая локальная копия.
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/