• 如何在Ubuntu上将OnlyOffice与NextCloud集成

    您可能知道,Nextcloud是一个自托管的云存储解决方案,OnlyOffice是一个自托管的在线office文档服务器。本教程将向您展示如何将OnlyOffice与Nextcloud集成,这样您就可以直接从Nextcloud web界面编辑office文档(DOCX、XLSX、PPTX等)。 Nextcloud OnlyOffice集成应用程序的功能 全功能文本编辑器可在线使用,具有桌面编辑器的所有功能。 100%的查看、转换、打印和分页保真度。 它允许您添加链接、表格、图表、插入图像、自动形状、公式、文本对象并对其进行操作,创建项目符号或编号列表。 与队友实时协同编辑:立即或仅在保存后显示更改。使用评论和内置聊天来查看和跟踪更改。 支持DOCX、XLSX、PPTX、TXT文件编辑和保存。您还可以将文件保存为其他格式,如ODT、ODS、ODP、DOC、XLS、PPT、PPS、EPUB、RTF、HTML、HTM。 与Office Open XML格式完全兼容:。docx。xlsx。pptx 自动保存您的文件,这样您就不会丢失您的工作。 支持拉丁文、CJK(中文、日文、韩文)字符。 先决条件 OnlyOffice document server至少需要2核CPU和2GB RAM。为了让它在Nextcloud中平稳运行,我建议使用一台具有4核CPU和4GB RAM的服务器。您可以从Contabo购买功能强大的VPS,成本很低。如果有很多用户,您应该考虑升级服务器规格。 Contabo仅在德国设有数据中心。如果你需要在美国托管的VPS,我推荐Turnkey Internet,它提供4核CPU、8GB RAM的VPS,价格为9.99美元/月。 要完成本指南,您需要一台运行正常的Nextcloud服务器。如果您还没有这样做,请先阅读下面的文章来设置Nextcloud服务器。 使用Nginx(LEMP堆栈)在Ubuntu18.04上安装NextCloud 然后阅读以下说明以集成OnlyOffice和Nextcloud。OnlyOffice document server和Nextcloud server可以安装在两台不同的主机上,让我们开始吧。 第一步:在Ubuntu上只安装Office Document Server 只有Office document server依赖于PostgreSQL节点。js、Redis服务器、RabbitMQ服务器和Nginx。以下步骤在Ubuntu 18.04服务器上进行了测试,但也应适用于Debian系列的Linux发行版。 从Ubuntu存储库安装PostgreSQL sudo apt安装postgresql 然后创建onlyoffice数据库。 sudo-i-u postgres psql-c“仅创建数据库办公室 创建onlyoffice用户。 sudo-i-u postgres psql-c“使用密码‘onlyoffice’创建用户onlyoffice” 准许。 sudo-i-u postgres psql-c“将数据库onlyoffice上的所有权限授予onlyoffice 注意:用户名和密码都必须是onlyoffice。 从官方存储库安装NodeJS OnlyOffice document server需要nodejs版本8.12.0+,但Ubuntu存储库中的版本已经过时,因此我们需要安装Node的最新LTS版本(12.13.1)。来自上游存储库的js。 添加节点。js报告。 curl-sLhttps://deb.nodesource.com/setup_12.x| sudo-E bash- 安装节点。js。 sudo apt安装nodejs-y 检查节点。js版本。 节点-v 样本输出: v12。13.1 安装Redis服务器和Rabbitmq sudo apt安装redis服务器rabbitmq服务器 检查他们的状态。 systemctl状态redis服务器systemctl状态rabbitmq服务器 你应该看到它们处于活动状态(正在运行)。如果rabbitmq服务器无法启动,主要是因为机器内存不足或主机名无效。Redis服务器监听127.0.0.1:6379。RabbitMQ监听0.0.0.0:25672和0.0.0.0:4369 仅安装Office文档服务器 使用以下命令添加OnlyOffice存储库。 回声“黛布”http://download.onlyoffice.com/repo/debian挤压main“| sudo tee/etc/apt/sources.list.d/onlyoffice.list 仅导入办公室公钥。 sudo apt key adv--keyserverhkp://keyserver.ubuntu.com:80--记录键CB2DE8E5 更新本地包索引并仅安装Office document server。请注意,onlyoffice documentserver包将作为依赖项安装nginx extras,因此如果Apache web服务器正在运行,则需要先停止它。 sudo apt更新sudo apt仅安装Office documentserver 在安装过程中,您将被要求为onlyoffice输入PostgreSQL密码。输入“onlyoffice”(不带双引号)。 您还需要接受Microsoft许可条款,才能从Microsoft安装TrueType core字体。 Nginx服务器块将作为/etc/Nginx/conf.d/ds安装。conf(它实际上是指向/etc/onlyoffice/documentserver/nginx/ds.conf的符号链接)。onlyoffice文档服务器是一个nodejs web应用程序,nginx充当反向代理。/var/www/onlyoffice/documentserver/是web根目录。 安装完成后,在web浏览器中输入服务器的公共IP地址,您会看到“Document server正在运行” 要检查document server的版本号,可以使用以下命令。 apt搜索Only Office documentserver 样本输出。 onlyoffice documentserver/squeeze,现在是5.4.1-39 amd64[已安装]用于文本、电子表格和演示文稿文件的在线查看器和编辑器。 步骤2:为文档服务器启用HTTPS 要将NextCloud连接到OnlyOffice document server,后者必须以HTTPS模式运行(NextCloud server和用户浏览器都需要与document server联系)。以下步骤显示如何获取并安装Let's Encrypt TLS证书。 首先,我们需要编辑OnlyOffice Nginx服务器块文件。 sudo nano/etc/nginx/conf.d/ds。形态 我们添加了一个服务器名称指令,如下所示。别忘了为onlyoffice设置DNS记录。你的领域。通用域名格式。 include/etc/nginx/includes/http common。形态;服务器{listen 0.0.0:80;listen[::]:80默认服务器;服务器令牌关闭;服务器名称onlyoffice.your-domain.com;include/etc/nginx/includes/ds-*.conf;} 保存并关闭文件。重新加载Nginx以使更改生效。 sudo systemctl重新加载nginx 然后安装certbot(让我们加密)客户端和Nginx插件。 sudo apt安装certbot python3 certbot nginx 接下来,运行以下命令,使用Nginx插件获取免费的TLS证书。 sudo certbot--nginx--agree tos--redirect--hsts--staple ocsp--email[email protected]-d only office。你的领域。通用域名格式 哪里: --nginx:使用nginx插件。 --同意:同意服务条款。 --重定向:通过301重定向强制HTTPS。 --hsts:为每个HTTP响应添加严格的传输安全头。强制浏览器始终对域使用TLS。防止SSL/TLS剥离。 --装订ocsp:启用ocsp装订。有效的OCSP响应被绑定到服务器在TLS期间提供的证书上。 几秒钟内,您将看到如下消息,这意味着TLS证书已成功获得。 参观https://onlyoffice.your-domain.com在web浏览器中验证OnlyOffice document server是否在HTTPS模式下正确运行。 步骤3:安装Nextcloud OnlyOffice集成应用程序 以管理员身份登录Nextcloud web界面,然后进入Nextcloud应用程序页面,单击Office&左窗格上的文本选项卡。你会发现OnlyOffice应用程序。下载并启用它。   之后,转到Nextcloud设置页面,选择左侧窗格中的ONLYOFFICE选项卡,并在文档编辑服务地址字段中输入ONLYOFFICE的域名。 保存上述设置后,您应该能够通过单击加号(+)按钮在Nextcloud中创建文档、spreedsheet和演示文稿文件。将打开一个单独的选项卡进行编辑。 在office文档的上下文菜单中,您还会看到一个名为“在OnlyOffice中打开”的新项。 在同一主机上仅安装Office Document Server和Nextcloud OnlyOffice文档服务器使用Nginx作为web服务器。 如果现有的Nextcloud服务器使用Nginx运行,那么在同一台机器上安装OnlyOffice时,Nextcloud服务器不会受到损坏。它将删除nginx core并安装nginx extras软件包,因此会有一点停机时间,但您的配置将完好无损。 如果现有的Nextcloud服务器与Apache web server一起运行,并且只想在同一台机器上安装Office,那么有两种选择: 停止/删除Apache,使用Nginx作为Nextcloud和OnlyOffice的web服务器。您可以在本教程中使用Nextcloud Nginx配置。 将Nginx配置为Apache的反向代理。 将Nginx配置为Apache的反向代理 如果选择第二个路由,那么在安装OnlyOffice document server之前,应该首先更改Apache的端口号。 编辑端口。conf文件。 sudo nano/etc/apache2/ports。形态 找到这句话: 听着80 将其更改为其他端口号,如8180。请注意,这里不应该使用8080,因为只有Office document server需要端口8080来启动其docservice。 听着8180 您还应该更改SSL端口号,因为稍后Nginx将执行SSL终止。找到这句话: 听着 将端口号更改为4433。 听着,4433 保存并关闭文件。接下来,编辑Nextcloud的虚拟主机文件。 sudo nano/etc/apache2/sites enabled/nextcloud。形态 第一行应该是这样的: <虚拟主机*:80> 将端口号更改为8180。 <VirtualHost*:8180> 我们还应该通过在下面几行之前添加注释字符来禁用将HTTP重定向到HTTPS。(你的Nextcloud服务器正在使用HTTPS连接,对吗?) #在#RewriteCond%{SERVER_NAME}=nextcloud上重写引擎。你的领域。com#RewriteRule^https://%{SERVER_NAME}%{REQUEST_URI}[END,QSA,R=permanent] 并更改SSL侦听端口。 <VirtualHost*:443> 将上述端口更改为4433。保存并关闭文件。重新加载Apache配置。 sudo systemctl重新加载apache2 现在Apache监听端口8180和4433。然后,我们可以按照上述说明安装OnlyOffice document server,该服务器将在此过程中安装Nginx。 安装OnlyOffice document server和Nginx后,创建一个Nginx服务器块文件,以代理对Apache的请求。 sudo nano/etc/nginx/conf.d/nextcloud-proxy。形态 将以下行添加到文件中。将域名替换为您自己的域名。ssl_证书和ssl_证书_密钥的路径用于加密已颁发的证书。如果使用另一个CA颁发的证书,则应输入自己的路径。 服务器{listen 80;server_name nextcloud.your-domain.com;返回301 https://$server_name$request_uri;}服务器{listen 443 ssl http2;server_name nextcloud.your-domain.com;ssl_certificate/etc/letsencrypt/live/nextcloud.your-domain.com/fullchain.pem;ssl_certificate_key/etc/letsencrypt/live/nextcloud.your-domain.com/privkey.pem;ssl_会话_超时1d;ssl_会话_缓存共享:ssl:10m;ssl_会话_票据关闭;ssl_协议TLSv1.1 TLSv12.添加_header Strict Transport Security max age=15768000;ssl_密码例如:ECDHE-ECDSA-ecdedededededededededededededededededededededededededededeecdsa-sa256-ECDSA-ecdedededea-aca-ecdededededededededededededededededededededededededededededededeadh-RSA-acm-acm-acm-acm-acm-acm-acm-acm-acm-acm-acm-acm-acm-acm-acm-acm-acm-acm-sasasasasawawawawawawawa256-sasasasas-ses-sasawawawawawawa256-sawa256-sas-sas-sas-sas-sas-sas-sas-sas-sas-sa8-dededea-sa8-sa8-sa8-sa8-sasa8-sa-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES256-SHA256-DES-CBC3-SHA:DES-CBC3-SHA:!DSS';ssl首选服务器上的密码;位置/{proxy_passhttp://127.0.0.1:8180; 代理设置头主机$Host;proxy_set_header X-Real-IP$remote_addr;proxy_set_header X-Forwarded-For$proxy_add_X_Forwarded_For;} 位置/{…}节将所有请求重定向到侦听端口8180的Apache web服务器。保存并关闭文件。然后测试Nginx配置。 sudo nginx-t 如果语法正常,请重新加载Nginx。 sudo systemctl重新加载nginx 现在,您应该可以像往常一样访问Nextcloud服务器,而无需在URL中添加端口号。如果使用下面的cURL命令获取HTTP头,那么应该看到前端服务器是Nginx。 卷曲-Ihttps://nextcloud.your-domain.com 样本输出: HTTP/1.1 302发现服务器:nginx/1.11.9日期:2017年3月14日星期二08:55:30 GMT内容类型:text/html;字符集=UTF-8 减少DNS和HTTPS开销 如果Nextcloud和OnlyOffice安装在同一台主机上,则Nextcloud和OnlyOffice可以在本地相互通信,而无需查询公共DNS名称和建立HTTPS连接。 首先,您需要创建在本地主机上侦听Nextcloud和OnlyOffice的Nginx服务器块。对于OnlyOffice,您可以编辑/etc/nginx/conf.d/ds。配置文件 sudo nano/etc/nginx/conf.d/ds。形态 并添加以下服务器块。请注意,此服务器块在127.0.0.1:80上侦听,并仅使用Office document server作为服务器名称。 #内部服务服务器的HTTP主机{listen 127.0.0.1:80;listen[::1]:80;仅限服务器名称办公文档服务器;服务器令牌关闭;include/etc/nginx/includes/ds-*.conf;} 保存并关闭文件。然后可以编辑Nextcloud Nginx配置文件。 sudo nano/etc/nginx/conf.d/nextcloud。形态 并添加以下服务器块。它还监听127.0.0.1:80,并使用nextcloud作为服务器名称。 服务器{listen 127.0.0.1:80;服务器_namenextcloud;#添加头以提供与安全相关的头添加_头X-Content-Type-Options nosniff;添加_头X-XSS-Protection“1;模式=块”; 添加标题X-Robots-Tag none;添加标题X-Download-Options noopen;添加_头X-允许-跨域-无策略;添加标题推荐人策略无推荐人#我发现Ubuntu上需要这个标题,但Arch Linux上不需要。添加标题X-Frame-Options“SAMEORIGIN”;#安装根目录的路径/usr/share/nginx/nextcloud/;访问_log/var/log/nginx/nextcloud。通道错误_log/var/log/nginx/nextcloud。错误位置=/机器人。txt{allow all;log_not_found off;access_log off;}#以下两条规则仅适用于用户_webfinger应用程序如果您计划使用此应用程序,请取消注释#重写^/。知名/主机元/公共。php?服务=主机元最后#重写^/。知名/主机元。json/public。php?service=host meta json#last;位置=/。著名的/carddav{return 301$scheme://$host/remote.php/dav;}位置=/。著名的/caldav{return 301$scheme://$host/remote.php/dav;}地点~/。著名/极致挑战{allow all;}#设置最大上传大小客户端u最大u正文u大小512M;fastcgi_缓冲区64 4K;#禁用gzip以避免删除ETag头gzip off;#如果您的服务器是使用ngx_pagespeed模块构建的,请取消注释。该模块目前不受支持#页面速度关闭;错误_第403页/core/templates/403。php;错误_第404页/core/templates/404。php;location/{rewrite^/index.php$uri;}位置^/(?:构建|测试|配置|库|第三方|模板|数据)/{deny all;}位置^/(?:/。|自动测试| occ |问题|独立|数据库|控制台){拒绝所有;}位置^/(?:index | remote | public | cron | core/ajax/update | status | ocs/v[12]| updater/+| ocs provider/+| core/templates/40[34])/。php(?:$|/){include fastcgi_params;fastcgi_split_path_info^(+/.php)(/.*$; fastcgi_参数SCRIPT_FILENAME$document_root$fastcgi_SCRIPT_name;fastcgi_参数路径信息$fastcgi_路径信息#避免发送两次安全头fastcgi_param modHeadersAvailable true;fastcgi_参数前控制器_激活真;fastcgi_pass unix:/run/php/php7。2-fpm。短袜fastcgi_截获_错误开启;fastcgi_请求_缓冲关闭;}位置^/(?:更新程序| ocs提供程序)(?:$|/){try_files$uri/=404;index index.php;}#为js和css文件添加缓存控制头#确保它位于PHP块位置~*/之下。(?:css | js)${try_files$uri/index.php$uri$is_args$args;add_header Cache Control“public,max age=7200”;#add header to service security-related header(它的目的是#将那些文件复制到上面的文件中)#add#header X-Content-Type-Options nosniff;add##header X-XSS-Protection“1;mode=block”; 添加标题X-Robots-Tag none;添加标题X-Download-Options noopen;添加_头X-允许-跨域-无策略;添加标题推荐人策略无推荐人;#可选:不登录资产访问权限u注销;}地点~*/。(?:svg | gif | png | html | ttf | woff | ico | jpg | jpeg)${try_files$uri/index.php$uri$is_args$args;#可选:不登录其他资产访问_注销;} 保存并关闭文件。测试Nginx配置,然后重新加载Nginx以使更改生效。 sudo nginx-t sudo systemctl reload nginx 接下来,我们需要在/etc/hosts文件中添加一个本地DNS记录,如下所示,这样服务器就可以找到onlyoffice document server和nextcloud的地址。 127.0.0.1 localhost Only Office document server nextcloud 保存并关闭文件。 我们还需要编辑Nextcloud配置。php文件。 sudo nano/usr/share/nginx/nextcloud/config/config。php 将nextcloud添加到受信任域列表中,如下所示。 “受信任的_域”=>数组(0=>'nextcloud.linuxbabe.com',1=>'nextcloud',), 保存并关闭文件。 现在回到Nextcloud web界面设置页面,单击高级服务器设置,输入OnlyOffice document server和Nextcloud的内部地址。 http://onlyoffice-document-server/ http://nextcloud/ 点击保存按钮,你就完成了。 如何升级OnlyOffice文档服务器 当新版本的OnlyOffice document server发布时,只需使用apt软件包管理器升级到新版本。 sudo-apt更新;sudo-apt升级 请注意,新版本将覆盖/etc/nginx/conf.d/ds中的自定义设置。conf文件。我建议使用以下命令备份此文件,这样您就可以轻松地恢复自定义配置。 cat/etc/nginx/conf.d/ds。conf | sudo-tee/etc/nginx/conf.d/ds。形态备份 收尾 我希望本教程能帮助您将OnlyOffice与Nextcloud集成。一如既往,如果你觉得这篇文章有用,那么订阅我们的免费时事通讯。你也可以在Google+、Twitter或我们的Facebook页面上关注我们。

    2022.03.23 浏览:945
  • 使用Nginx(LEMP堆栈)在Ubuntu18.04上安装NextCloud

    本教程将向您展示如何使用Nginx web服务器在Ubuntu18.04 LTS上安装NextCloud。 注意:Ubuntu20.04用户应该遵循以下指南:在Ubuntu20.04上使用Nginx(LEMP堆栈)安装NextCloud 接下来是什么? NextCloud是一个免费的开源自托管云存储解决方案。它的功能类似于Dropbox。专有的云存储解决方案(Dropbox、Google Drive等)很方便,但代价是:它们可以用于收集个人数据,因为您的文件存储在它们的计算机上。如果您担心隐私问题,可以切换到NextCloud,您可以将其安装在您的私人家庭服务器或虚拟私人服务器(VPS)上。您可以通过NextCloud将文件上传到服务器,然后将这些文件同步到台式电脑、笔记本电脑或智能手机。这样你就可以完全控制你的数据。 NextCloud功能 免费开源 端到端加密,这意味着文件可以在上传到服务器之前在客户端设备上加密,因此即使有人窃取了你的服务器,他们也看不到你的文件。 可与在线办公套件(Collobora,OnlyOffice)集成,因此您可以直接从NextCloud创建和编辑文档、ppt、xls文件。 app store包含数百个扩展功能的应用程序(如日历应用程序、笔记应用程序、视频会议应用程序等)。 同步客户端可在Linux、macOS、Windows、iOS和android上使用。 先决条件 NextCloud是用PHP编程语言编写的。要学习本教程,首先需要在Ubuntu 18.04上安装LEMP stack。如果您还没有这样做,请查看以下教程。 如何在Ubuntu18.04上安装LEMP堆栈(Nginx、MariaDB、PHP7.2-FPM) 您可以在家庭服务器或VPS(虚拟专用服务器)上安装NextCloud。你还需要一个域名。我从namescape注册了我的域名,因为价格低廉,而且他们终身免费保护whois的隐私。 现在让我们安装NextCloud。 第一步:在Ubuntu 18.04上下载NextCloud 登录你的Ubuntu 18.04服务器。然后将NextCloud压缩文件下载到服务器上。撰写本文时,最新的稳定版本是13.0.2。您可能需要更改版本号。去https://nextcloud.com/install点击下载按钮查看最新版本。 可以运行以下命令将其下载到服务器上。 wgethttps://download.nextcloud.com/server/releases/nextcloud-13.0.2.zip 您始终可以使用上述URL格式下载NextCloud。如果出现新版本,只需用新版本号替换13.0.2即可。 下载后,使用解压功能提取归档文件。 sudo apt安装unzip sudo unzip nextcloud-13.0.2。zip-d/usr/share/nginx/ -d选项指定目标目录。NextCloud web文件将被提取到/usr/share/nginx/NextCloud/。然后,我们需要将该目录的所有者更改为www数据,以便web服务器(Nginx)可以写入该目录。 sudo chown www-data:www-data/usr/share/nginx/nextcloud/-R 第2步:在MariaDB中创建数据库和用户 使用以下命令登录MariaDB数据库服务器。由于MariaDB现在使用unix_socket插件来验证用户登录,因此无需输入MariaDB根密码。我们只需要在mysql命令前面加上sudo。 sudo mysql 或者,您也可以使用此命令登录。 sudo mariadb 然后为Nextcloud创建一个数据库。本教程将数据库命名为nextcloud。你可以用任何你喜欢的名字。 创建数据库nextcloud; 创建数据库用户。同样,您可以使用此用户的首选名称。用首选密码替换密码。 创建用户nextclouduser@localhost由“您的密码”标识; 授予此用户在nextcloud数据库上的所有权限。 授予nextcloud的所有特权。*到nextclouduser@localhost由“您的密码”标识; 刷新权限并退出。 同花顺特权;出口 步骤3:为Nextcloud创建Nginx配置文件 创建一个nextcloud。conf文件位于/etc/nginx/conf.d/目录中。 sudo nano/etc/nginx/conf.d/nextcloud。形态 将以下文本放入文件中。更换nextcloud。实例com与您自己的首选子域。不要忘记在DNS区域编辑器中为此子域创建DNS记录。如果你没有一个真正的域名,我建议你去买一个便宜的域名。价格低廉,而且他们终身免费为whois提供隐私保护。 服务器{listen 80;listen[:]:80;服务器_namenextcloud.your-domain.com;#添加头以提供与安全相关的头添加_头X-Content-Type-Options nosniff;添加_头X-XSS-Protection“1;模式=块”; 添加标题X-Robots-Tag none;添加标题X-Download-Options noopen;添加_头X-允许-跨域-无策略;添加标题推荐人策略无推荐人#我发现Ubuntu上需要这个标题,但Arch Linux上不需要。添加标题X-Frame-Options“SAMEORIGIN”;#安装根目录的路径/usr/share/nginx/nextcloud/;访问_log/var/log/nginx/nextcloud。通道错误_log/var/log/nginx/nextcloud。错误位置=/机器人。txt{allow all;log_not_found off;access_log off;}#以下两条规则仅适用于用户_webfinger应用程序如果您计划使用此应用程序,请取消注释#重写^/。知名/主机元/公共。php?服务=主机元最后#重写^/。知名/主机元。json/public。php?service=host meta json#last;位置=/。著名的/carddav{return 301$scheme://$host/remote.php/dav;}位置=/。著名的/caldav{return 301$scheme://$host/remote.php/dav;}地点~/。著名/极致挑战{allow all;}#设置最大上传大小客户端u最大u正文u大小512M;fastcgi_缓冲区64 4K;#禁用gzip以避免删除ETag头gzip off;#如果您的服务器是使用ngx_pagespeed模块构建的,请取消注释。该模块目前不受支持#页面速度关闭;错误_第403页/core/templates/403。php;错误_第404页/core/templates/404。php;位置/{rewrite^/index.php;}位置^/(?:构建|测试|配置|库|第三方|模板|数据)/{deny all;}位置^/(?:/。|自动测试| occ |问题|独立|数据库|控制台){拒绝所有;}位置^/(?:index | remote | public | cron | core/ajax/update | status | ocs/v[12]| updater/+| ocs provider/+| core/templates/40[34])/。php(?:$|/){include fastcgi_params;fastcgi_split_path_info^(+/.php)(/.*$; 试试_files$fastcgi_script_name=404;fastcgi_参数SCRIPT_FILENAME$document_root$fastcgi_SCRIPT_name;fastcgi_参数路径信息$fastcgi_路径信息#避免发送两次安全头fastcgi_param modHeadersAvailable true;fastcgi_参数前控制器_激活真;fastcgi_pass unix:/run/php/php7。2-fpm。短袜fastcgi_截获_错误开启;fastcgi_请求_缓冲关闭;}位置^/(?:更新程序| ocs提供程序)(?:$|/){try_files$uri/=404;index index.php;}#为js和css文件添加缓存控制头#确保它位于PHP块位置~*/之下。(?:css | js)${try_files$uri/index.php$uri$is_args$args;add_header Cache Control“public,max age=7200”;#add header to service security-related header(它的目的是#将那些文件复制到上面的文件中)#add#header X-Content-Type-Options nosniff;add##header X-XSS-Protection“1;mode=block”; 添加标题X-Robots-Tag none;添加标题X-Download-Options noopen;添加_头X-允许-跨域-无策略;添加标题推荐人策略无推荐人;#可选:不登录资产访问权限u注销;}地点~*/。(?:svg | gif | png | html | ttf | woff | ico | jpg | jpeg)${try_files$uri/index.php$uri$is_args$args;#可选:不登录其他资产访问_注销;} 保存并关闭文件。测试Nginx配置,然后重新加载Nginx以使更改生效。 sudo nginx-t sudo systemctl reload nginx 第4步:安装并启用PHP模块 运行以下命令安装NextCloud所需或推荐的PHP模块。 sudo apt安装php imagick php7。2-常见php7。2-mysql php7。2-fpm php7。2-gd php7。2-json php7。2-卷曲php7。2-zip php7。2-xml php7。2-Mb字符串php7。2-bz2 php7。2-intl php7。2-bcmath 第5步:启用HTTPS 现在,通过输入Nextcloud安装的域名,您可以在浏览器中访问Nextcloud web安装向导。 下个星期。你的领域。通用域名格式 如果网页无法加载,您可能需要在防火墙中打开端口80。 sudo iptables-I输入-p tcp-dport 80-j接受 还有443端口。 sudo iptables-I输入-p tcp-dport 443-j接受 在输入任何敏感信息之前,我们应该在Nextcloud上启用安全的HTTPS连接。我们可以从Let's Encrypt获得免费的TLS证书。从Ubuntu18.04存储库安装Let's Encrypt client(certbot)。 sudo apt安装certbot python3 certbot nginx Python certbot nginx是nginx插件。接下来,运行以下命令,使用Nginx插件获取免费的TLS证书。 sudo certbot--nginx--agree tos--redirect--style ocsp--email您的电子邮件地址-d nextcloud。你的领域。通用域名格式 说明: –nginx:使用nginx验证器和安装程序 –同意:同意让我们加密服务条款 –重定向:添加301重定向。 –装订ocsp:启用ocsp装订。 -d标志后面是域名列表,以逗号分隔。你最多可以添加100个域名。 –电子邮件:用于注册和恢复联系的电子邮件。 你会被问到是否想收到来自EFF(电子前沿基金会)的电子邮件。选择Y或N后,将自动获取并为您配置TLS证书,如下消息所示。 我发现Certbot无法在Nextcloud的Nginx配置文件中自动添加HSTS头。如果要启用HSTS(HTTP严格传输安全),请编辑该文件。 sudo nano/etc/nginx/conf.d/nextcloud。形态 然后,我们可以在ssl服务器块中添加以下行以启用HSTS头。 始终添加严格的运输安全“最大年龄=31536000”; 此外,还可以通过添加选项HTTP2来启用HTTP2协议。 听443 ssl http2;#由Certbot管理 如下图所示。 保存并关闭文件。然后文本Nginx配置。 sudo nginx-t 如果测试成功,请重新加载Nginx以使更改生效。 sudo systemctl重新加载nginx 以上配置将在SSL测试中获得+分。 在Web浏览器中完成安装 现在,您可以使用HTTPS连接访问Nextcloud web安装向导。要完成安装,您需要创建一个管理员帐户,输入Nextcloud数据文件夹的路径,输入之前创建的数据库详细信息。您可以使用默认的localhost作为主机地址,也可以在MariaDB侦听端口3306时输入localhost:3306。 数据文件夹是存储用户文件的地方。为了安全起见,最好将数据目录放在Nextcloud web根目录之外。因此,我们可以将用户的文件改为/usr/share/nginx/nextcloud/data/,而不是存储在/usr/share/nginx/nextcloud data/下。可以使用以下命令创建: sudo mkdir/usr/share/nginx/nextcloud数据 然后确保Nginx用户(www-data)对数据目录具有写入权限。 sudo chown www-data:www-data/usr/share/nginx/nextcloud-data-R 完成后,您将看到Nextcloud的Web界面。恭喜!您可以开始将其用作您的私有云存储。 如何设置NextCloud电子邮件通知 如果您的NextCloud实例将被多人使用,那么NextCloud服务器可以发送事务性电子邮件,例如密码重置电子邮件,这一点很重要。首先,你应该为自己的账户设置一个电子邮件地址。转到设置->个人信息,并为您的帐户设置电子邮件地址。 然后进入设置->基本设置。您将找到电子邮件服务器设置。有两种发送模式:sendmail和smtp。如果您的NextCloud主机运行SMTP服务器,则可以选择sendmail模式。 如果要使用在另一台主机上运行的SMTP服务器,请选择SMTP模式并输入SMTP服务器地址和登录凭据,如下所示。选择STARTTLS进行加密。 有关如何设置电子邮件服务器,请查看以下教程: 如何使用iRedMail在Ubuntu18.04上轻松设置功能齐全的邮件服务器 如何移动数据目录 如果需要移动NextCloud数据目录,有4个步骤可以完成。首先,需要使用cp命令将数据目录复制到新目录。例如,我的外部硬盘的安装点是/media/linuxbabe/b43e4eea-9796-4ac6-9c48-2bcaa46353731。我在外部硬盘上创建了新的数据目录。 sudo mkdir/media/linuxbabe/b43e4eea-9796-4ac6-9c48-2bcaa46353731/nextcloud data/ 然后我将原始数据目录复制到新的数据目录-R标志表示复制操作是递归的。 sudo cp/usr/share/nginx/nextcloud data/*/media/linuxbabe/b43e4eea-9796-4ac6-9c48-2bcaa46353731/nextcloud data/-R 你还需要复制文件。ocdata文件。 sudo cp/usr/share/nginx/nextcloud data/。ocdata/media/linuxbabe/b43e4eea-9796-4ac6-9c48-2bcaa46353731/nextcloud数据/ 接下来,需要将www数据(Nginx user)设置为所有者。 sudo chown www-data:www-data/media/linuxbabe/b43e4eea-9796-4ac6-9c48-2bcaa46353731/nextcloud-data/-R 最后,您需要编辑配置。php文件。 sudo nano/usr/share/nginx/nextcloud/config/config。php 找到以下行并更改datadirectory的值。 “数据目录”=>'/usr/share/nginx/nextcloud data', 保存并关闭文件。重新加载NextCloud网页,就完成了。 增加PHP内存限制 默认的PHP内存限制是128MB。NextCloud建议512MB以获得更好的性能。要更改PHP内存限制,请编辑PHP。ini文件。 sudo nano/etc/php/7.2/fpm/php。伊尼 找到下面这行。(第406行) 内存限制=128M 更改值。 内存限制=512M 保存并关闭文件。或者,您可以运行以下命令来更改值,而无需手动打开文件。 sudo sed-i's/memory_limit=128M/memory_limit=512M/g'/etc/php/7.2/fpm/php。伊尼 然后重新加载PHP-FPM服务,使更改生效。 sudo systemctl重新加载php7。2-fpm 设置PHP以正确查询系统环境变量 编辑www.conf文件。 sudo nano/etc/php/7.2/fpm/pool。d/www.conf 找到下面一行(第381行)。 ;清除环境=否 删除分号以取消对此行的注释。 清除环境=否 保存并关闭文件。或者,您可以运行以下命令取消对此行的注释,而无需手动打开文件。 sudo sed-i's/;clear_env=no/clear_env=no/g'/etc/php/7.2/fpm/pool。d/www.conf 然后重新加载PHP-FPM服务,使更改生效。 sudo systemctl重新加载php7。2-fpm 增加上传文件大小限制 Nginx设置的默认最大上传文件大小限制为1MB。要允许将大型文件上载到NextCloud服务器,请编辑NextCloud的Nginx配置文件。 sudo nano/etc/nginx/conf.d/nextcloud。形态 我们已经在此文件中设置了最大文件大小,如所示 客户_max_body_尺寸512M; 如果你愿意,你可以改变它,比如1G。 客户最大尺寸为1024M; 保存并关闭文件。然后重新加载Nginx以使更改生效。 sudo systemctl重新加载nginx PHP还设置了上传文件大小的限制。上传的默认最大文件大小为2MB。要增加上传大小限制,请编辑PHP配置文件。 sudo nano/etc/php/7.2/fpm/php。伊尼 找到下面一行(第827行)。 上传最大文件大小=2M 更改值,如下所示: 上传最大文件大小=1024M 保存并关闭文件。或者,您可以运行以下命令来更改值,而无需手动打开文件。 sudo sed-i's/upload_max_filesize=2M/upload_max_filesize=1024M/g'/etc/php/7.2/fpm/php。伊尼 然后重启PHP-FPM。 sudo systemctl重启php7。2-fpm 为NextCloud配置Redis缓存 如果您进入下一步设置->概述页面,您可能会看到以下警告: 没有配置内存缓存。要提高性能,请配置memcache(如果可用)。 我们将使用Redis为nextCloud启用内存缓存。运行以下命令从Ubuntu存储库安装Redis server。 sudo apt安装redis服务器 您可以通过以下方式检查版本: redis服务器-v 样本输出: Redis服务器v=4.0.9 sha=00000000:0 malloc=jemalloc-3.6.0位=64构建=9435c3c2879311f3 现在我们可以检查redis服务器是否正在运行。 systemctl状态redis 提示:如果上述命令没有立即退出,您可以按Q键重新控制终端。 从上面的屏幕截图中,我们可以看到它正在运行,并且自动启动已启用。如果出于任何原因,它没有运行,请执行以下命令: sudo systemctl启动redis服务器 如果未启用启动时自动启动,则可以使用以下命令启用它: sudo systemctl启用redis服务器 为了将Redis配置为nextCloud的缓存,我们需要安装与Redis接口的PHP扩展。 sudo apt安装php redis 检查扩展是否已启用。 php——ri redis 我们可以看到Redis扩展已启用。如果未启用,请运行以下命令: sudo phpenmod redis 接下来,编辑nextCloud配置文件。 sudo nano/usr/share/nginx/nextcloud/config/config。php 在上方添加以下行);线 “memcache。分布式'=>'/OC/Memcache/Redis',Memcache。本地'=>'/OC/Memcache/Redis',Memcache。锁定“=>”/OC/Memcache/Redis,“Redis”=>数组('host'=>'localhost','port'=>6379,), 保存并关闭文件。然后重新启动Nginx和PHP-FPM。 sudo systemctl重启nginx php7。2-fpm 现在再次转到nextCloud管理页面,关于内存缓存的警告应该消失了。 如何在MariaDB中启用4字节字符来显示表情 如果在NextCloud设置中看到以下消息->概述页面,然后需要在MariaDB中启用4字节字符。 MySQL用作数据库,但不支持4字节字符。例如,为了能够处理4字节字符(比如emojis),而不会在文件名或注释中出现问题,建议在MySQL中启用4字节支持。 首先,我建议通过运行以下命令将MariaDB服务器升级到最新的稳定版本。 sudo apt get install软件属性通用sudo apt key adv--recv key--keyserverhkp://keyserver.ubuntu.com:800xF1656F24C74CD1D8 sudo add apt repository'deb[arch=amd64,arm64,ppc64el]http://mirror.lstn.net/mariadb/repo/10.4/ubuntu仿生主“sudo apt更新sudo apt安装mariadb服务器” 然后登录MariaDB控制台。 sudo mysql-u root 更改nextcloud数据库的字符集和排序规则。 ALTER DATABASE nextcloud字符集utf8mb4 COLLATE utf8mb4_general_ci; 退出MariaDB。 出口 更改为NextCloud安装目录。 cd/usr/share/nginx/nextcloud/ 启用mysql。配置中的utf8mb4。php文件。 sudo-u www-data-php-occ-config:system:set-mysql。utf8mb4--输入布尔值--value=“true” 然后进行整理。 sudo-u www数据php occ维护:维修 现在,警告应该在NextCloud设置中消失->概述页面,您可以在文件名、日历事件和评论中使用表情符号。 如何在Ubuntu18.04桌面上安装NextCloud客户端 NextCloud团队提供正式的PPA。在Ubuntu18.04桌面上运行以下命令以卸载客户端。 sudo add apt repository ppa:nextcloud devs/client sudo apt install nextcloud client 请注意,添加PPA时,您不再需要在Ubuntu18.04中运行sudo apt update。它将自动运行? Ubuntu18.04上的NextCloud客户端 故障排除提示 如果遇到错误,可以检查以下日志文件之一,以找出问题所在。 Nginx错误日志:/var/log/Nginx/error。日志 Nextcloud虚拟主机的Nginx错误日志:/var/log/Nginx/Nextcloud。错误 Nextcloud应用程序日志:/usr/share/nginx/Nextcloud/data/Nextcloud。日志 例如,我的Nextcloud实例和/var/log/nginx/Nextcloud上有一个“内部服务器错误”。错误文件告诉我 FastCGI在stderr中发送:“PHP消息:PHP致命错误:未捕获OC/HintException:[0]:Memcache/OC/Memcache/Redis不可用于本地缓存(是否安装并启用了匹配的PHP模块?) 事实证明,因为我在Ubuntu服务器上使用了ppa:ondrej/php-ppa,所以我还需要安装php7。除了php redis包之外,还有2-redis。 升级Nextcloud 让你的Nextcloud服务器保持最新的安全和漏洞修复非常重要。阅读下面的教程,了解如何升级Nextcloud。 2种升级Nextcloud[命令行和GUI]的方法 收尾 我希望本教程能帮助您在使用Nginx的Ubuntu18.04服务器上安装NextCloud。您可能还希望使用Nginx Amplify来监控Nextcloud后端性能。 在Ubuntu 18.04/16.04上使用Nginx Amplify监控LEMP堆栈性能 和往常一样,如果你觉得这篇文章很有用,那么订阅我们的免费时事通讯以获得更多提示和窍门。当心?

    2022.03.23 浏览:488
  • 使用Nginx(LEMP堆栈)在Ubuntu20.04上安装NextCloud

    本教程将向您展示如何使用Nginx web服务器在Ubuntu20.04 LTS上安装NextCloud。 接下来是什么? NextCloud是一个免费的开源自托管云存储解决方案。它的功能类似于Dropbox。专有的云存储解决方案(Dropbox、Google Drive等)很方便,但代价是:它们可以用于收集个人数据,因为您的文件存储在它们的计算机上。如果您担心隐私问题,可以切换到NextCloud,您可以将其安装在您的私人家庭服务器或虚拟私人服务器(VPS)上。您可以通过NextCloud将文件上传到服务器,然后将这些文件同步到台式电脑、笔记本电脑或智能手机。这样你就可以完全控制你的数据。 NextCloud功能 免费开源 端到端加密,这意味着文件可以在上传到服务器之前在客户端设备上进行加密,因此即使有人窃取了您的服务器,他们也无法读取您的文件。 可与在线办公套件(Collobora online,OnlyOffice)集成,因此您可以直接从NextCloud创建和编辑文档、ppt、xls文件。 app store包含数百个扩展功能的应用程序(如日历应用程序、联系人应用程序、笔记应用程序、视频会议应用程序等)。 同步客户端可在Linux、macOS、Windows、iOS和android上使用。 先决条件 NextCloud是用PHP编程语言编写的。要学习本教程,首先需要在Ubuntu 20.04上安装LEMP stack。如果您还没有这样做,请查看以下教程。 如何在Ubuntu 20.04上安装LEMP堆栈(Nginx、MariaDB、PHP7.4-FPM) 您可以在家庭服务器或VPS(虚拟专用服务器)上安装NextCloud。您还需要一个域名,以便以后能够启用HTTPS来加密HTTP流量。我从namescape注册了我的域名,因为价格低廉,而且他们终身免费保护whois的隐私。Nextcloud可以在没有域名的情况下安装,但如果不加密HTTP连接以防止窥探,那么它真的没有意义。如果你真的想修补服务器软件并充分利用它们,我建议你买一个域名。 现在让我们安装NextCloud。 第一步:在Ubuntu 20.04上下载NextCloud 登录你的Ubuntu 20.04服务器。然后将NextCloud压缩文件下载到服务器上。撰写本文时,最新的稳定版本是21.0.1。您可能需要更改版本号。去https://nextcloud.com/install然后单击下载服务器按钮查看最新版本。 可以运行以下命令将其下载到服务器上。 wgethttps://download.nextcloud.com/server/releases/nextcloud-21.0.1.zip 您始终可以使用上述URL格式下载NextCloud。如果出现新版本,只需用新版本号替换21.0.1即可。 下载后,使用解压功能提取归档文件。 sudo apt安装unzip sudo unzip nextcloud-21.0.1。zip-d/usr/share/nginx/ -d选项指定目标目录。NextCloud web文件将被提取到/usr/share/nginx/NextCloud/。然后,我们需要将该目录的所有者更改为www数据,以便web服务器(Nginx)可以写入该目录。 sudo chown www-data:www-data/usr/share/nginx/nextcloud/-R 步骤2:在MariaDB数据库服务器中为Nextcloud创建数据库和用户 使用以下命令登录MariaDB数据库服务器。由于MariaDB现在使用unix_socket插件来验证用户登录,因此无需输入MariaDB根密码。我们只需要在mysql命令前面加上sudo。 sudo mysql 然后为Nextcloud创建一个数据库。本教程将数据库命名为nextcloud。你可以用任何你喜欢的名字。 创建数据库nextcloud; 创建数据库用户。同样,您可以使用此用户的首选名称。用首选密码替换密码。 创建用户nextclouduser@localhost由“您的密码”标识; 授予此用户在nextcloud数据库上的所有权限。 授予nextcloud的所有特权。*到nextclouduser@localhost由“您的密码”标识; 刷新权限并退出。 同花顺特权;出口 步骤3:为Nextcloud创建Nginx配置文件 创建一个nextcloud。conf文件位于/etc/nginx/conf.d/目录中,带有命令行文本编辑器,如Nano。 sudo nano/etc/nginx/conf.d/nextcloud。形态 将以下文本复制并粘贴到文件中。更换nextcloud。实例com与您自己的首选子域。不要忘记在DNS区域编辑器中为此子域创建DNS记录。如果你没有一个真正的域名,我建议你去买一个便宜的域名。价格低廉,而且他们终身免费为whois提供隐私保护。 服务器{listen 80;listen[:]:80;服务器_namenextcloud.example.com;#添加头以服务安全相关头添加_头X-Content-Type-Options nosniff;添加_头X-XSS-Protection“1;模式=块”; 添加标题X-Robots-Tag none;添加标题X-Download-Options noopen;添加_头X-允许-跨域-无策略;添加标题推荐人策略无推荐人#我发现Ubuntu上需要这个标题,但Arch Linux上不需要。添加标题X-Frame-Options“SAMEORIGIN”;#安装根目录的路径/usr/share/nginx/nextcloud/;访问_log/var/log/nginx/nextcloud。通道错误_log/var/log/nginx/nextcloud。错误位置=/机器人。txt{allow all;log_not_found off;access_log off;}#以下两条规则仅适用于用户_webfinger应用程序如果您计划使用此应用程序,请取消注释#重写^/。知名/主机元/公共。php?服务=主机元最后#重写^/。知名/主机元。json/public。php?service=host meta json#last;位置=/。著名的/carddav{return 301$scheme://$host/remote.php/dav;}位置=/。著名的/caldav{return 301$scheme://$host/remote.php/dav;}地点~/。著名/极致挑战{allow all;}#设置最大上传大小客户端u最大u正文u大小512M;fastcgi_缓冲区64 4K;#禁用gzip以避免删除ETag头gzip off;#如果您的服务器是使用ngx_pagespeed模块构建的,请取消注释。该模块目前不受支持#页面速度关闭;错误_第403页/core/templates/403。php;错误_第404页/core/templates/404。php;位置/{rewrite^/index.php;}位置^/(?:构建|测试|配置|库|第三方|模板|数据)/{deny all;}位置^/(?:/。|自动测试| occ |问题|独立|数据库|控制台){拒绝所有;}位置^/(?:index | remote | public | cron | core/ajax/update | status | ocs/v[12]| updater/+| ocs provider/+| core/templates/40[34])/。php(?:$|/){include fastcgi_params;fastcgi_split_path_info^(+/.php)(/.*$; 试试_files$fastcgi_script_name=404;fastcgi_参数SCRIPT_FILENAME$document_root$fastcgi_SCRIPT_name;fastcgi_参数路径信息$fastcgi_路径信息#避免发送两次安全头fastcgi_param modHeadersAvailable true;fastcgi_参数前控制器_激活真;fastcgi_pass unix:/run/php/php7。4-fpm。短袜fastcgi_截获_错误开启;fastcgi_请求_缓冲关闭;}位置^/(?:更新程序| ocs提供程序)(?:$|/){try_files$uri/=404;index index.php;}#为js和css文件添加缓存控制头#确保它位于PHP块位置~*/之下。(?:css | js)${try_files$uri/index.php$uri$is_args$args;add_header Cache Control“public,max age=7200”;#add header to service security-related header(它的目的是#将那些文件复制到上面的文件中)#add#header X-Content-Type-Options nosniff;add##header X-XSS-Protection“1;mode=block”; 添加标题X-Robots-Tag none;添加标题X-Download-Options noopen;添加_头X-允许-跨域-无策略;添加标题推荐人策略无推荐人;#可选:不登录资产访问权限u注销;}地点~*/。(?:svg | gif | png | html | ttf | woff | ico | jpg | jpeg)${try_files$uri/index.php$uri$is_args$args;#可选:不登录其他资产访问_注销;} 保存并关闭文件。(要在Nano文本编辑器中保存文件,请按Ctrl+O,然后按Enter确认。要退出,请按Ctrl+X。) 然后测试Nginx配置。 sudo nginx-t 如果测试成功,请重新加载Nginx以使更改生效。 sudo systemctl重新加载nginx 第4步:安装并启用PHP模块 运行以下命令安装NextCloud所需或推荐的PHP模块。 sudo apt安装imagemagick php Imageick php7。4-常见php7。4-mysql php7。4-fpm php7。4-gd php7。4-json php7。4-卷曲php7。4-zip php7。4-XMLPHP7。4-Mb字符串php7。4-bz2 php7。4-intl php7。4-bcmath php7。4-gmp 第5步:启用HTTPS 现在,通过输入Nextcloud安装的域名,您可以在web浏览器中访问Nextcloud web安装向导。 下个星期。实例通用域名格式 如果网页无法加载,您可能需要在防火墙中打开端口80。 sudo iptables-I输入-p tcp-dport 80-j接受 还有443端口。 sudo iptables-I输入-p tcp-dport 443-j接受 在输入任何敏感信息之前,我们应该在Nextcloud上启用安全的HTTPS连接。我们可以从Let's Encrypt获得免费的TLS证书。从Ubuntu20.04存储库安装Let's Encrypt client(certbot)。 sudo apt安装certbot python3 certbot nginx Python3 certbot nginx是nginx插件。接下来,运行以下命令,使用Nginx插件获取免费的TLS证书。 sudo certbot--nginx--agree tos--redirect--hsts--staple ocsp--email[email protected]-d nextcloud。实例通用域名格式 哪里: –nginx:使用nginx验证器和安装程序 –同意:同意让我们加密服务条款 –重定向:通过添加301重定向来强制HTTPS。 –hsts:启用HTTP严格的传输安全性。这可以抵御SSL/TLS剥离攻击。 –装订ocsp:启用ocsp装订。 –电子邮件:用于注册和恢复联系的电子邮件。 -d标志后面是域名列表,以逗号分隔。你最多可以添加100个域名。 你会被问到是否想收到来自EFF(电子前沿基金会)的电子邮件。选择Y或N后,将自动获取并为您配置TLS证书,如下消息所示。 我发现Certbot可能无法在Nextcloud的Nginx配置文件中添加HSTS头。如果要启用HSTS(HTTP严格传输安全),请编辑该文件。 sudo nano/etc/nginx/conf.d/nextcloud。形态 然后,我们可以在SSL服务器块中添加以下行以启用HSTS头。(如果已经存在,那么您的配置就可以了。) 始终添加严格的运输安全“最大年龄=31536000”; 此外,您还可以通过添加选项HTTP2来启用HTTP2协议,这将加快网页加载速度。 听443 ssl http2;#由Certbot管理 如下图所示。 保存并关闭文件。然后文本Nginx配置。 sudo nginx-t 如果测试成功,请重新加载Nginx以使更改生效。 sudo systemctl重新加载nginx 以上配置将在SSL测试中获得+分。 第6步:在Web浏览器中完成安装 现在,您可以使用HTTPS连接访问Nextcloud web安装向导。 要完成安装,您需要创建一个管理员帐户,输入Nextcloud数据文件夹的路径,输入在步骤2中创建的数据库详细信息。您可以使用默认的localhost作为主机地址,也可以在MariaDB侦听端口3306时输入localhost:3306。 数据文件夹是存储用户文件的地方。为了安全起见,最好将数据目录放在Nextcloud webroot目录之外。因此,我们可以将用户的文件改为/usr/share/nginx/nextcloud/data/,而不是存储在/usr/share/nginx/nextcloud data/下。可以使用以下命令创建: sudo mkdir/usr/share/nginx/nextcloud数据 然后确保Nginx用户(www-data)对数据目录具有写入权限。 sudo chown www-data:www-data/usr/share/nginx/nextcloud-data-R 单击Finish Setup(完成设置)按钮,您将看到Nextcloud的Web界面。恭喜!您可以开始将其用作您的私有云存储。 如何设置NextCloud电子邮件通知 如果您的NextCloud实例将被多人使用,那么NextCloud服务器可以发送事务性电子邮件,例如密码重置电子邮件,这一点很重要。首先,你应该为自己的账户设置一个电子邮件地址。转到设置->个人信息,并为您的帐户设置电子邮件地址。 然后进入设置->基本设置。您将找到电子邮件服务器设置。有两种发送模式:sendmail和smtp。如果您的NextCloud主机运行SMTP服务器,则可以选择sendmail模式。 如果要使用在另一台主机上运行的SMTP服务器,请选择SMTP模式并输入SMTP服务器地址和登录凭据,如下所示。选择STARTTLS进行加密。 有关如何设置电子邮件服务器,请查看以下教程。请注意,我强烈建议在全新干净的操作系统上运行iRedMail邮件服务器。在具有其他web应用程序的操作系统上安装iRedMail可能会失败,并可能破坏现有的应用程序。 如何使用iRedMail在Ubuntu20.04上轻松设置功能齐全的邮件服务器 如何从命令行重置Nextcloud用户密码 如果丢失了管理员帐户密码,并且没有在Nextcloud中设置电子邮件传递,则需要在服务器上运行以下命令来重置密码。用真实用户名替换nextcloud_用户名。 sudo-u www-data-php/usr/share/nginx/nextcloud/occ用户:resetpassword nextcloud_用户名 还有其他一些命令可能会很有用。列出以下可用命令: sudo-u www-data-php/usr/share/nginx/nextcloud/occ 或 sudo-u www-data-php/usr/share/nginx/nextcloud/console。php 如何移动数据目录 如果需要移动NextCloud数据目录,有4个步骤可以完成。首先,需要使用cp命令将数据目录复制到新目录。例如,我的外部硬盘的安装点是/media/linuxbabe/b43e4eea-9796-4ac6-9c48-2bcaa46353731。我在外部硬盘上创建了新的数据目录。 sudo mkdir/media/linuxbabe/b43e4eea-9796-4ac6-9c48-2bcaa46353731/nextcloud data/ 然后我将原始数据目录复制到新的数据目录-R标志表示复制操作是递归的。 sudo cp/usr/share/nginx/nextcloud data/*/media/linuxbabe/b43e4eea-9796-4ac6-9c48-2bcaa46353731/nextcloud data/-R 你还需要复制文件。ocdata文件。 sudo cp/usr/share/nginx/nextcloud data/。ocdata/media/linuxbabe/b43e4eea-9796-4ac6-9c48-2bcaa46353731/nextcloud数据/ 接下来,需要将www数据(Nginx user)设置为所有者。 sudo chown www-data:www-data/media/linuxbabe/b43e4eea-9796-4ac6-9c48-2bcaa46353731/nextcloud-data/-R 最后,您需要编辑配置。php文件。 sudo nano/usr/share/nginx/nextcloud/config/config。php 找到以下行并更改datadirectory的值。 “数据目录”=>'/usr/share/nginx/nextcloud data', 保存并关闭文件。重新加载NextCloud网页,就完成了。 第7步:增加PHP内存限制 默认的PHP内存限制是128MB。NextCloud建议512MB以获得更好的性能。要更改PHP内存限制,请编辑PHP。ini文件。 sudo nano/etc/php/7.4/fpm/php。伊尼 找到下面这行。(第409行) 内存限制=128M 更改值。 内存限制=512M 保存并关闭文件。或者,您可以运行以下命令来更改值,而无需手动打开文件。 sudo sed-i's/memory_limit=128M/memory_limit=512M/g'/etc/php/7.4/fpm/php。伊尼 然后重新加载PHP-FPM服务,使更改生效。 sudo systemctl重新加载php7。4-fpm 第8步:设置PHP以正确查询系统环境变量 编辑www.conf文件。 sudo nano/etc/php/7.4/fpm/pool。d/www.conf 找到下一行(第396行)。 ;清除环境=否 删除分号以取消对此行的注释。 清除环境=否 保存并关闭文件。或者,您可以运行以下命令取消对此行的注释,而无需手动打开文件。 sudo sed-i's/;clear_env=no/clear_env=no/g'/etc/php/7.4/fpm/pool。d/www.conf 然后重新加载PHP-FPM服务,使更改生效。 sudo systemctl重新加载php7。4-fpm 第9步:增加上传文件大小限制 Nginx设置的默认最大上传文件大小限制为1MB。要允许将大型文件上载到NextCloud服务器,请编辑NextCloud的Nginx配置文件。 sudo nano/etc/nginx/conf.d/nextcloud。形态 我们已经在此文件中设置了最大文件大小,如所示 客户_max_body_尺寸512M; 如果你愿意,你可以改变它,比如1G。 客户最大尺寸为1024M; 保存并关闭文件。然后重新加载Nginx以使更改生效。 sudo systemctl重新加载nginx PHP还设置了上传文件大小的限制。上传的默认最大文件大小为2MB。要增加上传大小限制,请编辑PHP配置文件。 sudo nano/etc/php/7.4/fpm/php。伊尼 找到下面一行(第846行)。 上传最大文件大小=2M 更改值,如下所示: 上传最大文件大小=1024M 保存并关闭文件。或者,您可以运行以下命令来更改值,而无需手动打开文件。 sudo sed-i's/upload_max_filesize=2M/upload_max_filesize=1024M/g'/etc/php/7.4/fpm/php。伊尼 然后重启PHP-FPM。 sudo systemctl重启php7。4-fpm 第10步:为NextCloud配置Redis缓存 如果您进入下一步设置->概述页面,您可能会看到以下警告: 没有配置内存缓存。要提高性能,请配置memcache(如果可用)。 我们将使用Redis为nextCloud启用内存缓存。运行以下命令从Ubuntu存储库安装Redis server。 sudo apt安装redis服务器 您可以通过以下方式检查版本: redis服务器-v 样本输出: Redis服务器v=5.0.7 sha=00000000:0 malloc=jemalloc-5.2.1位=64构建=636cde3b5c7a3923 现在我们可以检查redis服务器是否正在运行。 systemctl状态redis 提示:如果上述命令没有立即退出,您可以按Q键重新控制终端。 从上面的屏幕截图中,我们可以看到它正在运行,并且自动启动已启用。如果出于任何原因,它没有运行,请执行以下命令: sudo systemctl启动redis服务器 如果未启用启动时自动启动,则可以使用以下命令启用它: sudo systemctl启用redis服务器 为了将Redis配置为nextCloud的缓存,我们需要安装与Redis接口的PHP扩展。 sudo apt安装php redis 检查扩展是否已启用。 php——ri redis 我们可以看到Redis扩展已启用。如果未启用,请运行以下命令: sudo phpenmod redis 接下来,编辑nextCloud配置文件。 sudo nano/usr/share/nginx/nextcloud/config/config。php 在结尾上方添加以下行);线 “memcache。分布式'=>'/OC/Memcache/Redis',Memcache。本地'=>'/OC/Memcache/Redis',Memcache。锁定“=>”/OC/Memcache/Redis,“Redis”=>数组('host'=>'localhost','port'=>6379,), 保存并关闭文件。然后重新启动Nginx和PHP-FPM。 sudo systemctl重启nginx php7。4-fpm 现在转到NextCloud设置->再次浏览网页并刷新网页,有关内存缓存的警告应该消失。 添加缺少的索引 如果在NextCloud设置中看到以下消息->概览页面, 数据库缺少一些索引。由于在大表上添加索引可能需要一段时间,因此它们不会自动添加。 然后需要手动添加这些索引。更改为Nextcloud webroot目录。 cd/usr/share/nginx/nextcloud/ 运行以下命令向Nextcloud数据库添加索引。 sudo-u www-data-php-occ-db:添加缺少的索引 现在,如果刷新NextCloud设置->概述页面,关于缺少索引的警告应该消失。 转换为大整数 如果在NextCloud设置中看到以下消息->概览页, 数据库中的某些列缺少到big int的转换。由于在大表上更改列类型可能需要一些时间,因此它们不会自动更改。 然后需要手动更改列类型。更改为Nextcloud webroot目录。 cd/usr/share/nginx/nextcloud/ 将Nextcloud更改为维护模式,以防止用户登录并进行更改。 sudo-u www数据php occ维护:模式--打开 然后运行以下命令更改列类型。 sudo-u www-data-php-occ-db:convert-filecache-bigint 完成后,关闭维护模式。 sudo-u www数据php occ维护:模式--关闭 现在,如果刷新NextCloud设置->概述页面,关于大整数的警告应该消失。 如何在Ubuntu 20.04桌面上安装NextCloud客户端 在Ubuntu20.04桌面上运行以下命令,从默认存储库安装客户端。 sudo apt安装nextcloud客户端 Ubuntu 20.04上的NextCloud客户端 macOS、Windows、Android和iOS的客户端软件可以在Nextcloud下载页面上找到。 如何启用OnlyOffice/Collabora Online 默认情况下,Nextcloud附带对OnlyOffice的支持,OnlyOffice是一个在线办公套件,允许您直接从Nextcloud编辑文档、ppt和xls文件。我们只需要安装一个应用程序就可以使用这个功能。转到Nextcloud应用程序->办公室及;文本查找并启用社区文档服务器应用程序。 现在,当您在Nextcloud中单击add按钮(+)时,您将能够从Nextcloud服务器上创建Word、电子表格和演示文档。 然而,我发现这个应用程序不是很可靠。而社区版最多只允许20名用户。如果用户超过20,则需要购买企业版。还有另一个基于LibreOffice的开源在线办公套件Collabora online,它具有相同的功能,但不受用户数量的限制。您可以阅读以下文章,将其与Nextcloud集成。 将Collabora Online与Ubuntu上的Nextcloud与Docker集成 添加本地DNS条目 建议在Nextcloud服务器上编辑/etc/hosts文件,并添加以下条目,这样Nextcloud本身就不必查询公共DNS,从而提高整体稳定性。如果您的Nextcloud服务器无法解析Nextcloud。实例com主机名,则可能会遇到504网关超时错误。 127.0.0.1 localhost nextcloud。实例通用域名格式 /etc/hosts文件中的IP地址可以有多个主机名,因此如果在同一个框中安装了其他应用程序,也可以在同一行中添加其他主机名或子域,如下所示: 127.0.0.1 localhost focal ubuntu nextcloud。实例com collabora。实例通用域名格式 使用Cron运行后台作业 默认情况下,Nextcloud使用AJAX在每次页面加载时执行一个任务。您可以使用更高效的系统cron服务来运行后台作业。转到Nextcloud设置->基本设置并选择Cron。 接下来,编辑www数据用户的crontab文件。 sudo-u www-data-crontab-e 在该文件中添加以下行,这样cron作业将每5分钟运行一次。 */5****php7。4-f/usr/share/nginx/nextcloud/cron。php 保存并关闭文件。 (可选)防止恶意登录尝试 如果您的计算机具有静态公共IP地址,则可以在Nginx配置文件中创建IP白名单。 sudo nano/etc/nginx/conf.d/nextcloud。形态 在SSL服务器块中添加以下行以限制对/login URL的访问,这样只有您的IP地址才能访问此URL。用自己的IP地址替换78.56.34.12。 location~*^/login{try_files$uri/index.php;包含fastcgi_参数;fastcgi_split_path_info^(.+/.php)(/.*)$; fastcgi_参数SCRIPT_FILENAME$document_root$fastcgi_SCRIPT_name;fastcgi_参数路径信息$fastcgi_路径信息#避免发送两次安全头fastcgi_param modHeadersAvailable true;fastcgi_参数前控制器_激活真;fastcgi_pass unix:/run/php/php7。4-fpm。短袜fastcgi_截获_错误开启;快速CGI_请求_缓冲关闭;允许78.56.34.12;否认一切;} 保存并关闭文件。然后测试Nginx配置。 sudo nginx-t 如果测试成功,请重新加载Nginx以使更改生效。 sudo systemctl重新加载nginx 如果家庭网络上没有静态IP地址,可以在数据中心设置VPN服务器。 故障排除提示 如果遇到错误,可以检查以下日志文件之一,以找出问题所在。 Nginx错误日志:/var/log/Nginx/error。日志 Nextcloud虚拟主机的Nginx错误日志:/var/log/Nginx/Nextcloud。错误 Nextcloud应用程序日志:/usr/share/nginx/Nextcloud/data/Nextcloud。日志 例如,我的Nextcloud实例和/var/log/nginx/Nextcloud上有一个“内部服务器错误”。错误文件告诉我 FastCGI在stderr中发送:“PHP消息:PHP致命错误:未捕获OC/HintException:[0]:Memcache/OC/Memcache/Redis不可用于本地缓存(是否安装并启用了匹配的PHP模块?) 事实证明,因为我在Ubuntu服务器上使用了ppa:ondrej/php-ppa,所以我还需要安装php7。除了php redis包之外,还有4-redis。 升级Nextcloud 让你的Nextcloud服务器保持最新的安全和漏洞修复非常重要。阅读下面的教程,了解如何升级Nextcloud。 2种升级Nextcloud[命令行和GUI]的方法 收尾 我希望本教程能帮助您在使用Nginx的Ubuntu 20.04服务器上安装NextCloud。和往常一样,如果你觉得这篇文章很有用,那么订阅我们的免费时事通讯以获得更多提示和窍门。当心?

    2022.03.23 浏览:464
  • 如何使用Nginx在Ubuntu 16.04上安装Nextcloud 13

    2016年6月,在Nextcloud首次公开发布后不久,我们发布了一篇关于如何在Ubuntu 16.04上使用Apache web服务器安装Nextcloud的教程。但是许多人希望使用Nginx而不是Apache作为web服务器。因此,在本教程中,我们将看到如何使用Nginx在Ubuntu16.04上安装Nextcloud 13。 注意:如果你正在使用Ubuntu18.04,请遵循本教程:使用Nginx(LEMP堆栈)在Ubuntu18.04上安装Nextcloud 先决条件 首先,如果你还没有安装LEMP,你应该看看这篇针对Ubuntu16.04的LEMP安装教程。一旦安装完毕,请回到这里继续阅读。 第一步:下载NextCloud 13 将NextCloud server zip存档下载到您的服务器上。撰写本文时,最新的稳定版本是13.0.4。您可能需要更改版本号。去https://nextcloud.com/install点击下载按钮查看最新版本。 wgethttps://download.nextcloud.com/server/releases/nextcloud-13.0.4.zip 把它取出来。 sudo apt安装解压解压nextcloud-13.0.4。拉链 将在当前工作目录中创建一个名为nextcloud的新目录。将新目录及其所有内容移动到Nginx web服务器的文档根目录 sudo mv nextcloud/usr/share/nginx/ 然后还需要将Nginx user(www data)设置为NextCloud目录的所有者。 sudo chown www-data:www-data/usr/share/nginx/nextcloud/-R 第2步:在MariaDB中创建数据库和用户 使用以下命令登录MariaDB数据库服务器: sudo mysql-u root 然后为Nextcloud创建一个数据库。本教程将数据库命名为nextcloud。你可以用任何你喜欢的名字。 创建数据库nextcloud; 创建数据库用户。同样,您可以使用此用户的首选名称。用首选密码替换密码。 创建用户nextclouduser@localhost由“您的密码”标识; 授予此用户在nextcloud数据库上的所有权限。 授予nextcloud的所有特权。*到nextclouduser@localhost由“您的密码”标识; 刷新权限并退出。 同花顺特权;出口 步骤3:在MariaDB中启用二进制日志记录 编辑mysqld配置文件。 sudo nano/etc/mysql/mariadb。conf.d/50-server。cnf 在[mysqld]部分添加以下三行。 log bin=/var/log/mysql/mariadbin log bin index=/var/log/mysql/mariadbin。索引binlog_格式=混合 二进制日志的格式必须是混合的。保存并关闭文件。然后重新启动MariaDB服务。 sudo systemctl重启mysql 现在,在MariaDB中启用了二进制日志。 步骤4:为Nextcloud创建Nginx配置文件 创建一个nextcloud。conf文件位于/etc/nginx/conf.d/目录中。 sudo nano/etc/nginx/conf.d/nextcloud。形态 将以下文本放入文件中。用实际数据替换红色文本。别忘了为域名设置一个记录。 服务器{listen 80;server_name nextcloud.your-domain.com;#添加头以提供与安全相关的头添加_头X-Content-Type-Options nosniff;添加_头X-XSS-Protection“1;mode=block”; 添加标题X-Robots-Tag none;添加标题X-Download-Options noopen;添加_头X-允许-跨域-策略无;#安装根目录的路径/usr/share/nginx/nextcloud/;位置=/机器人。txt{allow all;log_not_found off;access_log off;}#以下两条规则仅适用于用户_webfinger应用程序如果您计划使用此应用程序,请取消注释#重写^/。知名/主机元/公共。php?服务=主机元最后#重写^/。知名/主机元。json/public。php?service=host meta json#last;位置=/。著名的/carddav{return 301$scheme://$host/remote.php/dav;}位置=/。著名的/caldav{return 301$scheme://$host/remote.php/dav;}地点~/。著名/极致挑战{allow all;}#设置最大上传大小客户端u最大u正文u大小512M;fastcgi_缓冲区64 4K;#禁用gzip以避免删除ETag头gzip off;#如果您的服务器是使用ngx_pagespeed模块构建的,请取消注释。该模块目前不受支持#页面速度关闭;错误_第403页/core/templates/403。php;错误_第404页/core/templates/404。php;location/{rewrite^/index.php$uri;}位置^/(?:构建|测试|配置|库|第三方|模板|数据)/{deny all;}位置^/(?:/。|自动测试| occ |问题|独立|数据库|控制台){拒绝所有;}位置^/(?:index | remote | public | cron | core/ajax/update | status | ocs/v[12]| updater/+| ocs provider/+| core/templates/40[34])/。php(?:$|/){include fastcgi_params;fastcgi_split_path_info^(+/.php)(/.*$; fastcgi_参数SCRIPT_FILENAME$document_root$fastcgi_SCRIPT_name;fastcgi_参数路径信息$fastcgi_路径信息#避免发送两次安全头fastcgi_param modHeadersAvailable true;fastcgi_参数前控制器_激活真;fastcgi_pass unix:/run/php/php7。0-fpm。短袜fastcgi_截获_错误开启;fastcgi_请求_缓冲关闭;}位置^/(?:更新程序| ocs提供程序)(?:$|/){try_files$uri/=404;index index.php;}#为js和css文件添加缓存控制头#确保它位于PHP块位置~*/之下。(?:css | js)${try_files$uri/index.php$uri$is_args$args;add_header Cache Control“public,max age=7200”;#add header to service security-related header(它的目的是#将那些文件复制到上面的文件中)#add#header X-Content-Type-Options nosniff;add##header X-XSS-Protection“1;mode=block”; 添加标题X-Robots-Tag none;添加标题X-Download-Options noopen;添加_头X-允许-跨域-策略无;#可选:不登录资产访问权限u注销;}地点~*/。(?:svg | gif | png | html | ttf | woff | ico | jpg | jpeg)${try_files$uri/index.php$uri$is_args$args;#可选:不登录其他资产访问_注销;} 保存并关闭文件。测试Nginx配置,然后重新加载Nginx以使更改生效。 sudo nginx-t sudo systemctl reload nginx 第5步:安装并启用PHP模块 运行以下命令来安装所需的PHP模块。 sudo apt安装php7。0-普通php7。0-gd php7。0-json php7。0-卷曲php7。0-zip php7。0-XMLPHP7。0-mbstring 第6步:启用HTTPS 现在,通过输入Nextcloud安装的域名,您可以在浏览器中访问Nextcloud web安装向导。 下个星期。你的领域。通用域名格式 但在输入任何敏感信息之前,我们应该在Nextcloud上启用安全的HTTPS连接。我们可以从Let's Encrypt获得免费的TLS证书。运行以下命令,从官方PPA在Ubuntu 16.04上安装certbot(让我们加密)客户端。在Ubuntu上添加PPA需要软件属性公共包。有时候,它不是默认安装在Ubuntu上的。Python certbot nginx是nginx插件。 sudo-apt-install软件属性通用sudo-add-apt-repository-ppa:certbot/certbot-sudo-apt-update-sudo-apt-install-certbot-python-certbot-nginx 您可能还需要升级一些库。 sudo-apt升级 接下来,运行以下命令,使用Nginx插件获取免费的TLS证书。 sudo certbot--nginx--agree tos--redirect--style ocsp--email您的电子邮件地址-d nextcloud。你的领域。通用域名格式 几秒钟内,您将看到如下消息,这意味着TLS证书已成功获得并安装。 在Web浏览器中完成安装 现在,您可以使用HTTPS连接访问Nextcloud web安装向导。要完成安装,您需要创建一个管理员帐户,输入Nextcloud数据文件夹的路径,输入之前创建的数据库详细信息。 数据文件夹是存储用户文件的地方。为了安全起见,最好将数据目录放在Nextcloud web根目录之外。因此,我们不需要将用户的文件存储在/usr/share/nginx/nextcloud/data/下,而是可以将其更改为/usr/share/nginx/nextcloud data,可以使用以下命令创建: sudo mkdir/usr/share/nginx/nextcloud数据 然后确保Nginx用户(www-data)对数据目录具有写入权限。 sudo chown www-data:www-data/usr/share/nginx/nextcloud-data-R 完成后,您将看到Nextcloud的Web界面。恭喜!您可以开始将其用作您的私有云存储。 就这样!我希望本教程能帮助您使用Nginx config在Ubuntu 16.04上安装Nextcloud。一如既往,如果你觉得这篇文章有用,那么订阅我们的免费时事通讯。你也可以在Google+、Twitter或我们的Facebook页面上关注我们。

    2022.03.23 浏览:297
  • 使用Apache(LAMP Stack)在Ubuntu 20.04上安装NextCloud

    本教程将向您展示如何使用Apache web服务器在Ubuntu 20.04 LTS上安装NextCloud。 接下来是什么? NextCloud是一个免费的开源自托管云存储解决方案。它的功能类似于Dropbox。专有的云存储解决方案(Dropbox、Google Drive等)很方便,但代价是:它们可以用于收集个人数据,因为您的文件存储在它们的计算机上。如果您担心隐私问题,可以切换到NextCloud,您可以将其安装在您的私人家庭服务器或虚拟私人服务器(VPS)上。您可以通过NextCloud将文件上传到服务器,然后将这些文件同步到台式电脑、笔记本电脑或智能手机。这样你就可以完全控制你的数据。 NextCloud功能 免费开源 端到端加密,这意味着文件可以在上传到服务器之前在客户端设备上进行加密,因此即使有人窃取了您的服务器,他们也无法读取您的文件。 可与在线办公套件(Collobora online,OnlyOffice)集成,因此您可以直接从NextCloud创建和编辑文档、ppt、xls文件。 app store包含数百个扩展功能的应用程序(如日历应用程序、联系人应用程序、笔记应用程序、视频会议应用程序等)。 同步客户端可在Linux、macOS、Windows、iOS和android上使用。 先决条件 NextCloud是用PHP编程语言编写的。要学习本教程,首先需要在Ubuntu 20.04上安装LAMP stack。如果您还没有这样做,请查看以下教程。 如何在Ubuntu 20.04上安装LAMP Stack(Apache、MariaDB、PHP7.4-FPM) 您可以在家庭服务器或VPS(虚拟专用服务器)上安装NextCloud。您还需要一个域名,以便以后能够启用HTTPS来加密HTTP流量。我从namescape注册了我的域名,因为价格低廉,而且他们终身免费保护whois的隐私。Nextcloud可以在没有域名的情况下安装,但如果不加密HTTP连接以防止窥探,那么它真的没有意义。如果你真的想修补服务器软件并充分利用它们,我建议你买一个域名。 现在让我们安装NextCloud。 第一步:在Ubuntu 20.04上下载NextCloud 登录你的Ubuntu 20.04服务器。然后将NextCloud压缩文件下载到服务器上。撰写本文时,最新的稳定版本是21.0.1。您可能需要更改版本号。去https://nextcloud.com/install然后单击下载服务器按钮查看最新版本。 可以运行以下命令将其下载到服务器上。 wget 21.0.1.zip 您始终可以使用上述URL格式下载NextCloud。如果出现新版本,只需用新版本号替换21.0.1即可。 下载后,使用解压功能提取归档文件。 sudo apt install unzip sudo unzip nextcloud-21.0.1.zip -d /var/www/ -d选项指定目标目录。NextCloud web文件将被提取到/var/www/NextCloud/。然后我们需要将该目录的所有者更改为www数据,以便web服务器(Apache)可以写入该目录。 sudo chown www-data:www-data /var/www/nextcloud/ -R 步骤2:在MariaDB数据库服务器中为Nextcloud创建数据库和用户 使用以下命令登录MariaDB数据库服务器。由于MariaDB现在使用unix_socket插件来验证用户登录,因此无需输入MariaDB根密码。我们只需要在mysql命令前面加上sudo。 sudo mysql 然后为Nextcloud创建一个数据库。本教程将数据库命名为nextcloud。你可以用任何你喜欢的名字。 create database nextcloud; 创建数据库用户。同样,您可以使用此用户的首选名称。用首选密码替换密码。 create user nextclouduser@localhost identified by 'your-password'; 授予此用户在nextcloud数据库上的所有权限。 grant all privileges on nextcloud.* to nextclouduser@localhost identified by 'your-password'; 刷新权限并退出。 flush privileges; exit; 步骤3:为Nextcloud创建Apache虚拟主机 创建一个nextcloud。conf文件位于/etc/apache2/sites available/directory中,带有像Nano这样的命令行文本编辑器。 sudo nano /etc/apache2/sites-available/nextcloud.conf 将以下文本复制并粘贴到文件中。更换nextcloud。实例com与您自己的首选子域。不要忘记在DNS区域编辑器中为此子域创建DNS记录。如果你没有一个真正的域名,我建议你去买一个便宜的域名。价格低廉,而且他们终身免费为whois提供隐私保护。 <VirtualHost *:80> DocumentRoot "/var/www/nextcloud" ServerName nextcloud.example.com ErrorLog ${APACHE_LOG_DIR}/nextcloud.error CustomLog ${APACHE_LOG_DIR}/nextcloud.access combined <Directory /var/www/nextcloud/> Require all granted Options FollowSymlinks MultiViews AllowOverride All <IfModule mod_dav.c> Dav off </IfModule> SetEnv HOME /var/www/nextcloud SetEnv HTTP_HOME /var/www/nextcloud Satisfy Any </Directory> </VirtualHost> 保存并关闭文件。(要在Nano文本编辑器中保存文件,请按Ctrl+O,然后按Enter确认。要退出,请按Ctrl+X。) 然后启用这个虚拟主机。 sudo a2ensite nextcloud.conf 运行以下命令以启用所需的Apache模块。 sudo a2enmod rewrite headers env dir mime setenvif ssl 然后测试Apache配置。 sudo apache2ctl -t 如果语法正确,请重新加载Apache以使更改生效。 sudo systemctl restart apache2 第4步:安装并启用PHP模块 运行以下命令安装NextCloud所需或推荐的PHP模块。 sudo apt install imagemagick php-imagick libapache2-mod-php7.4 php7.4-common php7.4-mysql php7.4-fpm php7.4-gd php7.4-json php7.4-curl php7.4-zip php7.4-xml php7.4-mbstring php7.4-bz2 php7.4-intl php7.4-bcmath php7.4-gmp 重新加载Apache以使用这些模块。 sudo systemctl reload apache2 第5步:启用HTTPS 现在,通过输入Nextcloud安装的域名,您可以在web浏览器中访问Nextcloud web安装向导。 nextcloud.example.com 如果网页无法加载,您可能需要在防火墙中打开端口80。 sudo iptables -I INPUT -p tcp --dport 80 -j ACCEPT 还有443端口。 sudo iptables -I INPUT -p tcp --dport 443 -j ACCEPT 在输入任何敏感信息之前,我们应该在Nextcloud上启用安全的HTTPS连接。我们可以从Let's Encrypt获得免费的TLS证书。从Ubuntu20.04存储库安装Let's Encrypt client(certbot)。 sudo apt install certbot python3-certbot-apache Python3 certbot apache是apache插件。接下来,运行以下命令,使用Apache插件获取免费的TLS证书。 sudo certbot --apache --agree-tos --redirect --staple-ocsp --email [email protected] -d nextcloud.example.com 哪里: –apache2:使用Apache验证器和安装程序 –同意:同意让我们加密服务条款 –重定向:通过添加301重定向来强制HTTPS。 –装订ocsp:启用ocsp装订。 –电子邮件:用于注册和恢复联系的电子邮件。 -d标志后面是域名列表,以逗号分隔。你最多可以添加100个域名。 你会被问到是否想收到来自EFF(电子前沿基金会)的电子邮件。选择Y或N后,将自动获取并为您配置TLS证书,如下消息所示。 我发现Certbot无法在Nextcloud的Apache配置文件中自动添加HSTS头。如果要启用HSTS(HTTP严格传输安全),请编辑该文件。 sudo nano /etc/apache2/sites-enabled/nextcloud-le-ssl.conf 然后,我们可以在SSL服务器块中添加以下行以启用HSTS头。 Header always set Strict-Transport-Security "max-age=31536000" 如下图所示。 保存并关闭文件。然后发短信给Apache配置。 sudo apache2ctl -t 如果测试成功,请重新加载Apache以使更改生效。 sudo systemctl reload apache2 以上配置将在SSL测试中获得+分。 第6步:在Web浏览器中完成安装 现在,您可以使用HTTPS连接访问Nextcloud web安装向导。 要完成安装,您需要创建一个管理员帐户,输入Nextcloud数据文件夹的路径,输入在步骤2中创建的数据库详细信息。您可以使用默认的localhost作为主机地址,也可以在MariaDB侦听端口3306时输入localhost:3306。 数据文件夹是存储用户文件的地方。为了安全起见,最好将数据目录放在Nextcloud webroot目录之外。因此,我们可以将用户的文件改为/var/www/nextcloud/data/,而不是存储在/var/www/nextcloud/data/下。可以使用以下命令创建: sudo mkdir /var/www/nextcloud-data 然后确保Apache用户(www数据)对数据目录具有写入权限。 sudo chown www-data:www-data /var/www/nextcloud-data -R 单击Finish Setup(完成设置)按钮,您将看到Nextcloud的Web界面。恭喜!您可以开始将其用作您的私有云存储。 如何设置NextCloud电子邮件通知 如果您的NextCloud实例将被多人使用,那么NextCloud服务器可以发送事务性电子邮件,例如密码重置电子邮件,这一点很重要。首先,你应该为自己的账户设置一个电子邮件地址。转到设置-&gt;个人信息,并为您的帐户设置电子邮件地址。 然后进入设置-&gt;基本设置。您将找到电子邮件服务器设置。有两种发送模式:sendmail和smtp。如果您的NextCloud主机运行SMTP服务器,则可以选择sendmail模式。 如果要使用在另一台主机上运行的SMTP服务器,请选择SMTP模式并输入SMTP服务器地址和登录凭据,如下所示。选择STARTTLS进行加密。 有关如何设置电子邮件服务器,请查看以下教程。请注意,我强烈建议在全新干净的操作系统上运行iRedMail邮件服务器。在具有其他web应用程序的操作系统上安装iRedMail可能会失败,并可能破坏现有的应用程序。 如何使用iRedMail在Ubuntu20.04上轻松设置功能齐全的邮件服务器 如何从命令行重置Nextcloud用户密码 如果丢失了管理员帐户密码,并且没有在Nextcloud中设置电子邮件传递,则需要在服务器上运行以下命令来重置密码。用真实用户名替换nextcloud_用户名。 sudo -u www-data php /var/www/nextcloud/occ user:resetpassword nextcloud_username 还有其他一些命令可能会很有用。列出以下可用命令: sudo -u www-data php /var/www/nextcloud/occ 或 sudo -u www-data php /var/www/nextcloud/console.php 如何移动数据目录 如果需要移动NextCloud数据目录,有4个步骤可以完成。首先,需要使用cp命令将数据目录复制到新目录。例如,我的外部硬盘的安装点是/media/linuxbabe/b43e4eea-9796-4ac6-9c48-2bcaa46353731。我在外部硬盘上创建了新的数据目录。 sudo mkdir /media/linuxbabe/b43e4eea-9796-4ac6-9c48-2bcaa46353731/nextcloud-data/ 然后我将原始数据目录复制到新的数据目录-R标志表示复制操作是递归的。 sudo cp /var/www/nextcloud-data/* /media/linuxbabe/b43e4eea-9796-4ac6-9c48-2bcaa46353731/nextcloud-data/ -R 你还需要复制文件。ocdata文件。 sudo cp /var/www/nextcloud-data/.ocdata /media/linuxbabe/b43e4eea-9796-4ac6-9c48-2bcaa46353731/nextcloud-data/ 接下来,需要将www数据(Apache用户)设置为所有者。 sudo chown www-data:www-data /media/linuxbabe/b43e4eea-9796-4ac6-9c48-2bcaa46353731/nextcloud-data/ -R 最后,您需要编辑配置。php文件。 sudo nano /var/www/nextcloud/config/config.php 找到以下行并更改datadirectory的值。 'datadirectory' => '/var/www/nextcloud-data', 保存并关闭文件。重新加载NextCloud网页,就完成了。 第7步:增加PHP内存限制 默认的PHP内存限制是128MB。NextCloud建议512MB以获得更好的性能。要更改PHP内存限制,请编辑PHP。ini文件。 sudo nano /etc/php/7.4/apache2/php.ini 找到下面这行。(第409行) memory_limit = 128M 更改值。 memory_limit = 512M 保存并关闭文件。或者,您可以运行以下命令来更改值,而无需手动打开文件。 sudo sed -i 's/memory_limit = 128M/memory_limit = 512M/g' /etc/php/7.4/apache2/php.ini 然后重新加载Apache以使更改生效。 sudo systemctl reload apache2 如果您的服务器具有/etc/php7。4/fpm/php。ini文件,这意味着您的服务器也运行PHP-FPM。我还建议更改PHP-FPM中的内存限制。 sudo nano /etc/php/7.4/fpm/php.ini 找到memory_limit参数并更改其值。保存文件后,重新加载PHP-FPM以使更改生效。 sudo systemctl reload php7.4-fpm 第8步:为NextCloud配置Redis缓存 如果您进入下一步设置-&gt;概述页面,您可能会看到以下警告: No memory cache has been configured. To enhance your performance please configure a memcache if available. 我们将使用Redis为nextCloud启用内存缓存。运行以下命令从Ubuntu存储库安装Redis server。 sudo apt install redis-server 您可以通过以下方式检查版本: redis-server -v 样本输出: Redis server v=5.0.7 sha=00000000:0 malloc=jemalloc-5.2.1 bits=64 build=636cde3b5c7a3923 现在我们可以检查redis服务器是否正在运行。 systemctl status redis 提示:如果上述命令没有立即退出,您可以按Q键重新控制终端。 从上面的屏幕截图中,我们可以看到它正在运行,并且自动启动已启用。如果出于任何原因,它没有运行,请执行以下命令: sudo systemctl start redis-server 如果未启用启动时自动启动,则可以使用以下命令启用它: sudo systemctl enable redis-server 为了将Redis配置为nextCloud的缓存,我们需要安装与Redis接口的PHP扩展。 sudo apt install php-redis 检查扩展是否已启用。 php --ri redis 我们可以看到Redis扩展已启用。如果未启用,请运行以下命令: sudo phpenmod redis 如果redis扩展仍然未启用,您可能还需要重新加载Apache。 sudo systemctl reload apache2 接下来,编辑nextCloud配置文件。 sudo nano /var/www/nextcloud/config/config.php 在结尾上方添加以下行);线 'memcache.distributed' => '/OC/Memcache/Redis', 'memcache.local' => '/OC/Memcache/Redis', 'memcache.locking' => '/OC/Memcache/Redis', 'redis' => array( 'host' => 'localhost', 'port' => 6379, ), 保存并关闭文件。然后重启Apache和PHP-FPM。 sudo systemctl restart apache2 php7.4-fpm 现在转到NextCloud设置-&gt;再次浏览网页并刷新网页,有关内存缓存的警告应该消失。 添加缺少的索引 如果在NextCloud设置中看到以下消息-&gt;概览页面, The database is missing some indexes. Due to the fact that adding indexes on big tables could take some time they were not added automatically. 然后需要手动添加这些索引。更改为Nextcloud webroot目录。 cd /var/www/nextcloud/ 运行以下命令向Nextcloud数据库添加索引。 sudo -u www-data php occ db:add-missing-indices 现在,如果刷新NextCloud设置-&gt;概述页面,关于缺少索引的警告应该消失。 转换为大整数 如果在NextCloud设置中看到以下消息-&gt;概览页面, Some columns in the database are missing a conversion to big int. Due to the fact that changing column types on big tables could take some time they were not changed automatically. 然后需要手动更改列类型。更改为Nextcloud webroot目录。 cd /var/www/nextcloud/ 将Nextcloud更改为维护模式,以防止用户登录并进行更改。 sudo -u www-data php occ maintenance:mode --on 然后运行以下命令更改列类型。 sudo -u www-data php occ db:convert-filecache-bigint 完成后,关闭维护模式。 sudo -u www-data php occ maintenance:mode --off 现在,如果刷新NextCloud设置-&gt;概述页面,关于大整数的警告应该消失。 如何在Ubuntu 20.04桌面上安装NextCloud客户端 在Ubuntu20.04桌面上运行以下命令,从默认存储库安装客户端。 sudo apt install nextcloud-client Ubuntu 20.04上的NextCloud客户端 macOS、Windows、Android和iOS的客户端软件可以在Nextcloud下载页面上找到。 如何启用OnlyOffice/Collabora Online 默认情况下,Nextcloud附带对OnlyOffice的支持,OnlyOffice是一个在线办公套件,允许您直接从Nextcloud编辑文档、ppt和xls文件。我们只需要安装一个应用程序就可以使用这个功能。转到Nextcloud应用程序-&gt;办公室及;文本查找并启用社区文档服务器应用程序。 现在,当您在Nextcloud中单击add按钮(+)时,您将能够从Nextcloud服务器上创建Word、电子表格和演示文档。 然而,我发现这个应用程序不是很可靠。而社区版最多只允许20名用户。如果用户超过20,则需要购买企业版。还有另一个基于LibreOffice的开源在线办公套件Collabora online,它具有相同的功能,但不受用户数量的限制。您可以阅读以下文章,将其与Nextcloud集成。 将Collabora Online与Ubuntu上的Nextcloud与Docker集成 增加上传文件大小限制 如果使用ApachePHP模块运行PHP脚本,则没有上传文件大小限制。如果使用PHP-FPM运行PHP脚本,则需要更改文件大小限制。在PHP-FPM中上传的默认最大文件大小为2MB。要增加上传大小限制,请编辑PHP配置文件。 sudo nano /etc/php/7.4/fpm/php.ini 找到下面一行(第846行)。 upload_max_filesize = 2M 更改值,如下所示: upload_max_filesize = 1024M 保存并关闭文件。或者,您可以运行以下命令来更改值,而无需手动打开文件。 sudo sed -i 's/upload_max_filesize = 2M/upload_max_filesize = 1024M/g' /etc/php/7.4/fpm/php.ini 然后重启PHP-FPM。 sudo systemctl restart php7.4-fpm 启用HTTP/2协议 HTTP/2协议可以极大地提高页面加载速度。您可以阅读以下指南来在Apache上启用HTTP/2协议。 如何在Ubuntu 20.04上使用Apache启用HTTP/2协议 添加本地DNS条目 建议在Nextcloud服务器上编辑/etc/hosts文件,并添加以下条目,这样Nextcloud本身就不必查询公共DNS,从而提高整体稳定性。如果您的Nextcloud服务器无法解析Nextcloud。实例com主机名,则可能会遇到504网关超时错误。 127.0.0.1 localhost nextcloud.example.com /etc/hosts文件中的IP地址可以有多个主机名,因此如果在同一个框中安装了其他应用程序,也可以在同一行中添加其他主机名或子域,如下所示: 127.0.0.1 localhost focal ubuntu nextcloud.example.com collabora.example.com 使用Cron运行后台作业 默认情况下,Nextcloud使用AJAX在每次页面加载时执行一个任务。您可以使用更高效的系统cron服务来运行后台作业。转到Nextcloud设置-&gt;基本设置并选择Cron。 接下来,编辑www数据用户的crontab文件。 sudo -u www-data crontab -e 在该文件中添加以下行,这样cron作业将每5分钟运行一次。 */5 * * * * php7.4 -f /var/www/nextcloud/cron.php 保存并关闭文件。 故障排除提示 如果遇到错误,可以检查以下日志文件之一,以找出问题所在。 Apache错误日志:/var/log/apache2/error。日志 Nextcloud虚拟主机的Apache错误日志:/var/log/apache2/Nextcloud。错误 Nextcloud应用程序日志:/var/www/Nextcloud/data/Nextcloud。日志 例如,我的Nextcloud实例和/var/log/nginx/Nextcloud上有一个“内部服务器错误”。错误文件告诉我 FastCGI sent in stderr: "PHP message: PHP Fatal error: Uncaught OC/HintException: [0]: Memcache /OC/Memcache/Redis not available for local cache (Is the matching PHP module installed and enabled?) 事实证明,因为我在Ubuntu服务器上使用了ppa:ondrej/php-ppa,所以我还需要安装php7。除了php redis包之外,还有4-redis。 如果在nextcloud中看到以下错误消息。日志文件,您可以忽略它。 Could not detect any host in https:///data/htaccesstest.txt 升级Nextcloud 让你的Nextcloud服务器保持最新的安全和漏洞修复非常重要。阅读下面的教程,了解如何升级Nextcloud。 2种升级Nextcloud[命令行和GUI]的方法 收尾 我希望本教程能帮助您在带有Apache的Ubuntu 20.04服务器上安装NextCloud。和往常一样,如果你觉得这篇文章很有用,那么订阅我们的免费时事通讯以获得更多提示和窍门。当心?

    2022.03.23 浏览:498
  • 如何在Debian 9 Stretch上安装NextCloud桌面客户端

    本教程将向您展示如何在Debian 9 Stretch上安装NextCloud桌面客户端。如果您想知道如何在Debian 9上安装NextCloud server,请查看以下教程。 如何使用LAMP在Debian 9 Stretch上安装NextCloud 注意:从Debian 10开始,NextCloud桌面客户端包含在默认存储库中。您可以通过在root权限下运行以下命令来轻松安装它:apt install nextcloud desktop。 通过PPA在Debian 9上安装NextCloud桌面客户端 NextCloud开发团队为Ubuntu提供官方PPA。它还可以用于在Debian 9上安装NextCloud桌面客户端。您可以在Debian 9上运行add apt repository命令。它是由软件属性公共包提供的,但它不会像Ubuntu那样开箱即用。我将向您展示如何在Debian上手动添加NextCloud PPA。步骤如下所述。 打开终端窗口,切换到root用户。 su - 然后为NextCloud Linux客户端创建一个新的源代码列表文件。 nano /etc/apt/sources.list.d/nextcloud-client.list 复制以下两行并将其粘贴到源列表文件中。请注意,对于Debian 9,您需要使用zesty软件包以实现兼容性。 deb http://ppa.launchpad.net/nextcloud-devs/client/ubuntu zesty main deb-src http://ppa.launchpad.net/nextcloud-devs/client/ubuntu zesty main 保存并关闭文件。然后,我们需要下载签名密钥并将其导入Debian 9系统,以便APT package manager可以验证从本PPA下载的软件包的完整性。运行以下命令。需要dirmngr来访问密钥服务器。 apt install dirmngr apt-key adv --recv-key --keyserver keyserver.ubuntu.com AD3DD469 现在更新本地包索引并安装NextCloud桌面客户端。 apt update apt install nextcloud-client 安装后,您可以从应用程序菜单启动NextCloud客户端,或作为标准用户在终端中使用以下命令。 nextcloud 输入您的NextCloud服务器地址。 输入NextCloud用户名和密码。 接下来,设置本地文件夹选项。 启动时运行NextCloud客户端 要在启动时启用自动启动,只需转到NextCloud设置,然后选择General(常规)选项卡并选中Launch on System Startup(系统启动时启动)。 就这样!我希望本教程能帮助您在Debian 9 Stretch上安装NextCloud桌面客户端。和往常一样,如果你觉得这篇文章很有用,那么订阅我们的免费时事通讯来获取新的教程。

    2022.03.23 浏览:356
  • 如何使用LAMP在Debian 9 Stretch上安装NextCloud

    本教程将向您展示如何使用LAMP stack在Debian 9上安装NextCloud。NextCloud是一个免费、开源的自托管云存储解决方案,提供Dropbox等第三方云存储服务的替代方案。 先决条件 要学习本教程,您需要以下内容: Debian 9 VPS(虚拟专用服务器)或本地Debian计算机 Debian 9上安装的灯组。 域名。 第一步:下载NextCloud 使用以下命令将NextCloud server zip存档下载到Debian 9系统中。撰写本文时,最新的稳定版本是12.0.2。 wget https://download.nextcloud.com/server/releases/nextcloud-12.0.2.zip 当你学习本教程时,可能会有一个更新的版本。去https://nextcloud.com/install点击下载按钮查看最新版本。要获得NextCloud的下载链接,只需右键单击下载NextCloud按钮,然后选择复制链接位置,如下面的屏幕截图所示。 解压后将其解压缩到/var/www/目录。 sudo apt install unzip sudo unzip nextcloud-12.0.2.zip -d /var/www/ 现在我们将www-data(Apache-user)作为/var/www/nextcloud/的所有者。 sudo chown www-data:www-data /var/www/nextcloud -R 第2步:在MariaDB中创建数据库和用户 使用以下命令登录MariaDB数据库服务器: sudo mariadb -u root 然后使用下面的MariaDB命令为NextCloud创建一个数据库。本教程将数据库命名为nextcloud。你可以用任何你喜欢的名字。不要在结尾处漏掉分号。 create database nextcloud; 然后创建一个单独的用户。同样,您可以使用此用户的首选名称。用首选密码替换密码。 grant all privileges on nextcloud.* to nextclouduser@localhost identified by 'your-password'; 上述命令将创建用户并授予所有权限。现在刷新权限并退出。 flush privileges; exit; 步骤3:在MariaDB中启用二进制日志记录 编辑MariaDB配置文件。 sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf 在[mysqld]部分添加以下三行。 log-bin = /var/log/mysql/mariadb-bin log-bin-index = /var/log/mysql/mariadb-bin.index binlog_format = mixed 二进制日志的格式必须是混合的。保存并关闭文件。然后重新启动MariaDB服务。 sudo systemctl restart mariadb 现在,在MariaDB中启用了二进制日志。 步骤4:为Nextcloud创建Apache虚拟主机文件 我们将创建一个nextcloud。conf文件位于/etc/apache2/sites-available目录中。 sudo nano /etc/apache2/sites-available/nextcloud.conf 复制并粘贴文件中的以下行。将红色文本替换为实际的域名。您还需要将域名指向DNS中Debian 9服务器的IP地址。 <VirtualHost *:80> DocumentRoot "/var/www/nextcloud" ServerName nextcloud.your-domain.com ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined <Directory /var/www/nextcloud/> Options +FollowSymlinks AllowOverride All <IfModule mod_dav.c> Dav off </IfModule> SetEnv HOME /var/www/nextcloud SetEnv HTTP_HOME /var/www/nextcloud Satisfy Any </Directory> </VirtualHost> 保存并关闭文件。然后使用下面的命令启用此虚拟主机。 sudo a2ensite nextcloud 我们还需要启用一些Apache模块。 sudo a2enmod rewrite headers env dir mime setenvif ssl 安装所需的PHP模块。 sudo apt install php7.0-common php7.0-mysql php7.0-gd php7.0-json php7.0-curl php7.0-zip php7.0-xml php7.0-mbstring 重新启动Apache,以便加载上述Apache和PHP模块。 sudo systemctl restart apache2 第5步:启用HTTPS 现在,通过输入Nextcloud安装的域名,您可以在浏览器中访问Nextcloud web安装向导。 nextcloud.your-domain.com 在输入任何敏感信息之前,我们应该在Nextcloud上启用安全的HTTPS连接。我们可以从Let's Encrypt获得免费的TLS证书。 从Debian 9存储库安装certbot(让我们加密)客户端。 sudo apt install certbot python-certbot-apache 现在发出以下命令以获取免费的TLS/SSL证书。用实际数据替换红色文本。 sudo certbot --apache --agree-tos --redirect --hsts --email your-email-address -d nextcloud.your-domain.com 说明: –apache:使用apache插件。 –同意tos:同意服务条款。 –重定向:自动将所有HTTP流量重定向到HTTPS。 –hsts:添加严格的传输安全标题。 几秒钟内,您将看到如下消息,这意味着TLS证书已成功获得并安装。TLS配置在SSL测试中得分为A。 在Web浏览器中完成安装 现在在你的网络浏览器地址栏中,输入你的NextCloud域名。您将看到它会自动重定向到https。 nextcloud.your-domain.com 你需要创建一个管理员帐户。数据文件夹是存储用户文件的地方。出于安全原因,最好将数据目录放在Nextcloud web根目录之外,例如/var/www/Nextcloud data。可以使用以下命令创建: sudo mkdir /var/www/nextcloud-data/ 然后确保Apache用户(www数据)对数据目录具有写入权限。 sudo chown www-data:www-data /var/www/nextcloud-data -R 然后输入之前创建的数据库用户名、数据库名称和密码,以便将Nextcloud连接到MariaDB数据库。 完成后,您将看到Nextcloud的Web界面。恭喜!您现在可以开始将其用作您的私有云存储。 我希望本教程能帮助您在Debian 9上安装NextCloud和LAMP stack。和往常一样,如果你觉得这篇文章很有用,那么订阅我们的免费时事通讯来获取新的教程。

    2022.03.23 浏览:250