Lưu trữ file nội bộ: Doanh nghiệp nên chọn giải pháp nào?
Thử nhìn vào một văn phòng 30 nhân sự điển hình. Hàng ngày, phòng kế toán gửi báo cáo qua Zalo, nhân sự gửi hợp đồng qua Google Drive cá nhân, còn đội kỹ thuật chuyền tay nhau một chiếc USB. Đến hạn quyết toán năm ngoái, đường link đã lăn ra hết hạn. Một nhân sự nghỉ việc mang theo luôn quyền truy cập kho tài liệu dự án. Nguy hiểm nhất là hợp đồng mật có nguy cơ rò rỉ ra ngoài bất cứ lúc nào.
Để chấm dứt cảnh lộn xộn này, dân IT thường cân nhắc 3 hướng đi:
- Thuê Public Cloud (Google Workspace, Dropbox, Microsoft 365): Đăng ký là dùng ngay, không tốn công dựng hệ thống.
- Mua ổ cứng mạng NAS (Synology, QNAP): Cắm thiết bị cứng ngay tại văn phòng và share thư mục qua mạng LAN.
- Tự triển khai Private Cloud mã nguồn mở (Nextcloud trên Linux): Cài đặt máy chủ đám mây lên VPS hoặc server nội bộ, nắm quyền sở hữu 100% dữ liệu.
So sánh thực tế: Chi phí và bài toán đánh đổi
Mỗi giải pháp đều có cái giá riêng. Lựa chọn phụ thuộc vào ngân sách và nhân lực kỹ thuật của công ty bạn.
1. Thuê Public Cloud thương mại
- Ưu điểm: Cực kỳ nhàn. Không cần IT vận hành, uptime đạt 99.9% và tích hợp sẵn công cụ soạn thảo trực tuyến mượt mà.
- Nhược điểm: Chi phí tăng chóng mặt theo quy mô. Với gói Google Workspace Business Standard (12 USD/user/tháng), công ty 30 người sẽ ngốn khoảng 9 triệu đồng mỗi tháng, tương đương hơn 100 triệu đồng một năm. Ngoài ra, việc gửi toàn bộ dữ liệu kinh doanh lên máy chủ bên thứ ba luôn tiềm ẩn rủi ro về bảo mật và tuân thủ.
2. Đầu tư thiết bị NAS vật lý
- Ưu điểm: Tốc độ truyền file trong mạng nội bộ cực kỳ ấn tượng, chạm mốc 100–110 MB/s qua cổng LAN 1Gbps tiêu chuẩn. Giao diện thân thiện, người không rành kỹ thuật vẫn dùng được.
- Nhược điểm: Tiền mua thiết bị ban đầu khá đắt. Một thiết bị NAS 4 khay kèm 4 ổ cứng 4TB đã tốn từ 20 đến 35 triệu đồng. Chưa kể khi nhân viên làm việc từ xa (remote hay hybrid), việc mở port ra ngoài Internet tiềm ẩn rủi ro bị quét lỗ hổng và nhiễm ransomware rất cao nếu thiếu tường lửa chuyên dụng hoặc VPN.
3. Tự triển khai Nextcloud trên CentOS Stream 9
- Ưu điểm: Hoàn toàn miễn phí bản quyền. Bạn có thể tạo 30 hay 300 tài khoản tùy thích mà không mất thêm một đồng phí user nào. Ứng dụng đồng bộ trên Windows, macOS, Android và iOS đều hoạt động ổn định. Toàn bộ file nằm an toàn trên hạ tầng của bạn.
- Nhược điểm: Đòi hỏi bạn phải biết quản trị Linux căn bản để dựng LAMP stack, cấu hình tường lửa và xử lý sự cố khi cần.
Tại sao chọn CentOS Stream 9 làm nền tảng?
CentOS Stream 9 mang lại nhân Kernel 5.14 hiện đại, các gói phần mềm mới và kế thừa trọn vẹn độ ổn định chuẩn doanh nghiệp của hệ sinh thái Red Hat Enterprise Linux (RHEL). Đây là bước đệm lý tưởng để triển khai các hạ tầng dịch vụ chạy 24/7 mà không lo lỗi vặt.
Để phục vụ tốt cho văn phòng 30–50 người, bạn chỉ cần chuẩn bị một máy chủ (hoặc VPS) có cấu hình tối thiểu: 2–4 vCPU, 4GB RAM và ổ cứng SSD/NVMe tùy dung lượng lưu trữ cần dùng.
Các bước cài đặt Nextcloud trên CentOS Stream 9
Quy trình triển khai gồm 7 bước: cài web server, cấu hình MariaDB, thiết lập PHP 8.2, tải mã nguồn, tạo VirtualHost, phân quyền SELinux và hoàn tất trên web.
Bước 1: Cài đặt Web Server và Database
Cập nhật hệ thống lên phiên bản mới nhất, sau đó cài đặt Apache và MariaDB:
sudo dnf update -y
sudo dnf install -y httpd mariadb-server mariadb
Kích hoạt để hai dịch vụ này tự động chạy cùng hệ thống mỗi khi khởi động:
sudo systemctl enable --now httpd
sudo systemctl enable --now mariadb
Chạy script bảo mật để đặt mật khẩu root và dọn dẹp database thử nghiệm:
sudo mysql_secure_installation
Bước 2: Cài đặt PHP 8.2 và các module cần thiết
Nextcloud chạy tối ưu nhất trên PHP 8.2. Kho mặc định của CentOS 9 thường chỉ có bản PHP thấp hơn, vì vậy bạn cần bật kho lưu trữ Remi:
sudo dnf install -y epel-release
sudo dnf install -y https://rpms.remirepo.net/enterprise/remi-release-9.rpm
sudo dnf module reset php -y
sudo dnf module enable php:remi-8.2 -y
Tiếp theo, cài đặt PHP 8.2 cùng các extension bắt buộc. Chú ý cài thêm php-opcache và php-pecl-apcu để hệ thống phản hồi nhanh hơn:
sudo dnf install -y php php-cli php-mysqlnd php-zip php-devel php-gd php-mbstring php-curl php-xml php-pear php-bcmath php-pdo php-opcache php-pecl-apcu php-pecl-imagick php-intl php-gmp
Bước 3: Tạo cơ sở dữ liệu cho Nextcloud
Đăng nhập vào MariaDB bằng tài khoản root:
sudo mysql -u root -p
Tạo database, tài khoản riêng và cấp quyền truy cập. Nhớ đổi mật khẩu mẫu thành mật khẩu phức tạp của bạn:
CREATE DATABASE nextcloud_db CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE USER 'nextcloud_user'@'localhost' IDENTIFIED BY 'MatKhauRatKho123@#';
GRANT ALL PRIVILEGES ON nextcloud_db.* TO 'nextcloud_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Bước 4: Tải và thiết lập mã nguồn Nextcloud
Tải gói cài đặt Nextcloud mới nhất về thư mục web:
cd /var/www/html
sudo dnf install -y wget unzip
sudo wget https://download.nextcloud.com/server/releases/latest.zip
sudo unzip latest.zip
sudo rm -f latest.zip
Về nguyên tắc bảo mật, thư mục chứa dữ liệu người dùng (data) nên nằm ngoài web root để tránh nguy cơ lộ file trực tiếp qua URL. Hãy tạo thư mục /var/nextcloud_data riêng biệt:
sudo mkdir -p /var/nextcloud_data
sudo chown -R apache:apache /var/www/html/nextcloud
sudo chown -R apache:apache /var/nextcloud_data
sudo chmod -R 755 /var/www/html/nextcloud
sudo chmod -R 750 /var/nextcloud_data
Bước 5: Cấu hình VirtualHost cho Apache
Tạo file cấu hình virtual host cho trang lưu trữ:
sudo nano /etc/httpd/conf.d/nextcloud.conf
Dán nội dung sau vào file (thay cloud.yourdomain.com bằng tên miền thực tế của bạn):
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /var/www/html/nextcloud/
ServerName cloud.yourdomain.com
<Directory /var/www/html/nextcloud/>
Options +FollowSymlinks
AllowOverride All
Require all granted
</Directory>
ErrorLog /var/log/httpd/nextcloud_error.log
CustomLog /var/log/httpd/nextcloud_access.log combined
</VirtualHost>
Khởi động lại Apache để áp dụng cấu hình mới:
sudo systemctl restart httpd
Bước 6: Mở port Firewall và gán nhãn SELinux
Quên mở firewall hoặc cấu hình sai SELinux là nguyên nhân hàng đầu gây lỗi trắng trang hoặc mã lỗi 403 Forbidden trên dòng RHEL/CentOS.
Đầu tiên, mở cổng HTTP (80) và HTTPS (443) trên tường lửa:
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
Tiếp theo, cài đặt công cụ quản trị SELinux nếu máy chưa có, sau đó gán nhãn cho phép Apache đọc ghi đúng cách:
sudo dnf install -y policycoreutils-python-utils
sudo setsebool -P httpd_can_network_connect 1
sudo setsebool -P httpd_can_network_connect_db 1
sudo semanage fcontext -a -t httpd_sys_rw_content_t '/var/nextcloud_data(/.*)?'
sudo semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/nextcloud/config(/.*)?'
sudo semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/nextcloud/apps(/.*)?'
sudo restorecon -R -v /var/www/html/nextcloud
sudo restorecon -R -v /var/nextcloud_data
Bước 7: Hoàn tất cài đặt qua giao diện Web
Mở trình duyệt và truy cập vào http://IP_SERVER/nextcloud hoặc tên miền bạn đã trỏ DNS về máy chủ:
- Tạo tài khoản quản trị (Admin username và mật khẩu).
- Tại mục Data folder, đổi đường dẫn thành
/var/nextcloud_data. - Nhập thông tin kết nối MariaDB đã tạo ở Bước 3: Database user (
nextcloud_user), mật khẩu, Database name (nextcloud_db), giữ nguyên host làlocalhost. - Bấm Install và chờ khoảng 1 đến 2 phút để hệ thống tự khởi tạo bảng dữ liệu.
Khi giao diện chính mở ra, đám mây riêng của công ty bạn đã sẵn sàng hoạt động. Bạn có thể phân quyền thư mục theo từng phòng ban, cài ứng dụng đồng bộ lên máy tính nhân viên và tích hợp chứng chỉ SSL miễn phí từ Let’s Encrypt để mã hóa toàn bộ dữ liệu khi truyền tải.

