Nextcloud là phần mềm nguồn mở để tạo bộ 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"
Hiện tại, 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 sẽ chỉ cho bạn cách cài đặt Nextcloud trên máy chủ Debian 12. Bạn sẽ cài đặt Nextcloud với máy chủ web Apache2, máy chủ MariaDB và PHP 8.2. Hơn nữa, bạn cũng sẽ bảo mật cài đặt của mình bằng UFW (Tường lửa đơn giản) và chứng chỉ SSL/TLS từ Letsencrypt.
Đầu tiên, hãy cập nhật chỉ mục gói Debian của bạn thông qua lệnh apt update bên dưới. Khi hoàn tất, bạn sẽ nhận được thông tin gói mới nhất cho phép bạn cài đặt phiên bản gói mới nhất.
Bây giờ hãy nhập lệnh apt install sau để cài đặt máy chủ web Apache. Nhập y để xác nhận khi được nhắc, sau đó nhấn ENTER để tiếp tục cài đặt.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22669%22%20height=%22310%22%3E%3C/svg%3E
Sau khi Apache2 được cài đặt, hãy thực hiện các lệnh systemctl bên dưới để xác minh dịch vụ apche2 trạng thái.
Đầu ra enabled sẽ chỉ ra rằng dịch vụ apache2 sẽ tự động khởi động khi hệ thống khởi động. Và trạng thái active (đang chạy) xác nhận rằng dịch vụ apache2 đang chạy.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22308%22%3E%3C/svg%3E
Cài đặt gói ufw vào máy chủ Debian của bạn thông qua lệnh apt install bên dưới. Nhập y để xác nhận cài đặt và nhấn ENTER để tiếp tục.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22646%22%20height=%22312%22%3E%3C/svg%3E
Sau khi ufw được cài đặt, hãy thực hiện các lệnh ufw bên dưới để cho phép dịch vụ ssh và bật ufw.
Nhập y khi được yêu cầu khởi động và kích hoạt dịch vụ ufw. Nếu thành công, bạn sẽ nhận được kết quả "Tường lửa đang hoạt động và được bật khi khởi động hệ thống".
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22723%22%20height=%22187%22%3E%3C/svg%3E
Khi ufw đang chạy, bạn nên thêm cả cổng HTTP và HTTPS mà máy chủ web Apache2 sẽ sử dụng.
Chạy lệnh ufw bên dưới để lấy danh sách các cấu hình ứng dụng có sẵn trên ufw. Bạn sẽ thấy các cấu hình như OpenSSH cho dịch vụ ssh và WWW Full cho máy chủ web Apache2, cả giao thức HTTP và HTTPS.
Bây giờ hãy chạy lệnh sau để thêm và kích hoạt cấu hình WWW Full và tải lại ufw để áp dụng thay đổi.
Cuối cùng, hãy chạy lệnh ufw status bên dưới để xác minh các quy tắc đã bật trong ufw. Đảm bảo bạn đã bật cấu hình WWW Full, nghĩa là cả hai cổng HTTP và HTTPS đều được mở.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22497%22%20height=%22331%22%3E%3C/svg%3E
Chạy lệnh apt install bên dưới để cài đặt các gói PHP vào hệ thống Debian của bạn. Lệnh này sẽ cài đặt PHP và một số tiện ích mở rộng cần thiết cho Nextcloud, chẳng hạn như GD, MySQL, Imagick, pear và apcu. Kiểm tra trang yêu cầu máy chủ Nextcloud để biết danh sách đầy đủ các gói bạn cần.
Nhập y để xác nhận cài đặt, sau đó nhấn ENTER để tiếp tục.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22126%22%3E%3C/svg%3E
Sau khi cài đặt PHP, hãy kiểm tra phiên bản PHP và các tiện ích mở rộng PHP đã bật bằng cách sử dụng bên dưới lệnh.
Bạn sẽ thấy PHP 8.2 được cài đặt với các tiện ích mở rộng được bật, chẳng hạn như GD, MySQL, Imagick, xml và zip.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22612%22%20height=%22342%22%3E%3C/svg%3E
Tiếp theo, chạy lệnh nano editor bên dưới để mở tệp cấu hình PHP /etc/php/8.2/apache2/php.ini.
Bỏ chú thích tham số date.timezone và nhập múi giờ thích hợp cho PHP.
Tăng giá trị mặc định của các tham số memory_limit, upload_max_filesize, post_max_size và max_execution_time. Thay đổi giá trị theo nhu cầu của bạn.
Bật file_uploads và allow_url_fopen bằng cách thay đổi giá trị mặc định thành On.
Vô hiệu hóa tham số display_errors và output_buffering bằng cách thay đổi giá trị mặc định thành Tắt.
Bỏ chú thích tham số zend_extension và thay đổi giá trị thành opcache. Thao tác này sẽ kích hoạt PHP OPcache, tính năng cần thiết cho Nextcloud.
Thêm các dòng sau vào phần [opcache]. Cấu hình OPCache được Nextcloud khuyến nghị.
Lưu tệp và đóng trình chỉnh sửa khi hoàn tất.
Cuối cùng, nhập lệnh systemctl bên dưới để khởi động lại dịch vụ apache2. Mỗi lần bạn thực hiện thay đổi đối với cấu hình PHP, hãy khởi động lại dịch vụ apache2 để áp dụng các thay đổi bạn đã thực hiện.
Cài đặt máy chủ MariaDB thông qua lệnh apt install bên dưới. Nhập y khi được nhắc và nhấn ENTER để tiếp tục cài đặt.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22639%22%20height=%22535%22%3E%3C/svg%3E
Sau khi MariaDB được cài đặt, hãy nhập các lệnh systemctl sau để xác minh mariadb dịch vụ.
Đầu ra enabled cho biết dịch vụ mariadb sẽ được chạy tự động khi khởi động hệ thống. Và đầu ra active (running) sẽ chỉ ra rằng dịch vụ mariadb đang chạy.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22320%22%3E%3C/svg%3E
Bây giờ máy chủ MariaDB đang chạy, bạn nên bảo mật cài đặt MariaDB và điều này có thể được thực hiện thông qua tiện ích mariadb-secure-installation. Lệnh mariadb-secure-installation giúp bạn thiết lập mật khẩu gốc MariaDB và xác thực và giúp bạn xóa kiểm tra cơ sở dữ liệu mặc định của người dùng ẩn danh.
Thực hiện lệnh mariadb-secure-installation để bảo mật máy chủ MariaDB của bạn.
Trong quá trình này, bạn nên nhập Y để đồng ý và áp dụng cấu hình cho MariaDB hoặc nhập n để không đồng ý và để cấu hình mặc định. Dưới đây là một số cấu hình MariaDB mà bạn sẽ được yêu cầu:
Đăng nhập vào máy chủ MariaDB bằng lệnh máy khách mariadb bên dưới. Nhập mật khẩu gốc MariaDB khi được nhắc.
Sau khi đăng nhập vào MariaDB, hãy chạy các truy vấn sau để tạo cơ sở dữ liệu Mariadb và người dùng mới cho Nextcloud. Trong ví dụ này, bạn sẽ tạo cơ sở dữ liệu mới nextcloud_db và người dùng nextclouduser với mật khẩu StrongPassword. Hãy chắc chắn thay đổi mật khẩu StrongPassword bằng mật khẩu mới.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22236%22%3E%3C/svg%3E
Cuối cùng, hãy chạy truy vấn sau để đảm bảo rằng người dùng nextclouduser có thể truy cập cơ sở dữ liệu nextcloud_db.
Nếu mọi việc diễn ra tốt đẹp, bạn sẽ thấy người dùng nextclouduser có quyền đối với cơ sở dữ liệu nextcloud_db.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22240%22%3E%3C/svg%3E
Nhập quit để thoát khỏi máy chủ MariaDB và hoàn tất phần này.
Trước khi tải xuống mã nguồn Nextcloud, hãy chạy lệnh apt install bên dưới để cài đặt curl và giải nén.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22282%22%3E%3C/svg%3E
Di chuyển đến thư mục /var/www và tải xuống mã nguồn Nextcloud thông qua lệnh curl bên dưới. Truy cập trang Tải xuống Nextcloud để tải phiên bản Nextcloud mới nhất.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22128%22%3E%3C/svg%3E
Bây giờ hãy giải nén tệp nextcloud.zip thông qua lệnh unzip, sau đó thay đổi quyền sở hữu thư mục nextcloud thành www-data.
Với điều này, bạn sẽ thấy thư mục gốc tài liệu để cài đặt Nextcloud là thư mục /var/www/nextcloud. Và máy chủ web Apache2 có thể truy cập mã nguồn nextcloud thông qua người dùng www-data.
Tạo cấu hình máy chủ ảo Apache2 mới /etc/apache2/sites-available/nextcloud.conf bằng lệnh nano bên dưới.
Thay đổi tên miền trong tham số ServerName bằng tên miền của bạn và đường dẫn đầy đủ của nhật ký cho cả tham số ErrorLog và CustomLog.
Sau khi hoàn tất, hãy lưu tệp và thoát khỏi trình chỉnh sửa.
Tiếp theo, hãy chạy lệnh a2ensite bên dưới để bật cấu hình máy chủ ảo nextcloud.conf. Sau đó, hãy xác minh cấu hình Apache2 tổng thể thông qua lệnh apachectl bên dưới.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22690%22%20height=%22275%22%3E%3C/svg%3E
Bạn sẽ thấy đầu ra Syntax OK nếu bạn có cấu hình Apache chính xác và phù hợp.
Bây giờ hãy nhập lệnh systemctl sau để khởi động lại dịch vụ apache2 và áp dụng cấu hình máy chủ ảo Nextcloud.
Sau khi apache2 khởi động lại, cài đặt Nextcloud của bạn sẽ có thể truy cập được thông qua giao thức HTTP không an toàn. Truy cập tên miền Nextcloud của bạn và bạn sẽ thấy trang cài đặt như sau:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22706%22%3E%3C/svg%3E
Chạy lệnh apt install bên dưới để cài đặt Certbot và plugin Certbot apache. Nhập y khi được nhắc xác nhận và nhấn ENTER để tiếp tục.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22672%22%20height=%22393%22%3E%3C/svg%3E
Bây giờ hãy chạy lệnh certbot bên dưới để tạo chứng chỉ SSL/TLS cho tên miền Nextcloud của bạn và tự động cấu hình HTTPS trong máy chủ ảo Apache2. Hãy chắc chắn thay đổi tên miền và địa chỉ email trong lệnh sau.
Sau khi quá trình hoàn tất, tên miền Nextcloud sẽ được định cấu hình bằng HTTPS, được quản lý bởi plugin Certbot Apache. Và chứng chỉ SSL/TLS nằm tại thư mục /etc/letsencrypt/live/domain-name.com/.
Khởi chạy trình duyệt web của bạn và truy cập tên miền cài đặt Nextcloud của bạn (ví dụ: http://nextcloud.howtoforge.local/). Bạn sẽ tự động được chuyển hướng đến kết nối HTTPS an toàn và sẽ được yêu cầu tạo người dùng quản trị cho Nextcloud.
Nhập người dùng quản trị và mật khẩu mới cho Nextcloud của bạn. Bạn cũng có thể thiết lập thư mục dữ liệu tùy chỉnh hoặc để nguyên mặc định.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22690%22%20height=%22606%22%3E%3C/svg%3E
Tiếp theo, cuộn đến trang cuối cùng và nhập tên cơ sở dữ liệu chi tiết, người dùng và mật khẩu. Sau đó nhấp vào Hoàn tất Thiết lập để hoàn tất cài đặt.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22658%22%20height=%22750%22%3E%3C/svg%3E
Sau khi cài đặt hoàn tất, bạn sẽ nhận được khuyến nghị của Nextcloud để cài đặt một số ứng dụng Nextcloud. Nhấp vào Bỏ qua để cài đặt sau.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22633%22%3E%3C/svg%3E
Bây giờ bạn sẽ thấy bảng điều khiển người dùng như sau:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22451%22%3E%3C/svg%3E
Bây giờ hãy nhấp vào Biểu tượng thư mục để lấy trình quản lý tệp của Nextcloud.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22464%22%3E%3C/svg%3E
Cuối cùng, nhấp vào biểu tượng người dùng ở menu bên trái và chọn Cài đặt quản trị.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22289%22%20height=%22616%22%3E%3C/svg%3E
Trong phần Quản trị, nhấp vào Tổng quan. Bạn nên tìm thông tin về phiên bản Nextcloud của mình và một số khuyến nghị mà bạn có thể áp dụng cho Nextcloud của mình, bao gồmmột số khuyến nghị về bảo mật và tối ưu hóa hiệu suất.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22465%22%3E%3C/svg%3E
Mở cấu hình Nextcloud mặc định /var/www/nextcloud/config/config.php bằng lệnh nano editor bên dưới.
Trong phần $CONFIG = array, hãy thêm cấu hình mới bên dưới để bật bộ nhớ đệm cho Nextcloud.
Hiện tại, 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 sẽ chỉ cho bạn cách cài đặt Nextcloud trên máy chủ Debian 12. Bạn sẽ cài đặt Nextcloud với máy chủ web Apache2, máy chủ MariaDB và PHP 8.2. Hơn nữa, bạn cũng sẽ bảo mật cài đặt của mình bằng UFW (Tường lửa đơn giản) và chứng chỉ SSL/TLS từ Letsencrypt.
Điều kiện tiên quyết
Để hoàn tất hướng dẫn này, hãy đảm bảo bạn có những điều sau:- Máy chủ Debian 12 có ít nhất 4 GB bộ nhớ và 2 CPU.
- 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 Máy chủ web Apache2
Trong bước đầu tiên, bạn sẽ cài đặt máy chủ web Apache2 sẽ được sử dụng để chạy Nextcloud.Đầu tiên, hãy cập nhật chỉ mục gói Debian của bạn thông qua lệnh apt update bên dưới. Khi hoàn tất, bạn sẽ nhận được thông tin gói mới nhất cho phép bạn cài đặt phiên bản gói mới nhất.
Mã:
sudo apt update
Mã:
sudo apt install apache2
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22669%22%20height=%22310%22%3E%3C/svg%3E
Sau khi Apache2 được cài đặt, hãy thực hiện các lệnh systemctl bên dưới để xác minh dịch vụ apche2 trạng thái.
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=%22308%22%3E%3C/svg%3E
Cài đặt UFW
Sau khi cài đặt Apache2, bạn sẽ cài đặt UFW (Uncomplicated Firewall) và mở các cổng cho OpenSSH, HTTP và HTTPS. Bạn sẽ thiết lập UFW làm tường lửa mặc định trên máy chủ Debian của mình.Cài đặt gói ufw vào máy chủ Debian của bạn thông qua lệnh apt install bên dưới. Nhập y để xác nhận cài đặt và nhấn ENTER để tiếp tục.
Mã:
sudo apt install ufw
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22646%22%20height=%22312%22%3E%3C/svg%3E
Sau khi ufw được cài đặt, hãy thực hiện các lệnh ufw bên dưới để cho phép dịch vụ ssh và bật ufw.
Mã:
sudo ufw allow OpenSSH
sudo ufw enable
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22723%22%20height=%22187%22%3E%3C/svg%3E
Khi ufw đang chạy, bạn nên thêm cả cổng HTTP và HTTPS mà máy chủ web Apache2 sẽ sử dụng.
Chạy lệnh ufw bên dưới để lấy danh sách các cấu hình ứng dụng có sẵn trên ufw. Bạn sẽ thấy các cấu hình như OpenSSH cho dịch vụ ssh và WWW Full cho máy chủ web Apache2, cả giao thức HTTP và HTTPS.
Mã:
sudo ufw app list
Mã:
sudo ufw allow "WWW Full"
sudo ufw reload
Mã:
sudo ufw status
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22497%22%20height=%22331%22%3E%3C/svg%3E
Cài đặt PHP 8.2
Debian 12 Bookwork mới nhất đi kèm với các gói PHP 8.2 theo mặc định, đây là phiên bản PHP được khuyến nghị để cài đặt Nextcloud. Bây giờ, bạn sẽ cài đặt các gói PHP 8.2 và cấu hình PHP cho cài đặt Nextcloud. Bạn cũng sẽ bật PHP Opcache sẽ được sử dụng làm bộ nhớ đệm cho Nextcloud.Chạy lệnh apt install bên dưới để cài đặt các gói PHP vào hệ thống Debian của bạn. Lệnh này sẽ cài đặt PHP và một số tiện ích mở rộng cần thiết cho Nextcloud, chẳng hạn như GD, MySQL, Imagick, pear và apcu. Kiểm tra trang yêu cầu máy chủ Nextcloud để biết danh sách đầy đủ các gói bạn cần.
Mã:
sudo apt install -y 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
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22126%22%3E%3C/svg%3E
Sau khi cài đặt PHP, hãy kiểm tra phiên bản PHP và các tiện ích mở rộng PHP đã bật bằng cách sử dụng bên dưới lệnh.
Mã:
php --version
php -m
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22612%22%20height=%22342%22%3E%3C/svg%3E
Tiếp theo, chạy lệnh nano editor bên dưới để mở tệp cấu hình PHP /etc/php/8.2/apache2/php.ini.
Mã:
sudo nano /etc/php/8.2/apache2/php.ini
Mã:
date.timezone = Europe/Amsterdam
Mã:
memory_limit = 512M
upload_max_filesize = 500M
post_max_size = 600M
max_execution_time = 300
Mã:
file_uploads = On
allow_url_fopen = On
Mã:
display_errors = Off
output_buffering = Off
Mã:
zend_extension=opcache
Mã:
opcache.enable = 1
opcache.interned_strings_buffer = 8
opcache.max_accelerated_files = 10000
opcache.memory_consumption = 128
opcache.save_comments = 1
opcache.revalidate_freq = 1
Cuối cùng, nhập lệnh systemctl bên dưới để khởi động lại dịch vụ apache2. Mỗi lần bạn thực hiện thay đổi đối với cấu hình PHP, hãy khởi động lại dịch vụ apache2 để áp dụng các thay đổi bạn đã thực hiện.
Mã:
sudo systemctl restart apache2
Cài đặt máy chủ MariaDB
Sau khi cài đặt máy chủ web Apache2 và PHP 8.2, bạn sẽ cài đặt máy chủ MariaDB sẽ được sử dụng làm cơ sở dữ liệu cho Nextcloud và cấu hình mật khẩu gốc MariaDB thông qua tiện ích mariadb-secure-installation.Cài đặt máy chủ MariaDB thông qua lệnh apt install bên dưới. Nhập y khi được nhắc và nhấn ENTER để tiếp tục cài đặt.
Mã:
sudo apt install mariadb-server
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22639%22%20height=%22535%22%3E%3C/svg%3E
Sau khi MariaDB được cài đặt, hãy nhập các lệnh systemctl sau để xác minh mariadb dịch vụ.
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=%22320%22%3E%3C/svg%3E
Bây giờ máy chủ MariaDB đang chạy, bạn nên bảo mật cài đặt MariaDB và điều này có thể được thực hiện thông qua tiện ích mariadb-secure-installation. Lệnh mariadb-secure-installation giúp bạn thiết lập mật khẩu gốc MariaDB và xác thực và giúp bạn xóa kiểm tra cơ sở dữ liệu mặc định của người dùng ẩn danh.
Thực hiện lệnh mariadb-secure-installation để bảo mật máy chủ MariaDB của bạn.
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 bảng và áp dụng các thay đổi.
Tạo cơ sở dữ liệu và người dùng
Sau khi cài đặt máy chủ MariaDB, bây giờ bạn sẽ tạo một cơ sở dữ liệu và người dùng mới cho Nextcloud. Để thực hiện điều đó, bạn phải đăng nhập vào máy chủ MariaDB thông qua máy khách mariadb.Đăng nhập vào máy chủ MariaDB bằng lệnh máy khách mariadb bên dưới. Nhập mật khẩu gốc MariaDB khi được nhắc.
Mã:
sudo mariadb -u root -p
Mã:
CREATE DATABASE nextcloud_db;
CREATE USER nextclouduser@localhost IDENTIFIED BY 'StrongPassword';
GRANT ALL PRIVILEGES ON nextcloud_db.* TO nextclouduser@localhost;
FLUSH PRIVILEGES;
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22236%22%3E%3C/svg%3E
Cuối cùng, hãy chạy truy vấn sau để đảm bảo rằng người dùng nextclouduser có thể truy cập cơ sở dữ liệu nextcloud_db.
Mã:
SHOW GRANTS FOR nextclouduser@localhost;
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22240%22%3E%3C/svg%3E
Nhập quit để thoát khỏi máy chủ MariaDB và hoàn tất phần này.
Tải xuống mã nguồn Nextcloud
Tại thời điểm này, tất cả các gói phần mềm để chạy Nextcloud đã được cài đặt. Bây giờ bạn sẽ tải xuống phiên bản mới nhất của mã nguồn Nextcloud, sau đó cài đặt nó. Kiểm tra trang tải xuống Nextcloud trước khi bạn bắt đầu để biết thông tin về phiên bản mới nhất của Nextcloud.Trước khi tải xuống mã nguồn Nextcloud, hãy chạy lệnh apt install bên dưới để cài đặt curl và giải nén.
Mã:
sudo apt install curl unzip -y
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22282%22%3E%3C/svg%3E
Di chuyển đến thư mục /var/www và tải xuống mã nguồn Nextcloud thông qua lệnh curl bên dưới. Truy cập trang Tải xuống Nextcloud để tải phiên bản Nextcloud mới nhất.
Mã:
cd /var/www/
curl -o nextcloud.zip https://download.nextcloud.com/server/releases/latest.zip
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22128%22%3E%3C/svg%3E
Bây giờ hãy giải nén tệp nextcloud.zip thông qua lệnh unzip, sau đó thay đổi quyền sở hữu thư mục nextcloud thành www-data.
Mã:
unzip nextcloud.zip
sudo chown -R www-data:www-data nextcloud
Cấu hình máy chủ ảo Apache2
Sau khi tải xuống mã nguồn Nextcloud, bạn phải tạo cấu hình máy chủ ảo Apache2 mới sẽ được sử dụng để chạy Nextcloud. Hãy đảm bảo rằng bạn đã trỏ tên miền đến địa chỉ IP máy chủ Debian của mình để cài đặt Nextcloud.Tạo cấu hình máy chủ ảo Apache2 mới /etc/apache2/sites-available/nextcloud.conf bằng lệnh nano bên dưới.
Mã:
sudo nano /etc/apache2/sites-available/nextcloud.conf
Mã:
ServerName nextcloud.howtoforge.local
DocumentRoot /var/www/nextcloud/
# log files
ErrorLog /var/log/apache2/files.howtoforge.local-error.log
CustomLog /var/log/apache2/files.howtoforge.local-access.log combined
Options +FollowSymlinks
AllowOverride All
Dav off
SetEnv HOME /var/www/nextcloud
SetEnv HTTP_HOME /var/www/nextcloud
Tiếp theo, hãy chạy lệnh a2ensite bên dưới để bật cấu hình máy chủ ảo nextcloud.conf. Sau đó, hãy xác minh cấu hình Apache2 tổng thể thông qua lệnh apachectl bên dưới.
Mã:
sudo a2ensite nextcloud.conf
sudo apachectl configtest
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22690%22%20height=%22275%22%3E%3C/svg%3E
Bạn sẽ thấy đầu ra Syntax OK nếu bạn có cấu hình Apache chính xác và phù hợp.
Bây giờ hãy nhập lệnh systemctl sau để khởi động lại dịch vụ apache2 và áp dụng cấu hình máy chủ ảo Nextcloud.
Mã:
sudo systemctl restart apache2
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22706%22%3E%3C/svg%3E
Bảo mật Nextcloud bằng chứng chỉ SSL/TLS
Để thêm lớp bảo mật bổ sung cho Nextcloud, bạn sẽ thiết lập HTTPS trong cấu hình máy chủ ảo Apache2 thông qua Certbot. Certbot là một công cụ dòng lệnh để tạo chứng chỉ SSL/TLS miễn phí từ Letsencrypt và đi kèm với một plugin bổ sung cho phép bạn tự động cấu hình HTTPS cho nhiều máy chủ web.Chạy lệnh apt install bên dưới để cài đặt Certbot và plugin Certbot apache. Nhập y khi được nhắc xác nhận và nhấn ENTER để tiếp tục.
Mã:
sudo apt install certbot python3-certbot-apache
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22672%22%20height=%22393%22%3E%3C/svg%3E
Bây giờ hãy chạy lệnh certbot bên dưới để tạo chứng chỉ SSL/TLS cho tên miền Nextcloud của bạn và tự động cấu hình HTTPS trong máy chủ ảo Apache2. Hãy chắc chắn thay đổi tên miền và địa chỉ email trong lệnh sau.
Mã:
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [emailprotected] -d nextcloud.howtoforge.local
Cài đặt Nextcloud
Trong phần này, bạn sẽ bắt đầu cài đặt Nextcloud từ trình duyệt web của mình. Trong quá trình này, bạn cũng sẽ tạo người dùng quản trị cho Nextcloud.Khởi chạy trình duyệt web của bạn và truy cập tên miền cài đặt Nextcloud của bạn (ví dụ: http://nextcloud.howtoforge.local/). Bạn sẽ tự động được chuyển hướng đến kết nối HTTPS an toàn và sẽ được yêu cầu tạo người dùng quản trị cho Nextcloud.
Nhập người dùng quản trị và mật khẩu mới cho Nextcloud của bạn. Bạn cũng có thể thiết lập thư mục dữ liệu tùy chỉnh hoặc để nguyên mặc định.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22690%22%20height=%22606%22%3E%3C/svg%3E
Tiếp theo, cuộn đến trang cuối cùng và nhập tên cơ sở dữ liệu chi tiết, người dùng và mật khẩu. Sau đó nhấp vào Hoàn tất Thiết lập để hoàn tất cài đặt.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22658%22%20height=%22750%22%3E%3C/svg%3E
Sau khi cài đặt hoàn tất, bạn sẽ nhận được khuyến nghị của Nextcloud để cài đặt một số ứng dụng Nextcloud. Nhấp vào Bỏ qua để cài đặt sau.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22633%22%3E%3C/svg%3E
Bây giờ bạn sẽ thấy bảng điều khiển người dùng như sau:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22451%22%3E%3C/svg%3E
Bây giờ hãy nhấp vào Biểu tượng thư mục để lấy trình quản lý tệp của Nextcloud.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22464%22%3E%3C/svg%3E
Cuối cùng, nhấp vào biểu tượng người dùng ở menu bên trái và chọn Cài đặt quản trị.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22289%22%20height=%22616%22%3E%3C/svg%3E
Trong phần Quản trị, nhấp vào Tổng quan. Bạn nên tìm thông tin về phiên bản Nextcloud của mình và một số khuyến nghị mà bạn có thể áp dụng cho Nextcloud của mình, bao gồmmột số khuyến nghị về bảo mật và tối ưu hóa hiệu suất.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22465%22%3E%3C/svg%3E
Điều chỉnh hiệu suất cơ bản cho Nextcloud
Trong các bước sau, bạn sẽ thêm các thiết lập vào cài đặt Nextcloud của mình bằng cách bật bộ nhớ đệm thông qua OPCache và thiết lập cron thông qua crontab.Mở cấu hình Nextcloud mặc định /var/www/nextcloud/config/config.php bằng lệnh nano editor bên dưới.
Mã:
sudo nano /var/www/nextcloud/config/config.php
Mã: