Yêu cầu phần cứng tối thiểu và chuẩn bị máy chủ
Để đảm bảo Neo4j chạy mượt mà trong môi trường phát triển và sản xuất nhỏ, chúng ta cần xác định rõ cấu hình phần cứng trước khi cài đặt OS.
Cấu hình tối thiểu đề xuất cho Ubuntu 24.04 LTS phục vụ Neo4j:
- CPU: Tối thiểu 2 nhân (vCPU). Neo4j sử dụng đa luồng cho các thao tác xử lý graph.
- RAM: Tối thiểu 4GB. Neo4j cần bộ nhớ để đệm dữ liệu (Page Cache) và chạy JVM. Nếu dưới 4GB, bạn sẽ gặp lỗi OOM (Out of Memory) ngay khi khởi động.
- Disk: Tối thiểu 20GB SSD. SSD là bắt buộc để đảm bảo IOPS cao, vì Neo4j thực hiện rất nhiều đọc/ghi ngẫu nhiên vào các file log và dữ liệu.
- OS: Ubuntu 24.04 LTS (Server hoặc Desktop đều được, ưu tiên Server cho production).
Verify cấu hình
Sau khi đã có máy ảo hoặc server vật lý, hãy chạy lệnh sau để kiểm tra tài nguyên:
cat /proc/cpuinfo | grep "processor" | wc -l && free -h && df -h /
Kết quả mong đợi: Số dòng đầu tiên là số nhân CPU, dòng tiếp theo hiển thị RAM (total >= 4G), và dòng cuối hiển thị dung lượng disk trống (>= 20G).
Cài đặt và khởi tạo Ubuntu 24.04 LTS
Bạn cần cài đặt Ubuntu 24.04 LTS. Nếu dùng máy ảo (VirtualBox/VMware), hãy tải ISO "Server" hoặc "Desktop" từ trang chủ Ubuntu. Nếu dùng Cloud (AWS, GCP, DigitalOcean), hãy chọn image Ubuntu 24.04 LTS.
Trong quá trình cài đặt, đảm bảo chọn phân vùng mặc định (default) và tạo một user thường (non-root) với tên admin hoặc tên của bạn, đồng thời kích hoạt SSH server nếu cài bản Server.
Verify cài đặt OS
Đăng nhập vào máy chủ và kiểm tra phiên bản OS:
lsb_release -a
Kết quả mong đợi: Dòng Description phải hiển thị "Ubuntu 24.04.1 LTS" (hoặc bản mới hơn) và dòng Codename là "noble".
Cấu hình bảo mật SSH và quyền Root
Thao tác này nhằm loại bỏ đăng nhập bằng mật khẩu trực tiếp cho root và chuyển sang dùng SSH Key, đồng thời cấu hình quyền sudo để quản trị an toàn.
Bước 1: Tạo cặp khóa SSH trên máy khách
Trên máy tính cá nhân của bạn (Windows/Mac/Linux), tạo một cặp khóa SSH mới để kết nối vào server:
ssh-keygen -t ed25519 -C "neo4j-admin@your-email.com"
Kết quả mong đợi: Hệ thống tạo ra hai file id_ed25519 (private key) và id_ed25519.pub (public key) trong thư mục .ssh.
Bước 2: Sao chép khóa Public vào Server
Sử dụng lệnh ssh-copy-id để đưa public key vào server Ubuntu. Bạn cần nhập mật khẩu của user thường đã tạo ở bước cài đặt OS.
ssh-copy-id -i ~/.ssh/id_ed25519.pub admin@YOUR_SERVER_IP
Kết quả mong đợi: Thông báo Number of key(s) added: 1 và Now try logging into the machine, with: "ssh 'admin@YOUR_SERVER_IP'".
Bước 3: Đăng nhập bằng Key và cấu hình sudo
Đăng nhập vào server bằng lệnh ssh. Sau đó, đảm bảo user hiện tại có quyền sudo mà không cần nhập mật khẩu (hoặc có quyền sudo đầy đủ).
ssh admin@YOUR_SERVER_IP
Kết quả mong đợi: Kết nối thành công mà không hỏi password, chỉ hiển thị prompt command line.
Tiếp theo, kiểm tra và cập nhật nhóm sudo:
usermod -aG sudo admin
Kết quả mong đợi: Lệnh chạy xong không báo lỗi. User admin đã có quyền quản trị.
Bước 4: Vô hiệu hóa đăng nhập Root và Password Auth
Để tăng cường bảo mật, chúng ta sẽ chỉnh sửa file cấu hình SSH để chỉ cho phép đăng nhập qua Key và chặn root.
Chỉnh sửa file cấu hình SSH:
sudo nano /etc/ssh/sshd_config
Sử dụng các phím mũi tên để tìm và thay đổi các dòng sau. Nếu các dòng bị comment (#), hãy xóa dấu # và sửa giá trị:
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
Sau khi lưu (Ctrl+O, Enter) và thoát (Ctrl+X), hãy restart dịch vụ SSH để áp dụng. Chú ý: Đảm bảo bạn đang đăng nhập bằng Key thành công trước khi restart, nếu không bạn sẽ bị khóa ngoài.
sudo systemctl restart sshd
Kết quả mong đợi: Dịch vụ sshd khởi động lại thành công. Thử mở một terminal mới và đăng nhập lại, bạn sẽ thấy không thể dùng password và không thể dùng user root.
Cập nhật hệ thống và cài đặt công cụ cần thiết
Trước khi cài đặt Neo4j, hệ điều hành cần được cập nhật lên gói mới nhất và cài đặt các công cụ mạng/công cụ phiên bản để tải và xử lý file cài đặt.
Bước 1: Cập nhật repository và upgrade hệ thống
Cập nhật danh sách gói phần mềm và nâng cấp tất cả các gói đã cài lên phiên bản mới nhất.
sudo apt update && sudo apt upgrade -y
Kết quả mong đợi: Quá trình download và cài đặt các gói cập nhật bảo mật, kết thúc bằng thông báo Need to get X B of archives và 0 upgraded (nếu đã mới nhất).
Bước 2: Cài đặt các công cụ cơ bản
Neo4j cần các công cụ sau để tải file installer, tải driver và clone các script tự động hóa:
- curl: Dùng để tải file binary hoặc API.
- wget: Dùng để tải file cài đặt (.tar.gz, .deb).
- git: Dùng để quản lý mã nguồn và script cấu hình.
- vim: Editor văn bản trong dòng lệnh.
- unzip: Giải nén file .zip (cần cho một số driver).
Cài đặt tất cả các gói này trong một lệnh:
sudo apt install -y curl wget git vim unzip
Kết quả mong đợi: Hệ thống hiển thị danh sách các gói sẽ được cài đặt và hỏi xác nhận (nhấn Y), sau đó cài đặt thành công.
Verify kết quả
Kiểm tra phiên bản của các công cụ đã cài để đảm bảo chúng hoạt động:
curl --version | head -n 1 && wget --version | head -n 1 && git --version && vim --version | head -n 1
Kết quả mong đợi: Xuất hiện phiên bản của curl, wget, git và vim. Nếu không có lỗi, môi trường Ubuntu 24.04 đã sẵn sàng cho Phần 2: Cài đặt Neo4j.
Điều hướng series:
Mục lục: Series: Triển khai Database Graph với Neo4j và Ubuntu 24.04
Phần 2: Cài đặt Neo4j Desktop và Neo4j Server trên Ubuntu 24.04 »