1. Tổng quan.
Chào mừng bạn đến với bộ 7 bài lab được thiết kế cẩn thận, giúp bạn trải nghiệm và hiểu rõ hơn về chủ đề webserver và cân bằng tải, bộ lab này sẽ giúp các bạn mới làm quen với Linux để trang bị kiến thức cho các bài lab khó hơn về sau.
Dưới đây là tổng quan về mỗi bài lab:
- Lab 1: Cài đặt cân bằng tải cho Webserver sử dụng Nginx và Keepalived. Trong lab này, bạn sẽ được hướng dẫn cách cài đặt và cấu hình cân bằng tải cho webserver sử dụng Nginx và Keepalived, hai công cụ mạnh mẽ và phổ biến trong việc xây dựng hệ thống webserver.
- Lab 2: Cài đặt cân bằng tải cho Webserver sử dụng Apache, Haproxy và Keepalived. Lab này sẽ giúp bạn hiểu rõ hơn về việc sử dụng Apache, Haproxy và Keepalived để cài đặt cân bằng tải cho webserver.
- Lab 3: Chặn IP truy cập vào dịch vụ sử dụng HAProxy. Trong lab này, bạn sẽ học cách sử dụng HAProxy để chặn các IP không mong muốn truy cập vào dịch vụ của bạn.
- Lab 4: Cấu hình DNS Server sử dụng Bind9. Lab này sẽ hướng dẫn bạn cách cấu hình DNS Server sử dụng Bind9, một phần mềm DNS phổ biến.
- Lab 5: Cài đặt WordPress. Trong lab này, bạn sẽ được hướng dẫn cách cài đặt WordPress, một hệ thống quản lý nội dung web phổ biến.
- Lab 6: Chịu lỗi cho Database WordPress. Lab này sẽ giúp bạn hiểu rõ hơn về việc cài đặt và cấu hình chịu lỗi cho database WordPress.
- Lab 7: Chịu lỗi cho WordPress. Trong lab cuối cùng này, bạn sẽ học cách cài đặt và cấu hình chịu lỗi cho WordPress, giúp đảm bảo tính sẵn sàng và độ tin cậy của hệ thống.
Bộ 7 bài lab này sẽ giúp bạn nắm bắt được kiến thức thực tế và kỹ năng cần thiết để xây dựng và quản lý một hệ thống webserver hiệu quả và ổn định. Hãy bắt đầu hành trình khám phá của bạn ngay bây giờ!
Chắc chắn rằng việc tự tìm hiểu và tự thực hành là cách tốt nhất để phát triển kỹ năng quản trị hệ thống Linux của bạn. Đừng ngần ngại đặt câu hỏi, thử nghiệm và thất bại – mỗi lần bạn gặp khó khăn, bạn lại học được điều mới. Hãy nhớ rằng, mỗi lệnh bạn thực thi không chỉ giúp giải quyết vấn đề cụ thể, mà còn là bước tiến trên hành trình trở thành một quản trị viên hệ thống giỏi. Hãy tiếp tục nỗ lực, sự kiên trì của bạn sẽ được đền đáp. Happy system administrating!
Hãy nhớ rằng khi bạn hiểu và cài đặt cấu hình thành thạo lab này rồi thì bạn có thể hoàn thành 7 bài lab này trong vòng khoảng 15-20 phút, vì vậy đừng nghĩ nó quá dài và khó nhé.
- Hãy contact với tôi nếu bạn không rõ yêu cầu đề bài:
- Group nhỏ thảo luận Lab này tại https://zalo.me/g/awfdni350.
- Group thảo luận về chủ đề xung quanh Linux cho người mới tại https://zalo.me/g/fmitpl996.
Goodluck!!!
2. Nội dung bài LAB.
Lab 1: Cài đặt cân bằng tải cho Webserver sử dụng Nginx và Keepalived.
1. Cài đặt OS.
Yêu cầu:
- Ubuntu server (không sử dụng bản Desktop) version 20.04.
- IPaddress: Đặt IP tĩnh với yêu cầu
x.x.x.<2 số cuối năm sinh>
(nếu sinh 2002 thì có thể lấy số cuối là số 2). - Internet: Server ra được phép ra Internet.
- IPaddress: Đặt IP tĩnh với yêu cầu
- Ổ đĩa chạy OS:
- Định dạng: ext4.
- Dung lượng: 50G.
2. Cấu hình các tham số remote.
- Yêu cầu:
- Cấu hình để client có thể remote đến server trên bằng giao thức ssh.
- Cho phép remote vào server bằng user root và xác thực bằng mật khẩu.
- Tạo sshkey và cho phép remote vào server xác thực bằng sshkey thay cho mật khẩu.
- Đặt hostname cho server với cú pháp
linux-server-<octet cuối cùng của địa chỉ ipaddr>
. Ví dụ Server có địa chỉ IP là192.168.199.71
thì hostname sẽ làlinux-server-71
.
4. Thêm ổ đĩa cho hệ điều hành.
Tiến hành thêm một ổ đĩa mới với dung lượng 100G và định dạng theo phân vùng xfs.
Mount vào phân vùng /data/<tên ổ đĩa>
, ví dụ ổ đĩa tên là sdb
thì mount vào /data/sdb
.
5. Cài đặt webserver.
Cài đặt Webserver với Nginx
đảm bảo yêu cầu khi nhập IP của Server sẽ ra nội dung website Chào mừng bạn đến với website của tôi - Server linux-server-71 đang xử lý.1
với linux-server-71
là tên của hostname đã cài đặt ở trên.
Yêu cầu thư mục chứa source code của website sẽ nằm tại ổ đĩa chúng ta vừa thêm vào, ví dụ nếu là ổ đĩa sdb
thì source code nằm tại /data/sdb/www/index.html
.
6. Cân bằng tải cho Webserver sử dụng Nginx và Keepalived.
Tạo thêm 2 Server Ubuntu giống như yêu cầu cài đặt webserver và thêm ổ đĩa cho hệ điều hành ở phần trên.
Cài đặt webserver trên 2 server mới này để đảm bảo sẽ ra nội dung website Chào mừng bạn đến với website của tôi - Server linux-server-72 đang xử lý
khi gõ IP linux-server-72
và Chào mừng bạn đến với website của tôi - Server linux-server-73 đang xử lý
và khi gõ IP linux-server-73
.
Sử dụng Keepalived trong Ubuntu tạo ra địa chị IP ảo cho server linux-server-71
, linux-server-72
và linux-server-73
.
- Ví dụ:
- IP Server
linux-server-71
là192.168.199.71/24
. - IP Server
linux-server-72
là192.168.199.72/24
. - IP Server
linux-server-73
là192.168.199.73/24
. - IP ảo của 3 server
192.168.199.70/24
.
Đảm bảo khi nhập ip 192.168.199.70/24
trên trình duyệt thì website nằm trên 1 trong 3 server sẽ hiện ra, tiến hành tắt 1 server và kiểm tra lại kết quả, tiếp tục tắt server thứ 2 và kiểm tra kết quả.
Lab 2: Cài đặt cân bằng tải cho Webserver sử dụng Apache, Haproxy và Keepalived.
Tiếp tục sử dụng sơ đồ như dưới và thực hiện các yêu cầu như LAB1
nhưng lần này không sử dụng Nginx Webserver nữa nữa mà thay vào đó là sử dụng Apache (bạn có thể gỡ Nginx ra cũng được).
Loadbalancer Webserver sử dụng Haproxy + Keepalived.
- Cài đặt webserver trên 3 server này để đảm bảo sẽ ra nội dung website như sau:
Chào mừng bạn đến với website của tôi - Server linux-server-71 đang xử lý
khi gõ IPlinux-server-71
.Chào mừng bạn đến với website của tôi - Server linux-server-72 đang xử lý
khi gõ IPlinux-server-72
.Chào mừng bạn đến với website của tôi - Server linux-server-73 đang xử lý
và khi gõ IPlinux-server-73
.
Sử dụng Keepalived trong Ubuntu tạo ra địa chị IP ảo cho server linux-server-71
, linux-server-72
và linux-server-73
.
- Ví dụ:
- IP Server
linux-server-71
là192.168.199.71/24
. - IP Server
linux-server-72
là192.168.199.72/24
. - IP Server
linux-server-73
là192.168.199.73/24
. - IP ảo của 3 server
192.168.199.70/24
.
- IP Server
Đảm bảo khi nhập ip 192.168.199.70/24
trên trình duyệt thì website nằm trên 1 trong 3 server sẽ hiện ra, tiến hành tắt 1 server và kiểm tra lại kết quả, tiếp tục tắt server thứ 2 và kiểm tra kết quả.
Lab 3: Chặn IP truy cập vào dịch vụ sử dụng HAProxy.
Sử dụng sơ đồ dưới (giống lab2) và thực hiện thêm yêu cầu sau:
Thêm 1 client mới và đặt IP cho nó, ví dụ 192.168.199.2/24.
Sử dụng Haproxy để chặn Client 2
truy cập vào Website trên 3 Webserver.
Lab 4: Cấu hình DNS Server sử dụng Bind9.
Vẫn sử dụng sơ đồ Lab như Lab 4, tiến hành cấu hình phân giải tên miền với yêu cầu sau:
Trỏ DNS Server các máy chủ linux-server-71
, linux-server-72
, linux-server-73
, địa chỉ ip ảo của 3 server và client1
, client2
sao cho khi trỏ xong DNS thì tiến hành ping đến các domain tương ứng với các server sẽ ra đúng IP của server đó như bảng dưới.
- Đảm bảo khi trỏ DNS Phân giải tên miền:
- 192.168.199.71 -> linux-server-71.com
- 192.168.199.72 -> linux-server-72.com
- 192.168.199.73 -> linux-server-73.com
- 192.168.199.70 -> my-website.com
- 192.168.199.1 -> client1.com
- 192.168.199.2 -> client2.com
Sử dụng trình duyệt hoặc lệnh curl để truy cập http://my-website.com
đảm bảo phải ra được nội dung của website.
Lab 5: Cài đặt WordPress.
Hãy sử dụng sơ đồ dưới và cài đặt WordPress đảm bảo khi truy cập vào domain http://my-website.com
thì sẽ truy cập được vào trang WordPress, client không được sử dụng file host mà phải sử dụng 192.168.199.69
làm DNS Server.
Lab 6: Chịu lỗi cho Database WordPress.
Sơ đồ.
Hãy sử dụng sơ đồ trên và cài đặt WordPress đảm bảo khi truy cập vào domain http://my-website.com
thì sẽ truy cập được vào trang WordPress, client không được sử dụng file host mà phải sử dụng 192.168.199.69
làm DNS Server.
WordPress phải sử dụng DB chịu lỗi tại 3 Server MariaDB vì vậy bạn phải cấu hình MariaDB với 3 Server như dưới đảm bảo khi sập nguồn 2 Server DB thì vẫn còn truy cập được website http://my-website.com
.
Lab 7: Chịu lỗi cho WordPress.
Sơ đồ.
Yêu cầu lab này đơn giản là thêm 1 Server WordPress để đảm bảo khi sập nguồn 1 Server này thì vẫn có thể truy cập được website http://my-website.com
(phần này không yêu cầu chịu lỗi cho DNS Server).
3. Tổng kết.
Bộ lab này cung cấp cho bạn một hành trình thực tế và toàn diện về việc xây dựng và quản lý hệ thống webserver và cân bằng tải.
Bắt đầu từ việc cài đặt và cấu hình cân bằng tải cho webserver sử dụng Nginx và Keepalived, đến việc sử dụng Apache, Haproxy và Keepalived, bạn sẽ được trang bị kiến thức vững chắc về cân bằng tải.
Tiếp theo, bạn sẽ tìm hiểu cách chặn IP không mong muốn và cấu hình DNS Server sử dụng Bind9.
Cuối cùng, bộ lab tập trung vào việc cài đặt WordPress và cách cài đặt và cấu hình chịu lỗi cho database WordPress và chính WordPress, giúp đảm bảo tính sẵn sàng và độ tin cậy của hệ thống.
Tổng kết lại, bộ lab này là một hành trình thực tế, chi tiết và toàn diện, giúp bạn nắm bắt và áp dụng kiến thức về quản lý hệ thống webserver và cân bằng tải.