计划升级到 NextCloud 21
-
-
飞仔
楼主计划升级到 NextCloud 21
2021年4月6日
请点击 ✔ 已完成的标题,快速跳转至折腾的详细内容。
✅ 如何做好升级前的备份以及失败后的还原
一、数据库与数据的备份 ✔
使用 mysqldump 与 rsync 实现。
二、系统环境备份 ✔
备份 CentOS76en C盘
目的是备份 apache、php、mysql 环境
因为我计划升级 apache 至新版本。如何备份 CentOS76en C盘:
用 HyperV 检查点备份 C盘
首先在 CentOS76en 停止 apache ,然后分别临时卸载 fzdata 磁盘与 fzbackup 磁盘。
从虚拟机设置里分别移除 fzdata 磁盘与 fzbackup 磁盘,此时做一个检查点。
记录好做检查点时,CentOS76en 的详细配置,以便日后的还原工作。三、如何实现还原 ✔
应用之前虚拟机备份的检查点,即可回到备份时的所有状态。
✅ 如何升级 NextCloud 21
一、升级 apache ✔
卸载旧版本 apache ,建议考虑做好 apache 配置文件的备份。
挂载 fzdata 磁盘与 fzbackup 磁盘,重启系统。
计划使用清华 ius 源安装最新版本的 httpd24u 。升级 httpd24 目的就是要开启 HTTP/2 ,实际实施时发现 rh – SCL 软件集里有 httpd 2.4.34 可以达到目的,就使用 rh – SCL 软件集的版本。二、检查 NextCloud 运行,并升级到 HTTP/2 ✔
检查 NextCloud 运行各种状态,确保没有问题后,
将网站从原来的 HTTP/1.1 升级到 HTTP/2 。三、升级 NextCloud 21 ✔
在前提所有工作都顺利完成之后,升级 NextCloud 21 已经具备了所有条件。
解决 NextCloud 21 这两个警告 ✔
- 您的网页服务器未正确设置以解析”/.well-known/webfinger”。更多信息请参见文档。
- 您的网页服务器未正确设置以解析”/.well-known/nodeinfo”。更多信息请参见文档。
四、升级 AMP 最终完成 💬完成 httpd24u 的升级,以及 HTTP/2 部署,并且 NextCloud 21 完成升级的前提下:1、如果运行速度相比 NextCloud 20 有提升的情况下,目前至少在 2021年6月中旬内
不考虑升级 PHP74 与 MariaDB10.52、如果运行速度相比 NextCloud 20 的提升微乎其微
我们才考虑进行重新部署新版本的 PHP74 以及 MariaDB10.5不是在原有的环境基础部署,而是重新全新安装新版 AMP 环境,然后挂载fzdata 磁盘与 fzbackup 磁盘。
完成最终的 AMP 环境升级。目前不打算升级 Mariadb 与 php74,因为当时测试的上传速度是在 http 下的上传速度肯定比 https 的快一些,并且可以修改 NextCloud 配置的一些参数使上传速度更快。
等很有时间与精力了再折腾吧! -
2021-04-07 02:13 #2952
飞仔
楼主系统环境备份
用 HyperV 检查点备份 C盘:
停止 apache
systemctl stop httpd查看挂载情况:( 使用命令:df -h )
[root@localhost ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/centos-root 26G 8.1G 18G 31% / devtmpfs 1.9G 0 1.9G 0% /dev tmpfs 2.0G 0 2.0G 0% /dev/shm tmpfs 2.0G 9.1M 2.0G 1% /run tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup /dev/sda2 1014M 180M 835M 18% /boot /dev/sdc1 1.5T 376G 1.1T 26% /fzbackup /dev/sda1 200M 12M 189M 6% /boot/efi /dev/sdb1 920G 376G 544G 41% /fzdata tmpfs 392M 12K 392M 1% /run/user/42 tmpfs 392M 0 392M 0% /run/user/0
可以看出,我们需要临时卸载的 fzdata 与 fzbackup 分别是:
/dev/sdb1 920G 376G 544G 41% /fzdata /dev/sdc1 1.5T 376G 1.1T 26% /fzbackup
为什么叫临时卸载,因为我们没有修改 /etc/fstab 配置文件,在系统重启之后会再次自动挂载。
分别临时卸载 fzdata 与 fzbackup :
umount /dev/sdb1 umount /dev/sdc1
经确认,临时卸载 fzdata 与 fzbackup 之后,文件夹目录依旧存在,但是分别打开这两个文件夹,内部却是空空如也。
OK,从虚拟机设置里分别移除 fzdata 磁盘与 fzbackup 磁盘。为了避免后续的再次添加,请注意这两个磁盘的添加顺序:fzdata 在先,fzbackup 在后。
检查点已创建成功:CentOS76en_30G – (2021/4/7 – 2:08:32)
检查点配置概述:
已做完成 mysqldump 与 rsync 。
已停止 httpd 。
apache2.4.6,php7.3,mysql8,已临时卸载 fzdata 磁盘与 fzbackup 磁盘。 -
2021-04-07 03:37 #2953
飞仔
楼主升级 apache
卸载旧版本 apache:
尝试使用命令列出已安装的 httpd 相关软件包:
尝试命令:
rpm -qa|grep httpd
日志如下:
[root@localhost ~]# rpm -qa|grep httpd httpd24-runtime-1.1-19.el7.x86_64 httpd24-httpd-2.4.34-18.el7.x86_64 httpd-2.4.6-93.el7.centos.x86_64 httpd-tools-2.4.6-93.el7.centos.x86_64 httpd24-httpd-tools-2.4.34-18.el7.x86_64 httpd24-libnghttp2-1.7.1-8.el7.x86_64
OK,执行卸载 httpd :
尝试命令:
yum -y remove httpd
部分日志如下:
Remove 1 Package (+1 Dependent package) Installed size: 9.6 M Downloading packages: Running transaction check Running transaction test Transaction test succeeded Running transaction Erasing : 1:mod_ssl-2.4.6-93.el7.centos.x86_64 1/2 warning: /etc/httpd/conf.d/ssl.conf saved as /etc/httpd/conf.d/ssl.conf.rpmsave Erasing : httpd-2.4.6-93.el7.centos.x86_64 2/2 warning: /etc/httpd/conf/httpd.conf saved as /etc/httpd/conf/httpd.conf.rpmsave warning: /etc/httpd/conf.modules.d/00-proxy.conf saved as /etc/httpd/conf.modules.d/00-proxy.conf.rpmsave Verifying : 1:mod_ssl-2.4.6-93.el7.centos.x86_64 1/2 Verifying : httpd-2.4.6-93.el7.centos.x86_64 2/2 Removed: httpd.x86_64 0:2.4.6-93.el7.centos Dependency Removed: mod_ssl.x86_64 1:2.4.6-93.el7.centos Complete!
再次列出已安装的 httpd 相关软件包:
rpm -qa|grep httpd
日志如下:[root@localhost ~]# rpm -qa|grep httpd httpd24-runtime-1.1-19.el7.x86_64 httpd24-httpd-2.4.34-18.el7.x86_64 httpd-tools-2.4.6-93.el7.centos.x86_64 httpd24-httpd-tools-2.4.34-18.el7.x86_64 httpd24-libnghttp2-1.7.1-8.el7.x86_64
貌似根本没有卸载干净吗?实在是烦,面对 Linux ,实在是太多的不了解。
到底是否需要卸载与httpd相关的所有包,才能安装新版本?
太多的不了解,唯一只有测试之后才能知道能否行得通。我决定卸载干净,再安装新版本的。
继续尝试卸载命令:(全部失败)
rpm -e httpd24-runtime-1.1-19.el7.x86_64 rpm -e httpd24-httpd-2.4.34-18.el7.x86_64 rpm -e httpd-tools-2.4.6-93.el7.centos.x86_64 rpm -e httpd24-httpd-tools-2.4.34-18.el7.x86_64 rpm -e httpd24-libnghttp2-1.7.1-8.el7.x86_64
部分失败日志:
[root@localhost ~]# rpm -e httpd24-runtime-1.1-19.el7.x86_64 error: Failed dependencies: httpd24-runtime is needed by (installed) httpd24-libnghttp2-1.7.1-8.el7.x86_64 httpd24-runtime is needed by (installed) httpd24-httpd-2.4.34-18.el7.x86_64 [root@localhost ~]# rpm -e httpd24-libnghttp2-1.7.1-8.el7.x86_64 error: Failed dependencies: libnghttp2-httpd24.so.14()(64bit) is needed by (installed) httpd24-httpd-2.4.34-18.el7.x86_64 [root@localhost ~]# rpm -e httpd24-httpd-2.4.34-18.el7.x86_64 error: Failed dependencies: httpd24-httpd-mmn = 20120211x8664 is needed by (installed) rh-php73-php-7.3.11-1.el7.x86_64
这里发现,我们的计划需要一点改变。
执行命令:
yum list | grep httpd
输出如下:[root@localhost ~]# rpm -qa|grep httpd httpd24-runtime-1.1-19.el7.x86_64 httpd24-httpd-2.4.34-18.el7.x86_64 httpd-tools-2.4.6-93.el7.centos.x86_64 httpd24-httpd-tools-2.4.34-18.el7.x86_64 httpd24-libnghttp2-1.7.1-8.el7.x86_64 [root@localhost ~]# yum list | grep httpd httpd-tools.x86_64 2.4.6-93.el7.centos @base httpd24-httpd.x86_64 2.4.34-18.el7 @centos-sclo-rh httpd24-httpd-tools.x86_64 2.4.34-18.el7 @centos-sclo-rh httpd24-libnghttp2.x86_64 1.7.1-8.el7 @centos-sclo-rh httpd24-runtime.x86_64 1.1-19.el7 @centos-sclo-rh darkhttpd.x86_64 1.11-1.el7 epel dmlite-apache-httpd.x86_64 1.14.2-1.el7 epel httpd.x86_64 2.4.6-97.el7.centos updates httpd-devel.x86_64 2.4.6-97.el7.centos updates httpd-itk.x86_64 2.4.7.04-2.el7 epel httpd-manual.noarch 2.4.6-97.el7.centos updates httpd-tools.x86_64 2.4.6-97.el7.centos updates httpd24.x86_64 1.1-19.el7 centos-sclo-rh httpd24-build.x86_64 1.1-19.el7 centos-sclo-rh httpd24-curl.x86_64 7.61.1-2.el7 centos-sclo-rh httpd24-httpd.x86_64 2.4.34-22.el7 centos-sclo-rh httpd24-httpd-devel.x86_64 2.4.34-22.el7 centos-sclo-rh httpd24-httpd-manual.noarch 2.4.34-22.el7 centos-sclo-rh httpd24-httpd-tools.x86_64 2.4.34-22.el7 centos-sclo-rh httpd24-libcurl.x86_64 7.61.1-2.el7 centos-sclo-rh httpd24-libcurl-devel.x86_64 7.61.1-2.el7 centos-sclo-rh httpd24-libnghttp2.x86_64 1.7.1-8.el7.1 centos-sclo-rh httpd24-libnghttp2-devel.x86_64 1.7.1-8.el7.1 centos-sclo-rh httpd24-mlogc.x86_64 2.9.3-4.el7 centos-sclo-rh httpd24-mod_auth_kerb.x86_64 5.4-33.el7 centos-sclo-rh httpd24-mod_auth_mellon.x86_64 0.14.0-3.el7 centos-sclo-rh httpd24-mod_auth_mellon-diagnostics.x86_64 0.14.0-3.el7 centos-sclo-rh httpd24-mod_ldap.x86_64 2.4.34-22.el7 centos-sclo-rh httpd24-mod_md.x86_64 1:2.0.8-1.el7 centos-sclo-rh httpd24-mod_proxy_html.x86_64 1:2.4.34-22.el7 centos-sclo-rh httpd24-mod_security.x86_64 2.9.3-4.el7 centos-sclo-rh httpd24-mod_session.x86_64 2.4.34-22.el7 centos-sclo-rh httpd24-mod_ssl.x86_64 1:2.4.34-22.el7 centos-sclo-rh httpd24-nghttp2.x86_64 1.7.1-8.el7.1 centos-sclo-rh httpd24-scldevel.x86_64 1.1-19.el7 centos-sclo-rh iipsrv-httpd-fcgi.noarch 1.0.0-6.0.el7 epel keycloak-httpd-client-install.noarch 0.8-1.el7 base libmicrohttpd.i686 0.9.33-2.el7 base libmicrohttpd.x86_64 0.9.33-2.el7 base libmicrohttpd-devel.i686 0.9.33-2.el7 base libmicrohttpd-devel.x86_64 0.9.33-2.el7 base libmicrohttpd-doc.noarch 0.9.33-2.el7 base lighttpd.x86_64 1.4.54-1.el7 epel lighttpd-fastcgi.x86_64 1.4.54-1.el7 epel lighttpd-mod_authn_gssapi.x86_64 1.4.54-1.el7 epel lighttpd-mod_authn_mysql.x86_64 1.4.54-1.el7 epel lighttpd-mod_authn_pam.x86_64 1.4.54-1.el7 epel lighttpd-mod_geoip.x86_64 1.4.54-1.el7 epel lighttpd-mod_mysql_vhost.x86_64 1.4.54-1.el7 epel mirmon-httpd.noarch 2.11-1.el7 epel opensips-httpd.x86_64 1.10.5-4.el7 epel owncloud-httpd.noarch 9.1.5-1.el7 epel pagure-web-apache-httpd.noarch 5.13.2-1.el7 epel python2-keycloak-httpd-client-install.noarch python2-sphinxcontrib-httpdomain.noarch 1.7.0-1.el7 epel radicale-httpd.noarch 1.1.2-1.el7 epel sclo-httpd24-mod_auth_mellon.x86_64 0.12.0-2.el7 centos-sclo-sclo sclo-httpd24-mod_ruid2.x86_64 0.9.8-5.el7 centos-sclo-sclo sympa-httpd.x86_64 6.2.60-1.el7 epel sympa-lighttpd.x86_64 6.2.60-1.el7 epel sysusage-httpd.noarch 5.7-2.el7 epel thttpd.x86_64 2.29-2.el7 epel viewvc-httpd-fcgi.noarch 1.1.28-1.el7 epel viewvc-httpd-wsgi.noarch 1.1.28-1.el7 epel web-assets-httpd.noarch 5-1.el7 epel
centos-sclo-rh 上有比较新版本的 httpd2.4.34,此版本是支持 HTTP/2 的,因此我们是不是可以安装此版本即可实现升级到 HTTP/2 ?
尝试安装 httpd2.4.34
yum install httpd24-httpd.x86_64
输出部分日志:
Upgrade 1 Package (+1 Dependent package) Total size: 1.5 M Is this ok [y/d/N]: y Downloading packages: Running transaction check Running transaction test Transaction test succeeded Running transaction Updating : httpd24-httpd-tools-2.4.34-22.el7.x86_64 1/4 Updating : httpd24-httpd-2.4.34-22.el7.x86_64 2/4 Cleanup : httpd24-httpd-2.4.34-18.el7.x86_64 3/4 Cleanup : httpd24-httpd-tools-2.4.34-18.el7.x86_64 4/4 Verifying : httpd24-httpd-2.4.34-22.el7.x86_64 1/4 Verifying : httpd24-httpd-tools-2.4.34-22.el7.x86_64 2/4 Verifying : httpd24-httpd-2.4.34-18.el7.x86_64 3/4 Verifying : httpd24-httpd-tools-2.4.34-18.el7.x86_64 4/4 Updated: httpd24-httpd.x86_64 0:2.4.34-22.el7 Dependency Updated: httpd24-httpd-tools.x86_64 0:2.4.34-22.el7 Complete!
检查 httpd 版本:
[root@localhost ~]# httpd -v bash: httpd: command not found...
分别创建连接(快捷方式)
ln -s /opt/rh/httpd24/root/usr/sbin/httpd /usr/bin/httpd ln -s /opt/rh/httpd24/root/usr/sbin/httpd /usr/sbin/httpd
再次检查 httpd 版本:
[root@localhost ~]# httpd -v Server version: Apache/2.4.34 (Red Hat) Server built: Dec 1 2020 12:16:36
命令行启用
scl enable httpd24 bash
启动 httpd24
service httpd24-httpd start
查看httpd24运行状态
systemctl status httpd24-httpd
设置开机启动 httpd
systemctl enable --now httpd24-httpd
安装 mod_ssl
列出软件包版本
yum list | grep mod_ssl
日志如下:
[root@localhost ~]# yum list | grep mod_ssl httpd24-mod_ssl.x86_64 1:2.4.34-22.el7 centos-sclo-rh mod_ssl.x86_64 1:2.4.6-97.el7.centos updates
执行安装 mod_ssl
yum install httpd24-mod_ssl.x86_64
到此,httpd24 已经安装完成。
下一步,配置 HTTP/2,这个步骤需要更改许多配置。更改 httpd 工作模式,安装 php-fpm …
-
2021-04-13 02:50 #2957
飞仔
楼主检查 NextCloud 运行,并升级到 HTTP/2 ✔
将 apache 升级到 httpd 2.4.34 后,我们已经具备开启 HTTP/2 的访问条件了。检查 NextCloud 运行状态,目前看来,NextCloud 运行状况良好,没有什么问题。由于折腾的时候无法做到非常详细的步骤记录,大概记得好像是升级了 httpd 2.4.34 之后,已 apache 身份运行的后台任务无法正常工作。
定时执行的后台任务脚本如下:
*/15 * * * * php -f /fzdata/www/html/nextcloud/cron.php
这个问题也可能是更改了 apache 的工作模式之后才发现的,反正在官方手册找了另一种系统计时器方法执行后台定时任务。
在
/etc/systemd/system/
目录下分别创建 nextcloudcron.service 与 nextcloudcron.timer 两个文件内容如下:nextcloudcron.service 文件内容:
[Unit] Description=Nextcloud cron.php job [Service] User=apache ExecStart=/usr/bin/php -f /fzdata/www/html/nextcloud/cron.php KillMode=process
nextcloudcron.timer 文件内容:(每10分钟执行cron.php)
[Unit] Description=Run Nextcloud cron.php every 10 minutes [Timer] OnBootSec=10min OnUnitActiveSec=10min Unit=nextcloudcron.service [Install] WantedBy=timers.target
然后启动系统计时器执行 cron.php 后台任务:
systemctl enable --now nextcloudcron.timer
后台任务不能定时执行的问题已解决。
开启 HTTP/2 ✔
apache 开启 HTTP/2 需要切换工作模式为 mpm_event (在这里花了不少的时间去解决各种之前从未遇到过的问题)
1、修改 apache 工作模式
修改配置文件
/opt/rh/httpd24/root/etc/httpd/conf.modules.d/00-mpm.conf
# Select the MPM module which should be used by uncommenting exactly # one of the following LoadModule lines: # prefork MPM: Implements a non-threaded, pre-forking web server # See: http://httpd.apache.org/docs/2.4/mod/prefork.html # 注释默认的 mpm_prefork 工作模式 # LoadModule mpm_prefork_module modules/mod_mpm_prefork.so # worker MPM: Multi-Processing Module implementing a hybrid # multi-threaded multi-process web server # See: http://httpd.apache.org/docs/2.4/mod/worker.html # #LoadModule mpm_worker_module modules/mod_mpm_worker.so # event MPM: A variant of the worker MPM with the goal of consuming # threads only for connections with active processing # See: http://httpd.apache.org/docs/2.4/mod/event.html # 启用 mpm_event 工作模式 LoadModule mpm_event_module modules/mod_mpm_event.so
2、开启 HTTP/2
修改配置文件
/opt/rh/httpd24/root/etc/httpd/conf.d/ssl.conf
在<VirtualHost>
之间</VirtualHost>
加入Protocols h2 http/1.1
开启 HTTP/2,示例如下:<VirtualHost _default_:443> ... # 开启 HTTP/2 Protocols h2 http/1.1 ... DocumentRoot "/var/www/html" ... </VirtualHost>
3、安装与启用 php-fpm
由于之前 apache 工作在 mpm_prefork 模式,不需要启用 php-fpm ,在安装 PHP 的时候没有安装 php-fpm 。
安装 php-fpm
yum install rh-php73-php-fpm
启动 php-fpm
service rh-php73-php-fpm start
设置开机启动 php-fpm
systemctl enable --now rh-php73-php-fpm
4、apache 搭配 php-fpm 运行的配置
首先停止 apache 与 php-fpm 这两个家伙,配置 Apache 使用 Unix Socket 连接 PHP
新建配置文件 rh-php73-php-fpm.conf,内容如下:
<FilesMatch \.php$> SetHandler "proxy:unix:/run/php73-php-fpm.sock|fcgi://localhost" </FilesMatch>
保存至
/opt/rh/httpd24/root/etc/httpd/conf.d/
目录下。接下来
创建 Socket 文件
在
/run/
目录下创建php73-php-fpm.sock
cd /run touch php73-php-fpm.sock chown apache:apache php73-php-fpm.sock chmod 777 php73-php-fpm.sock
配置 php-fpm 监听 Unix Socket
修改配置文件/etc/opt/rh/rh-php73/php-fpm.d/www.conf
; '/path/to/unix/socket' - to listen on a unix socket. ; Note: This value is mandatory. ; 注释默认的 TCP监听端口 ; listen = 127.0.0.1:9000 ; 监听刚才创建的 php73-php-fpm.sock listen = /run/php73-php-fpm.sock listen.owner = apache listen.group = apache
现在所有 HTTP/2 的工作条件已经具备,重启 apache 与 php-fpm 之后,删除浏览器缓存,刷新你的网站即可验证 h2 已经正常工作了。
实际配置 apache 与 php-fpm 是经历了无数次的失败,之后才让她们配合起来工作的啦!
-
2021-04-13 03:07 #2958
飞仔
楼主经过前面的无数次失败铺垫,升级 NextCloud 21 简直就是小菜一碟。可是不仅仅是升级且能运行这么简单的工作,后续遇到了更多费劲心思却还是以失败告终的折磨!单域名解析到单IP,部署了两个独立应用 WordPress 与 NextCloud 。
自从升级了 NextCloud 21 之后,如下的两个警告一直都在纠缠着我,直到今天才彻底把他两甩开!
- 您的网页服务器未正确设置以解析”/.well-known/webfinger”。更多信息请参见文档。
- 您的网页服务器未正确设置以解析”/.well-known/nodeinfo”。更多信息请参见文档。
如下图:
累了,明天接着继续完善记录…
-
2021-04-13 18:44 #2962
飞仔
楼主升级 NextCloud 21 ✔
从 NextCloud20.0.8 → NextCloud20.0.9 → NextCloud21.0.1 使用常规手动升级操作
手动升级 NextCloud 常规操作
停止 httpd24
service httpd24-httpd stop
检查 httpd24 状态是否停止
systemctl status httpd24-httpd
重命名
nextcloud
目录为nextcloud-old
上传
NextCloud 20.0.9
复制配置文件至新版目录
cp /fzdata/www/html/nextcloud-old/config/config.php /fzdata/www/html/nextcloud/config/
进入目录
cd /fzdata/www/html
设置权限chown -R apache:apache nextcloud find nextcloud/ -type d -exec chmod 750 {} \; find nextcloud/ -type f -exec chmod 640 {} \;
移动
data
目录至新版目录
mv /fzdata/www/html/nextcloud-old/data /fzdata/www/html/nextcloud/
进入目录
cd /fzdata/www/html/nextcloud
执行升级
sudo -u apache php occ upgrade
启动 httpd24
service httpd24-httpd start
升级完成。
从 NextCloud20.0.8 → NextCloud20.0.9 升级完成,安全与设置警告里只有 HTTP 请求头的这个警告。
但是从 NextCloud20.0.9 → NextCloud21.0.1 升级完成,安全与设置警告里多了几个出来:
如下图:
警告1:HTTP 请求头“Strict-Transport-Security”未设置为至少“15552000”秒。
这个不处理,内网偶尔需要使用 HTTP 访问。
警告2:您的网页服务器未正确设置以解析”/.well-known/webfinger”。更多信息请参见文档。
警告3:您的网页服务器未正确设置以解析”/.well-known/nodeinfo”。更多信息请参见文档。这两个是最头疼的问题,稍后详细说明解决方法。
警告4:您的安装没有设置默认的电话区域。
在 NextCloud 的配置文件
config.php
加入以下代码:(解决)
'default_phone_region' => 'CN',
警告5:数据库丢失了一些索引。… 通过命令手动执行“occ db:add-missing-indices”命令修复丢失的索引。
进入 NextCloud 目录,输入
occ
命令:(解决)
sudo -u apache php occ db:add-missing-indices
-
2021-04-14 02:21 #2963
飞仔
楼主httpd 配置不合理导致无法解决这两个警告!
警告2:您的网页服务器未正确设置以解析”/.well-known/webfinger”。更多信息请参见文档。
警告3:您的网页服务器未正确设置以解析”/.well-known/nodeinfo”。更多信息请参见文档。关于解决这两个警告,反正我没有在 NextCloud 手册上找到更好的解决方法了。
在 NextCloud 21 之前一直都没有 /.well-known/ 相关的警告,为什么升级了 NextCloud 21 之后会出现?如果是 httpd 配置不合理,为什么一直都正常使用到现在 NextCloud 21 才出现此警告?
原先的网站结构是这样的:wordpress + nextcloud
/fzdata/www/html/
网站根目录,wordpress 安装在此根目录上。
/fzdata/www/html/nextcloud/
子目录 nextcloud 安装在此子目录上。访问 wordpress 是:域名:端口号
https://sgtfz.cn:9988
访问 nextcloud 是:域名:端口号 + nextcloud 目录的形式访问
https://sgtfz.cn:9988/nextcloud/
这样子已经运行了几年了哟,现在才发现配置不合理。哎 … !
升级到 NextCloud 21 之后还是保持这样的网址访问,也是没有任何问题,只是无论如何修改
.htaccess
文件,都无法解决以上的两个警告。最后,一直在寻找方法与尝试各种配置的过程中,偶尔发现直接访问服务器IP地址:192.168.10.5 直接重写到 NextCloud ,于是进入设置查看,/.well-known/ 相关的警告一个都没有啦!!!别激动先,请注意细节,此时是 http 协议访问,只要使用 https 访问,即使是 IP 地址访问例如 https://192.168.10.5 依旧会有 /.well-known/ 相关的警告。
足以证明,绝对是 httpd 配置文件里与 https 相关的配置文件没有配置合理导致的问题。
累了,有空再完善记录 …
-
2021-04-14 18:48 #2964
飞仔
楼主更改网站的目录结构
既然配置不合理,干脆更改网站的目录结构!
原先的网站结构是这样的:wordpress + nextcloud
/fzdata/www/html/
网站根目录,wordpress 安装在此根目录上。
/fzdata/www/html/nextcloud/
网站子目录 nextcloud 安装在此子目录上。确实看着都有点扯淡!
目录结构决定改为:
/fzdata/www/html/wordpress/ /fzdata/www/html/nextcloud/
规划好各自有各自的地盘,让他们安居乐业。
😜
修改配置文件即可实现目的,话说真的很简单,当明白了其中的套路后,确实很简单。
修改 apache 的配置文件
将之前的所有配置文件推翻,为了拿到默认的配置文件,再苦再累也要建立一个虚拟机,再安装 apache 拿到默认的配置文件,我们从新开始吧!
默认的
httpd.conf
/opt/rh/httpd24/root/etc/httpd/conf/httpd.conf
就仅需拉到配置文件最后,加入以下的规则:
# 部署网站的根目录 <Directory "/fzdata/www/html"> Options FollowSymLinks AllowOverride All Require all granted </Directory>
就这么简单。
默认的
ssl.conf
/opt/rh/httpd24/root/etc/httpd/conf.d/ssl.conf
就让他静静默默的在那即可。在
/conf.d/
这个目录添加 NextCloud 与 WordPress 各自的配置文件。
/opt/rh/httpd24/root/etc/httpd/conf.d/
这才是光明大道?为何兜兜转转最终还是在原地打滚呢?
因为失败是成功之母,终于把 apache 配置好了,警告也随之消失了,完美!
之前的配置都是东拼西凑来的碎片,在没有弄清楚他们的工作套路之前,也只能东拼西凑来。等你搞清楚他们的工作套路了之后,才会发现当初有多 SB
记录至此结束。
-
-
作者帖子
- 哎呀,回复话题必需登录。