Author Archives: lnt

WordPress permalink

Sau vài lần cập nhật, WordPress không làm việc với các permalink khác Plain. Trước kia việc này giải quyết bằng đoan code sau trong khối server của WordPress

location / {
  try_files  $uri $uri/ /index.php?$args =404;
}

Giờ thì bấy nhiêu không đủ, phải là:

location / {
  if (!-e $request_filename) {
    rewrite ^.*$ /index.php last;
  }
  try_files  $uri $uri/ /index.php?$args =404;
}

Comments Off on WordPress permalink

Filed under Software

Đồng bộ gmail bằng imapsync

Để có thể dễ dàng chạy imapsync với gmail, tài khoản gmail phải bật Less secure app access tại https://myaccount.google.com/security.

Cú pháp tổng quát được áp dụng như sau:

imapsync \
   --user1 foo@gmail.com \
   --password1 gmailsecret \
   --host2 localhost \
   --user2 tata \
   --gmail1

Dùng –gmail1 thay cho khai báo chi tiết về –host1

--host1 imap.gmail.com \
--ssl1 \
...
Continue reading

Comments Off on Đồng bộ gmail bằng imapsync

Filed under Software

imapsync: đồng bộ email giữa 2 mailserver

Vấn đề khó khăn khi đổi dịch vụ email là làm thế nào để không mất email ở dịch vụ cũ! Di chuyển email không đơn giản là sao chép các email cũ vì khó khăn trước hết là số lượng lớn email, cách tổ chức dữ liệu của các mail server khác nhau, sử dụng các phần mềm quản lý email khác nhau, mã hoá khác nhau …

imapsync đóng vai trò trung gian, không cần biết đến tổ chức bên trong mail server, yêu cầu email từ một mail server và chuyển nó đến mail server khác qua giao thức IMAP. Các mail client như thunderbird, roundcube cũng có tính năng Export/Import email tương tự như vậy nhưng làm thủ công.

Continue reading

Comments Off on imapsync: đồng bộ email giữa 2 mailserver

Filed under Software

Mail server đàng sau Nginx reverse proxy

Giả sử chúng ta có mail server mail.domain.com (eg. iRedMail) trên RPi tại 192.168.1.222, đã mở port 25, 993, 587 về IP này. Chúng ta muốn mail server chạy độc lập với các web server khác tại cùng public IP.

Cách đơn giản nhất là giữ nguyên cài đặt của mail server, sửa một chút trên webserver Nginx và NAT port trên router.

Continue reading

Comments Off on Mail server đàng sau Nginx reverse proxy

Filed under Software

WordPress đàng sau Nginx reverse proxy

Đứng sau Nginx reverse proxy, dường như WordPress không nạp được đầy đủ các file CSS. Giả sử cấu hình Nginx reverse proxy như sau:

server {
  listen       443 ssl;
  server_name  domain.com;
  include ssl.conf;
  access_log /var/log/nginx/reverse-access.log;
  error_log /var/log/nginx/reverse-error.log;
  location / {
    proxy_pass http://192.168.1.200:8000/;
    proxy_redirect          off;
    proxy_set_header        Host            $host;
    proxy_set_header        X-Real-IP       $remote_addr;
    proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
    client_max_body_size    10m;
    client_body_buffer_size 128k;
    proxy_connect_timeout   90;
    proxy_send_timeout      90;
    proxy_read_timeout      90;
    proxy_buffers           32 4k;
  }

Theo đó, WordPress nằm ở máy cục bộ 192.168.1.200 và lắng nghe port 8000.

Continue reading

Comments Off on WordPress đàng sau Nginx reverse proxy

Filed under Software

WordPress Multi-domain

WordPress gắn với một domain cụ thể trong các link nội bộ. Muốn sử dụng thêm domain cùng trỏ đến WordPress thì cần hóa giải hành động nêu trên. Trong số nhiều hướng dẫn cho WordPress Multi-domain, cách làm sau là đơn giản nhất

Mở file wp-config.php trong thư mục WordPress, tìm đến dòng $table_prefix, dán dưới dòng này nội dung sau đây

define('WP_SITEURL', 'http://' . $_SERVER['HTTP_HOST']);
define('WP_HOME', 'http://' . $_SERVER['HTTP_HOST']);
Continue reading

Comments Off on WordPress Multi-domain

Filed under Software

Nhiều website tại một IP:port

Nhờ máy tính nhỏ gọn RPi, việc tạo một website tại nhà trở nên rất đơn giản. Hạn chế về IP động có thể giải quyết dễ dàng bằng cách dùng DNS của cloudflare.com, Free DNS của namecheap.com, DDNS của dynu.com… Nhu cầu tiếp theo là đàng sau một public/WAN IP có thể là nhiều website, trên nhiều webserver /trên nhiều máy tính khác nhau?

Chúng ta xét các trường hợp sau:

  1. Nhiều website trên một webserver
  2. Nhiều website trên nhiều webserver trên một máy tính vật lý
  3. Nhiều website trên nhiều webserver trên nhiều máy tính vật lý
Continue reading

Comments Off on Nhiều website tại một IP:port

Filed under Software

AriaNg: Giao diện web của aria2

Giao diện web cho aria2, ngoài ziahamza webui-aria2 gần đây còn có mayswind AriaNg.

AriaNg tự giới thiệu như sau:

  1. Html thuần & Javascript
  2. Thiết kế tương tác, hỗ trợ máy bàn và thiết bị di động
  3. Giao diện người dùng thân thiện
    • Sắp xếp công việc, (by name, size, progress, remaining time, download speed, etc.), files, bittorrent peers
    • Tìm kiếm việc tải về
    • Thử tải lại
    • Điều chỉnh thứ tự bằng kéo thả
    • Thông tin phụ (health percentage, client information of bt peers, etc.)
    • Lọc theo kiểu file
    • Sơ đồ cây thư mục
    • Biểu đồ tốc độ Download / upload
    • Hỗ trợ đầy đủ cài đặt aria2
  4. Hỗ trợ dòng lệnh API
  5. Thông báo khi tải xong
  6. Đa ngôn ngữ: tiếng Anh và tiếng Hoa
  7. Hỗ trợ multi aria2 RPC host
  8. Hỗ trợ xuất và nhập cấu hình cài đặt
  9. Sử dụng ít băng thông, chỉ lấy thêm dữ liệu khi cần
Continue reading

Comments Off on AriaNg: Giao diện web của aria2

Filed under Software

Tận dụng 2 nguồn 2.5A của RPi3 cho RPi4

Trước hết, vì nguồn RPi3 công suất 2.5A trong khi RPi4 cần nguồn công suất 3A nên chỉ tận dụng nguồn cũ khi RPi chịu tải nhẹ. Ngoài ra, cần adapter đổi micro USB sang type C USB.

Continue reading

Comments Off on Tận dụng 2 nguồn 2.5A của RPi3 cho RPi4

Filed under Software

cloudflare: Script cập nhật IP cho tất cả DNS record A

Script giúp cập nhật IP của domain nhiều subdomain trên cloudflare.com một cách tự động với cú pháp đơn giản.

Cú pháp của script như sau:

cfIP [-f] mydomain.com subdomain[,subdomain2...]
    -f: xóa cache/buộc cập nhật
    subdomain: có thể là sub thay cho sub.mydomain.com, hay
    @: thay cho mydomain.com, hay
    *: thay cho tất cả subdomain trừ ra @
    -subA: ngoại trừ subA

Thí dụ

cfIP mydomain.com @,\*        # Update IP cho mọi record A
cfIP mydomain.com @,mail,mx   # Update IP cho @, subdomain mail và mx
cfIP mydomain.com -f \*       # xóa cache và cập nhật cho mọi subdomain
cfIP mydomain.com \*,-mx      # update mọi subdomain, trừ mx

Số lần gọi hàm API của cloudflare.com để cập nhật n record A là từ 0 đến n+2, so với cách gọi thông thường là từ 0 đến 2n+1, nghĩa là nhanh hơn và ít lần gọi hàm hơn khi n > 1.

Continue reading

Comments Off on cloudflare: Script cập nhật IP cho tất cả DNS record A

Filed under Software