阿水的世界。

标签 nextcloud安装完成显示404 下的文章

04月 20

centos7.3 架设nextcloud

本着折腾至上的原则,新购一台华为云耀vps,安装lnmp1.6,搭个博客,再安个nextcloud。
首先从lnmp官网下载lnmp,然后上传到服务器进行安装,博客安在默认www目录中,一切正常。
然后开始安装nextcloud,遇到了各种坑。
第一步,通过lnmp vhost add添加一个虚拟目录,用于nextcloud。
第二步,解压nextcloud的zip包到虚拟目录中。
第三步,打开安装首页,显示内部服务错误……@#¥%……&U%#¥疯掉,什么错误原因都不显示,只显示内部服务错误,更崩溃的是找不到错误日志。终于,找到一个方案,在虚拟目录中自己添加一个data的文件夹,为了保险,我把权限设为777,好吧,第一个坑解决了,有错误日志了,路径为/home/wwwroot/nextcloud/,日志名称是nextcloud.log,,从里边找到了问题描述Unable to create file /home/wwwroot/nextcloud/config/config.php because Permission denied at /home/wwwroot/nextcloud/lib/private/Config.php#241,看来是权限问题=_=|||
第四步,查找nextcloud各个目录到底需要什么样的权限!@%……&%……¥#@查找无果~~~换个思路,查找问题描述,终于找到几个比较靠谱的,比如这个:解决CentOS中安装Nextcloud出现“内部服务器错误”https://www.orgleaf.com/2891.html。按照这个博文的思路,建立自己的目录权限设置处理文件,随便放到哪个文件夹都行(别放到网站目录下就好^_^),我放在了/root/a.sh

#!/bin/bash
ocpath='/home/wwwroot/nextcloud/'   #修改为你Nextcloud所放置的目录
htuser='www'                #网页服务器用户(查看nginx的配置文件/usr/local/nginx/conf/nginx.conf,查看第一行user www www;  这表示用户是www,用户组是www)
htgroup='www'               #网页服务器的组(查看nginx的配置文件/usr/local/nginx/conf/nginx.conf,查看第一行user www www;  这表示用户是www,用户组是www)
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

保存成功后执行,输入sh a.sh运行即可。
刷新页面,终于~~~~页面显示正常了
第五步,根据向导新建用户,输入数据库信息,然后点完成,准备开始使用~~~

然后,巨坑开启了~!@#¥%……U#¥#¥#!@#¥%……(×&……%¥#@

这个地址居然显示404 http://localhost/index.php/apps/files/

彻底要疯掉了,查nextcloud的错误日志,居然什么都没有,看来还没进入nextcloud的流程就出错了,查nginx的访问日志,结果也显示这一页是404

再次开始搜baidu,搜相关的问题,终于发现最可能的情况是因为nginx配置的pathinfo有问题,继续百度,搜到这篇文章:
“nginx配置pathinfo模式,解决访问404”网址:https://www.cnblogs.com/hanshuai0921/p/7304996.html?utm_source=itdadao&utm_medium=referral

参照这篇文章,对/usr/local/nginx/conf/nginx.conf和/usr/local/nginx/conf/vhost/nextcloud.conf下手,修改两个文件中的include enable-php.confinclude enable-php-pathinfo.conf

切换目录到/usr/local/nginx/sbin/,执行./nginx -s reload
再次刷新网页,谢天谢地~~~系统终于显示正常了

至此,安装终于告一段落,开始正式试用了,如果后续有问题我继续补充到后边~~~~