美文网首页
NextCloud安装全过程

NextCloud安装全过程

作者: duyi324 | 来源:发表于2018-05-09 11:51 被阅读0次

    【参考链接:】

    注:本文所用环境为 Ubuntu Server 16.04

    一、安装服务器环境

    使用OneInStack安装服务器环境;
    过程暂时略过

    二、添加虚拟主机

    有空再补充

    三、遇到的问题

    1.Nextcloud出现“内部服务器错误”

    内部服务器错误

    解决方法:

    首先尝试设置网站目录权限:

    chown www:www nextcloud
    chmod 770 nextcloud -Rf
    

    如果以上命令不能问题,则参照解决CentOS中安装Nextcloud出现“内部服务器错误”一文中的方法:

    • 创建一个脚本:
    vim permission.sh
    

    然后将下面的内容粘贴进去(在vim中,你需要先按i,然后Insert+Shift键粘贴)

    #!/bin/bash
    ocpath='/var/www/nextcloud/'   #修改为你Nextcloud所放置的目录
    htuser='apache'                #网页服务器用户
    htgroup='apache'               #网页服务器的组
    rootuser='root'
     
    printf "Creating possible missing Directories\n"
    mkdir -p $ocpath/data
    mkdir -p $ocpath/assets
    mkdir -p $ocpath/updater
     
    printf "chmod Files and Directories\n"
    find ${ocpath}/ -type f -print0 | xargs -0 chmod 0640
    find ${ocpath}/ -type d -print0 | xargs -0 chmod 0750
     
    printf "chown Directories\n"
    chown -R ${rootuser}:${htgroup} ${ocpath}/
    chown -R ${htuser}:${htgroup} ${ocpath}/apps/
    chown -R ${htuser}:${htgroup} ${ocpath}/assets/
    chown -R ${htuser}:${htgroup} ${ocpath}/config/
    chown -R ${htuser}:${htgroup} ${ocpath}/data/
    chown -R ${htuser}:${htgroup} ${ocpath}/themes/
    chown -R ${htuser}:${htgroup} ${ocpath}/updater/
     
    chmod +x ${ocpath}/occ
     
    printf "chmod/chown .htaccess\n"
    if [ -f ${ocpath}/.htaccess ]
     then
      chmod 0644 ${ocpath}/.htaccess
      chown ${rootuser}:${htgroup} ${ocpath}/.htaccess
    fi
    if [ -f ${ocpath}/data/.htaccess ]
     then
      chmod 0644 ${ocpath}/data/.htaccess
      chown ${rootuser}:${htgroup} ${ocpath}/data/.htaccess
    fi
    

    输入:wq保存退出。

    • 关闭或正确地配置SELinux
      临时的关闭可以用:
    setenforce 0
    

    永久关闭则可以编辑/etc/selinux/config文件:

    vim /etc/selinux/config
    

    找到SELINUX=enforcing,将它改为SELINUX=disabled

    再刷新页面,错误信息就消失了。

    原文中的解决过程
    按CentOS中通常的步骤,YUM安装httpd、php、maraidb,然后下载Nextcloud的安装包,解压,简单地设置了一下权限,关掉防火墙、SELinux,然后浏览器里访问,提示错误。
    如果上述步骤是在Debian/Ubuntu中做,现在已经可以看到安装界面了,而这个是什么情况?!
    按提示中所说,错误记录在了日志里,于是检查了一下error.log(一般位于/etc/httpd/logs里,取决于你的配置),发现了这样的错误信息:

    [Sat Nov 18 19:54:20.198935 2017] [php7:notice] [pid 24868] [client 192.168.3.66:65387] {"reqId":"WhAfbEVDNMLHuXKdeyBnUAAAAAI","level":3,"time":"2017-11-18T11:54:20+00:00","remoteAddr":"192.168.3.66","user":"--","app":"PHP","method":"GET","url":"\\/index.php","message":"chmod(): No such file or directory at \\/var\\/www\\/nextcloudtest\\/lib\\/private\\/Log\\/File.php#134","userAgent":"Mozilla\\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\\/537.36 (KHTML, like Gecko) Chrome\\/62.0.3202.94 Safari\\/537.36","version":""}
    

    呃………原来是一个PHP函数的报错。然而,chmod(): No such file or directory???
    赶紧看下:

    [root@imagineocean nextcloudtest]# ls lib/private/Log
    ErrorHandler.php  Errorlog.php  File.php  Rotate.php  Syslog.php
    

    这些文件明明好好地躺在那里!
    第一反应是SELinux在捣鬼,于是检查了一下:

    [root@imagineocean nextcloud]# getenforce
    

    Permissive

    SELinux已关闭。
    大约1年零3个月前,我发布了本博客第一篇ownCloud的文章:[Owncloud安装过程](https://www.orgleaf.com/135.html),这篇文章就是在CentOS7环境下写的,全程都没有如此诡异的问题。考虑到可能是CentOS有所改动,而最近一次成功在CentOS上部署Nextcloud是在几个月前帮朋友装的,当时为了方便~~装逼~~,就用了权限设置脚本。
    改用脚本,刷新页面,错误消失,取而代之的是亲切地安装页面。
    虽然问题解决了,但原因却在之后的复现试验中变得扑朔迷离。我后来发现,在简单的权限设置的基础下,仅开启SELinux也会出现错误,关闭后恢复正常,而在第一次出现错误时明明已经关闭了SELinux。这是一个留待我继续研究的谜团。
    

    2."PHP 被设置为移除内联块, 这将导致多个核心应用无法访问"问题

    PHP 被设置为移除内联块

    使用LNMP或者Oneinstack一键配置的服务器环境出现PHP 被设置为移除内联块, 这将导致多个核心应用无法访问.这可能由缓存/加速器导致的, 例如 Zend OPcache 或 eAccelerator.的问题。
    原因是WEB环境缓存配置参数出现问题,我们需要修改。

    /usr/local/php/etc/php.d/02-opcache.ini
    

    找到这个文件:

    [opcache]
    zend_extension=opcache.so
    opcache.enable=1
    opcache.enable_cli=1
    opcache.memory_consumption=128
    opcache.interned_strings_buffer=8
    opcache.max_accelerated_files=100000
    opcache.max_wasted_percentage=5
    opcache.use_cwd=1
    opcache.validate_timestamps=1
    opcache.revalidate_freq=60
    opcache.save_comments=0  #将这一行的默认值0改为1
    opcache.fast_shutdown=1
    opcache.consistency_checks=0
    ;opcache.optimization_level=0
    

    opcache.save_comments参数默认0,修改成1,然后重新启动php,方可生效。

    相关文章

      网友评论

          本文标题:NextCloud安装全过程

          本文链接:https://www.haomeiwen.com/subject/gksnrftx.html