Nextcloud là phần mềm nguồn mở để lưu trữ tệp công khai và riêng tư. Nó cho phép bạn tạo các dịch vụ tự lưu trữ như Dropbox, Google Drive hoặc Mega.nz. Ban đầu, nó được tạo ra bởi nhà phát triển Owncloud gốc, Frank Karlitschek. Vào năm 2016, ông đã phân nhánh dự án Owncloud và tạo ra một dự án mới với tên mới là “Nextcloud”.
Dự án Nextcloud đang phát triển nhanh chóng và trở thành nhiều hơn là phần mềm lưu trữ tệp. Nó giống như một nền tảng đồng bộ hóa tệp và cộng tác nội dung hơn. Được hỗ trợ bởi nhiều plugin, Nextcloud đã trở thành một phần mềm cộng tác mạnh mẽ như vậy. Bạn có thể cài đặt các plugin để quản lý dự án, hội nghị truyền hình, chỉnh sửa cộng tác, ghi chú, ứng dụng email, v.v.
Hướng dẫn này hướng dẫn bạn cách cài đặt Nextcloud trên máy chủ Ubuntu 24.04. Bạn sẽ cài đặt Nextcloud với LAMP Stack và sau đó bảo mật Netxcloud bằng HTTPS thông qua Certbot và Letsencrypt.
Trước khi bắt đầu, hãy chạy lệnh bên dưới để cập nhật chỉ mục gói Ubuntu của bạn
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22693%22%20height=%22208%22%3E%3C/svg%3E
Bây giờ, hãy cài đặt Các phụ thuộc của Nextcloud bằng lệnh apt install sau. Lệnh này sẽ cài đặt LAMP Stack (Linux, Apache, MySQL/MariaDB và PHP), curl, unzip, ImageMagick và certbot.
Nhập Y để xác nhận cài đặt.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22197%22%3E%3C/svg%3E
Sau khi cài đặt, hãy kiểm tra trạng thái máy chủ web Apache bằng lệnh bên dưới. Bạn sẽ thấy máy chủ web Apache đang chạy và được bật.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22233%22%3E%3C/svg%3E
Bây giờ hãy kiểm tra trạng thái máy chủ MariaDB bằng lệnh sau. Bạn sẽ nhận được kết quả tương tự khi MariaDB đang chạy.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22205%22%3E%3C/svg%3E
Cuối cùng, hãy chạy lệnh bên dưới để kiểm tra phiên bản PHP của hệ thống. Bạn sẽ thấy PHP 8.3 đã được cài đặt.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22683%22%20height=%22161%22%3E%3C/svg%3E
Mở tệp /etc/php/8.3/apache2/php.ini bằng trình chỉnh sửa nano.
Thay đổi cấu hình mặc định bằng cấu hình sau và đảm bảo điều chỉnh memory_limit bằng bộ nhớ tối đa của bạn và date.timezone bằng máy chủ của bạn location/timezone.
Khi hoàn tất, hãy lưu tệp và thoát.
Bây giờ hãy chạy lệnh systemctl sau đây để khởi động lại máy chủ web Apache và áp dụng cấu hình PHP mới của bạn.
Để bảo mật máy chủ MariaDB, hãy chạy lệnh mariadb-secure-installation bên dưới.
Trong quá trình này, bạn sẽ được hỏi về các cấu hình máy chủ MariaDB sau:
Chạy các truy vấn sau để tạo cơ sở dữ liệu mới nextclouddb, người dùng nextcloud@localhost, với mật khẩu passw0rd. Bạn có thể điều chỉnh thông tin chi tiết về cơ sở dữ liệu bằng thông tin của mình.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22248%22%3E%3C/svg%3E
Bây giờ hãy chạy truy vấn bên dưới để đảm bảo rằng người dùng nextcloud@localhost có thể truy cập cơ sở dữ liệu nextclouddb.
Bạn sẽ thấy đầu ra như sau:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22280%22%3E%3C/svg%3E
Gõ quit để thoát khỏi máy chủ MariaDB.
Để mở cả cổng HTTP và HTTPS trên Ubuntu, hãy thực hiện lệnh ufw bên dưới. Với cấu hình Apache Full, bạn sẽ cho phép kết nối đến các cổng HTTP và HTTPS.
Bây giờ hãy xác minh các quy tắc danh sách trên UFW bằng lệnh bên dưới. Đảm bảo rằng cấu hình Apache Full được bật trên máy chủ Ubuntu của bạn.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22581%22%20height=%22356%22%3E%3C/svg%3E
Đi đến thư mục /var/www và tải xuống mã nguồn Nextcloud bằng lệnh curl bên dưới.
Sau khi tải xuống, hãy chạy lệnh giải nén bên dưới để giải nén Nextcloud. Lệnh này sẽ đặt thư mục gốc Netxcloud thành /var/www/nextcloud.
Bây giờ hãy chạy lệnh bên dưới để thay đổi quyền sở hữu thư mục /var/www/nextcloud thành người dùng www-data.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22133%22%3E%3C/svg%3E
Tạo cấu hình máy chủ ảo Apache mới /etc/apache2/sites-available/nextcloud.conf bằng trình chỉnh sửa nano sau.
Chèn cấu hình bên dưới và đảm bảo thay đổi tên miền nextcloud.howtoforge.local.
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 máy chủ ảo nextcloud.conf và xác minh cú pháp Apache của bạn. Nếu bạn có cú pháp Apache đúng, bạn sẽ nhận được kết quả Cú pháp OK.
Tiếp theo, chạy lệnh systemctl bên dưới để khởi động lại máy chủ web Apache và áp dụng các thay đổi của bạn.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22257%22%3E%3C/svg%3E
Sau khi Apache khởi động lại, hãy chạy lệnh certbot bên dưới để tạo chứng chỉ SSL và bảo mật cài đặt Nextcloud của bạn 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.
Trên trang cài đặt Nextcloud, hãy cấu hình như sau:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22532%22%3E%3C/svg%3E
Bây giờ bạn có thể cài đặt một số ứng dụng Nextcloud hoặc nhấp vào Bỏ qua.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22641%22%3E%3C/svg%3E
Sau khi quá trình hoàn tất, bạn sẽ thấy trang sau:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22462%22%3E%3C/svg%3E
Dự án Nextcloud đang phát triển nhanh chóng và trở thành nhiều hơn là phần mềm lưu trữ tệp. Nó giống như một nền tảng đồng bộ hóa tệp và cộng tác nội dung hơn. Được hỗ trợ bởi nhiều plugin, Nextcloud đã trở thành một phần mềm cộng tác mạnh mẽ như vậy. Bạn có thể cài đặt các plugin để quản lý dự án, hội nghị truyền hình, chỉnh sửa cộng tác, ghi chú, ứng dụng email, v.v.
Hướng dẫn này hướng dẫn bạn cách cài đặt Nextcloud trên máy chủ Ubuntu 24.04. Bạn sẽ cài đặt Nextcloud với LAMP Stack và sau đó bảo mật Netxcloud bằng HTTPS thông qua Certbot và Letsencrypt.
Điều kiện tiên quyết
Trước khi bắt đầu, hãy đảm bảo bạn có những điều sau:- 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ủ
- Tường lửa đơn giản (UFW) đang hoạt động
Cài đặt các phụ thuộc
Trong phần này, bạn sẽ cài đặt gói sự phụ thuộc cho Nextcloud. Bạn sẽ chạy Nextcloud với LAMP Stack, sử dụng curl để tải xuống mã nguồn Nextcloud, sau đó sử dụng Certbot và Letsencrypt để bảo mật nextcloud bằng HTTPS.Trước khi bắt đầu, hãy chạy lệnh bên dưới để cập nhật chỉ mục gói Ubuntu của bạn
Mã:
sudo apt update
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22693%22%20height=%22208%22%3E%3C/svg%3E
Bây giờ, hãy cài đặt Các phụ thuộc của Nextcloud bằng lệnh apt install sau. Lệnh này sẽ cài đặt LAMP Stack (Linux, Apache, MySQL/MariaDB và PHP), curl, unzip, ImageMagick và certbot.
Mã:
sudo apt install apache2 mariadb-server php php-curl php-cli php-mysql php-gd php-common php-xml php-json php-intl php-pear php-imagick php-dev php-common php-mbstring php-zip php-soap php-bz2 php-bcmath php-gmp php-apcu libmagickcore-dev php-redis php-memcached curl unzip imagemagick certbot python3-certbot-apache
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22197%22%3E%3C/svg%3E
Sau khi cài đặt, hãy kiểm tra trạng thái máy chủ web Apache bằng lệnh bên dưới. Bạn sẽ thấy máy chủ web Apache đang chạy và được bật.
Mã:
sudo systemctl is-enabled apache2
sudo systemctl status apache2
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22233%22%3E%3C/svg%3E
Bây giờ hãy kiểm tra trạng thái máy chủ MariaDB bằng lệnh sau. Bạn sẽ nhận được kết quả tương tự khi MariaDB đang chạy.
Mã:
sudo systemctl is-enabled mariadb
sudo systemctl status mariadb
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22205%22%3E%3C/svg%3E
Cuối cùng, hãy chạy lệnh bên dưới để kiểm tra phiên bản PHP của hệ thống. Bạn sẽ thấy PHP 8.3 đã được cài đặt.
Mã:
php -v
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22683%22%20height=%22161%22%3E%3C/svg%3E
Cấu hình PHP
Sau khi cài đặt các phụ thuộc, bạn sẽ cấu hình PHP bằng cách chỉnh sửa tệp php.ini. Bạn có thể điều chỉnh cấu hình PHP khi cần cho một số tùy chọn, chẳng hạn như giới hạn bộ nhớ tối đa và kích thước tải lên tối đa.Mở tệp /etc/php/8.3/apache2/php.ini bằng trình chỉnh sửa nano.
Mã:
sudo nano /etc/php/8.3/apache2/php.ini
Mã:
date.timezone = Europe/Amsterdam
memory_limit = 512M
upload_max_filesize = 500M
post_max_size = 600M
max_execution_time = 300
file_uploads = On
allow_url_fopen = On
display_errors = Off
output_buffering = Off
Bây giờ hãy chạy lệnh systemctl sau đây để khởi động lại máy chủ web Apache và áp dụng cấu hình PHP mới của bạn.
Mã:
sudo systemctl restart apache2
Cấu hình máy chủ MariaDB
Bây giờ bạn đã cấu hình PHP, bạn sẽ cấu hình máy chủ MariaDB và tạo cơ sở dữ liệu và người dùng mới cho Nextcloud. Bạn sẽ bảo mật MariaDB bằng tiện ích mariadb-secure-installation, sau đó tạo cơ sở dữ liệu và người dùng mới thông qua máy khách mariadb.Để bảo mật máy chủ MariaDB, hãy chạy lệnh mariadb-secure-installation bên dưới.
Mã:
sudo mariadb-secure-installation
- Nhấn ENTER khi được yêu cầu nhập mật khẩu gốc MariaDB.
- Nhập n khi được hỏi về phương thức xác thực unix_socket.
- Nhập Y để thiết lập mật khẩu mới cho người dùng gốc MariaDB. Sau đó, nhập mật khẩu mới và lặp lại.
- Nhập Y để xóa người dùng ẩn danh mặc định khỏi MariaDB.
- Sau đó, nhập Y một lần nữa để vô hiệu hóa đăng nhập từ xa cho người dùng gốc MariaDB.
- Nhập Y để xóa kiểm tra cơ sở dữ liệu mặc định khỏi MariaDB.
- Cuối cùng, nhập Y một lần nữa để tải lại các đặc quyền của bảng và áp dụng các thay đổi.
Mã:
sudo mariadb -u root -p
Mã:
CREATE DATABASE nextclouddb;
CREATE USER nextcloud@localhost IDENTIFIED BY 'passw0rd';
GRANT ALL PRIVILEGES ON nextclouddb.* to nextcloud@localhost;
FLUSH PRIVILEGES;
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22248%22%3E%3C/svg%3E
Bây giờ hãy chạy truy vấn bên dưới để đảm bảo rằng người dùng nextcloud@localhost có thể truy cập cơ sở dữ liệu nextclouddb.
Mã:
SHOW GRANTS FOR nextcloud@localhost;
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22280%22%3E%3C/svg%3E
Gõ quit để thoát khỏi máy chủ MariaDB.
Mở HTTP và Cổng HTTPS
Trong phần này, bạn sẽ mở các cổng HTTP và HTTPS để cho phép truy cập vào Nextcloud. Vì vậy, bạn phải đảm bảo rằng UFW được định cấu hình và bật trên máy chủ Ubuntu của mình.Để mở cả cổng HTTP và HTTPS trên Ubuntu, hãy thực hiện lệnh ufw bên dưới. Với cấu hình Apache Full, bạn sẽ cho phép kết nối đến các cổng HTTP và HTTPS.
Mã:
sudo ufw allow 'Apache Full'
sudo ufw reload
Mã:
sudo ufw status
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22581%22%20height=%22356%22%3E%3C/svg%3E
Đang tải Nextcloud
Bây giờ bạn đã cấu hình PHP, MariaDB và UFW, bạn sẽ tải xuống mã nguồn Nextcloud và thiết lập thư mục gốc tài liệu để cài đặt Nextcloud.Đi đến thư mục /var/www và tải xuống mã nguồn Nextcloud bằng lệnh curl bên dưới.
Mã:
cd /var/www/
sudo curl -o nextcloud.zip https://download.nextcloud.com/server/releases/latest.zip
Mã:
sudo unzip nextcloud.zip
Mã:
sudo chown -R www-data:www-data /var/www/nextcloud
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22133%22%3E%3C/svg%3E
Thiết lập máy chủ ảo Apache cho Nextcloud
Sau khi tải xuống Nextcloud, bạn sẽ tạo một máy chủ ảo Apache mới cho Nextcloud. Sau đó, bạn sẽ tạo chứng chỉ SSL và bảo mật Nextcloud bằng HTTPS.Tạo cấu hình máy chủ ảo Apache mới /etc/apache2/sites-available/nextcloud.conf bằng trình chỉnh sửa nano sau.
Mã:
sudo nano /etc/apache2/sites-available/nextcloud.conf
Mã:
ServerName nextcloud.howtoforge.local
DocumentRoot /var/www/nextcloud/
# log files
ErrorLog /var/log/apache2/nextclouds.howtoforge.local-error.log
CustomLog /var/log/apache2/nextcloud.howtoforge.local-access.log combined
Options +FollowSymlinks
AllowOverride All
Dav off
SetEnv HOME /var/www/nextcloud
SetEnv HTTP_HOME /var/www/nextcloud
Bây giờ hãy chạy lệnh bên dưới để kích hoạt tệp máy chủ ảo nextcloud.conf và xác minh cú pháp Apache của bạn. Nếu bạn có cú pháp Apache đúng, bạn sẽ nhận được kết quả Cú pháp OK.
Mã:
sudo a2ensite nextcloud.conf
sudo apachectl configtest
Mã:
sudo systemctl restart apache2
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22257%22%3E%3C/svg%3E
Sau khi Apache khởi động lại, hãy chạy lệnh certbot bên dưới để tạo chứng chỉ SSL và bảo mật cài đặt Nextcloud của bạn 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 --apache --agree-tos --redirect --hsts --staple-ocsp --email [emailprotected] -d nextcloud.howtoforge.local
Cài đặt Nextcloud
Mở trình duyệt web của bạn và truy cập https://nexcloud.howtoforge.local/. Nếu cấu hình thành công, bạn sẽ thấy trang cài đặt Nextcloud.Trên trang cài đặt Nextcloud, hãy cấu hình như sau:
- Nhập tên người dùng và mật khẩu quản trị viên của bạn cho Nextcloud
- Chọn đường dẫn lưu trữ làm thư mục mặc định
- Nhập thông tin chi tiết về cơ sở dữ liệu Nextcloud mà bạn đã tạo
- Nhấp vào Cài đặt để bắt đầu cài đặt.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22532%22%3E%3C/svg%3E
Bây giờ bạn có thể cài đặt một số ứng dụng Nextcloud hoặc nhấp vào Bỏ qua.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22641%22%3E%3C/svg%3E
Sau khi quá trình hoàn tất, bạn sẽ thấy trang sau:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22462%22%3E%3C/svg%3E