GNU/Linux >> Linux の 問題 >  >> Ubuntu

Ubuntu16.04でサイトコピーを使用してリモートWebサイトを維持する

sitecopyは、ローカルに保存されているWebサイトをリモートのWebサーバーにコピーするためのツールです(FTPまたはWebDAVを使用)。変更されたローカルファイルをアップロードし、ローカルコンピューターで削除されたリモートファイルを削除することにより、リモートサイトをローカルコピーと同期させるのに役立ちます。このチュートリアルでは、sitecopyを使用してローカルのUbuntu16.04デスクトップからリモートWebサイトを管理する方法を示します。

1予備メモ

ローカルのUbuntuデスクトップまでユーザー名を使用しています(ローカルのLinuxデスクトップにそのユーザーとしてログインしています。rootとしてログインしないでください)。リモートWebサイトexample.comのファイルは、ローカルコンピューターのディレクトリ/home/till/sites/example.com/に保存されています。リモートドキュメントルートは/var/www/example.com/web/です。

FTPおよびWebDAVでサイトコピーを使用できるため、リモートサーバーにFTPまたはWebDAVアカウントが必要です。ここでは、FTPユーザー名defaulttillとパスワードhowtoforgeを使用しています。

これらの例で使用するリモートWebサイトは、ISPConfigを使用して作成されています。ただし、FTPまたはWebDAVにアクセスできるサイトであればすべて機能します。

2sitecopyのインストール

Sitecopyは、次のようにローカルデスクトップにインストールできます(root権限が必要なため、sudoを使用します):

sudo apt-get -y install sitecopy

ここで、sitecopyのマニュアルページを見て、そのオプションを理解する必要があります。

man sitecopy

3サイトコピーの構成

ローカルデスクトップのホームディレクトリに移動します...

cd ~

...そして700のパーミッションでディレクトリ.sitecopyを作成します(sitecopyはそのディレクトリを使用してファイルの詳細を保存します):

mkdir -m 700 .sitecopy

次に、sitecopy構成ファイル.sitecopyrcを作成します:

touch .sitecopyrc
chmod 600 .sitecopyrc

ファイルを開きます...

nano .sitecopyrc

...そしてexample.comサイトの設定を入力します。これが2つの例です。1つはFTP用です...

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

...そしてWebDAV用に1つ:

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で管理するWebサイトごとにスタンザを定義できます。)

サイトディレクティブの後には、Webサイトの名前を付ける必要があります。たとえば、自由に選択できます。 example.comまたはmysite。この名前は、後でsitecopyコマンドで使用されます。そのサイトに属する次の構成オプションはインデントする必要があります!

次の構成オプションのほとんどは自明です。デフォルトのプロトコルはFTPです。 WebDAVを使用する場合は、プロトコルwebdavを指定してください。 localディレクティブにはWebサイトコピーのローカルパスが含まれ、remoteにはリモートサーバー上のWebサイトのパスが含まれます。絶対パスでも相対パスでもかまいません。ユーザーがchrootされている場合(FTPユーザーの場合のように)、相対パス(〜/または〜/ webなど)を使用する必要があります。それ以外の場合は、絶対パスを使用してください。

除外行はオプションです。これらは、サイトコピーによる保守からファイルを除外する方法を示すためだけのものです。

サイトコピーの構成について詳しくは、manページを参照してください:

man sitecopy

4最初の使用法

サイトコピーを初めて使用する前に、次の3つのシナリオのどれが状況に一致するかを判断する必要があります。

  1. 既存のリモートサイトとローカルコピーの両方が同期しています。
  2. 既存のリモートサイト、ローカルコピーはありません。
  3. 新しいリモートサイト、既存のローカルコピー。

4.1既存のリモートサイトとローカルコピーの両方が同期している

リモートサイトとローカルコピーの両方が存在し、同期している場合は、実行します

sitecopy --catchup example.com

サイトコピーにローカルサイトがリモートコピーとまったく同じであると思わせるため。 example.comを、.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既存のリモートサイト、ローカルコピーなし

既存のリモートWebサイトのローカルコピーがない場合は、

を実行します。
sitecopy --fetch example.com

まず、sitecopyがリモートサーバーからファイルのリストをフェッチするようにします(example.comを.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.

次に実行します

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ファイルで使用しているサイトの名前に置き換えます。

[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.

次に実行します:

sitecopy --update example.com

ローカルコピーをリモートサイトにアップロードするには:

[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サイトコピーの使用

その後、サイトコピーの使用は本当に簡単です。ローカルコピーを操作して、ファイルを更新、作成、および削除できます。最初の、しかしオプションのステップは実行することです

sitecopy example.com

ローカルで変更されたファイルを確認するには(example.comを.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).

リモートWebサイトをローカルコピーと同期するには(つまり、新しいファイルと変更されたファイルをリモートサーバーにアップロードし、ローカルで削除されたリモートサーバー上のファイルを削除する)、実行するだけです

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.

それでおしまい!サイトコピーを楽しんでください!

  • サイトコピー:http://www.manyfish.co.uk/sitecopy/
  • Ubuntu:http://www.ubuntu.com/

Ubuntu
  1. Ubuntu18.04でSitecopyを使用してリモートWebサイトを維持する

  2. Ubuntu11.04にPHP5とMySQLを使用してCherokeeWebサーバーをインストールする方法

  3. userdirモジュールを使用してubuntuで複数のユーザーのapacheをセットアップする

  1. Ubuntu 20.04FocalFossaでのNoMachineとのリモートデスクトップ共有

  2. Ubuntu 20.04FocalFossa上のAnyDeskとのリモートデスクトップ共有

  3. rsyncを使用してWebサイトをミラーリングする

  1. Ubuntu16.04にPHP-FPMを使用してCaddyWebサーバーをインストールする方法

  2. Ubuntu14.04でのHAProxyを使用したWebサーバーの負荷分散

  3. Ubuntu18.04LTS上のELKおよびWebフロントエンドを備えたSuricataIDS