分类
Nexcloud PHP

Nextcloud停留无限登录页面 PHP7的问题及解决方案

升级了新的PHP7.3,安装方法 https://www.itgeeker.net/php7-3-yum-install-on-centos-7/

Nextcloud 14或者15 无法打开登录界面

出现错误信息如下:

内部服务器错误
服务器不能完成你的请求。

如果再次发生,请在下方将技术详情发送给服务器管理员。

更多细节可以在服务器日志中找到.

技术细节
远程地址: 210.22.126.186
请求 ID: kSPvbdWDU7yvwng3516v

请求的ID会不断改变,查询logo也没有太多有用的信息。基本是php session权限的问题,解决方案:

vi /etc/php-fpm.d/www.conf 
#如果是remi yum 安装的php7.3路径/etc/opt/remi/php73/php-fpm.d/www.conf

#根据你的客户端替换
user = apache
group = apache
#为nginx,如果你使用的nginx前端
user = nginx
group = nginx
#更改session目录权限并重启
chown -R root:nginx /var/lib/php/session/
systemctl restart php-fpm
#若无效,试试
chmod -R 777 /var/lib/php/session

Nextcloud 14或者15永远停留在登录界面

输入正确的用户名和密码,点击登入后清空两个字段,还是停留在登录界面。

看看Nextcloud在Github上的issue部分的留言吧:

Arnros commented on 12 Nov 2018
yes it seems to come from php 7.2.
I just upgraded my version of php 7.0 to 7.2 from remi repo and found myself looping on the login page.
EDIT: I tried with php7.1 from remi repo and same problem.
EDIT2: I tried with php7.0 from “webtatic” repo and it’s work.
EDIT3: I installed php 7.2 from webtatic and it’s work ! I have only problem with remi php.

https://github.com/nextcloud/server/issues/11149

里面没提到remi php7.3同样有这个问题,ITGeeker技术奇客建议你安装webtatic的php7.2吧,因为它可以工作,当然我试了一下装php7.0也可以工作,但当你升级到Nextcloud 15之后会在管理员面板提示你的PHP版本不够新。

如何使用yum安装webtatic的php7.2@CentOS 7

官方参考页面:https://webtatic.com/packages/php72/

首先添加源:

#CentOS/RHEL 7.x:
yum install epel-release
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

安装你想要的php7.2模块 for Nextcloud

yum --enablerepo=webtatic install mod_php72w php72w-opcache php72w-fpm

yum --enablerepo=webtatic install php72w-pear php72w-bcmath php72w-mysqlnd php72w-gd php72w-common php72w-fpm php72w-intl php72w-cli php72w php72w-xml php72w-opcache php72w-pecl-apcu php72w-pecl-jsond php72w-pdo php72w-gmp php72w-process php72w-pecl-imagick php72w-devel php72w-mbstring php72w-zip php72w-ldap php72w-imap php72w-pecl-mcrypt

启动php并添加自动启动

systemctl restart php-fpm
systemctl enable php-fpm

The current PHP memory limit is below the recommended value of 512MB

vi /etc/php.ini
memory_limit = 512M

无法打开登录界面

确认使用的是Apache还是Nginx,修改vi /etc/php-fpm.d/www.conf

user = apache
group = apache
#替换为
user = nginx
group = nginx
#再更新一下权限
chown -R root:nginx /var/lib/php/session/

问题解决了,Nextcloud 15顺利登录啦。

webtatic的php7.2和remi的php7.2安装候选了比较,前者的比较完善,也不用ls链接php执行命令,配置文件也在比较通用的目录。

分类
PHP

PHP7.3 yum安装@Centos 7

使用remi的源来安装,首先添加源:

yum install epel-release
rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

然后安装你想要的模块:

yum --enablerepo=remi install php73-php php73-php-pear php73-php-bcmath php73-php-pecl-jsond-devel php73-php-mysqlnd php73-php-gd php73-php-common php73-php-fpm php73-php-intl php73-php-cli php73-php php73-php-xml php73-php-opcache php73-php-pecl-apcu php73-php-pdo php73-php-gmp php73-php-process php73-php-pecl-imagick php73-php-devel php73-php-mbstring php73-php-zip php73-php-ldap php73-php-imap php73-php-pecl-mcrypt

运行并查看版本, 重启命令, 添加自动启动,链接php文件

php73 -v
systemctl restart php73-php-fpm
systemctl enable php73-php-fpm

ln -s /opt/remi/php73/root/usr/bin/php /usr/bin/php

一些配置文件的路径:

# The current PHP memory limit is below the recommended value of 512MB.
vi /etc/opt/remi/php73/php.ini
memory_limit = 512M

#如果你运行的是nginx而不是apache,修改
vi /etc/opt/remi/php73/php-fpm.d/www.conf
user = apache
group = apache
# Replace the values with
user = nginx
group = nginx

卸载所有php7.3

yum remove php73-php*

注意:如果使用nextcloud 14或15版本,remi的此php7.3版本会引起锁定在无限登录界面(
looping on the login page )

分类
Linux

阿里云经典网络升级为专有网络

记得今年上半年,为了复制老服务器(经典网络)的文件到新服务器(专有网络),寻求阿里云的技术支持,结果什么解决方案都给不出,答复说我原先所在的服务器基础设施过于陈旧,所以无法通过内网复制,ITGeeker技术奇客只能通过外网,花了一天一夜才复制完毕。幸亏数据量不大,由此对阿里云的服务器十足的失望了一把。

上周开始,阿里云突然提示说可以把经典网络升级成专有网络了,猜想阿里云对老用户的抱怨应该有所察觉,不能不管已卖掉的老服务器吧。

于是乎赶紧升级了名下唯一的还是经典网络的服务器,过程非常顺利,递交申请后很快就回复,然后就给顺利的升级了。当然升级时有些提示,具体情况还是要根据自己的实际配置来调整配置服务器。

ITGeeker技术奇客升级到专有网络碰到的几个问题:

  • SSH设置了hosts.allow,但是无论如何设置还是无法登录,提示connection refused的错误,最后只能vi /etc/hosts.allow,注释其他所有,添加以下代码解决。
ssh: ALL
  • 服务器装有LDAP服务,阿里云升级到专有网络后,本地的ip地址也更改了,所以还要修改hosts文件,把老的内网ip替换为新的内网ip,否则你的ldap可能会提示错误。
Starting ldap...Done. Failed. Failed to start slapd. Attempting debug start to determine error. 5c16fedd daemon: bind(7) failed errno=99 (Cannot assign requested address) 5c16fedd daemon: bind(7) failed errno=99 (Cannot assign requested address) 5c16fedd slap_open_listener: failed on ldap
  • 再有就是要创建一个专有网络的安全规则,和之前的经典网络安全规则不通用。正好可以清理一下之前不必要的port通行,顺便也看看iptables吧,如果你还是使用CentOs 6 版本的防火墙。