Tạo Website và Cài SSL trên VPS là phần tiếp theo trong series Hướng dẫn đăng ký và sử dụng VPS Free của Vultr (cũng như DigitalOcean và Linode).

Bạn có thể xem lại bài trước:

Hướng dẫn Cài đặt VPS Vultr trong 5 phút

Trong phần này, chúng ta sẽ dùng phương pháp nhanh nhất hiện nay để tạo Website trên VPS, sau đó cài nhanh chứng chỉ SSL Let’s Encrypt cho Website trên VPS luôn.

Mọi việc chỉ mất vài phút là xong, chỉ copy/ paste chứ không cần gõ bất cứ dòng lệnh nào.

Trước khi bước vào thực hành, ta cũng nên tìm hiểu các công đoạn tạo Website, cài SSL trên máy chủ ảo. Ở đây sẽ đề cập đến các phần mềm Web Server, vhost (virtual hosting) và LEMP Stack, LAMP stack, những thứ quan trọng khi tạo website trên VPS.

Nếu bạn lười tìm hiểu chi tiết, thì có thể bỏ qua phần đầu, click vào link dưới để xem luôn các bước thực hành:

Tạo Website và Cài SSL trên VPS trong 5 phút

Bài hướng dẫn áp dụng cho VPS Vultr, Linode, DigitalOcean, AZDIGI!

A. Qui trình Tạo Website trên VPS

Cách thức tạo Website trên VPS thông thường khá phức tạp, phần giải thích này để giúp bạn hiểu rõ hơn.

Sau đó, chúng ta sẽ thực hiện công việc một cách tự động, chỉ mất vài phút dưới sự hỗ trợ của các shellscript như CentMinMod, HocVPS, LarVPS.

Để Website chạy được trên máy chủ (VPS, Cloud Server), ta cần làm theo trình tự sau:

Bước 1 – Cài Hệ điều hành cho Server

Hệ điều hành chuyên cho máy chủ có thể là Windows (Windows Server) hoặc Linux.

Nhưng phổ biến nhất vẫn là Linux với các bản phân phối được tin dùng trên máy chủ như CentOS, Ubuntu, Debian.

Ở topic trước khi tạo VPS, ta đã chọn cài hệ điều hành Alma Linux – cùng với phiên bản khác là Rocky Linux là 2 bản phân phối Linux được phát triển từ CentOS – được đánh giá cao nhất hiện nay.

Bước 2 – Cài Web Server và Tạo Virtual Hosting (vhost)

Web Server là phần mềm vận hành máy chủ, hỗ trợ giao thức mạng http/ https để xử lý – phản hồi các truy vấn từ bên ngoài (các request từ trình duyệt người dùng). Web Server thường dùng nhất trên VPS là Apache và Nginx.

Hiện nay, Nginx được đánh giá cao hơn Apache, tốc độ và hiệu năng xử lý – bảo mật đều tốt hơn. Nên đây là Web Server ưu tiên cài trên VPS.

Tạo vhost trên VPS

Sau khi cài Web Server, ta có thể tạo Virtual Hosting (vhost) cho một hoặc nhiều website trên máy chủ.

Virtual Hosting/ Virtual Host (vhost) là phương thức cấu hình trên Web Server để chạy nhiều website ứng với nhiều domain khác nhau trên cùng một máy chủ. Tạo vhost còn gọi là tạo website, thêm website/ thêm domain:

Virtual Hosting - vhost là gì

Sau khi tạo vhost cho một website, ta có thể trỏ domain về IP của máy chủ, lúc này Web Server sẽ đảm bảo khi người dùng gõ domain trên trình duyệt, thì truy vấn sẽ được gởi tới đúng thư mục chứa mã nguồn của website tương ứng với domain đó trên máy chủ.

Khi nói tạo website trên hosting/ vps, hay thêm domain vào hosting/ vps, tức là tạo vhost để hoạt động với một domain cụ thể, vhost đối với một domain bao gồm:

  1. Một thư mục để chứa code website ứng với domain đó.
  2. Các cấu hình webserver riêng cho website đó (Nginx/ Apache Configuration) nhằm xử lý các truy vấn website từ bên ngoài.

Ví dụ file cấu hình cho domain wpvui.com với NginX:

Cầu hình NginX

Thư mục chứa mã nguồn Website thường đặt tên là public_html (nghĩa là cho phép truy vấn từ html bên ngoài):

Public_html

Khi chúng ta trỏ một domain (ví dụ wpvui.com) về hosting (shared hosting hoặc vps) thì chúng ta mới trỏ về IP của máy chủ (server) nhưng trên máy chủ có thể chứa nhiều website ứng với nhiều domain khác nhau (wpvui.com, vuihocweb.com, wpbanquyen.com).

Nếu chúng ta chưa tạo vhost cho website ứng với domain đó (wpvui.com) thì vẫn chưa thể truy cập website qua domain từ trình duyệt.

Bước 3 – Cài đặt Ngôn ngữ lập trình và Database

Mã nguồn của Website dùng ngôn ngữ lập trình nào, thì ta cần cài ngôn ngữ đó lên máy chủ thì website mới hoạt động được, ví dụ nếu website dùng các CMS như WordPress, Drupal, Joomla thì cần cài PHP, nếu dùng mã nguồn Perl thì cài Perl, Python thì cài Python.

Ngoài ra, với web động (Dynamic Website) thì ngoài ngôn ngữ lập trình, còn cần cài đặt phần mềm Hệ quản trị cơ sở dữ liệu (RDBMS – Related Database Managenment System) để vận hành database của website. RDBMS phổ biến nhất hiện nay là MySQL.

Ví dụ, nếu chạy Website WordPress trên VPS, thì cái ta cần cài ở đây là PHP & MySQL.

Sau khi đã cài PHP và MySQL thì ta có thể upload mã nguồn website lên thư mục chứa code của website, tạo database cho website trên MySQL và bắt đầu khởi chạy mã nguồn.

B. Tìm hiểu LAMP/ LEMP Stack

Hiện nay, để triển khai hệ thống vận hành website hoàn chỉnh, tối ưu trên VPS, Cloud Server thì người ta thường dùng các gói phần mềm gọi là stack: bao gồm hệ điều hành + một nhóm các phần mềm (web server & programming language & database software).

Mỗi stack trên VPS/ Cloud Server là một gói (bundle) bao gồm:

  1. Hệ điều hành, chủ yếu là bản phân phố Linux như CentOS, Ubuntu, Debian…
  2. Webserver: chủ yếu là Nginx hoặc Apache
  3. Programming Language Software: PHP, Perl, Python, NodeJS,..
  4. Database Software: MySQL/ MariaDB, MongoDB,..

Đối với các website dùng ngôn ngữ lập trình PHP, Python hay Perl, ta có các hệ thống phổ biến là LAMP Stack và LEMP Stack:

  • LAMP Stack: ám chỉ hệ thống vận hành gồm Linux + Apache + MariaDB (MySQL) và PHP-FPM (PHP)/ Python/ Perl
  • LEMP Stack: hệ thống Linux + Nginx (Engine-X) + MariaDB + PHP-FPM/ Python/ Perl

(*) Chữ E trong LEMP Stack ám chỉ Nginx vì phần mềm webserver Nginx đọc là Engine-X.

(*) PHP-FPM (PHP – FastCGI Process Manager): một phiên bản tối ưu tốc độ và hiệu năng của PHP

(*) MariaDB: phiên bản mã nguồn mở, miễn phí của MySQL, được cộng đồng phát triển và duy trì hỗ trợ – nâng cấp vì lo ngại vấn đề bản quyền với MySQL khi bị Oracle thâu tóm năm 2009.

LEMP stack, LAMP stack sử dụng phổ biến cho các website dùng mã nguồn PHP, Python và Perl.

Còn với các website dùng các ngôn ngữ lập trình web khác thì có các stack khác, ví dụ với Website và Web Application lập trình bằng Javascript hiện nay, phổ biến dùng MEAN hoặc MERN stack, trong đó Node.js đóng vai trò tương tự web server:

MEAN stack có các phần mềm:

MERN stack:

Cũng nên nhắc lại, nếu ta muốn chạy website ngôn ngữ PHP/ Perl/ Python trên Local Host (máy tính cá nhân) thì cũng có các phần mềm hỗ trợ stack – cài một phát là đủ bộ luôn. Ví dụ 2 phần mềm phổ biến nhất để thiết lập Local Host trên Windows:

  • WAMP: ám chỉ Windows – Apache – MySQL – PHP/ Perl/ Python
  • XAMPP: ám chỉ cross-platform (X) – Apache – MySQL/ MariaDB – PHP – Perl

(*) Chữ X là kí tự đại diện cho cross-platform – ám chỉ phần mềm XAMPP hoạt động trên nhiều nền tảng Windows, Linux và cả MacOS.

Chạy Website với Local Host trên máy tính chỉ dùng trong giai đoạn phát triển, check lỗi vì Website không thể truy cập công khai từ bên ngoài. Ta không đề cập việc tạo Website trên Local Host này ở series này.

Tóm lại, LEMP Stack và LAMP Stack là 2 gói phần mềm phổ biến được sử dụng khi muốn tạo Website trên VPS. Sau khi cài LEMP/LAMP stack thì ta chỉ cần tạo vhost, tạo database, upload mã nguồn Website lên rồi bắt đầu khởi chạy.

C. Tạo Website trên VPS và cài SSL Let’s Encrypt trong 5 phút

Nhắc lại các bước tạo website trên VPS:

  1. Cài LEMP/ LAMP Stack.
  2. Tạo vHost – Trỏ domain về IP của VPS
  3. Tạo database, upload mã nguồn vào thư mục chứa code (public_html)
  4. Khởi chạy mã nguồn bằng cách nhập domain từ trình duyệt.
  5. Bổ sung: cài chứng chỉ bảo mật SSL cho website trên VPS

Ngoài cái đầu tiên (1) – LEMP/ LAMP Stack ta có thể chọn cài nhanh dễ dàng ở phần tạo VPS ở mục Marketplace Apps.

Các công việc từ 2 – 3 và 5 nếu tự làm bạn cần phải thao tác với các lệnh Linux, vì hệ điều hành máy chủ gốc không hoạt động trên giao diện đồ họa như Windows ta thường dùng. Việc thực hiện cũng cần kiến thức về cấu hình Web Server Apache/ Nginx nên đối với hầu hết người dùng bình thường, đó là nhiệm vụ vô cùng vất vả.

Nhưng, đời vẫn đẹp vì đã có các chương trình chuyên dụng để tự động thực thi các công việc đó (từ 1 -> 5 luôn), đó là các shellscript hỗ trợ cài đặt – cấu hình và quản lý VPS.

Giới thiệu Shellscript cài đặt VPS

Một shellscript bao gồm các tập lệnh Linux để thực thi các chuỗi nhiệm vụ định sẵn dựa vào tham số người dùng nhập vào, ngoài ra shellscript còn có thể tự động tích hợp các cấu hình tối ưu cho một nhiệm vụ nào đó mà không cần người dùng phải tự thực hiện:

Ví dụ như: ta gõ số 1, thì shellscript tiến hành cài LEMP stack, gõ số 2 nó tạo vhost theo tên domain ta nhập vào, rồi gõ số 3 nó cài SSL Let’s Encrypt… quá hay đúng không?

  • Shellscript cài đặt VPS phổ biến nhất thế giới là CentMinMod, ổn định và hiệu năng cao nhưng chậm cập nhật các phần mềm (PHP, MariaDB) và khổ nhất là nó không có tài liệu hướng dẫn tiếng Việt nên có gì không biết thì có khóc vì dù có giỏi tiếng Anh mà bạn không rành về cấu hình Web Server thì giải thích cũng bó tay thôi.
  • Đối với người dùng VN từ 2019 trở về trước, thì HocVPS của Luân Trần là shellscript cài đặt VPS phổ biến nhất – nó miễn phí và được hỗ trợ tích cực. Ngoài ra giai đoạn này còn có shellcript trả phí rất tốt VPSSIM (VPS Simple).
  • Hiện nay (2022), sau 3 năm không cập nhật thì HocVPS đã được bán cho bên khác, việc hỗ trợ có vẻ không còn ngon như trước (nghe đồn bán thân cho Nhân Hoà), còn VPSSIM đã không còn hỗ trợ người dùng nữa, web họ cũng không nâng cấp nên vào vpssim.vn trình duyệt sẽ chặn do chứng chỉ SSL hết hạn.
  • Từ năm 2021, người dùng VN bắt đầu chuyển sang dùng LarVPS, một shellscript dạng freemium phát triển bởi Tong Huynh, đây là shellscript có chất lượng cao, tích hợp rất nhiều tính năng mạnh mẽ và có cộng đồng hỗ trợ đông đảo với hơn 2000 thành viên. Đây là cái ta sẽ chọn mặt gởi vàng.

Giới thiệu LarVPS – Shellscript tốt nhất VN

LarVPS là sản phẩm freemium, tức có bản free và bản trả phí:

Bảng giá LarVPS

  • LarVPS bản free có đầy đủ các tính năng mạnh nhất để cài đặt – quản lý VPS, nhưng chỉ tạo được 1 website trên VPS (tức chỉ hỗ trợ tạo tự động 1 vhost thôi)
  • LarVPS bản trả phí có thêm tính năng Mod Security, Backup và Restore từ Google Drive, Quản lý Telegram.
  • Các gói trả phí LarVPS có giá từ 99k VNĐ/ năm, cho phép tạo 1 – 3 – 5 đến không giới hạn Website trên VPS.

Thông thường, ta không nên chạy quá nhiều Website trên cùng 1 VPS, vì nếu một website trên đó gặp sự cố (bị hack, bị tấn công DDos) thì sẽ ảnh hưởng tới hiệu năng của toàn bộ VPS, tác động xấu đến các website còn lại.

Thay vì cài nhiều website trên cùng VPS tài nguyên lớn, ta có thể tạo nhiều gói VPS có tài nguyên nhỏ hơn.

  • Nếu trên VPS bạn chỉ chạy một website thì bản free của LarVPS đã quá tuyệt vời, các tính năng phụ trợ như Backup & Restore từ Google Drive, bảo mật Mod Security bạn có thể thực hiện dễ dàng bằng các plugin nếu website dùng WordPress.
  • Nếu muốn chạy hơn 1 website trên cùng VPS, thì chỉ nên chạy khoản 3 – 5 cái thôi, do đó gói license 3 hoặc 5 domain là phù hợp. Nói chung gói license 1 domain và unlimited domain không đáng để mua.

LarVPS cũng cho phép đổi IP cho key tối đa 5 lần, tức mỗi khi bạn muốn kích hoạt license trên 1 VPS mới, có thể vào trang bên dưới, nhập license và khai báo IP của VPS mới, khi đó license sẽ hết hiệu lực trên VPS cũ, và có thể dùng để kích hoạt trên VPS mới:

Kiểm tra và Reset License Key LarVPS

Đổi IP LarVPS key

Việc license hết hiệu lực/ hết hạn không làm ảnh hưởng gì đến hoạt động của VPS, website hay LarVPS, nó chỉ không cho bạn tạo thêm website và dùng các tính năng mở rộng (Restore – Backup Google Drive, Mod Security).

Tính năng của LarVPS

Tính năng của LarVPS

Các tính năng của LarVPS rất nhiều, ta chỉ điểm qua những cái quan trọng nhất, mọi công việc tự động thực hiện:

  • Tự động cài LEMP Stack.
  • Tạo nhanh vhost với chỉ một click.
  • Cài nhanh Let’s Encrypt SSL cho website trên VPS – tự động gia hạn luôn.
  • Hỗ trợ cài nhanh SSL trả phí nếu bạn không dùng Let’s Encrypt mà dùng SSL mua.
  • Tạo nhanh database.
  • Tự động cài WordPress, Laravel.
  • Tạo, quản lý Swap (để tạo bộ nhớ cache – tăng tốc VPS).
  • Tích hợp Memcached, Redis Cache, bật tắt trong nửa nốt nhạc.
  • Đổi nhanh Port để bảo mật.
  • Hỗ trợ cấu hình Nginx để sử dụng tính năng chuyển ảnh sang WebP trên WordPress.
  • Hỗ trợ chuyển nhanh website trên VPS dùng HocVPS, VPSSIM, TinoVPS, cPanel về VPS dùng LarVPS.

Nói chung, nếu chạy Website WordPress, thì ta chỉ cần làm các việc sau:

  1. Cài LarVPS: nó sẽ tự động cài LEMP Stack, các phần mềm hỗ trợ cho LEMP Stack, cũng như thiết lập sẵn những cấu hình tối ưu nhất trên VPS luôn.
  2. Tạo website (thêm domain/ vhost vào VPS). Sau khi tạo website ta cũng cần tiến hành trỏ domain về VPS luôn.
  3. Cài nhanh Let’s Encrypt cho website.
  4. Cài nhanh WordPress, ở bước này LarVPS sẽ tự động tạo database cho chúng ta luôn.

Rồi vào website từ trình duyệt để hoàn tất các bước cấu hình WordPress là xong.

Ta thực hành thôi:

Cài đặt LarVPS trên VPS

Để cài LarVPS, ta cần login vào VPS, ta cần dùng phần mềm SSH Client, phổ biến nhất là PuTTY đã nói ở bài Hướng dẫn cài đặt VPS trong 5 phút. Tải PuTTY tại đây và cài đặt như mọi phần mềm thông thường.

(*) Bạn cần tắt phần mềm gõ tiếng Việt (Unikey,…) khi thực hiện login vào VPS bằng SSH Client như PuTTY để tránh phát sinh các ký tự ngoài ý muốn khiến tên user/ pass bị nhập sai và gây ra lỗi sai pass hoặc Our key refused khi đăng nhập.

Login VPS bằng PuTTY (SSH Client)

Mở PuTTY lên, ta cần nhập IP của VPS, port SSH (mặc định ban đầu trên Linux là 22), bạn có thể đặt tên VPS và Save lại để tiện cho lần login sau:

Login VPS bằng PuTTY

Sau khi Save, click vào Open để đăng nhập VPS bằng user root và root password.

Lần đầu tiên đăng nhập VPS, thường có một popup cảnh báo bảo mật hiện ra, ta Accept để tiếp tục:

Bảo mật VPS

Giao diện Console hiện ra, ta nhập user là root, và nhập root password, rồi gõ Enter để xác nhận. Nếu pass đúng thì ta login thành công thế này:

Root Password trên VPS

Lưu ý rằng password trên Linux sẽ không thể nhìn thấy, nên bạn hãy nhập cẩn thận, hoặc gõ lên một file text, rồi copy; sau đó click chuột phải vào của sổ Console của PuTTY để paste password vào. Trên PuTTY, click chuột phải chính là lệnh paste.

Nếu không dùng root password thì ta không chọn Open, sau khi Save lại sẽ làm tiếp bước bên dưới để login bằng SSH key.

Ở bài trước đã hướng dẫn chi tiết cách tạo SSH Key và thêm vào tài khoản VPS (Vultr), chúng ta cũng đã lưu private key và ghi nhớ mật mã keyphrase để sử dụng login vào VPS.

Giờ ta sẽ đăng nhập vào VPS bằng SSH key. Trên PuTTY, bạn click vào mục Connection –> SSH -> Auth, rồi click Browse để chọn file SSH private key, khi login bằng PuTTY thì ta cần dùng private key theo định dạng của PuTTY (.ppk), còn dùng các phần mềm SSH Client khác thì dùng private định dạng thường (OpenSSH):

Login VPS bằng SSH Key qua PuTTY

Nhớ làm theo thứ tự hình trên nhé, sau khi click Open (4) màn hình Console hiện ra, ta nhập tên user là root rồi gõ Enter để xác nhận, nhập tiếp Keyphrase (rồi Enter) nếu khi tạo Private key ta có nhập mật mã bảo vệ Key passphrase. Nếu mọi thứ OK, thì ta sẽ đăng nhập thành công như thế này:

Cách login VPS bằng SSH Key

Cũng tương tự root password, Keyphrase sẽ không nhìn thấy được trên console, nên bạn gõ cẩn thận hoặc gõ vào file text rồi copy, paste cho chắc ăn (Right-click để paste vào màn hình console trên PuTTY).

Cài LarVPS cho VPS qua PuTTY

Khi đã login thành công vào VPS, ta bắt đầu cài shellscript HocVPS, yêu cầu trước khi cài:

  • VPS có tối thiểu 1GB RAM.
  • VPS đã cài sẵn hệ điều hành CentOS 8 (hoặc Rocky Linux 8, Alma Linux8) hoặc Ubuntu.

Để cài LarVPS, chỉ cần copy dòng này, rồi paste (Right-click) vào PuTTY:

curl -sO https://larvps.com/scripts/larvps && bash larvps

Như này, nhớ gõ Enter mỗi khi nhập bất kỳ lệnh nào trên Linux Console:

Cài đặt LarVPS trên VPS

Phần tuỳ chọn phiên bản hiện ra, chúng ta chọn phiên bản ứng với hệ điều hành đã cài trên VPS trước đó, và nên chọn bản (stable) để hoạt động ổn định nhất:

Chọn phiên bản LarVPS tốt nhất

Rồi cứ để mọi thứ tự động, chương trình sẽ tải về các phần cần cài đặt:

Thường chưa đầy một phút là tải xong mọi thứ, LarVPS sẽ gợi ý bạn đổi Port SSH, mặc định ta thấy Port SSH khi đăng nhập VPS luôn là 22, ta nên đổi thành số khác để hạn chế hacker tấn công dò mật khẩu qua Port 22. Ví dụ có thể đổi thành 2080 chẳng hạn:

Đổi Port SSH cho VPS

Nên nhớ, khi đổi Port, thì lần sau login vào VPS, bạn phải nhập Port mới mới login được.

Sau khi đổi Port, LarVPS sẽ bắt đầu tự động cài đặt mọi thứ (cả LEMP Stack), quá trình này thường mất vài phút đến nửa giờ tuỳ vào tốc độ của máy chủ VPS:

Cài đặt LarVPS tự động

Cài đặt LarVPS

Cài đặt LarVPS

Khi cài xong, ngoài LEMP Stack ra, còn có những phần mềm quan trọng khác hỗ trợ cho hiệu năng và bảo mật VPS, và những cấu hình VPS tối ưu cũng được được thiết lập sẵn.

Màn hình chào mừng xuất hiện, với các thông tin quan trọng, bạn nên chụp lại hoặc ghi ra file text để dùng sau này hoặc có thể truy xuất lại các thông tin này bằng cách gõ lệnh larvps -ic .

Sau đó VPS sẽ được khởi động lại (để Port SSH mới có hiệu lực).

Bạn cần đóng PuTTY để đăng nhập lại với Port SSH mới đã đổi ở phần trên:

Đăng nhập VPS bằng PuTTY qua Port SSH mới

Dùng Port SSH mới thì lần đầu login, PuTTY sẽ yêu cầu Accept về bảo mật:

Accept Login SSH PuTTY

Ta login vào VPS bằng user/ pass root hoặc private key/ keyphrase như ở trên. Khi login thành công, gõ lệnh larvps để mở menu quản trị của LarVPS và bắt đầu sử dụng:

Mở menu Quản trị LarVPS

Hiện tại có 32 mục quản trị tính năng, gõ số tương ứng với mỗi mục để mở từng cái – thường ta không cần dùng hết các tính năng này. Ở đây ta sẽ thực hiện các công việc cần thiết nhất khi tạo Website trên VPS thôi:

  1. Tăng Swap (Mục 14 – Quản lý Swap): tăng dung lượng ổ cứng SSD dành riêng cho Swap file – giúp tăng tốc VPS hiệu quả đối với các VPS có dung lượng RAM thấp.
  2. Tạo Website (tạo vhost, Mục 1 – Quản lý Domain): ta có thể thêm/ xoá website ở mục này.
  3. Cài Let’s Encrypt SSL cho website (Mục 32 – Quản lý Let’s Encrypt): cài chứng chỉ bảo mật cho website có trên VPS, lưu ý chỉ cài SSL sau khi đã tạo website trên VPS và trỏ domain về VPS thành công.

Tạo Swap để tăng tốc VPS

Trước khi tạo Website, ta sẽ kiểm tra Swap của VPS và tăng thêm nếu thiếu. Swap còn gọi là RAM ảo, tức nếu dung lượng RAM của VPS bị thiếu thì Swap sẽ được sử dụng.

Để kiểm tra Swap, ta gọi LarVPS và nhập số 14 (rồi Enter) để mở Mục 14 – Quản lý Swap:

Quản lý Swap trên VPS

Menu Swap File VPS

Có 3 tuỳ chọn Xem Swap, Tạo Swap và Xoá Swap, ta nhập số 1 để xem Swap hiện có dung lượng bao nhiêu, ở đây ta thấy có 2 file swap do LarVPS tạo sẵn, file 1GB phù hợp cho mã nguồn WordPress, file 2.4GB có thứ tự ưu tiên dùng sau, phù hợp cho các site dùng Laravel:

Swap file vps

Thông thường thì Swap file có dung lượng từ 1/2 đến 2 lần RAM của VPS, không nên thấp hơn và cũng không nên cao hơn. Thực chất dùng Swap làm RAM ảo chỉ là phương án dự phòng vì tốc độ của RAM lúc nào cũng vượt trội so với tốc độ ổ cứng SSD.

Ví dụ, ta sẽ xoá file swap 1GB, rồi tạo lại, để xoá Wwap, ta chọn số 3 để mở lệnh xoá, gõ y để xác nhận:

Xoá swap file

Rồi, bây giờ nhận số 2 để mở lệnh thêm Swap, nhập dung lượng của Swap file muốn tạo, ví dụ bạn dùng VPS 2GB RAM, thì có thể tạo Swap file với 4GB SSD. LarVPS sẽ yêu cầu xác nhận tạo Swap, bạn gõ y rồi Enter để hoàn tất:

Thêm Swap Ya

Rồi nhập số 1 để xem thử kết quả có đúng không nhé:

Xem Swap file trên VPS

Rồi, gõ số 0 ( + Enter) để trở lại menu quản lý LarVPS để bắt đầu tạo website.

Tạo Website trên VPS

Tiếp theo, ta sẽ tạo vhost cho website cần chạy trên VPS. Ta nhập số 1 (rồi Enter) để mở Menu 1 – Quản lý Domain, hiện tại có tới 11 tính năng ở phần này:

Quản lý Domain trên VPS

Ta chỉ quan tâm tới các lệnh:

  • (1) Xem danh sách website (domain/sub-domain) đã thêm trên VPS
  • (2) Thêm website mới (domain/sub-domain) vào VPS (tạo vhost cho domain)
  • (5) Phân quyền (Chmod) – cái này chỉ cần nếu bạn tự upload code lên VPS để cài đặt, nếu không chọn phân quyền thì một số tính năng sẽ không hoạt động (ví dụ như cài theme, plugin WordPress. Bình thường nếu cài WordPress, Laravel từ Menu của LarVPS thì nó tự phân quyền cho bạn luôn.
  • (6) Xoá website.
  • (10) Chạy website bằng IP của VPS, tính năng này rất hữu ích, ta sẽ nói rõ hơn ở phần cuối của bài viết này.

Chưa có website nào trên VPS nên sẽ tạo website trước, sau khi mở 1 – Quản lý domain, nhập số 2 (+Enter) để mở mục con Thêm Domain/ Subdomain:

Tạo Website trên VPS

Sau khi gõ domain (+Enter) như hình trên thì vhost sẽ được tạo. Tức ta đã tạo website trên VPS thành công.

LarVPS sẽ hỏi bạn có muốn cài luôn WordPress không, gõ n (+Enter) để say no – bỏ qua, rồi hắn lại hỏi tiếp có muốn cài Laravel không, có muốn tạo database không, ta cũng gõ n để bỏ qua luôn. Việc chọn cài mã nguồn nào cho website ta sẽ làm sau, tiếp theo ta cài Let’s Encrypt SSL cho website đã.

Cài WordPress VPS

Cuối cùng là thông báo thêm domain thành công, tóm tắt các thông tin liên quan đến website vừa tạo, có cả thông tin login thư mục code của website qua sFTP và site quản trị:

Tạo web trên VPS

Giờ ta cài SSL Let’s Encrypt cho website vừa tạo.

Cài Let’s Encrypt cho website trên VPS

Trước khi cài SSL Let’s Encrypt cho website trên VPS, ta cần trỏ domain về IP của VPS, vì chứng chỉ SSL sẽ xác thực kết nối domain với VPS thì mới cài đặt thành công.

Để cài SSL Let’s Encrypt, ta gọi Menu LarVPS, rồi nhập 32 để mở mục 32 – Quản lý Let’s Encrypt, tiếp tục nhập số 2 để mở tính năng Thêm/ gia hạn SSL cho website (domain/ sub-domain):

Cài SSL cho VPS

Bước đầu tiên là bạn phải nhập email đăng ký chứng chỉ Let’s Encrypt, email này sẽ nhận các thông báo về việc đăng ký, thời điểm hết hạn, gia hạn chứng chỉ từ Let’s Encrypt.

Nhập Email đăng ký Let's Encrypt SSL

LarVPS sẽ đăng ký chứng chỉ với email của bạn, tải các file cần cài đặt về VPS, sau đó sẽ hỏi bạn cần cài Let’s Encrypt SSL cho domain nào trên VPS, nhập số tương ứng để LarVPS bắt đầu cài đặt SSL cho domain đó:

Chọn domain muốn cài Let' Encrypt SSL trên VPS

Quá trình cấu hình – cài đặt sẽ tự động thực hiện:

Cài SSL Let's Encryp trên VPS

Thông báo thành công:

Cài SSL Let's Encrypt cho VPS thành công

Ta vào trình duyệt xem thử có ngon lành chưa, có ổ khoá bên cạnh https:// như bên dưới là ok:

Chứng chỉ SSL Let's Encrypt

Để có thêm thông tin về chứng chỉ, ta vào trang SSL Shopper Checker, nhập domain để kiểm tra, nếu mọi thông tin đều xanh đọt chuối như này là thành công:

Kiểm tra chứng chỉ SSL Let's Encrypt cho website

 

Gia hạn tự động SSL Let’s Encrypt trên VPS

Let’s Encrypt sẽ gởi email nhắc chúng ta thời điểm hết hạn chứng chỉ trước 2 tuần.

Mặc định LarVPS sẽ tự động thực hiện gia hạn chứng chỉ SSL cho các website trên VPS khi chúng vừa hết hạn nên sau khi cài SSL thành công thì bạn không cần làm thêm gì cả.

Gia hạn thủ công SSL Let’s Encrypt trên VPS

Trong một số ít trường hợp ngoài ý muốn, nếu SSL Let’s Encrypt không được gia hạn tự động, bạn có thể login vào VPS, Mở menu LarVPS, mục 32 – Quản lý Let’s Encrypt, chọn số 2 – Thêm, gia hạn SSL và chọn gia hạn cho domain, LarVPS sẽ tự động thực hiện gia hạn chưa đầy 1 phút.

Tính năng thêm hay gia hạn SSL đều chọn số 2, nếu domain chưa có SSL thì LarVPS sẽ cài SSL, nếu domain đã có SSL thì LarVPS sẽ thực hiện gia hạn chứng chỉ SSL đó:

Gia hạn chứng chỉ SSL Let's Encrypt trên VPS

Việc gia hạn thủ công nói trên bạn có thể thực hiện bất kể lúc nào sau khi cài SSL cho website, chứ không cần phải đợt tới ngày hết hạn. Cứ mỗi khi bạn thực hiện gia hạn thủ công trên LarVPS, thì thời gian sử dụng SSL Let’s Encrypt sẽ kéo dài thêm 90 ngày.

Cuối cùng, ta nói thêm về tính năng Chạy Website bằng IP của VPS đã đề cập ở trên.

Chạy Website bằng IP của VPS

Thông thường mỗi VPS chỉ có 1 địa chỉ IP duy nhất. Khi domain được trỏ về IP của VPS thì các truy vấn từ domain đó khi gởi tới VPS sẽ được Web Server thực thi các lệnh cấu hình vhost để chuyển truy vấn đến đúng website tương ứng với domain.

Ví dụ, dù 3 domain wpvui.com, vuihocweb.com, wpbanquyen.com cùng trỏ về 1 địa chỉ IP của VPS, nên truy vấn riêng từ mỗi domain gởi đến VPS sẽ được Web Server chuyển tiếp đến đúng website tương ứng.

Mặc định IP sẽ không đại diện riêng cho website nào trên VPS cả, tức nếu gõ địa chỉ IP vô trình duyệt, nó sẽ gởi request đến VPS, nhưng Web Server sẽ không gởi request đến website nào mà chỉ trả về thông tin chung của server, như hình:

Vào website bằng IP

Vậy nếu chúng ta muốn chỉ định IP đại diện riêng cho 1 domain nào đó, để khi người dùng nhập IP thì sẽ vào thẳng website đó trên VPS luôn? Đây là lúc tính năng số (10) – Chạy website bằng IP của VPS phát huy tác dụng, ta có thể chỉ định IP của VPS đại diện cho 1 website bất kỳ trên VPS:

Chạy Website bằng IP của VPS

Vào web bằng IP của VPS

Từ giờ, khi vào IP của VP, ta sẽ truy cập được vào website:

Vào web bằng IP

Tính năng chạy website bằng IP của VPS hữu dụng trong 3 trường hợp:

Trường hợp 1 – Chọn domain chính trên VPS

Thiết lập Chạy website bằng IP của VPS cho một domain nào đó trên VPS chẳng hại gì.

Khi thiết lập như vậy, domain được chỉ định vào bằng IP sẽ được gọi là domain chính trên VPS:

  • Lúc này có thể vào website của domain chính bằng cả tên miền lẫn IP của VPS.
  • Các domain khác gọi là domain phụ, mọi tính năng của chúng không có gì thay đổi cả.
Trường hợp 2 – Build Site mới hoặc Clone site để sửa lỗi – nâng cấp

Trường hợp này phổ biến và có ích lợi rõ ràng hơn trường hợp 1!

Ví dụ bạn đang có một website ăn nên làm ra là canhme.com, đang chạy trên gói VPS – A, nhưng bạn muốn nâng cấp tính năng – thiết kế cho website này mà không ảnh hưởng đến người dùng. Ta sẽ:

Tạo website mới (thêm domain) với domain canhme.com trên gói VPS mới là VPS – B. Rồi chỉ định chạy website này bằng IP của VPS – B.

Như vậy:

  • Người dùng vẫn vào web chính canhme.com trên VPS – A bình thường như mọi ngày. Vì tất nhiên, tên miền canhme.com vẫn trỏ về VPS – A mà.
  • Còn bạn có thể truy cập vào web mới (cũng tên canhme.com) nhưng bằng địa chỉ IP của VPS – B để build site mới, clone site, chỉnh sửa – thiết kế và nâng cấp tính năng tuỳ thích.

Sau khi đã hài lòng với mọi thứ trên site mới ở VPS – B, bạn chỉ cần trỏ tên miền canhme.com về IP của VPS – B, để tên miền chính thức kết nối với site phiên bản mới là xong. Và cũng có thể xoá website cũ trên VPS – A đi.

Trường hợp 3 – Tạo website với domain bất kỳ

Cái này ít gặp nhưng bạn có thể thử, ví dụ bạn muốn tạo một website có thể truy cập công khai trên mạng nhưng lại không đủ xèng mua tên miền (cũng không đủ thời gian để đăng ký Nhận 4 tên miền free từ Porkbun). Lúc này:

Bạn có thể tạo website trên VPS với tên miền bất kỳ bạn thích rồi bật tính năng Chạy website bằng IP của VPS cho nó.

Thế là bạn có thể vào website bằng địa chỉ IP của VPS chứ không cần mua tên miền. Có thể gởi link website chứa địa chỉ IP cho người khác truy cập.

TỔNG KẾT

Bài viết hơi dài hi vọng giúp hiểu rõ được qui trình tạo website trên VPS, cũng như giới thiệu shellscript cài đặt – quản lý VPS tốt nhất hiện nay là LarVPS.

Về thực hành, với LarVPS, bạn có thể Tạo Website trên VPS và Cài SSL Let’s Encrypt trên VPS chỉ trong vài phút.

Ở topic sau, ta sẽ tiến hành cài WordPress cho website trên VPS, cũng chỉ vài phút là bạn có được một Website WordPress hoàn chỉnh để có thể phát triển thêm tính năng và thiết kế thành một dự án Website WordPress chuyên nghiệp!

Tiếp theo:

Cài đặt WordPress trên VPS trong 5 phút

Chúc vui vẻ!

17279

Khóa học Thiết kế Web WordPress 2022

Bạn có thể tự xây dựng Website chuẩn SEO chuyên nghiệp với tài nguyên WP bản quyền trị giá $1000

(*) Vui lòng kiểm tra email để xác thực hoàn tất đăng ký.

Số lượng có hạn, VHW sẽ gởi email thông báo ngay khi khóa học 2022 được mở đăng ký!

LEAVE A REPLY

Please enter your comment!
Please enter your name here