Duy trì các trang web từ xa với sitecopy trên Ubuntu 16.04

theanh

Administrator
Nhân viên
sitecopy là một công cụ để sao chép các trang web được lưu trữ cục bộ vào một máy chủ web từ xa (sử dụng FTP hoặc WebDAV). Công cụ này giúp bạn giữ cho trang web từ xa được đồng bộ hóa với bản sao cục bộ của bạn bằng cách tải lên các tệp cục bộ đã sửa đổi và xóa các tệp từ xa đã bị xóa trên máy tính cục bộ. Hướng dẫn này chỉ cho bạn cách quản lý trang web từ xa của mình từ máy tính để bàn Ubuntu 16.04 cục bộ bằng sitecopy.


1 Lưu ý sơ bộ​

Tôi đang sử dụng tên người dùng tiltrên máy tính để bàn Ubuntu cục bộ của mình (tôi đã đăng nhập trên máy tính để bàn Linux cục bộ của mình với tư cách là người dùng đó - vui lòng không đăng nhập với tư cách là root). Các tệp cho trang web từ xa example.com được lưu trữ trong thư mục /home/till/sites/example.com/ trên máy tính cục bộ. Thư mục gốc tài liệu từ xa là /var/www/example.com/web/.

Bạn có thể sử dụng sitecopy với FTP và WebDAV, vì vậy bạn phải có tài khoản FTP hoặc WebDAV trên máy chủ từ xa. Tôi đang sử dụng tên người dùng FTP defaulttill và mật khẩu howtoforge tại đây.

Trang web từ xa mà tôi sử dụng cho các ví dụ này đã được tạo bằng ISPConfig. Nhưng bất kỳ trang web nào mà bạn có quyền truy cập FTP hoặc WebDAV đều có thể hoạt động.


2 Cài đặt sitecopy​

Sitecopy có thể được cài đặt trên máy tính để bàn cục bộ như sau (chúng ta cần quyền root, do đó chúng ta sử dụng sudo):
Mã:
sudo apt-get -y install sitecopy
Bây giờ bạn nên xem trang hướng dẫn của sitecopy để làm quen với các tùy chọn của nó:
Mã:
man sitecopy

3 Cấu hình sitecopy​

Truy cập thư mục gốc của bạn trên máy tính để bàn cục bộ...
Mã:
cd ~
... và tạo thư mục .sitecopy với quyền 700 (sitecopy sử dụng thư mục đó để lưu trữ thông tin chi tiết về tệp):
Mã:
mkdir -m 700 .sitecopy
Tiếp theo, tạo tệp cấu hình sitecopy .sitecopyrc:
Mã:
touch .sitecopyrc
chmod 600 .sitecopyrc
Mở tệp...
Mã:
nano .sitecopyrc
... và điền cấu hình cho trang web example.com. Sau đây là hai ví dụ, một ví dụ cho FTP...
Mã:
site example.com server example.com username defaulttill password howtoforge local /home/till/sites/example.com/ remote ~/web/ exclude *.bak exclude *~
... và một ví dụ cho WebDAV:
Mã:
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 *~
(Bạn có thể định nghĩa một khổ thơ cho mỗi trang web mà bạn muốn quản lý bằng sitecopy.)

Chỉ thị site phải theo sau là tên cho trang web - bạn có thể tự do chọn một tên, ví dụ: example.com hoặc mysite. Tên này sẽ được sử dụng sau trong các lệnh sitecopy. Các tùy chọn cấu hình sau đây thuộc về trang web đó phải được thụt lề!

Hầu hết các tùy chọn cấu hình sau đây đều tự giải thích. Giao thức mặc định là FTP; nếu bạn muốn sử dụng WebDAV, vui lòng chỉ định protocol webdav. Chỉ thị cục bộ chứa đường dẫn cục bộ của bản sao trang web, chỉ thị từ xa chứa đường dẫn của trang web trên máy chủ từ xa - có thể là đường dẫn tuyệt đối hoặc tương đối. Nếu người dùng của bạn được chroot (như thường lệ với người dùng FTP), bạn nên sử dụng đường dẫn tương đối (chẳng hạn như ~/ hoặc ~/web). Nếu không, hãy sử dụng đường dẫn tuyệt đối.

Các dòng exclude là tùy chọn, chúng ở đây chỉ để chứng minh cách bạn có thể loại trừ các tệp khỏi việc được sitecopy duy trì.

Bạn có thể tìm hiểu thêm về cấu hình sitecopy trên trang hướng dẫn của nó:
Mã:
man sitecopy

4 Lần sử dụng đầu tiên​

Trước khi sử dụng sitecopy lần đầu tiên, bạn phải quyết định xem trong ba trường hợp sau, trường hợp nào phù hợp với tình huống của bạn:
  1. Trang web từ xa hiện có và bản sao cục bộ, cả hai đều đồng bộ.
  2. Trang web từ xa hiện có, không có bản sao cục bộ.
  3. Trang web từ xa mới, bản sao cục bộ hiện có.

4.1 Trang web từ xa hiện có và bản sao cục bộ, cả hai đều đồng bộ​

Nếu cả trang web từ xa và bản sao cục bộ đều tồn tại và đồng bộ, chạy
Mã:
sitecopy --catchup example.com
để khiến sitecopy nghĩ rằng trang web cục bộ giống hệt với bản sao từ xa. Thay thế example.com bằng tên của trang web bạn sử dụng trong tệp .sitecopyrc.
Mã:
till@ubuntu-desktop:~$ sitecopy --catchup example.com
sitecopy: Đang cập nhật trang web `example.com' (trên example.com trong ~/web/)
sitecopy: Tất cả các tệp và thư mục được đánh dấu là đã cập nhật từ xa.

4.2 Trang web từ xa hiện có, không có bản sao cục bộ​

Nếu bạn không có bản sao cục bộ của trang web từ xa hiện có, hãy chạy
Mã:
sitecopy --fetch example.com
trước tiên để sitecopy tìm nạp danh sách các tệp từ máy chủ từ xa (thay thế example.com bằng tên của trang web bạn sử dụng trong .sitecopyrc file):
Mã:
till@ubuntu-desktop:~$ sitecopy --fetch example.com
sitecopy: Đang tải trang web `example.com' (trên example.com trong ~/web/)
Tệp: error/503.html - kích thước 1906
Tệp: error/502.html - kích thước 1881
Tệp: error/500.html - kích thước 1851
Tệp: error/405.html - kích thước 1810
Tệp: error/404.html - kích thước 1806
Tệp: error/403.html - kích thước 1809
Tệp: error/401.html - kích thước 1806
Tệp: error/400.html - kích thước 1792
Tệp: stats/.htaccess - kích thước 128
Tệp: robots.txt - kích thước 14
Tệp: index.html - kích thước 1861
Tệp: favicon.ico - kích thước 7358
Tệp: .htaccess - kích thước 26
Thư mục: error/
Thư mục: stats/
sitecopy: Đã hoàn tất quá trình tải xuống thành công.
Sau đó chạy
Mã:
sitecopy --synch example.com
để cập nhật trang web cục bộ từ bản sao từ xa.
Mã:
sitecopy: Đang đồng bộ hóa trang web `example.com' (trên example.com trong ~/web/)
Đang tạo lỗi/: xong.
Đang tạo số liệu thống kê/: xong.
Đang tải xuống lỗi/503.html: [.] xong.
Đang tải xuống lỗi/502.html: [.] xong.
Đang tải xuống lỗi/500.html: [.] xong.
Đang tải xuống lỗi/405.html: [.] xong.
Đang tải xuống lỗi/404.html: [.] xong.
Đang tải xuống lỗi/403.html: [.] xong.
Đang tải xuống lỗi/401.html: [.] xong.
Đang tải xuống lỗi/400.html: [.] xong.
Đang tải xuống stats/.htaccess: [.] xong.
Đang tải xuống robots.txt: [.] xong.
Đang tải xuống index.html: [.] xong.
Đang tải xuống favicon.ico: [.] xong.
Đang tải xuống .htaccess: [.] xong.
sitecopy: Đồng bộ hóa thành công.

4.3 Trang web từ xa mới, bản sao cục bộ hiện có​

Nếu bản sao cục bộ tồn tại, nhưng bạn có một trang web từ xa trống, hãy chạy
Mã:
sitecopy --init example.com
trước tiên để khởi tạo trang web. Thay thế example.com bằng tên của trang web bạn sử dụng trong tệp .sitecopyrc.
Mã:
till@ubuntu-desktop:~$ sitecopy --init example.com
sitecopy: Đang khởi tạo trang web `example.com' (trên example.com trong ~/web/)
sitecopy: Tất cả các tệp và thư mục được đánh dấu là KHÔNG được cập nhật từ xa.
Sau đó chạy:
Mã:
sitecopy --update example.com
để tải bản sao cục bộ lên trang web từ xa:
Mã:
till@ubuntu-desktop:~$ sitecopy --update example.com
sitecopy: Đang cập nhật trang web `example.com' (trên example.com trong ~/web/)
Đang tạo stats/: xong.
Đang tạo data/: xong.
Đang tạo error/: xong.
Đang tải lên stats/.htaccess: [.] xong.
Đang tải lên data/index.html: [.] xong.
Đang tải lên error/403.html: [.] xong.
Đang tải lên error/401.html: [.] xong.
Đang tải lên error/404.html: [.] xong.
Đang tải lên error/503.html: [.] xong.
Đang tải lên error/400.html: [.] xong.
Đang tải lên error/502.html: [.] xong.
Đang tải lên error/405.html: [.] xong.
Đang tải lên error/500.html: [.] xong.
Đang tải lên index.html: [.] xong.
Đang tải lên robots.txt: [.] xong.
Đang tải lên .htaccess: [.] xong.
Đang tải lên favicon.ico: [.] xong.
sitecopy: Cập nhật đã hoàn tất thành công.

5 Sử dụng sitecopy​

Sau đó, việc sử dụng sitecopy thực sự dễ dàng. Bạn có thể làm việc với bản sao cục bộ của mình và cập nhật, tạo và xóa tệp. Bước đầu tiên nhưng tùy chọn là chạy
Mã:
sitecopy example.com
để tìm ra những tệp nào đã thay đổi cục bộ (thay thế example.com bằng tên của trang web bạn sử dụng trong tệp .sitecopyrc):
Mã:
till@ubuntu-desktop:~$ sitecopy example.com
sitecopy: Hiển thị các thay đổi đối với trang web `example.com' (trên example.com trong ~/web/)
* Các mục sau đã được thêm vào kể từ lần cập nhật cuối cùng:
info.php
sitecopy: Trang web từ xa cần được cập nhật (cần cập nhật 1 mục).
Để đồng bộ hóa trang web từ xa của bạn với bản sao cục bộ (tức là tải lên các tệp mới và đã thay đổi lên máy chủ từ xa và xóa các tệp trên máy chủ từ xa đã bị xóa cục bộ), bạn chỉ cần chạy
Mã:
sitecopy --update example.com
Mã:
till@ubuntu-desktop:~$ sitecopy --update example.com
sitecopy: Đang cập nhật trang web `example.com' (trên example.com trong ~/web/)
Đang tải lên info.php: [] xong.
sitecopy: Đã cập nhật thành công.
Vậy là xong! Chúc bạn vui vẻ với sitecopy!


6 Liên kết​

 
Back
Bên trên