站长视角
用户至上

vultr、搬瓦工等国外服务器CentOS 8系统安装Nextcloud教程

Nextcloud是一种开源文件同步和共享软件,可以替代Google Drive,Yandex Disk和类似的基于云存储。Nextcloud现在具有Onlyoffice,允许共享文档编辑和Nextcloud对话、视频会议、虚拟办公等解决方案等。

在本教程中,我们将在vultr云服务器(如搬瓦工、Hostwinds、vultr等)上设置Nextcloud 18,使用nginx作为Web服务器,并使用PostgreSQL作为数据库引擎。

Vultr成立于2014年,主营VPS云服务器、独立服务器等产品,按小时计费,其中VPS云服务器产品基于KVM架构性能也是比较有保障,目前拥有全球16大数据中心可以选择,包含日本、新加坡、洛杉矶、硅谷、西雅图等等!是目前国外比较成熟的一家按小时计费商家,支持信用卡、paypal、比特币、支付宝、微信等充值方式。

官方网站

点击这里直达Vultr官方网站

设置云服务器

登录到vultr并部署新服务器。本教程中我们使用1GB内存,25GB存储和CentOS 8模板的最基础服务器。部署服务器后,即可使用SSH登录。

ssh root@<your-ip-address>

登录后,更改密码,然后输入两次新密码。

passwd

为了保护服务器安全,最好防止以root用户身份登录,因此需要创建另一个用户。

为您自己创建一个新的用户名。

adduser nextcloud

然后给新用户一个密码

passwd nextcloud

将用户添加到Wheel组,以能够调用管理特权。

usermod -aG wheel nextcloud

然后通过编辑/ etc / ssh / sshd_config文件并将PermitRootLogin设置为no来防止root登录。

nano /etc/ssh/sshd_config
PermitRootLogin no

退出编辑器,然后重新启动SSHD服务。重新启动过程完成后,断开连接并使用新的用户名重新登录

ssh nextcloud@<your-ip-address>

当启用SE Linux时,CentOS 8提供了一些安全保护。SE Linux的主要目的是通过遵循最小特权原则来控制文件访问权限,以便程序仅访问所需的文件。这在运行诸如NextCloud之类的服务时特别有用,但确实会增加设置的复杂性。

通过设置SELINUX = enforcing,我们将SE Linux从许可模式更改为强制模式。

sudo nano /etc/selinux/config
SELINUX=enforcing

然后保存文件并退出编辑器。

这些更改将在下次重新启动时应用,但是为了节省时间,您可以使用以下命令更改运行时的设置。

sudo setenforce enforcing

如果再检查SELinux模式。

sestatus

然后,输出应给出以下内容。

SELinux status:               enabled
SELinuxfs mount:              /sys/fs/selinux
SELinux root directory:       /etc/selinux
Loaded policy name:           targeted
Current mode:                 enforcing
Mode from config file:        permissive
Policy MLS status:            enabled
Policy deny_unknown status:   allowed
Memory protection checking:   actual (secure)
Max kernel policy version:    31

最后,更新已安装的软件

sudo dnf -y update

完成后,请继续进行下一步。

配置域名

您将需要配置一个有效的域名,使其指向您的云服务器IP地址,以便能够获取SSL证书,如本指南后面所述。如果您没有域名,则可以使用Freenom获取免费的临时域名。

您可以在我们的域名指南中阅读有关域名系统以及如何配置DNS记录以将您的域指向正确的IP地址的更多信息。

安装NGINX Web服务器

接下来,我们将安装NGINX作为NextCloud服务器的基础。

但首先,添加EPEL存储库

sudo dnf -y install epel-release

然后更新存储库并安装Nginx

sudo dnf -y install nginx

验证安装

sudo nginx -v

应该给出类似的输出

nginx version: nginx/1.14.1

启用(确保Nginx在重新启动后自动启动)并启动Nginx

sudo systemctl enable nginx
sudo systemctl start nginx

检查Nginx是否正在运行

curl -I 127.0.0.1

这应该给出类似于以下内容的输出

HTTP/1.1 200 OK
Server: nginx/1.14.1
Date: Thu, 30 Jul 2020 16:34:40 GMT
Content-Type: text/html
Content-Length: 4057
Last-Modified: Mon, 07 Oct 2019 21:16:24 GMT
Connection: keep-alive
ETag: "5d9bab28-fd9"
Accept-Ranges: bytes

创建防火墙规则以允许Web访问

sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --add-service=https --permanent
sudo firewall-cmd --reload

安装Let’s Encrypt加密证书

编辑Nginx配置以指示域名

sudo nano /etc/nginx/nginx.conf

更改服务器名称以使用您的域,将my.domain.com替换为您的域。

server_name my.domain.com www.my.domain.com;

然后,保存并退出。

然后重新加载NGINX以应用更改。

sudo systemctl reload nginx

接下来,安装Certbot,它将自动设置证书。

sudo dnf install -y certbot python3-certbot-nginx

然后使用以下命令获取证书。再次用您的替换my.domain.com。

sudo certbot --nginx -d my.domain.com

在第一次运行时,您需要向Certbot提供一些详细信息。

  • 然后它将询问您的电子邮件地址,并且您已阅读并同意服务条款。
  • 然后,您可以选择从电子前沿基金会(EFF)接收信息。
  • 然后,应将my.domain.com和www.my.domain.com指示为要获取其证书的域,您应该同意。
  • 最后指示它应该将所有流量从HTTP重定向到HTTPS。

如果成功,您将看到确认Certbot已为您的域获取证书的确认。

安装PostGRESQL

接下来,您将需要安装数据库。我们将使用外部存储库来安装最新版本的PostgreSQL,即版本12。

使用以下命令启用外部PostgreSQL存储库。

sudo dnf -y install https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm

从CentOS存储库中禁用PostgreSQL。

sudo dnf -qy module disable postgresql

然后从外部存储库安装PostgreSQL。

sudo dnf -y install postgresql12 postgresql12-server

初始化数据库,并使其在服务器启动时自动启动。

sudo /usr/pgsql-12/bin/postgresql-12-setup initdb
sudo systemctl enable postgresql-12
sudo systemctl start postgresql-12

接下来,使用以下命令为postgres用户帐户设置密码,然后输入两次新密码。

sudo passwd postgres

完成后,使用下一个命令更改为postgres用户帐户。

su -l postgres

输入Postgres数据库软件。

psql

然后为NextCloud创建数据库。用安全的密码替换密码。

CREATE USER nextclouddbuser WITH PASSWORD 'nextclouddbuserpassword';

建立资料库

CREATE DATABASE nextclouddb;

授予NextCloud用户访问数据库的权限。

GRANT ALL PRIVILEGES ON DATABASE nextclouddb TO nextclouddbuser;

通过键入以下内容退出数据库。

\q

然后,退出postgres用户帐户。

exit

要启用到数据库的连接,必须修改配置,编辑pg_hba.conf文件。

sudo nano /var/lib/pgsql/12/data/pg_hba.conf

然后找到主机IPv4行并按如下所示进行设置。

host all all 127.0.0.1/32 md5

同样,更改线路IPv6主机。

host all all ::1/128 md5

之后,重新启动Postgresql服务以启用更改。

sudo systemctl restart postgresql-12

数据库准备就绪!继续下面的安装下一步。

安装Redis

Redis是一个开源的内存中数据结构存储,我们将其用作缓存。

使用以下命令安装Redis。

sudo dnf install -y redis

然后启动并启用Redis服务。

sudo systemctl enable redis.service
sudo systemctl start redis.service

这就是配置Redis所需要做的全部工作。在下一节中继续进行PHP安装。

安装PHP 7.4

接下来,您需要安装PHP。首先,启用REMI存储库。

sudo dnf -y install https://rpms.remirepo.net/enterprise/remi-release-8.rpm

安装实用程序包。

sudo dnf -y install yum-utils unzip policycoreutils-python-utils mlocate bzip2 wget tar

为REMI存储库启用模块流。

sudo dnf module reset php
sudo dnf -y module install php:remi-7.4

安装PHP模块。

sudo dnf install -y php php-gd php-mbstring php-intl \
php-pecl-apcu php-opcache php-json php-pecl-zip php-pear \
php-pecl-imagick php-fpm php-pecl-redis5 \
php-intl php-pgsql php-common php-pdo php-xml \
php-lz4 php-xml php-pecl-crypto php-pecl-rar \
php-pecl-pq php-pecl-lzf php-cli php-pecl-apcu-bc

然后通过首先编辑/etc/php-fpm.d/www.conf文件来设置PHP 。

sudo nano /etc/php-fpm.d/www.conf

取消注释以下行,并将管理内存限制更改为512 MB。

;env[HOSTNAME] = $HOSTNAME
;env[PATH] = /usr/local/bin:/usr/bin:/bin
;env[TMP] = /tmp
;env[TMPDIR] = /tmp
;env[TEMP] = /tmp
...
;php_admin_value[memory_limit] = 128M
...
;php_value[opcache.file_cache] = /var/lib/php/opcache

之后,这些行应如下所示。

env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp
...
php_admin_value[memory_limit] = 512M
...
php_value[opcache.file_cache] = /var/lib/php/opcache

接下来,创建以下目录来存储临时信息。

sudo mkdir -p /var/lib/php/{session,opcache,wsdlcache}
sudo chown -R root:nginx /var/lib/php/{opcache,wsdlcache}
sudo chown -R nginx:nginx /var/lib/php/session

完成后,启动并启用PHP以在引导时运行。

sudo systemctl enable php-fpm
sudo systemctl start php-fpm

下载Nextcloud

从其下载页面获取NextCloud服务器。您可以使用以下命令下载安装软件包。在网页上查看最新版本。

wget https://download.nextcloud.com/server/releases/nextcloud-18.0.7.tar.bz2

接下来,要验证软件包,请同时下载SHA256哈希值,签名和PGP密钥。

wget https://download.nextcloud.com/server/releases/nextcloud-18.0.7.tar.bz2.sha256
wget https://download.nextcloud.com/server/releases/nextcloud-18.0.7.tar.bz2.asc
wget https://nextcloud.com/nextcloud.asc

然后使用以下命令验证sha256sum。

sha256sum -c nextcloud-18.0.7.tar.bz2.sha256 < nextcloud-18.0.7.tar.bz2

输出应如下面的示例所示。

nextcloud-18.0.7.tar.bz2: OK

通过首先导入密钥来验证签名。

gpg --import nextcloud.asc

哪个应该给出以下内容。

gpg: directory '/home/nextcloud/.gnupg' created
gpg: keybox '/home/nextcloud/.gnupg/pubring.kbx' created
gpg: /home/nextcloud/.gnupg/trustdb.gpg: trustdb created
gpg: key D75899B9A724937A: public key "Nextcloud Security <security@nextcloud.com>" imported
gpg: Total number processed: 1
gpg:               imported: 1

然后检查签名。

gpg --verify nextcloud-18.0.7.tar.bz2.asc nextcloud-18.0.7.tar.bz2

哪个应该给出如下输出。

gpg: Signature made Wed 15 Jul 2020 20:07:06 UTC
gpg:                using RSA key D75899B9A724937A
gpg: Good signature from "Nextcloud Security <security@nextcloud.com>" [unknown]
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: 2880 6A87 8AE4 23A2 8372  792E D758 99B9 A724 937A

要验证密钥,请在公共密钥服务器(例如https://pgp.mit.edu/)上进行检查,您应在该服务器上搜索0xD75899B9A724937A

接下来,将包解压缩到一个文件夹中。

tar -xvf nextcloud-18.0.7.tar.bz2

将文件夹复制到NGINX根目录。

sudo rm -rf /usr/share/nginx/html
sudo cp -r nextcloud /usr/share/nginx/html

另外,建立以下数据目录。

sudo mkdir /usr/share/nginx/data

确保NGINX可以读写NextCloud文件夹

sudo chown -R nginx:nginx /usr/share/nginx

然后重启NGINX。

sudo systemctl restart nginx

您还需要配置SELinux以允许访问适当的文件夹。

sudo semanage fcontext -a -t httpd_sys_rw_content_t '/usr/share/nginx/data(/.*)?'
sudo semanage fcontext -a -t httpd_sys_rw_content_t '/usr/share/nginx/html/config(/.*)?'
sudo semanage fcontext -a -t httpd_sys_rw_content_t '/usr/share/nginx/html/apps(/.*)?'
sudo semanage fcontext -a -t httpd_sys_rw_content_t '/usr/share/nginx/html/.htaccess'
sudo semanage fcontext -a -t httpd_sys_rw_content_t '/usr/share/nginx/html/.user.ini'
sudo semanage fcontext -a -t httpd_sys_rw_content_t '/usr/share/nginx/html/3rdparty/aws/aws-sdk-php/src/data/logs(/.*)?'
sudo restorecon -R '/usr/share/nginx/html/'
sudo restorecon -R '/usr/share/nginx/data/'
sudo setsebool -P httpd_can_network_connect on

为NextCloud配置NGINX和PHP

现在设置NGINX和PHP配置文件。将/etc/nginx/nginx.conf更改为具有以下内容。

sudo nano /etc/nginx/nginx.conf
# For more information on configuration, see:
# * Official English Documentation: http://nginx.org/en/docs/
# * Official Russian Documentation: http://nginx.org/ru/docs/

user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;

# Load dynamic modules. See /usr/share/doc/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;

events {
    worker_connections 1024;
}

http {
    log_format main '$remote_addr - $remote_user [$time_local] "$request" '
                    '$status $body_bytes_sent "$http_referer" '
                    '"$http_user_agent" "$http_x_forwarded_for"';

    access_log /var/log/nginx/access.log main;
    sendfile on;
    tcp_nopush on;
    tcp_nodelay on;
    keepalive_timeout 65;
    types_hash_max_size 2048;

    include /etc/nginx/mime.types;
    default_type application/octet-stream;

    # Load modular configuration files from the /etc/nginx/conf.d directory.
    # See http://nginx.org/en/docs/ngx_core_module.html#include
    # for more information.
    include /etc/nginx/conf.d/*.conf;

    server {

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

        location / {
        }
    }
}

接下来,创建NextCloud网站配置文件/etc/nginx/conf.d/nextcloud.conf

sudo nano /etc/nginx/conf.d/nextcloud.conf

在配置文件中包括以下内容。由于文件的长度,您可能需要分批复制。将所有出现的my.domain.com替换为您的域。

upstream php-handler {
    server unix:/run/php-fpm/www.sock;
}

server {
    listen 80;
    listen [::]:80;
    server_name my.domain.com;
    # enforce https
    return 301 https://$server_name:443$request_uri;
}

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name www.my.domain.com my.domain.com;

    ssl_certificate /etc/letsencrypt/live/my.domain.com/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/my.domain.com/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

    # Add headers to serve security-related headers
    # Before enabling Strict-Transport-Security headers please read into this
    # topic first.
    add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;" always;
    #
    # WARNING: Only add the preload option once you read about
    # the consequences in https://hstspreload.org/. This option
    # will add the domain to a hardcoded list that is shipped
    # in all major browsers and getting removed from this list
    # could take several months.
    add_header Referrer-Policy "no-referrer" always;
    add_header X-Content-Type-Options "nosniff" always;
    add_header X-Download-Options "noopen" always;
    add_header X-Frame-Options "SAMEORIGIN" always;
    add_header X-Permitted-Cross-Domain-Policies "none" always;
    add_header X-Robots-Tag "none" always;
    add_header X-Robots-Tag "none" always;
    add_header X-XSS-Protection "1; mode=block" always;

    # Remove X-Powered-By, which is an information leak
    fastcgi_hide_header X-Powered-By;

    # Path to the root of your installation
    root /usr/share/nginx/html/;

    location = /robots.txt {
        allow all;
        log_not_found off;
        access_log off;
    }

    # The following 2 rules are only needed for the user_webfinger app.
    # Uncomment it if you're planning to use this app.
    #rewrite ^/.well-known/host-meta /public.php?service=host-meta last;

    #rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json last;

    # The following rule is only needed for the Social app.
    # Uncomment it if you're planning to use this app.
    #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;
    }

     location ^~ {

        # set max upload size
        client_max_body_size 512M;
        fastcgi_buffers 64 4K;

        # Enable gzip but do not remove ETag headers
        gzip on;
        gzip_vary on;
        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;

        # Uncomment if your server is built with the ngx_pagespeed module
        # This module is currently not supported.
        # pagespeed off;

        location / {
            rewrite ^ /index.php;
        }

        location ~ ^\/(?:build|tests|config|lib|3rdparty|templates|data)\/ {
            deny all;
        }
        location ~ ^\/(?:\.|autotest|occ|issue|indie|db_|console) {
            deny all;
        }

        location ~ ^\/(?:index|remote|public|cron|core\/ajax\/update|status|ocs\/v[12]|updater\/.+|oc[ms]-provider\/.+)\.php(?:$|\/) {
            fastcgi_split_path_info ^(.+?\.php)(\/.*|)$;
            set $path_info $fastcgi_path_info;
            try_files $fastcgi_script_name =404;
            include fastcgi_params;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            fastcgi_param PATH_INFO $path_info;
            fastcgi_param HTTPS on;
            # Avoid sending the security headers twice
            fastcgi_param modHeadersAvailable true;
            # Enable pretty urls
            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;
        }

        # Adding the cache control header for js, css and map files
        # Make sure it is BELOW the PHP block
        location ~ ^\/.+[^\/]\.(?:css|js|woff2?|svg|gif|map)$ {
            try_files $uri /index.php$request_uri;
            add_header Cache-Control "public, max-age=15778463";
            # Add headers to serve security related headers (It is intended
            # to have those duplicated to the ones above)
            # Before enabling Strict-Transport-Security headers please read
            # into this topic first.
            #add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;" always;
            #
            # WARNING: Only add the preload option once you read about
            # the consequences in https://hstspreload.org/. This option
            # will add the domain to a hardcoded list that is shipped
            # in all major browsers and getting removed from this list
            # could take several months.
            add_header Referrer-Policy "no-referrer" always;
            add_header X-Content-Type-Options "nosniff" always;
            add_header X-Download-Options "noopen" always;
            add_header X-Frame-Options "SAMEORIGIN" always;
            add_header X-Permitted-Cross-Domain-Policies "none" always;
            add_header X-Robots-Tag "none" always;
            add_header X-XSS-Protection "1; mode=block" always;

            # Optional: Don't log access to assets
            access_log off;
        }

        location ~ ^\/.+[^\/]\.(?:png|html|ttf|ico|jpg|jpeg|bcmap)$ {
            try_files $uri /index.php$request_uri;
            # Optional: Don't log access to other assets
            access_log off;
        }
    }
}

接下来,增加PHP内存限制。

sudo nano /etc/php.ini

如下将memory_limit更改为512 MB。通过按ctrl + w,输入memory_limit并按Enter键,可以在nano中使用搜索功能。

memory_limit = 512M

另外,对php-fpm配置进行以下更改。

sudo nano /etc/php-fpm.d/www.conf

将用户和组的值从apache更改为nginx,以使各行如下所示。

user = nginx
group = nginx

安装NextCloud

转到NextCloud安装目录。

cd /usr/share/nginx/html

然后使用以下命令安装Nextcloud。请注意,所有用于php occ的命令都需要从/ usr / share / nginx / html目录中调用。确保将数据库密码设置为与创建数据库时相同的密码。另外,在Nextcloud Web面板上为您的管理员帐户创建密码。

sudo -u nginx php occ maintenance:install \
--data-dir /usr/share/nginx/data \
--database "pgsql" \
--database-name "nextclouddb" \
--database-user "nextclouddbuser" \
--database-pass "nextclouddbuserpassword" \
--admin-user "nextcloudadmin" \
--admin-pass "nextcloudadminpassword"

安装将花费一些时间,一旦完成,您将确认Nextcloud已成功安装。

接下来,通过运行以下命令来配置数据库以保护服务器的安全。

sudo -u nginx php occ db:add-missing-indices

在运行文件缓存转换之前,首先,启用维护模式。

sudo -u nginx php occ maintenance:mode --on

然后运行转换,并在要求确认时选择是。

sudo -u nginx php occ db:convert-filecache-bigint

然后,再次关闭维护模式。

sudo -u nginx php occ maintenance:mode --off

修改文件/usr/share/nginx/html/config/config.php以允许您的域名作为从中访问Nextcloud并使用缓存的位置。

sudo nano config/config.php

更改内容以包括以下内容。再次用自己的my.domain.com替换,并在允许的domains数组之后插入memcacheredis配置。

...
  array (
    0 => 'localhost',
    1 => 'my.domain.com',
  ),
  'memcache.distributed' => '\OC\Memcache\Redis',
  'memcache.locking' => '\OC\Memcache\Redis',
  'memcache.local' => '\OC\Memcache\APCu',
  'redis' => array(
    'host' => 'localhost',
    'port' => 6379,
  ),
  'datadirectory' => '/usr/share/nginx/data',
...

完成所有操作后,重新启动Nextcloud服务器,以确保所有设置均已成功应用。

sudo reboot

服务器再次启动后,所有服务都应恢复,并且网站可以联机。继续下面的画龙点睛以安装一些应用程序,并确保您的Nextcloud服务器是安全的。

配置Nextcloud

通过Web界面登录到您的Nextcloud实例。转到您的Nextcloud网站,并使用Nextcloud安装命令中设置的管理员用户名和密码登录。

https://my.domain.com/login

登录后,您将看到Nextcloud仪表板。要进行最后几个配置,请单击齿轮和“应用程序”链接转到“应用程序”视图。

Nextcloud应用程序菜单

然后在“应用程序”列表中,通过单击左侧的菜单链接转到“应用程序包”。

Nextcloud应用程序捆绑

在“应用程序捆绑包”视图中,通过单击“全部启用”按钮启用并安装集线器捆绑包。然后,Nextcloud将开始下载选定的应用程序,并将其包括在您的网站中。

在Nextcloud中激活应用程序包

之后,您应该看到已启用所选的应用程序。

注销您的实例,然后再次重新启动服务器。

sudo reboot

然后,重启程完成后,重新登录。

检查文档编辑(仅Office和Community Document Server)和Talk应用程序是否正常运行。您可以通过打开Example.md文件进行编辑来测试它们。您可以通过单击右上角的X关闭编辑器。

Nextcloud文件编辑器

接下来,在服务器概述中检查服务器是否有任何配置警告,以及该软件是否为最新。如果一切都已正确配置,则应该看到绿色的复选图标,表示所有选择均已通过。

Nextcloud的安全性检查

最后,您还可以使用Nextcloud安全扫描程序检查Nextcloud的安装。转到https://scan.nextcloud.com/并在文本字段中输入您的Nextcloud域名,然后单击“扫描”。

您将获得A +结果的满分,如下所示。

使用外部扫描仪进行Nextcloud安全扫描

之后,您还应该考虑通过安装Fail2Ban来进一步保护服务器安全。

赞(0)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权, 转载请注明出处。
文章名称:《vultr、搬瓦工等国外服务器CentOS 8系统安装Nextcloud教程》
文章链接:https://cnidc.co/14555.html
【声明】:国外主机测评仅分享信息,不参与任何交易,也非中介,所有内容仅代表个人观点,均不作直接、间接、法定、约定的保证,读者购买风险自担。一旦您访问国外主机测评,即表示您已经知晓并接受了此声明通告。
【关于安全】:任何 IDC商家都有倒闭和跑路的可能,备份永远是最佳选择,服务器也是机器,不勤备份是对自己极不负责的表现,请保持良好的备份习惯。

登录

找回密码

注册