Nextcloud là phần mềm giống dropbox miễn phí (mã nguồn mở), một nhánh của dự án ownCloud. Nextcloud được viết bằng PHP và JavaScript, hỗ trợ nhiều hệ thống cơ sở dữ liệu như MySQL/MariaDB, PostgreSQL, cơ sở dữ liệu Oracle và SQLite.
Để giữ cho các tệp của bạn đồng bộ giữa máy tính để bàn và máy chủ, Nextcloud cung cấp các ứng dụng cho máy tính để bàn Windows, Linux và Mac và một ứng dụng di động cho Android và iOS.
Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt Nextcloud 17 với máy chủ web Nginx, PHP 7.3 và cơ sở dữ liệu MariaDB trên máy chủ CentOS 8. Chúng tôi sẽ cài đặt Nextcloud và bảo mật bằng chứng chỉ SSL Let's Encrypt miễn phí.
Điều kiện tiên quyết
Đối với hướng dẫn này, chúng tôi sẽ cài đặt Nextcloud trên máy chủ CentOS 8 với 2GB RAM, 25GB dung lượng trống và 2CPU.
Những gì chúng tôi sẽ làm:
Cài đặt Nginx từ kho lưu trữ AppStream bằng lệnh dnf bên dưới.
Sau khi cài đặt hoàn tất, hãy khởi động dịch vụ nginx và thêm nó vào hệ thống khởi động.
Bây giờ hãy kiểm tra trạng thái dịch vụ nginx bằng lệnh bên dưới.
Bạn sẽ nhận được Dịch vụ nginx đang hoạt động trên máy chủ CentOS 8.
Tiếp theo, chúng ta sẽ thêm các dịch vụ HTTP và HTTPS vào firewalld.
Thêm các dịch vụ HTTP và HTTPS vào firewalld bằng lệnh firewall-cmd bên dưới.
Sau đó, tải lại các dịch vụ firewalld.
Kết quả là bạn đã cài đặt thành công máy chủ web Nginx và mở các cổng HTTP và HTTPS trên máy chủ CentOS 8.
Đối với hướng dẫn này, chúng ta sẽ sử dụng PHP 7.3 có thể được cài đặt từ kho lưu trữ REMI.
Trước khi đi sâu hơn, chúng ta sẽ kích hoạt kho lưu trữ 'PowerTools' và thêm kho lưu trữ EPEL và REMI cho máy chủ CentOS 8.
Chạy lệnh dnf bên dưới.
Bây giờ hãy kiểm tra tất cả kho lưu trữ có sẵn trên hệ thống.
Và bạn sẽ nhận được kết quả như bên dưới.
Bạn đã kích hoạt kho lưu trữ 'PowerTools' và thêm kho lưu trữ EPEL và REMI cho CentOS 8.
Tiếp theo, chúng ta sẽ kích hoạt PHP 7.3 REMI kho lưu trữ.
Kiểm tra tất cả các mô-đun có sẵn cho các gói PHP.
Bây giờ hãy kích hoạt mô-đun của kho lưu trữ PHP 7.3 REMI.
Sau đó, cài đặt các gói PHP và PHP-FPM 7.3 cho Nextcloud bằng lệnh dnf bên dưới.
Và bạn đã cài đặt PHP và PHP-FPM 7.3 vào hệ thống CentOS 8.
Chỉnh sửa cấu hình 'php.ini' bằng lệnh sau.
Bỏ chú thích và thay đổi cấu hình như bên dưới.
Lưu và đóng.
Bây giờ hãy chỉnh sửa cấu hình opcache PHP '/etc/php.d/10-opcache.ini'.
Thay đổi cấu hình như bên dưới.
Lưu và đóng.
Tiếp theo, chỉnh sửa cấu hình PHP-FPM '/etc/php-fpm.d/www.conf'.
Đổi 'user' và 'group' thành 'nginx'.
Đổi cấu hình 'listen' thành tệp sock như bên dưới.
Bỏ chú thích biến môi trường PHP bên dưới.
Bỏ chú thích cấu hình opcache ở dòng cuối cùng.
Lưu và đóng.
Bây giờ hãy tạo một thư mục mới cho phiên PHP và opcache, sau đó thay đổi chủ sở hữu của các thư mục đó thành người dùng và nhóm 'nginx'.
Và bạn đã hoàn tất cấu hình PHP-FPM để cài đặt Nextcloud.
Khởi động dịch vụ PHP-FPM và thêm nó vào hệ thống khởi động.
Bây giờ hãy kiểm tra tệp sock PHP-FPM và trạng thái dịch vụ.
Và bạn sẽ nhận được kết quả như bên dưới.
Kết quả là, PHP-FPM đã chạy và hoạt động trong tệp sock '/run/php-fpm/www.sock'.
Cài đặt cơ sở dữ liệu MariaDB bằng lệnh dnf bên dưới.
Sau khi cài đặt hoàn tất, hãy khởi động dịch vụ MariaDB và thêm dịch vụ này vào hệ thống khởi động.
Và dịch vụ MariaDB đã hoạt động và đang chạy.
Tiếp theo, chúng ta sẽ thiết lập xác thực mật khẩu gốc bằng lệnh 'mysql_secure_installation' bên dưới.
Nhập mật khẩu gốc của bạn và nhập 'Y' cho phần cấu hình còn lại.
Và mật khẩu gốc MariaDB đã được cấu hình.
Bây giờ hãy đăng nhập vào shell MySQL bằng lệnh mysql bên dưới.
Bây giờ hãy tạo một cơ sở dữ liệu mới 'nextcloud_db' và tạo một người dùng mới 'nextclouduser' với mật khẩu 'nextcloudpassdb' bằng các truy vấn bên dưới.
Và bạn đã tạo cơ sở dữ liệu và người dùng để cài đặt Nextcloud.
Cài đặt certbot từ kho lưu trữ EPEL bằng lệnh dnf bên dưới.
Sau khi cài đặt hoàn tất, hãy tạo chứng chỉ SSL cho tên miền Nextcloud bằng lệnh bên dưới và đảm bảo thay đổi tên miền và địa chỉ email bằng tên miền và địa chỉ email của riêng bạn.
Sau khi hoàn tất, tất cả các chứng chỉ SSL được tạo đều nằm trong thư mục '/etc/letsencrypt/live/cloud.hakase-labs.io'.
Kiểm tra bằng lệnh sau.
Và bạn đã tạo SSL letsencrypt bằng công cụ certbot.
Trước khi tải xuống mã nguồn nextcloud, hãy cài đặt gói zip vào hệ thống.
Bây giờ hãy đến thư mục '/var/www/' và tải xuống mã nguồn Nextcloud bằng lệnh wget như bên dưới.
Giải nén mã nguồn Nextcloud bằng lệnh bên dưới.
Và bạn sẽ nhận được một thư mục mới có tên là 'nextcloud'.
Bây giờ hãy tạo một thư mục 'data' mới cho Nextcloud. Thư mục 'data' sẽ được sử dụng để lưu trữ dữ liệu người dùng.
Sau đó, hãy thay đổi chủ sở hữu của thư mục 'nextcloud' thành người dùng và nhóm 'nginx'.
Và bạn đã tải xuống Nextcloud 17 mới nhất vào thư mục '/var/www'.
Vào thư mục '/etc/nginx/conf.d' và tạo cấu hình mới 'nextcloud.conf'.
Bây giờ hãy thay đổi tên miền và đường dẫn chứng chỉ SSL bằng tên miền của riêng bạn và dán cấu hình sau vào đó.
Lưu và đóng.
Sau đó, kiểm tra cấu hình nginx và khởi động lại dịch vụ Nginx. Và đảm bảo không có lỗi nào.
Bây giờ dịch vụ Nginx sẽ mở một cổng HTTPS mới trên hệ thống, hãy kiểm tra bằng lệnh sau.
Và bạn sẽ nhận được kết quả như bên dưới.
Kết quả là, bạn đã thêm cấu hình máy chủ ảo Nginx cho Nextcloud và bật HTTPS an toàn trên đó.
Cài đặt công cụ quản lý SELinux bằng lệnh dnf bên dưới.
Bây giờ hãy thực thi lệnh sau với tư cách là root trên máy chủ của bạn.
Và cấu hình SELinux cho Nextcloud đã hoàn tất.
Bây giờ bạn sẽ nhận được trang cài đặt Nextcloud như bên dưới.
Nhập tên quản trị viên của bạn người dùng và mật khẩu, sau đó chọn 'MySQL/MariaDB' làm cơ sở dữ liệu của bạn và nhập thông tin chi tiết về cơ sở dữ liệu mà bạn đã tạo ở trên cùng.
Bây giờ hãy nhấp vào nút 'Hoàn tất thiết lập' và quá trình cài đặt sẽ bắt đầu.
Sau khi quá trình cài đặt hoàn tất, bạn sẽ nhận được bảng điều khiển Nextcloud như bên dưới.
Kết quả là bạn đã cài đặt thành công Nextcloud 17 mới nhất với máy chủ web Nginx, PHP-FPM 7.3 và cơ sở dữ liệu MariaDB trên máy chủ CentOS 8.
Để giữ cho các tệp của bạn đồng bộ giữa máy tính để bàn và máy chủ, Nextcloud cung cấp các ứng dụng cho máy tính để bàn Windows, Linux và Mac và một ứng dụng di động cho Android và iOS.
Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt Nextcloud 17 với máy chủ web Nginx, PHP 7.3 và cơ sở dữ liệu MariaDB trên máy chủ CentOS 8. Chúng tôi sẽ cài đặt Nextcloud và bảo mật bằng chứng chỉ SSL Let's Encrypt miễn phí.
Điều kiện tiên quyết
Đối với hướng dẫn này, chúng tôi sẽ cài đặt Nextcloud trên máy chủ CentOS 8 với 2GB RAM, 25GB dung lượng trống và 2CPU.
Những gì chúng tôi sẽ làm:
- Cài đặt máy chủ web Nginx
- Cài đặt PHP-FPM 7.3
- Cấu hình PHP-FPM 7.3
- Cài đặt và cấu hình cơ sở dữ liệu MariaDB
- Tạo SSL Letsencrypt
- Tải xuống Nextcloud 17
- Thiết lập Nginx Virtualhost cho Nextcloud
- Thiết lập SELinux cho Nextcloud
- Nextcloud sau khi cài đặt
Bước 1 - Cài đặt Nginx
Đầu tiên, chúng tôi sẽ cài đặt máy chủ web Nginx đến máy chủ CentOS 8 và mở cổng HTTP và HTTPS trên tường lửa.Cài đặt Nginx từ kho lưu trữ AppStream bằng lệnh dnf bên dưới.
Mã:
sudo dnf install nginx
Mã:
systemctl start nginx
systemctl enable nginx
Mã:
systemctl status nginx
Tiếp theo, chúng ta sẽ thêm các dịch vụ HTTP và HTTPS vào firewalld.
Thêm các dịch vụ HTTP và HTTPS vào firewalld bằng lệnh firewall-cmd bên dưới.
Mã:
firewall-cmd --add-service=http --permanent
firewall-cmd --add-service=https --permanent
Mã:
firewall-cmd --reload
Bước 2 - Cài đặt PHP-FPM
Theo yêu cầu hệ thống Nextcloud, bạn nên sử dụng PHP 7.2 hoặc PHP 7.3 để cài đặt.Đối với hướng dẫn này, chúng ta sẽ sử dụng PHP 7.3 có thể được cài đặt từ kho lưu trữ REMI.
Trước khi đi sâu hơn, chúng ta sẽ kích hoạt kho lưu trữ 'PowerTools' và thêm kho lưu trữ EPEL và REMI cho máy chủ CentOS 8.
Chạy lệnh dnf bên dưới.
Mã:
sudo dnf config-manager --set-enabled PowerTools
sudo dnf install epel-release
sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm
Mã:
dnf repolist
Bạn đã kích hoạt kho lưu trữ 'PowerTools' và thêm kho lưu trữ EPEL và REMI cho CentOS 8.
Tiếp theo, chúng ta sẽ kích hoạt PHP 7.3 REMI kho lưu trữ.
Kiểm tra tất cả các mô-đun có sẵn cho các gói PHP.
Mã:
dnf module list php
Mã:
dnf module enable php:remi-7.3
Sau đó, cài đặt các gói PHP và PHP-FPM 7.3 cho Nextcloud bằng lệnh dnf bên dưới.
Mã:
sudo dnf install php-fpm php-cli php-devel php-gd php-mysqlnd php-pear php-xml php-mbstring php-pdo php-json php-pecl-apcu php-pecl-apcu-devel php-pecl-imagick-devel php-intl php-opcache php-zip
Bước 3 - Cấu hình PHP-FPM 7.3
Trong bước này, chúng ta sẽ thiết lập PHP-FPM để triển khai Nextcloud.Chỉnh sửa cấu hình 'php.ini' bằng lệnh sau.
Mã:
vim /etc/php.ini
Mã:
memory_limit = 512M
date.timezone = Asia/Jakarta
cgi.fixpathinfo = 0
Bây giờ hãy chỉnh sửa cấu hình opcache PHP '/etc/php.d/10-opcache.ini'.
Mã:
vim /etc/php.d/10-opcache.ini
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
Tiếp theo, chỉnh sửa cấu hình PHP-FPM '/etc/php-fpm.d/www.conf'.
Mã:
vim /etc/php-fpm.d/www.conf
Mã:
user = nginx
group = nginx
Mã:
listen = /run/php-fpm/www.sock
Mã:
env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp
Mã:
php_value[opcache.file_cache] = /var/lib/php/opcache
Bây giờ hãy tạo một thư mục mới cho phiên PHP và opcache, sau đó thay đổi chủ sở hữu của các thư mục đó thành người dùng và nhóm 'nginx'.
Mã:
mkdir -p /var/lib/php/{session,opcache}
chown -R nginx:nginx /var/lib/php/{session,opcache}
Khởi động dịch vụ PHP-FPM và thêm nó vào hệ thống khởi động.
Mã:
systemctl enable php-fpm
systemctl start php-fpm
Bây giờ hãy kiểm tra tệp sock PHP-FPM và trạng thái dịch vụ.
Mã:
netstat -pl | grep php
systemctl status php-fpm
Kết quả là, PHP-FPM đã chạy và hoạt động trong tệp sock '/run/php-fpm/www.sock'.
Bước 4 - Cài đặt và cấu hình MariaDB
Trong bước này, chúng ta sẽ cài đặt máy chủ cơ sở dữ liệu MariaDB, thiết lập xác thực mật khẩu gốc và tạo cơ sở dữ liệu và người dùng mới cho Nextcloud.Cài đặt cơ sở dữ liệu MariaDB bằng lệnh dnf bên dưới.
Mã:
sudo dnf install mariadb mariadb-server
Mã:
systemctl start mariadb
systemctl enable mariadb
Tiếp theo, chúng ta sẽ thiết lập xác thực mật khẩu gốc bằng lệnh 'mysql_secure_installation' bên dưới.
Mã:
mysql_secure_installation
Mã:
Đặt mật khẩu gốc? [Y/n] Y
Xóa người dùng ẩn danh? [Y/n] Y
Xóa cơ sở dữ liệu thử nghiệm và truy cập vào cơ sở dữ liệu đó? [Y/n] Y
Tải lại bảng đặc quyền ngay bây giờ? [Y/n] Y
Bây giờ hãy đăng nhập vào shell MySQL bằng lệnh mysql bên dưới.
Mã:
mysql -u root -p
NHẬP MẬT KHẨU GỐC CỦA BẠN
Mã:
create database nextcloud_db;
create user nextclouduser@localhost defined by 'nextcloudpassdb';
grant all privileges on nextcloud_db.* to nextclouduser@localhost defined by 'nextcloudpassdb';
flush privileges;
Bước 4 - Tạo SSL Letsencrypt
Trong Bước này, chúng ta sẽ tạo SSL letsencrypt bằng 'certbot'. Chứng chỉ SSL sẽ được sử dụng để bảo mật quyền truy cập Nextcloud.Cài đặt certbot từ kho lưu trữ EPEL bằng lệnh dnf bên dưới.
Mã:
sudo dnf install certbot
Mã:
certbot certonly --webroot --webroot-path /usr/share/nginx/html --agree-tos -m [emailprotected] -d cloud.hakase-labs.io
Kiểm tra bằng lệnh sau.
Mã:
ls -lah /etc/letsencrypt/live/cloud.hakase-labs.io/
Bước 5 - Tải xuống và cài đặt Nextcloud
Trong bước này, chúng ta sẽ tải xuống phiên bản mới nhất của Nextcloud 17.Trước khi tải xuống mã nguồn nextcloud, hãy cài đặt gói zip vào hệ thống.
Mã:
sudo dnf install unzip
Mã:
cd /var/www/
wget https://download.nextcloud.com/server/releases/nextcloud-17.0.2.zip
Mã:
unzip nextcloud-17.0.2.zip
Bây giờ hãy tạo một thư mục 'data' mới cho Nextcloud. Thư mục 'data' sẽ được sử dụng để lưu trữ dữ liệu người dùng.
Mã:
mkdir -p /var/www/nextcloud/data/
Mã:
sudo chown -R nginx:nginx /var/www/nextcloud
Bước 6 - Thiết lập Nginx Virtual Host cho Nextcloud
Sau khi tải xuống mã nguồn Nextcloud, chúng ta sẽ thiết lập Nginx virtual host cho Nextcloud.Vào thư mục '/etc/nginx/conf.d' và tạo cấu hình mới 'nextcloud.conf'.
Mã:
cd /etc/nginx/conf.d/
vim nextcloud.conf
Mã:
upstream php-handler {
#server 127.0.0.1:9000;
server unix:/run/php-fpm/www.sock;
}
server {
listen 80;
listen [::]:80;
server_name cloud.hakase-labs.io;
# thực thi https
return 301 https://$server_name:443$request_uri;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name cloud.hakase-labs.io;
# Sử dụng hướng dẫn của Mozilla cho cài đặt SSL/TLS
# https://mozilla.github.io/server-side-tls/ssl-config-generator/
# LƯU Ý: một số cài đặt bên dưới có thể thừa
ssl_certificate /etc/ssl/nginx/fullchain.pem;
ssl_certificate_key /etc/ssl/nginx/privkey.pem;
# Thêm tiêu đề để phục vụ tiêu đề liên quan đến bảo mật
# Trước khi bật tiêu đề Strict-Transport-Security, vui lòng đọc kỹ
# chủ đề này trước.
#add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;" always;
#
# CẢNH BÁO: Chỉ thêm tùy chọn tải trước sau khi bạn đọc về
# hậu quả trong https://hstspreload.org/. Tùy chọn này
# sẽ thêm tên miền vào danh sách được mã hóa cứng được vận chuyển
# trong tất cả các trình duyệt chính và việc xóa khỏi danh sách này
# có thể mất vài tháng.
add_header Referrer-Policy "no-referrer" luôn luôn;
add_header X-Content-Type-Options "nosniff" luôn luôn;
add_header X-Download-Options "noopen" luôn luôn;
add_header X-Frame-Options "SAMEORIGIN" luôn luôn;
add_header X-Permitted-Cross-Domain-Policies "none" luôn luôn;
add_header X-Robots-Tag "none" luôn luôn;
add_header X-XSS-Protection "1; mode=block" luôn luôn;
# Xóa X-Powered-By, đây là một thông tin rò rỉ
fastcgi_hide_header X-Powered-By;
# Đường dẫn đến thư mục gốc của cài đặt của bạn
root /var/www/nextcloud;
location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}
# Chỉ cần 2 quy tắc sau cho ứng dụng user_webfinger.
# Bỏ ghi chú nếu bạn định sử dụng ứng dụng này.
#rewrite ^/.well-known/host-meta /public.php?service=host-meta last;
#rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json last;
# Chỉ cần 2 quy tắc sau cho ứng dụng Mạng xã hội.
# Bỏ ghi chú nếu bạn định sử dụng ứng dụng này.
#rewrite ^/.well-known/webfinger /public.php?service=webfinger last;
location = /.well-known/carddav {
return 301 $scheme://$host:$server_port/remote.php/dav;
}
location = /.well-known/caldav {
return 301 $scheme://$host:$server_port/remote.php/dav;
}
# đặt kích thước tải lên tối đa
client_max_body_size 512M;
fastcgi_buffers 64 4K;
# Bật gzip nhưng không xóa tiêu đề ETag
bật gzip;
bật gzip_vary;
gzip_comp_level 4;
gzip_min_length 256;
gzip_proxied expired no-cache no-store private no_last_modified no_etag auth;
gzip_types application/atom+xml application/javascript application/json application/ld+json application/manifest+json application/rss+xml application/vnd.geo+json application/vnd.ms-fontobject application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/bmp image/svg+xml image/x-icon text/cache-manifest text/css text/plain text/vcard text/vnd.rim.location.xloc text/vtt text/x-component text/x-cross-domain-policy;
# Bỏ chú thích nếu máy chủ của bạn được xây dựng bằng mô-đun ngx_pagespeed
# Mô-đun này hiện không được hỗ trợ.
#pagespeed tắt;
location / {
rewrite ^ /index.php;
}
location ~ ^\/(?:build|tests|config|lib|bên thứ 3|templates|data)\/ {
từ chối tất cả;
}
vị trí ~ ^\/(?:\.|autotest|occ|issue|indie|db_|console) {
từ chối tất cả;
}
vị trí ~ ^\/(?:index|remote|public|cron|core\/ajax\/update|status|ocs\/v[12]|updater\/.+|oc[ms]-provider\/.+)\.php(?:$|\/) {
fastcgi_split_path_info ^(.+?\.php)(\/.*|)$;
đặt $path_info $fastcgi_path_info;
try_files $fastcgi_script_name =404;
bao gồm fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $path_info;
fastcgi_param HTTPS on;
# Tránh gửi tiêu đề bảo mật hai lần
fastcgi_param modHeadersAvailable true;
# Bật url đẹp
fastcgi_param front_controller_active true;
fastcgi_pass php-handler;
fastcgi_intercept_errors on;
fastcgi_request_buffering off;
}
location ~ ^\/(?:updater|oc[ms]-provider)(?:$|\/) {
try_files $uri/ =404;
index index.php;
}
# Thêm tiêu đề kiểm soát bộ đệm cho các tệp js, css và bản đồ
# Đảm bảo rằng nó ở DƯỚI ĐÂY vị trí khối PHP
~ \.(?:css|js|woff2?|svg|gif|map)$ {
try_files $uri /index.php$request_uri;
add_header Cache-Control "public, max-age=15778463";
# Thêm tiêu đề để phục vụ các tiêu đề liên quan đến bảo mật (Mục đích là
# sao chép các tiêu đề đó thành các tiêu đề ở trên)
# Trước khi bật các tiêu đề Strict-Transport-Security, vui lòng đọc kỹ
# chủ đề này trước.
#add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;" luôn luôn;
#
# CẢNH BÁO: Chỉ thêm tùy chọn preload sau khi bạn đọc về
# hậu quả trong https://hstspreload.org/. Tùy chọn này
# sẽ thêm tên miền vào danh sách được mã hóa cứng được vận chuyển
# trong tất cả các trình duyệt chính và việc xóa khỏi danh sách này
# có thể mất vài tháng.
add_header Referrer-Policy "no-referrer" luôn luôn;
add_header X-Content-Type-Options "nosniff" luôn luôn;
add_header X-Download-Options "noopen" luôn luôn;
add_header X-Frame-Options "SAMEORIGIN" luôn luôn;
add_header X-Permitted-Cross-Domain-Policies "none" luôn luôn;
add_header X-Robots-Tag "none" luôn luôn;
add_header X-XSS-Protection "1; mode=block" always;
# Tùy chọn: Không ghi nhật ký truy cập vào tài sản
access_log off;
}
location ~ \.(?:png|html|ttf|ico|jpg|jpeg|bcmap)$ {
try_files $uri /index.php$request_uri;
# Tùy chọn: Không ghi nhật ký truy cập vào tài sản khác
access_log off;
}
}
Sau đó, kiểm tra cấu hình nginx và khởi động lại dịch vụ Nginx. Và đảm bảo không có lỗi nào.
Mã:
nginx -t
systemctl restart nginx
Mã:
netstat -plntu
Kết quả là, bạn đã thêm cấu hình máy chủ ảo Nginx cho Nextcloud và bật HTTPS an toàn trên đó.
Bước 7 - Thiết lập SELinux cho Nextcloud
Đối với hướng dẫn này, chúng tôi sẽ sử dụng SELinux ở chế độ 'thực thi'. Và chúng tôi sẽ thiết lập SELinux cho cài đặt Nextcloud.Cài đặt công cụ quản lý SELinux bằng lệnh dnf bên dưới.
Mã:
sudo dnf install policycoreutils-python-utils
Mã:
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/nextcloud/data(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/nextcloud/config(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/nextcloud/apps(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/nextcloud/assets(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/nextcloud/.htaccess'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/nextcloud/.user.ini'
restorecon -Rv '/var/www/nextcloud/'
Bước 8 - Trình hướng dẫn cài đặt Nextcloud
Bây giờ hãy mở trình duyệt web của bạn và nhập tên miền Nextcloud của bạn vào thanh địa chỉ.Bây giờ bạn sẽ nhận được trang cài đặt Nextcloud như bên dưới.
Nhập tên quản trị viên của bạn người dùng và mật khẩu, sau đó chọn 'MySQL/MariaDB' làm cơ sở dữ liệu của bạn và nhập thông tin chi tiết về cơ sở dữ liệu mà bạn đã tạo ở trên cùng.
Bây giờ hãy nhấp vào nút 'Hoàn tất thiết lập' và quá trình cài đặt sẽ bắt đầu.
Sau khi quá trình cài đặt hoàn tất, bạn sẽ nhận được bảng điều khiển Nextcloud như bên dưới.
Kết quả là bạn đã cài đặt thành công Nextcloud 17 mới nhất với máy chủ web Nginx, PHP-FPM 7.3 và cơ sở dữ liệu MariaDB trên máy chủ CentOS 8.