Thứ Tư, 30 tháng 3, 2022

Tăng giới hạn dung lượng file đính kèm của Outlook trên Windows 10

 

Và ở trong bài viết này mình sẽ chia sẻ với các bạn cách khắc phục vấn đề bị giới hạn dung lượng file đính kèm của Outlook Mail trên Windows 10, để bạn có thể đính kèm được những file có dung lượng nặng hơn nhé !

Computer\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\16.0\Outlook\Preferences

Nếu không tìm thấy thì bạn cũng đừng lo, chỉ việc click chuột phải và chọn New => DWORD (32-bit) Value để tạo một khóa mới và đặt tên tương tự là MaximumAttachmentSize thôi. :256000

#1. Giới hạn dung lượng file đính kèm của Outlook là bao nhiêu?

Trong quá trình sử dụng, thỉnh thoảng bạn sẽ có nhu cầu gửi file tài liệu hay thứ gì đó (gọi là file đính kèm – attachment) cho người khác bằng email thay vì các nền tảng chat chit.

Đơn giản bởi vì nền tảng chát chít chúng sinh ra không phải để làm việc này, vả lại vấn đề bảo mật cũng không thể nào tốt bằng Email được.

Các file đính kèm không được có dung lượng quá lớn vì Mail server thường chỉ cho phép gửi file tối đa là 25 MB nhưng con số đó với Outlook của Microsoft trên Windows 10 lại còn khiêm tốn hơn, chỉ là 20 MB mà thôi.

Thế nên trong quá tình sử dụng, thỉnh thoảng bạn sẽ nhận được thông báo không thể gửi được mail do dung lượng file đính kèm vượt quá mức 20 MB cho phép.

Vậy nên mình khuyến khích các bạn làm theo hướng dẫn này để tăng mức giới hạn dung lượng file đính kèm của Outlook lên 25 MB, bằng với dung lượng giới hạn của Mail Server để tránh tình trạng không gửi được mail và nhiều rắc rối khác trong quá trình sử dụng.

Vâng, hướng dẫn bên dưới đây sẽ có thể được áp dụng được cho hầu hết các phiên bản Outlook hiện nay : Outlook 2019, Outlook 2016, Outlook 2013, Outlook 2010 và Outlook 365….

#2. Cách tăng giới hạn dung lượng file đính kèm của Outlook trên Windows 10

Để làm được việc này thì ta cần phải sử dụng đến công cụ khá quen thuộc là Registry Editor, bạn thực hiện như sau:

+ Bước 1: Trước hết hãy mở hộp thoại RUN (Windows + R) => rồi gõ lệnh regedit => và bấm Enter để truy cập vào Registry Editor trên Windows 10.

Bạn có thể sử dụng các cách mở Registry Editor khác nếu thấy tiện hơn, nhưng theo mình nghĩ cách này là tiện và nhanh nhất có thể rồi.

tang-gioi-han-dung-luong-file-dinh-kem-cua-outlook (2)

+ Bước 2: Sau đó, bạn truy cập vào thư mục Preferences của Outlook trong Registry bằng đường dẫn bên dưới:

Computer\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\16.0\Outlook\Preferences

NOTE: Đối với Outlook 2019 thì bạn có thể dán trực tiếp đường dẫn bên trên vào thanh địa chỉ của Registry Editor để truy cập nhanh hơn. Đường dẫn tới thư mục Preferences của các  phiên bản Outlook cũ hơn trong Registry sẽ lần lượt là:

  • Office 2016, 365 : Tương tự như Outlook 2019
  • Office 2013 : Computer\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\15.0\Outlook\Preferences
  • Offce 2010 : Computer\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\14.0\Outlook\Preferences

Bạn hãy tìm trong thư mục Preferences này một khóa DWORD có tên là MaximumAttachmentSize => rồi click chuột phải và chọn Modify… để thay đổi giá trị của nó.

=>  Đây chính là khóa quy định giá trị giới hạn dung lượng file định kèm của Outlook trên Windows 10.

Nếu không tìm thấy thì bạn cũng đừng lo, chỉ việc click chuột phải và chọn New => DWORD (32-bit) Value để tạo một khóa mới và đặt tên tương tự là MaximumAttachmentSize thôi.

tang-gioi-han-dung-luong-file-dinh-kem-cua-outlook (3)

+ Bước 3: Nháy đúp chuột vào khóa MaximumAttachmentSize mà bạn vừa tạo.

Giá trị mặc định (kể cả khi khóa MaximumAttachmentSize không tồn tại) là 20480KB, tức bằng 20 MB như mình đã có nói ở trên.

Chúng ta sẽ sửa lại thành 25 MB đúng với giới hạn dung lượng file đính kèm của các Mail Server, trong trường hợp này Registry sử dụng đơn vị là KB thay vì MB hay GB như thông thường nên bạn không thể nhập thẳng số 25 vào được.

Trước hết bạn phải đổi số MB mà mình muốn sang đơn vị KB đã, 1 MB = 1024 KB nên suy ra 25 MB sẽ là 1024 x 25 = 256000 KB, đơn giản vậy thôi.

tang-gioi-han-dung-luong-file-dinh-kem-cua-outlook (4)

Ngoài ra, bạn cũng có thể đặt giá trị là 0 nếu muốn bỏ giới hạn dung lượng file đính kèm, nhưng điều này là không khuyến khích vì tất cả các Mail Server đều đã được cài đặt giới hạn dung lượng rồi, nên nếu nếu bạn gửi quá thì vẫn bị lỗi không gửi được như thường.

Giờ hãy quay lại cửa sổ chỉnh sửa giá trị trong Registry Editor, bạn hãy chuyển kiểu dữ liệu từ Hexadecimal sang Decimal, nhập vào ô Value Data giá trị bạn muốn ở đơn vị KB, mình muốn 25 MB nên sẽ nhập vào 25600 như đã tính ở trên sau đó OK để lưu lại là xong.

=> Cuối cùng, nhớ khởi động lại máy tính khi có thể để các thay đổi vừa thực hiện này có hiệu lực nha các bạn.

#3. Lời kết

Vâng,như vậy là mình đã vừa hướng dẫn xong cho các bạn cách để tăng giới hạn dung lượng file đính kèm của Outlook trên Windows 10 rồi nha.

Đây là một vấn đề khá khó chịu vì mình dùng Outlook trên Windows để quản lý tất cả Email và thường xuyên gửi/nhận tin nhắn, thường xuyên phải trao đổi tài liệu nên nó gây không ít rắc rối cho mình.

Hy vọng là thủ thuật này cũng sẽ giúp ích cho những ai đang gặp vấn đề tương tự như mình. Chúc các bạn thành công !

Thứ Năm, 24 tháng 3, 2022

Hướng dẫn cài đặt ssl GlobalSign cho Nginx

 

Hướng dẫn cài đặt ssl GlobalSign cho Nginx

Trong bài viết này mình chia sẻ cách cài chứng chỉ SSL cho Nginx từ nhà cung cấp SSL GlobalSign

1. Đăng nhập tài khoản

Đường dẫn đăng nhập: https://www.globalsign.com/ssl-login.htm

Tìm kiếm chứng thư số : Chọn Search Order History> Gõ tên domain muốn tìm hoặc chọn Search.

Để cấp phát lại chứng thư số cho 01 server khác: Chọn Edit  > Reissue> Paste CSR (Cần chọn edit order được cấp gần nhất hoặc nhìn tại Tab ORDER STATUS có dòng Certificate Issued để chọn)

Ấn complete để tạo chứng thư số, Sẽ xuất hiện 01 order mới khi search order history. Cán bộ quản trị đợi 5-10 phút, order này sẽ có status là Issue Completed

Chọn Search Order HistorySearch> ấn vào Số hiệu order (Số hiệu order sẽ thay đổi khi thực hiện cấp lại chứng thư  số)

Sau khi ấn vô số hiệu order sẽ mở ra 01 Tab mới của trình duyệt hoặc gửi qua mail bạn đăng kí. Tìm kiếm đoạn Certificate(Pem Format)

Copy toàn bộ nội dung của Certificate, bắt đầu bằng —–BEGIN CERTIFICATE—– và kết thúc bằng—–END CERTIFICATE—–  ra 01 file notepad dạng .txt.

Sau khi đã copy nội dung và save file .txt. Đổi đuôi file từ .txt thành .cer hoặc .crt hoặc .pem (Đây là file định dạng X509 để cài đặt).

2 Cài đặt lên server Nginx.

Thông thường sẽ sử dụng 02 file:

– File intermediate, tương tứng với gói sản phẩm đăng ký sử dụng sẽ có file intermediate tương ứng. Bạn có thể download các file intermediate tại đây

AlphaSSL Intermediate Certificate

DomainSSL Intermediate Certificate

OrganizationSSL Intermediate Certificate

ExtendedSSL Intermediate Certificate

Thứ tự cài đặt sẽ là file bạn lưu ở trên trước, sau đó sẽ đến intermediate.crt ở trên và cuối cùng là RootCA.crt

Ví dụ:

cat your_domain.crt intermediate.crt root.crt >> ssl-bundle.crt

Edit NGINX Configuration File

Thêm cấu hình mẫu như sau:

server {

listen 443;

ssl on;

ssl_certificate /etc/ssl/ssl-bundle.crt;

ssl_certificate_key /etc/ssl/ssl-tutorials.key;

server_name ssl-tutorials.com;

access_log /var/log/nginx/nginx.vhost.access.log;

error_log /var/log/nginx/nginx.vhost.error.log;

location / {

root /var/www/;

index index.html;

}

}

Khởi động lại Nginx

sudo systemctl restart nginx

3. Cách xem chứng chỉ SSL là AlphaSSL Intermediate, OrganizationSSL Intermediate

OV: Organization Validation 

Tương tự với AlphaSSL Intermediate

Scripts cài đặt docker docker-compose trên Ubuntu, CentOS

 

Scripts cài đặt docker docker-compose trên Ubuntu, CentOS

Để đơn giản hơn trong quá trình lab hoặc dựng nhanh các môi trường cần thiết, hôm nay mình chia sẻ script cài đặt docker, docker-compose trên môi trường các hệ điều hành Ubuntu và CentOS.

  • Ubuntu Server 18.04 64 bit.
  • CentOS 7 Server 64 bit.

Các bước thực hiện như sau:

Bước 1: Update & tải các gói cần thiết.

Đối với Centos
 yum update -y && yum install -y wget
Đối với Ubuntu
apt update -y && apt install -y wget

Bước 2: Tạo script như sau

Tạo với tên là docer-install.sh
#!/bin/bash
if [ ! -z `sudo which apt | grep "/apt"` ]; then
sudo apt -y update
sudo apt -y install git wget
elif [ -z `sudo which yum | grep "/yum"` ]; then
yum update
yum install -y wget git
fi
is_ubuntu=`awk -F '=' '/PRETTY_NAME/ { print $2 }' /etc/os-release | egrep Ubuntu -i`
is_centos=`awk -F '=' '/PRETTY_NAME/ { print $2 }' /etc/os-release | egrep CentOS -i`
if [ ! -z "$is_ubuntu" ]; then
is_docker_exist=`dpkg -l | grep docker -i`
elif [ ! -z "$is_centos" ]; then
is_docker_exist=`rpm -qa | grep docker`
else
echo"Error: Current Linux release version is not supported, please use either centos or ubuntu. "
exit
fi
if [ ! -z "$is_docker_exist" ]; then
echo"Warning: docker already exists. "
fi
function ubuntu_install()
{
#Install docker
sudo apt-get -y update
sudo apt-get remove docker docker-engine docker.io containerd runc
sudo apt-get install -y apt-transport-https ca-certificates curl gnupg lsb-release software-properties-common git vim
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo \
"deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get -y update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io
sudo systemctl enable docker.service
sudo systemctl start docker
# Install docker-compose
COMPOSE_VERSION=`git ls-remote https://github.com/docker/compose | grep refs/tags | grep -oE "[0-9]+\.[0-9][0-9]+\.[0-9]+$" | sort --version-sort | tail -n 1`
sudo sh -c "curl -L https://github.com/docker/compose/releases/download/${COMPOSE_VERSION}/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose"
sudo chmod +x /usr/local/bin/docker-compose
sudo sh -c "curl -L https://raw.githubusercontent.com/docker/compose/${COMPOSE_VERSION}/contrib/completion/bash/docker-compose > /etc/bash_completion.d/docker-compose"
is_docker_success=`sudo docker run hello-world | grep -i "Hello from Docker"`
if [ -z "$is_docker_success" ]; then
echo"Error: Docker installation Failed."
exit
fi
echo"Docker has been installed successfully."
}
function centos_install()
{
#Install docker
sudo yum install -y yum-utils device-mapper-persistent-data lvm2 git vim
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum -y install docker-ce docker-ce-cli containerd.io
sudo systemctl enable docker.service
sudo systemctl start docker
is_docker_success=`sudo docker run hello-world | grep -i "Hello from Docker"`
if [ -z "$is_docker_success" ]; then
echo"Error: Docker installation Failed."
exit
fi
echo"Docker has been installed successfully."
}
function docker_compose_install()
{
# Install docker-compose
COMPOSE_VERSION=`git ls-remote https://github.com/docker/compose | grep refs/tags | grep -oE "[0-9]+\.[0-9][0-9]+\.[0-9]+$" | sort --version-sort | tail -n 1`
sudo sh -c "curl -L https://github.com/docker/compose/releases/download/${COMPOSE_VERSION}/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose"
sudo chmod +x /usr/local/bin/docker-compose
sudo sh -c "curl -L https://raw.githubusercontent.com/docker/compose/${COMPOSE_VERSION}/contrib/completion/bash/docker-compose > /etc/bash_completion.d/docker-compose"
}
if [ ! -z "$is_ubuntu" ]; then
ubuntu_install
elif [ ! -z "$is_centos" ]; then
centos_install
fi
docker_compose_install
docker-compose --version
echo "Docker-compose has been installed successfully."

Bước 3: Chạy lệnh sau để cài đặt

Cấp quyền thực thi và chạy:
chmod +x docker-install.sh
./docker-install.sh
Sau khi thực hiện xong các bạn kiểm tra status docker
systemctl status docker
sudo docker run hello-world

Thứ Tư, 23 tháng 3, 2022

Các phím tắt trong SublimeText 3

Di chuyển dòng

Di chuyển các dòng mã lên hoặc xuống trong tập tin của bạn trở thành một công việc dễ dàng và nhanh chóng hơn bao giờ hết mà không cần phải cắt và dán.

Chuyển dòng lên : Click hoặc chọn dòng cần chuyển rồi bấm tổ hợp phím Shift + Ctrl + Up (Windows) hoặc ctrl + cmd + Up (Mac).

Chuyển dòng xuống : Click hoặc chọn dòng cần chuyển rồi bấm tổ hợp phím Shift + Ctrl + Down (Windows) hoặc ctrl + cmd + Down (Mac).

move_line_up_and_down

Đa con trỏ

Đa con trỏ là một trong những tính năng đã làm tôi yêu SublimeText. Một trong những tính năng tuyệt vời mà không phải trình soạn thảo hoặc thậm chí là một IDE cũng không hỗ trợ.

Giữ phím Ctrl + bấm chuột trái (Windows) hoặc cmd + bấm chuột trái (Mac).

multi-cursor

Ẩn/hiện Sidebar

Đôi khi bạn cần không gian màn hình rộng hơn để làm việc và ẩn sidebar chắc chắn sẽ là một giải pháp tốt.

Chúng ta giữ phím Ctrl và K + B (Windows) hoặc giữ cmd và K + B (Mac).

Nhân đôi một dòng

SublimeText cho phép rất dễ dàng nhân đôi một hoặc nhiều dòng mã. Nếu bạn chỉ muốn sao chép một dòng thì chỉ cần đặt con trỏ vào bất kỳ đâu trên dòng đó, hoặc chọn mọi thứ bạn muốn nếu có nhiều dòng và sử dụng phím tắt.

Chúng ta dùng phím tắt Ctrl + Shift + D (Windows) hoặc cmd + Shift + D (Mac).

copy-line

Tìm kiếm

SublimeText có một tính năng tìm kiếm mạnh mẽ cho phép bạn ngay lập tức tìm thấy một tập tin hoặc một cái gì đó như một phương thức hoặc lớp bên trong một tập tin.

Chúng ta bấm tổ hợp phím Ctrl + P sau đó nhập tên tập tin / thư mục (Windows) hoặc cmd + P sau đó nhập tên tập tin / thư mục (Mac).

 

  • Ctrl+ K + B: ẩn/hiện side bar
  • Ctrl + /: comment
  • Ctrl + Shift + /: comment dạng block
  • Ctrl + K + U: chuyển text sang dạng uppercase
  • Ctrl + K + L: chuyển text sang dạng lowercase
  • Ctrl + L: select 1 dòng
  • Ctrl + Shift + K: xóa 1 dòng
  • Ctrl + ]: indent
  • Ctrl + [: bỏ indent
  • Ctrl + Shift + D: nhân đôi dòng
  • Ctrl + J: nối dòng với dòng tiếp theo
  • Ctrl + Shift + [: đóng 1 đoạn code
  • Ctrl + Shift + ]: mở 1 đoạn code
  • Ctrl + F: tìm kiếm
  • Ctrl + H: tìm kiếm và thay thế
  • Ctrl + Shift + N: mở cửa sổ mới
  • Ctrl + N: mở tab mới
  • Alt + <number>: chuyển tab (ví dụ Alt + 3)
  •  
  • Định dạng HTML

    https://github.com/rareyman/HTMLBeautify

    Cách cài thì chắc hẳn ai xài Sublime Text cũng đều biết. Vào Preferences/Package Control/Install Package và gõ tên package để tìm kiếm, chọn package install => done

    Sau khi cài xong thì bạn muốn định dạng HTML thì chỉ cần bôi đen và nhấn tổ hợp phím:

  • Mac OS X: Command-Option-Shift-F
  • Windows: Control-Alt-Shift-F
  • Linux: Control-Alt-Shift-F

Định dạng CSS

https://packagecontrol.io/packages/CSS%20Format

Package này sẽ giúp bạn format lại file css chỉ trong 1 nốt nhạc.

Định dạng CSS
Định dạng CSS

Định dạng Javascript

https://github.com/ionutvmi/sublime-jsfmt

Sau khi cài xong package bạn có thể chỉnh setting tự động format khi lưu trong phần Package Setting.

Định dạng Javascript
Định dạng Javascript

Nếu bạn không muốn set tự động format thì đối với file nào cần Format Code in Sublime Text 3 bạn chỉ cần nhấn tổ hợp phím Ctrl + Q.

Định dạng PHP

Định dạng PHP
Định dạng PHP

https://packagecontrol.io/packages/phpfmt

Package này sẽ giúp các bạn định dạng mã nguồn PHP đúng chuẩn Coding Standard.

Cài xong package thì mở file php cần định dạng lại và nhấn Ctrl + F11 là code của bạn sẽ đẹp và đúng chuẩn thôi.

Lưu ý: Package này hiện tại yêu cầu PHP 7 để chạy format nên bạn nào đang xài PHP bản thấp hơn thì sẽ bị lỗi này khi chạy format.

  •  

Using Free Let’s Encrypt SSL/TLS Certificates with NGINX

 

Update: Using Free Let’s Encrypt SSL/TLS Certificates with NGINX


[Editor – The blog post detailing the original procedure for using Let’s Encrypt with NGINX (from February 2016) redirects here. The instructions in that post are deprecated.

This post has been updated to eliminate reliance on certbot‑auto, which the Electronic Frontier Federation (EFF) deprecated in Certbot 1.10.0 for Debian and Ubuntu and in Certbot 1.11.0 for all other operating systems. For additional details and alternate installation methods, see this post from the EFF.

Also see our blog post from nginx.conf 2015, in which Peter Eckersley and Yan Zhu of the Electronic Frontier Foundation introduce the then‑new Let’s Encrypt certificate authority.]

It’s well known that SSL/TLS encryption of your website leads to higher search rankings and better security for your users. However, there are a number of barriers that have prevented website owners from adopting SSL.

Two of the biggest barriers have been the cost and the manual processes involved in getting a certificate. But now, with Let’s Encrypt, they are no longer a concern. Let’s Encrypt makes SSL/TLS encryption freely available to everyone.

Let’s Encrypt is a free, automated, and open certificate authority (CA). Yes, that’s right: SSL/TLS certificates for free. Certificates issued by Let’s Encrypt are trusted by most browsers today, including older browsers such as Internet Explorer on Windows XP SP3. In addition, Let’s Encrypt fully automates both issuing and renewing of certificates.

In this blog post, we cover how to use the Let’s Encrypt client to generate certificates and how to automatically configure NGINX Open Source and NGINX Plus to use them.

How Let’s Encrypt Works

Before issuing a certificate, Let’s Encrypt validates ownership of your domain. The Let’s Encrypt client, running on your host, creates a temporary file (a token) with the required information in it. The Let’s Encrypt validation server then makes an HTTP request to retrieve the file and validates the token, which verifies that the DNS record for your domain resolves to the server running the Let’s Encrypt client.

Prerequisites

Before starting with Let’s Encrypt, you need to:

  • Have NGINX or NGINX Plus installed.
  • Own or control the registered domain name for the certificate. If you don’t have a registered domain name, you can use a domain name registrar, such as GoDaddy or dnsexit.
  • Create a DNS record that associates your domain name and your server’s public IP address.

Now you can easily set up Let’s Encrypt with NGINX Open Source or NGINX Plus (for ease of reading, from now on we’ll refer simply to NGINX).

Note: We tested the procedure outlined in this blog post on Ubuntu 16.04 (Xenial).

1. Download the Let’s Encrypt Client

First, download the Let’s Encrypt client, certbot.

As mentioned just above, we tested the instructions on Ubuntu 16.04, and these are the appropriate commands on that platform:

$ apt-get update
$ sudo apt-get install certbot
$ apt-get install python-certbot-nginx

With Ubuntu 18.04 and later, substitute the Python 3 version:

$ apt-get update
$ sudo apt-get install certbot
$ apt-get install python3-certbot-nginx

2. Set Up NGINX

certbot can automatically configure NGINX for SSL/TLS. It looks for and modifies the server block in your NGINX configuration that contains a server_name directive with the domain name you’re requesting a certificate for. In our example, the domain is www.example.com.

  1. Assuming you’re starting with a fresh NGINX install, use a text editor to create a file in the /etc/nginx/conf.d directory named domain‑name.conf (so in our example, www.example.com.conf).

  2. Specify your domain name (and variants, if any) with the server_name directive:

    server {
        listen 80 default_server;
        listen [::]:80 default_server;
        root /var/www/html;
        server_name example.com www.example.com;
    }
  3. Save the file, then run this command to verify the syntax of your configuration and restart NGINX:

    $ nginx -t && nginx -s reload

3. Obtain the SSL/TLS Certificate

The NGINX plug‑in for certbot takes care of reconfiguring NGINX and reloading its configuration whenever necessary.

  1. Run the following command to generate certificates with the NGINX plug‑in:

    $ sudo certbot --nginx -d example.com -d www.example.com
  2. Respond to prompts from certbot to configure your HTTPS settings, which involves entering your email address and agreeing to the Let’s Encrypt terms of service.

  3. When certificate generation completes, NGINX reloads with the new settings. certbot generates a message indicating that certificate generation was successful and specifying the location of the certificate on your server.

    Congratulations! You have successfully enabled https://example.com and https://www.example.com 
    
    -------------------------------------------------------------------------------------
    IMPORTANT NOTES: 
    
    Congratulations! Your certificate and chain have been saved at: 
    /etc/letsencrypt/live/example.com/fullchain.pem 
    Your key file has been saved at: 
    /etc/letsencrypt/live/example.com//privkey.pem
    Your cert will expire on 2017-12-12.

    Note: Let’s Encrypt certificates expire after 90 days (on 2017-12-12 in the example). For information about automatically renenwing certificates, see Automatic Renewal of Let’s Encrypt Certificates below.

If you look at domain‑name.conf, you see that certbot has modified it:

server {
    listen 80 default_server;
    listen [::]:80 default_server;
    root /var/www/html;
    server_name  example.com www.example.com;

    listen 443 ssl; # managed by Certbot

    # RSA certificate
    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; # managed by Certbot

    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot

    # Redirect non-https traffic to https
    if ($scheme != "https") {
        return 301 https://$host$request_uri;
    } # managed by Certbot
}

4. Automatically Renew Let’s Encrypt Certificates

Let’s Encrypt certificates expire after 90 days. We encourage you to renew your certificates automatically. Here we add a cron job to an existing crontab file to do this.

  1. Open the crontab file.

    $ crontab -e
  2. Add the certbot command to run daily. In this example, we run the command every day at noon. The command checks to see if the certificate on the server will expire within the next 30 days, and renews it if so. The --quiet directive tells certbot not to generate output.

    0 12 * * * /usr/bin/certbot renew --quiet
  3. Save and close the file. All installed certificates will be automatically renewed and reloaded.

  4. Summary

    We’ve installed the Let’s Encrypt agent to generate SSL/TLS certificates for a registered domain name. We’ve configured NGINX to use the certificates and set up automatic certificate renewals. With Let’s Encrypt certificates for NGINX and NGINX Plus, you can have a simple, secure website up and running within minutes.

    To try out Let’s Encrypt with NGINX Plus yourself, start your free 30-day trial today or 


Những câu lệnh và các tùy chọn hữu ích trong docker

 

Docker

Docker là một tool để build các microservices, cho phép ta có thể tạo các ứng dụng và hệ thống theo kiểu điện toán đám mây.

Trong docker mỗi service có thể coi là một container riêng biệt, nó được tạo vởi việc chạy các image. Một image là một gói thực thi được nó bao gồm tất cả mọi thứ cần để chạy ứng dụng như: code, các thư viện, các biến mội trường, các file cấu hình, các lệnh chạy. Có thể coi một container là một thực thi/một đối tượng của một image khi chạy.

Các câu lệnh thông dụng thường dùng trong docker.

docker ps

Dùng để liệt kê ra các container đang chạy. Khi sử dụng với các tham số

-a/-all: Liệt kê tất cả các container, kể cả đang chạy hay đã kể thúc -q/-quiet: chỉ liệt kê ra id của các container.

docker pull

Hầu hết các image sẽ được tạo dựa trên các image cơ sở từ Docker Hub. Docker Hub chứa rất nhiều các image được dựng sẵn, mà ta có thể pull về và dùng mà không cần phải định nghĩa và cấu hình lại từ đầu. Để tải một image cụ thể hoặc một tập hợp image ta dùng docker pull.

docker pull nginx
docker pull mysql

docker build

Lệnh này dùng để build một image từ Dockerfile và context. Context ở đây là một tập file được xác đinh bởi đường dẫn hoặc url cụ thể. Ta có thể sử dụng thêm tham số -t để gắn nhãn cho image.

docker build -t your_name_container

docker run

Lệnh này dùng để chạy một container dựa trên một image mà ta có sẵn. Ta có thể thêm vào sau lệnh này một vài câu lệnh khác như -it bash để chạy bash từ container này.

docker run image_name -it bash

docker logs

Lệnh này được sử dụng để hiển thị logs của một container, ta cần phải chỉ rõ container để hiển thị logs thông qua tên của nó. Ngoài cũng có thể sử dụng thêm một số flag như --follow để giữ việc theo dõi logs.

docker logs --follow your_name_container

docker volume ls

Lệnh này dùng để liệt kê ra các volumn mà các container sử dụng, volume là một cơ chế dùng để lưu trữ dữ liệu sinh ra và sử dụng bởi Docker.

docker rm

Lệnh này dùng để xóa một hoặc nhiều container.

docker rm <list_container_name_or_id>

docker rmi

Lệnh này dùng để xóa một hoặc nhiều images.

docker rmi <list_image_id>

docker stop

Lệnh này dùng để stop một hoặc nhiều container. Ngoài ra ta có thể dung docker kill để bắt buộc container dừng lại.

docker stop <list_container_name_or_id>

Các option thường dùng với docker run

Trong các lệnh trên có lẽ docker run là lệnh hữu ích nhất và ta sẽ thường sử dụng nhất. Nó sử dụng để tạo container dựa vào một image cụ thể. Có nhiều option có thể sử dụng với docker run.

--detach, -d.

Mặc định docker container chạy thì mọi input, output, lỗi được hiện thị trực tiếp trên màn hình terminal. Tuy nhiên với tùy chọn --detach/-d, container sẽ được chạy ngầm vì vậy mọi output, lỗi sẽ không hiển thị.

--entrypoint.

Thiết lập hoặc ghi đè các lệnh mặc định khi chạy images. Entrypoint là một tập các lệnh và tham số sẽ chạy đầu tiên khi container được chạy từ image. Bất kỳ câu lệnh và tham số được truyền vào sau docker run sẽ được nối vào entrypoint.

--env, -e

Thiết lập biến môi trường sử dụng cặp (key=value). Nếu ta có biến môi trường trong file ta có thể truền nó vào file bằng tùy chọn --env-file.

--ip

Khai báo địa chỉ IP cho container

--name

Gắn tên cho container

--publish, -p | --publish-all, -P.

Do các container của docker được gộp và chạy trong một network riêng nên nó sẽ độc lập với máy chủ mà docker chạy trên đó. Để mở các cổng của network các container và ánh xạ nó với cổng của máy host ta sử dụng tùy chọn --publish, -p. Hoặc sử dụng --publish-all, -P sẽ mở tất cả các cổng của container.

    docker run --publish 80:80 <image_name> bash

--rm

Tự động xóa container khi nó thoát.

--tty, -t

Cấp một terminal ảo cho container. Tùy chọn này thường được sử dụng với --interactive, -i giúp cho STDIN mở ngay cả khi container chạy ở dạng ngầm.

--volume, -v

Gắn một volume vào một container, cho phép chúng ta thao tác ở container nhưng dữ liệu vẫn được lưu trữ ở máy chủ.

    docker run --volume /volume_name <image_name> bash

--workdir, -w

Chỉ định thư mục sẽ làm việc bên trong container. Giả sử ta sẽ làm việc với thư mục app trong docker

    docker run --workdir /app <image_name> bash

Tài liệu tham khảo

  1. https://medium.com/the-code-review/top-10-docker-commands-you-cant-live-without-54fb6377f481
  2. https://medium.com/the-code-review/top-10-docker-run-command-options-you-cant-live-without-a-reference-d256834e86c1

Chủ Nhật, 20 tháng 3, 2022

Các chương trình khởi động cùng windows

 

Cách tìm và thêm chương trình khởi động vào Startup Windows 10 dễ dàng

C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

Khi bạn khởi động máy tính, Windows 10 sẽ mở một loạt các chương trình mà bạn cho phép khởi động cùng lúc với hệ điều hành. Các chương trình này được điều khiển thông qua thư mục Startup. Bài viết sau đây mình sẽ hướng dẫn bạn cách tìm và thêm chương trình khởi động vào Startup Windows 10 dễ dàng. Hãy cùng theo dõi nhé!

Cách tìm và thêm chương trình khởi động vào Startup Windows 10 dễ dàng

Cách tìm và thêm chương trình khởi động vào Startup Windows 10 dễ dàng

Bài viết được thực hiện trên laptop Acer Aspire 5 hệ điều hành Windows 10. Bạn có thể thực hiện thao tác tương tự trên các máy tính chạy hệ điều hành Windows 10.

I. Cách tìm thư mục startup windows 10

1. Thư mục Startup Windows 10 cho tất cả người dùng

  C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

Cách 1: Theo mặc định, thư mục Startup trên Windows 10 đều ở vị trí giống nhau, vậy nên bạn hãy copy vị trí thư mục Startup bên dưới dán lên thanh tìm kiếm ở This PC.

C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp

Copy vị trí thư mục Startup dán lên thanh tìm kiếm

Copy vị trí thư mục Startup dán lên thanh tìm kiếm

Cách 2: Truy cập thư mục Startup bằng cách nhấn tổ hợp phím Win+R sau đó nhập shell:common startup trong hộp Run và nhấn OK.

Truy cập thư mục Startup bằng cách nhấn tổ hợp phím Win+R sau đó nhập shell:common startup

Truy cập thư mục Startup bằng cách nhấn tổ hợp phím Win+R sau đó nhập shell:common startup

2. Thư mục Startup cho người dùng hiện đang đăng nhập vào Windows 10

Cách 1: Theo mặc định, thư mục Startup cho người dùng hiện đang đăng nhập vào Windows 10 đều ở vị trí giống nhau, vậy nên bạn hãy copy vị trí thư mục Startup bên dưới dán lên thanh tìm kiếm ở This PC.

C:\Users\User\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

Copy vị trí thư mục Startup bên trên dán lên thanh tìm kiếm

Copy vị trí thư mục Startup bên trên dán lên thanh tìm kiếm

Cách 2: Truy cập thư mục Startup bằng cách nhấn tổ hợp phím Win+R sau đó nhập shell:startup trong hộp Run và nhấn OK.

Truy cập thư mục Startup bằng cách nhấn tổ hợp phím Win+R sau đó nhập shell:startup

Truy cập thư mục Startup bằng cách nhấn tổ hợp phím Win+R sau đó nhập shell:startup

II. Cách thêm chương trình khởi động cùng hệ thống trên Windows 10

Hướng dẫn nhanh

Mở thư mục Startup > Sao chép các phím tắt (Shortcut) vào thư mục Startup > Nhấn tổ hợp phím Ctrl+Shift+Esc truy cập Task Manager > Nhấn vào tab Startup > Nhấn chuột phải vào chương trình chọn Enable/Disable để bật tắt startup.

Hướng dẫn chi tiết

Bước 1: Mở thư mục Startup theo hướng dẫn ở trên mục I.

Bước 2: Sao chép các phím tắt (Shortcut) mà bạn muốn khởi động cùng Windows vào thư mục Startup. Bạn có thể kéo thả trực chương trình vào thư mục này.

Sao chép các phím tắt (Shortcut) mà bạn muốn khởi động cùng Windows vào thư mục Startup

Sao chép các phím tắt (Shortcut) mà bạn muốn khởi động cùng Windows vào thư mục Startup

Bước 3: Bây giờ mỗi khi bạn khởi động máy tính, ứng dụng mà bạn đã thêm vào thư mục Startup sẽ khởi động cùng hệ thống. Bạn có thể kiểm tra lại xem ứng dụng đã sẵn sàng chạy mỗi khi khởi động máy bằng cách vào Task Manager. Để truy cập bạn nhấn tổ hợp phím Ctrl+Shift+Esc và nhấn vào tab Startup.

Kiểm tra lại xem ứng dụng đã sẵn sàng chạy mỗi khi khởi động máy bằng cách vào Task Manager

Kiểm tra lại xem ứng dụng đã sẵn sàng chạy mỗi khi khởi động máy bằng cách vào Task Manager

Bước 4: Nếu muốn bật chương trình chạy cùng hệ thống, nhấn chuột phải vào chương trình và chọn Enable, nếu muốn tắt chọn Disable.

Nhấn chuột phải vào chương trình chọn Enable/Disable để bật tắt startup

Nhấn chuột phải vào chương trình chọn Enable/Disable để bật tắt startup