Thêm Repository và Key GPG của MongoDB
Bước đầu tiên là thêm repository chính thức của MongoDB cho Ubuntu 24.04 vào hệ thống. Điều này đảm bảo bạn nhận được các bản cập nhật an toàn và phiên bản mới nhất trực tiếp từ MongoDB.
Tải key GPG để xác thực tính toàn vẹn của gói phần mềm.
curl -fsSL https://www.mongodb.org/static/pgp/server-7.0.asc | gpg --dearmor -o /usr/share/keyrings/mongodb-server-7.0.gpg
Kết quả mong đợi: Không có thông báo lỗi, file key được tạo tại đường dẫn chỉ định.
Thêm repository vào danh sách nguồn cài đặt của apt.
echo "deb [ signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] http://repo.mongodb.org/apt/ubuntu noble/mongodb-org/7.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list
Kết quả mong đợi: Nội dung repository được ghi vào file list, dòng chữ hiện ra trên terminal.
Verify Repository
Kiểm tra xem repository đã được nhận diện chưa bằng lệnh update.
sudo apt update
Kết quả mong đợi: Dòng thông báo "Hit: ... http://repo.mongodb.org/apt/ubuntu noble/mongodb-org/7.0 multiverse" xuất hiện, không có lỗi 404.
Cài đặt Gói MongoDB
Cài đặt mongod và mongosh
Cài đặt gói dịch vụ server (mongod) và công cụ dòng lệnh tương tác (mongosh). Chúng ta chỉ cài các gói cốt lõi để giữ hệ thống gọn nhẹ, tránh cài thêm các công cụ không cần thiết.
sudo apt install -y mongodb-mongosh mongodb-org
Kết quả mong đợi: apt hiển thị danh sách các gói sẽ cài đặt, yêu cầu xác nhận (do có flag -y nên tự động yes), và quá trình cài đặt hoàn tất.
Verify Installation
Kiểm tra phiên bản đã cài đặt để đảm bảo đúng phiên bản 7.0 như đã cấu hình repository.
mongod --version
Kết quả mong đợi: Xuất hiện dòng "db version v7.0.x..." và "Build Info" tương ứng.
mongosh --version
Kết quả mong đợi: Xuất hiện dòng phiên bản của shell, ví dụ "MongoDB shell version v7.0.x".
Cấu hình File Cơ bản /etc/mongod.conf
Chỉnh sửa đường dẫn dữ liệu và log
File cấu hình mặc định của MongoDB trên Ubuntu 24.04 nằm tại /etc/mongod.conf. Mặc định, MongoDB lưu dữ liệu tại /var/lib/mongodb và log tại /var/log/mongodb. Tuy nhiên, để chuẩn hóa cho môi trường production, chúng ta sẽ cấu hình rõ ràng đường dẫn dữ liệu (dbPath) và file log (logpath).
Trước khi chỉnh sửa, sao lưu file cấu hình gốc để phòng trường hợp cần khôi phục.
sudo cp /etc/mongod.conf /etc/mongod.conf.bak
Kết quả mong đợi: File .bak được tạo, không có lỗi.
Thay thế toàn bộ nội dung file /etc/mongod.conf bằng cấu hình tối ưu cơ bản dưới đây. Cấu hình này định nghĩa rõ ràng thư mục dữ liệu và log, đồng thời bật chế độ journaling để đảm bảo tính toàn vẹn dữ liệu.
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongodb.log
storage:
dbPath: /var/lib/mongodb
journal:
enabled: true
net:
port: 27017
bindIp: 127.0.0.1
processManagement:
timeZoneInfo: /usr/share/zoneinfo
Kết quả mong đợi: File /etc/mongod.conf được ghi đè với nội dung trên. Lưu ý: bindIp đang để 127.0.0.1 (chỉ localhost), đây là cấu hình an toàn mặc định.
Verify Configuration Syntax
Kiểm tra cú pháp file cấu hình trước khi khởi động dịch vụ để tránh lỗi khởi động.
mongod --config /etc/mongod.conf --fork
Kết quả mong đợi: Xuất hiện dòng "configured server process started" hoặc tương tự. Nếu có lỗi, nó sẽ in ra chi tiết lỗi cú pháp YAML. (Chạy lệnh này chỉ để test, sau đó dừng lại bằng bước tiếp theo).
Quản lý Dịch vụ Systemd
Khởi động và Kích hoạt tự động MongoDB
Ubuntu 24.04 sử dụng systemd để quản lý dịch vụ. Chúng ta cần khởi động dịch vụ ngay lập tức và cấu hình nó tự động chạy khi máy khởi động lại (boot).
Khởi động dịch vụ mongod.
sudo systemctl start mongod
Kết quả mong đợi: Không có lỗi, lệnh chạy xong.
Kích hoạt tự động khởi động khi boot.
sudo systemctl enable mongod
Kết quả mong đợi: Dòng thông báo "Created symlink /etc/systemd/system/multi-user.target.wants/mongod.service..."
Verify Service Status
Kiểm tra trạng thái hiện tại của dịch vụ để đảm bảo nó đang chạy (Active: running) và không có lỗi.
sudo systemctl status mongod
Kết quả mong đợi:
- Dòng trạng thái: "Active: active (running)"
- Dòng Process: "Main PID: "
- Không có dòng lỗi "failed" hay "error" trong phần Recent log.
Kiểm tra xem MongoDB có đang lắng nghe cổng 27017 không.
ss -tulpn | grep 27017
Kết quả mong đợi: Xuất hiện dòng hiển thị mongod đang lắng nghe trên 0.0.0.0:27017 hoặc 127.0.0.1:27017 tùy theo cấu hình bindIp.
Điều hướng series:
Mục lục: Series: Triển khai Database Document với MongoDB và Ubuntu 24.04
« Phần 1: Chuẩn bị môi trường Ubuntu 24.04 và yêu cầu hệ thống
Phần 3: Cấu hình bảo mật, xác thực và quản lý user MongoDB »