웹사이트 검색

Ubuntu 16.04에서 사이트카피로 원격 웹사이트 유지


이 튜토리얼은 다음 OS 버전에 대해 존재합니다.

  • 우분투 11.04(Natty Narwhal)

이 페이지에서

  1. 1 서문
  2. 2 사이트카피 설치\n
  3. 3 사이트 복사 구성
  4. 4 처음 사용
    1. 4.1 기존 원격 사이트 및 로컬 복사본, 둘 다 동기화됨\n
    2. 4.2 기존 원격 사이트, 로컬 사본 없음
    3. 4.3 새 원격 사이트, 기존 로컬 사본

    sitecopy는 로컬에 저장된 웹 사이트를 원격 웹 서버(FTP 또는 WebDAV 사용)로 복사하는 도구입니다. 수정된 로컬 파일을 업로드하고 로컬 컴퓨터에서 삭제된 원격 파일을 삭제하여 원격 사이트를 로컬 복사본과 동기화된 상태로 유지하는 데 도움이 됩니다. 이 자습서는 사이트 복사를 사용하여 로컬 Ubuntu 16.04 데스크톱에서 원격 웹 사이트를 관리하는 방법을 보여줍니다.

    1 서문

    내 로컬 Ubuntu 데스크톱까지 사용자 이름을 사용하고 있습니다(저는 로컬 Linux 데스크톱에 해당 사용자로 로그인했습니다. 루트로 로그인하지 마세요). 원격 웹 사이트 example.com의 파일은 로컬 컴퓨터의 /home/till/sites/example.com/ 디렉토리에 저장됩니다. 원격 문서 루트는 /var/www/example.com/web/입니다.

    FTP 및 WebDAV에서 사이트 복사를 사용할 수 있으므로 원격 서버에 FTP 또는 WebDAV 계정이 있어야 합니다. 여기서는 FTP 사용자 이름 defaulttill과 암호 howtoforge를 사용하고 있습니다.

    이 예제에 사용하는 원격 웹사이트는 ISPConfig로 생성되었습니다. 그러나 FTP 또는 WebDAV 액세스 권한이 있는 모든 사이트는 작동합니다.

    2 사이트카피 설치

    Sitecopy는 다음과 같이 로컬 데스크톱에 설치할 수 있습니다(루트 권한이 필요하므로 sudo를 사용합니다).

    sudo apt-get -y install sitecopy

    이제 사이트카피 매뉴얼 페이지를 살펴보고 해당 옵션에 익숙해져야 합니다.

    man sitecopy

    3 사이트 복사 구성

    로컬 데스크탑의 홈 디렉토리로 이동합니다...

    cd ~

    ... 권한이 700인 .sitecopy 디렉토리를 생성합니다(sitecopy는 해당 디렉토리를 사용하여 파일 세부 정보를 저장함).

    mkdir -m 700 .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 *~

    (사이트카피로 관리하려는 각 웹 사이트에 대한 스탠자를 정의할 수 있습니다.)

    사이트 지시문 뒤에는 웹사이트 이름이 와야 합니다. example.com 또는 mysite. 이 이름은 나중에 사이트 복사 명령에서 사용됩니다. 해당 사이트에 속하는 다음 구성 옵션을 들여써야 합니다!

    다음 구성 옵션의 대부분은 자체적으로 설명됩니다. 기본 프로토콜은 FTP입니다. WebDAV를 사용하려면 프로토콜 webdav를 지정하십시오. local 지시문에는 웹 사이트 복사본의 로컬 경로가 포함되고 remote에는 원격 서버의 웹 사이트 경로가 포함됩니다. 절대 경로 또는 상대 경로일 수 있습니다. 사용자가 루트로 전환된 경우(일반적으로 FTP 사용자의 경우) 상대 경로(예: ~/ 또는 ~/web)를 사용해야 합니다. 그렇지 않으면 절대 경로를 사용하십시오.

    제외 줄은 선택 사항이며 여기서는 사이트 복사에서 파일을 유지 관리하지 않도록 제외하는 방법을 보여 주기 위한 것입니다.

    man 페이지에서 사이트 복사 구성에 대해 자세히 알아볼 수 있습니다.

    man sitecopy

    4 최초 사용

    처음으로 사이트 복사를 사용하기 전에 다음 세 가지 시나리오 중 상황에 맞는 것을 결정해야 합니다.

    1. 기존 원격 사이트와 로컬 복사본이 모두 동기화되어 있습니다.\n
    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 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/\n
    • 우분투: http://www.ubuntu.com/