Cách cài đặt Cachet Status Page trên Ubuntu 24.04 Server

theanh

Administrator
Nhân viên
Cachet là hệ thống trang trạng thái nguồn mở được viết bằng PHP. Hệ thống này cho phép bạn theo dõi thời gian ngừng hoạt động và lỗi hệ thống trên cơ sở hạ tầng của mình. Cachet cung cấp API JSO, thậm chí cả báo cáo, số liệu, nhiều phương thức thông báo và xác thực Hai yếu tố.

Trong hướng dẫn này, bạn sẽ tìm hiểu cách cài đặt và chạy Cachet trên máy chủ Ubuntu 24.04 với Docker. Bạn cũng sẽ cài đặt và thiết lập Nginx làm proxy ngược và bảo mật Cachet bằng HTTPS thông qua Certbot và Letsencrypt.

Điều kiện tiên quyết​

Để hoàn thành hướng dẫn này, hãy đảm bảo rằng bạn có:
  • Máy chủ Ubuntu 24.04.
  • Người dùng không phải root có quyền quản trị viên.
  • Tên miền trỏ đến địa chỉ IP của máy chủ.

Cài đặt Docker Engine​

Trong hướng dẫn này, bạn sẽ chạy Cachet dưới dạng vùng chứa bằng Docker. Sau đó, bạn sẽ cài đặt Docker Engine trên hệ thống Ubuntu của mình.

Trước tiên, hãy chạy lệnh bên dưới để cài đặt các gói ca-certificates và curl.
Mã:
sudo apt install ca-certificates curl
Bây giờ hãy chạy lệnh sau để thêm khóa GPG cho Docker kho lưu trữ.
Mã:
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
Thêm kho lưu trữ Docker bằng lệnh sau:
Mã:
echo
“deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu
(. /etc/os-release && echo "VERSION_CODENAME”) stable" |
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22220%22%3E%3C/svg%3E


Tiếp theo, hãy cập nhật chỉ mục gói Ubuntu của bạn và cài đặt Docker Engine bằng lệnh apt sau. Nhập Y để xác nhận cài đặt.
Mã:
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22233%22%3E%3C/svg%3E


Sau khi cài đặt, dịch vụ docker sẽ chạy và được bật trên hệ thống Ubuntu của bạn.

Chạy lệnh bên dưới để kiểm tra Docker dịch vụ.
Mã:
sudo systemctl is-enabled docker
sudo systemctl status docker
Bạn sẽ thấy kết quả tương tự bên dưới:


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22225%22%3E%3C/svg%3E

Thiết lập người dùng để chạy Docker​

Sau khi cài đặt Docker, bạn phải thêm người dùng của mình vào nhóm docker. Điều này cho phép bạn chạy container với tư cách là người dùng không phải root.

Để thêm người dùng của bạn vào nhóm docker, hãy chạy lệnh bên dưới. Thay đổi tên người dùng bằng người dùng của bạn.
Mã:
sudo usermod -aG docker username
Bây giờ hãy đăng nhập bằng người dùng của bạn và chạy lệnh docker để xác minh cấu hình của bạn.
Mã:
su - username
docker run hello-world
Nếu cấu hình của bạn thành công, bạn sẽ thấy thông báo Hello World từ Docker.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22510%22%3E%3C/svg%3E

Cài đặt Cachet bằng Docker​

Bây giờ bạn đã cài đặt Docker Engine và cấu hình người dùng của mình, bạn sẽ tải xuống dự án Cachet, thiết lập tệp docker-compose.yml, xây dựng hình ảnh và cấu hình lại vùng chứa cho Cachet, sau đó chạy Cachet dưới dạng vùng chứa.

Tải xuống phiên bản Cachet docker vào thư mục cachet-docker và di chuyển vào nó.
Mã:
git clone https://github.com/cachethq/Docker.git cachet-docker
cd cachet-docker
Chỉnh sửa docker-compose.yml bằng trình chỉnh sửa nano.
Mã:
nano docker-compose.yml
Thay đổi cổng mặc định thành 8000 cho cả container và Docker host.
Mã:
ports:
 - 8000:8000
Lưu tệp và thoát.

Bây giờ hãy chạy lệnh docker bên dưới để xây dựng hình ảnh Cachet và khởi động vùng chứa Cachet.
Mã:
docker compose build
docker compose up
Trong quá trình xây dựng, bạn sẽ thấy thông tin sau:


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22318%22%3E%3C/svg%3E


Khi khởi động vùng chứa Cachet, bạn sẽ nhận được kết quả như sau:


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22426%22%3E%3C/svg%3E


Lần đầu tiên bạn chạy Cahet, nó sẽ tạo ra một APP_KEY mới như sau - Sao chép APP_KEY và nhấn Ctrl+c để kết thúc vùng chứa Cachet.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%2258%22%3E%3C/svg%3E


Tiếp theo, chỉnh sửa lại tệp docker-compose.yml và thay thế APP_KEY như sau:
Mã:
APP_KEY=base64:6ltZ62B69p6oxIVeQtf9jpX5BFvgUXU2qk5eXpw3OIQ=
Lưu tệp và thoát.

Bây giờ hãy chạy lệnh docker bên dưới để xóa các container cũ và các container Cachet mới.
Mã:
docker compose down
docker compose up -d
Cuối cùng, hãy chạy lệnh sau để kiểm tra các container đang chạy hoặc dịch vụ.
Mã:
docker compose ps
Bạn có thể thấy bên dưới rằng vùng chứa Cachet đang chạy trên cổng 8000.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22331%22%3E%3C/svg%3E

Thiết lập Nginx làm proxy ngược​

Trong hướng dẫn này, bạn sẽ chạy Cachet với Nginx như một proxy ngược. Vì vậy, bây giờ bạn sẽ cài đặt Nginx và một khối máy chủ mới cho một proxy ngược. Đảm bảo rằng bạn đã chuẩn bị tên miền và trỏ đến địa chỉ IP của máy chủ.

Để cài đặt máy chủ web Nginx, hãy chạy lệnh apt sau. Nhập Y để tiếp tục cài đặt.
Mã:
sudo apt install nginx

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22745%22%20height=%22330%22%3E%3C/svg%3E


Sau khi cài đặt hoàn tất, hãy tạo tệp khối máy chủ Nginx mới /etc/nginx/sites-available/cachet.conf với nano biên tập viên.
Mã:
sudo nano /etc/nginx/sites-available/cachet.conf
Dán cấu hình sau và đảm bảo thay đổi status.howtoforge.local bằng tên miền của bạn.
Mã:
server {
 listen 80;
 server_name status.howtoforge.local;
 location / {
 proxy_pass http://127.0.0.1:8000;
 proxy_set_header Host $host;
 proxy_set_header X-Real-IP $remote_addr;
 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
 proxy_set_header X-Forwarded-Proto $scheme;
 }
}
Khi hoàn tất, hãy lưu tệp và thoát khỏi trình chỉnh sửa.

Bây giờ hãy chạy lệnh bên dưới để kích hoạt tệp khối máy chủ cachet.conf /và xác minh cú pháp Nginx của bạn. Nếu bạn có cú pháp đúng, bạn sẽ thấy đầu ra test- is successful - syntax is ok.
Mã:
sudo ln -s /etc/nginx/sites-available/cachet.conf /etc/nginx/sites-enabled/
sudo nginx -t

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22142%22%3E%3C/svg%3E


Cuối cùng, hãy chạy lệnh systemctl bên dưới để khởi động lại dịch vụ Nginx và áp dụng các thay đổi của bạn. Sau đó, hãy kiểm tra trạng thái dịch vụ Nginx để đảm bảo dịch vụ đang chạy.
Mã:
sudo systemctl restart nginx
sudo systemctl status nginx
Bạn có thể thấy bên dưới dịch vụ Nginx đang chạy như một proxy ngược cho cài đặt Cachet.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22224%22%3E%3C/svg%3E

Bảo mật Cachet bằng HTTPS​

Lúc này, Cachet đang chạy trong một container và bạn đã cấu hình Nginx làm proxy ngược cho nó. Để bảo mật Cachet, bạn sẽ tạo chứng chỉ SSL và triển khai HTTPS thông qua Certbot và Letsencrypt.

Cài đặt plugin Certbot và Certbot Nginx bằng lệnh apt sau. Nhấn Y để xác nhận cài đặt.
Mã:
sudo apt install certbot python3-certbot-nginx
Bây giờ hãy chạy lệnh certbot bên dưới để tạo chứng chỉ SSL và bảo mật Cachet bằng HTTPS. Hãy đảm bảo thay đổi tên miền và địa chỉ email bằng thông tin của bạn.
Mã:
sudo certbot --nginx
Sau khi quá trình hoàn tất, chứng chỉ SSL của bạn sẽ có trong thư mục /etc/letsencrypt/live/domain.com và cài đặt Cachet của bạn sẽ được bảo mật bằng HTTPS.

Cài đặt Cachet​

Truy cập tên miền Cachet của bạn như https://status.howtoforge.local/ bằng trình duyệt web bạn thích. bạn sẽ thấy trình hướng dẫn cài đặt.

Trong phần Thiết lập môi trường, hãy chọn Cache, Queue và Session mặc định là Database và nhập thông tin SMTP của bạn.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22473%22%3E%3C/svg%3E


Tạo trang trạng thái đầu tiên của bạn và nhấp vào Tiếp theo để tiếp tục.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22480%22%3E%3C/svg%3E


Nhập tên người dùng quản trị viên mới, địa chỉ email và mật khẩu để cài đặt Cachet.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22426%22%3E%3C/svg%3E


Sau khi quá trình cài đặt hoàn tất, bạn sẽ thấy thông báo Cachet has been configure successfully. Sau đó, nhấp vào Go to dashboard để truy cập Cachet.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22379%22%3E%3C/svg%3E


Nhập tên người dùng và mật khẩu quản trị viên của bạn, sau đó nhấp vào Đăng nhập.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22431%22%20height=%22460%22%3E%3C/svg%3E


Nếu bạn có thông tin xác thực chính xác, bạn sẽ thấy bảng điều khiển Cachet như sau:


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22309%22%3E%3C/svg%3E

Kết luận​

Xin chúc mừng! Bạn đã hoàn tất cài đặt trang trạng thái Cachet trên máy chủ Ubuntu 24.04 với Docker. Bạn đã cấu hình Nginx làm proxy ngược cho Cachet và bảo mật Cachet bằng HTTPS thông qua Certbot và Letsencrypt. Bây giờ bạn có thể thêm và giám sát các trang web hoặc dịch vụ của mình bằng Cachet và thiết lập các thông báo bổ sung với địa chỉ email, v.v.
 
Back
Bên trên