Centos7 安装LAMP以及nextcloud
第一步:安装apache
在centos中 apache叫httpd
yum update #更新源
yum install httpd #安装apache
systemctl stop firewalld #关闭防火墙
systemctl start httpd #开启httpd服务
systemctl enable httpd.service #开启httpd开机自启
systemctl status httpd.service #查看httpd状态
第二步:安装php (见下面)
systemctl start php-fpm.service #启动
systemctl stop php-fpm.service #关闭
systemctl restart php-fpm.service #重启
第三步:安装mariadb (不行就用yum)
(https://mp.weixin.qq.com/s/VzJD3nmAb0ob5h--Lz8gaQ)
yum install dnf
dnf update -y
install -y mariadb mariadb-server
dnf install -y mariadb mariadb-server
yum -y install mariadb-server mariadb mariadb-client mariadb-devel
启动数据库
systemctl enable mariadb.service
systemctl start mariadb.service
安装完成以后是没有设置密码的,运行下面的命令可以非常方便的配置
mysql_secure_installation
第四步:安装nextcloud
wget https://download.nextcloud.com/server/releases/nextcloud-18.0.3.zip(网上自己下载,这种方式下载慢,可以不成功。)
unzip nextcloud-*.zip
解压后,拷贝项目目录到 Apache 目录
cp -R nextcloud/ /var/www/html/
创建数据存放目录,用于存放日志、文件等
mkdir /var/www/html/nextcloud/data
设置权限并重启
chown -R apache:apache /var/www/html/nextcloud
systemctl restart httpd.service
http://IP/nextcloud
第五步:享受就行了
所有的文件会存储在下面的目录,如果你想存放云,当然也可以,不过本文就不叙述了
/var/www/html/nextcloud/data/admin/files
其他ip登錄編輯/var/www/html/nextcloud/conf/config.php
<?php
$CONFIG = array (
'instanceid' => 'oc9ncnswcrlk',
'passwordsalt' => 'RPQLtGsS+8O5Ug5FvN/2Sd9owriZHo',
'secret' => '8sBjxe8TYtnrd2ImZjcYP3JC1CH34AGuc2xCJ+GdzwXy5v+1',
'trusted_domains' =>
array (
0 => '192.168.237.135',
#添加如下代碼--------------
1 => preg_match('/cli/i',php_sapi_name())?'127.0.0.1':$_SERVER['SERVER_NAME'],
),
'datadirectory' => '/var/www/html/nextcloud/data',
'dbtype' => 'sqlite3',
'version' => '18.0.3.0',
'overwrite.cli.url' => 'http://192.168.237.135/nextcloud',
'installed' => true,
'app_install_overwrite' =>
array (
0 => 'onlyoffice',
),
);
解决CentOS中安装Nextcloud出现“内部服务器错误”
直入正题
这个问题的出现是由于文件夹权限设置的不到位。
如果直接简单地去设置权限,比如:
chown apache:apache nextcloud
chmod 770 nextcloud -Rf
那么你就会得到“内部服务器错误”的提示。
正确的做法是,
1.使用下面的配置脚本(这个脚本大概已经是第三遍被贴出来了):
随便找个地方(不要在Nextcloud的程序目录下),创建一个shell脚本:
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
按ESC键切换到普通模式,然后输入:wq保存退出。
2.关闭或正确地配置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已关闭。
Centos7 安装LAMP以及nextcloud的更多相关文章
- centos7安装lamp
一.准备工作 1. 下载并安装CentOS7.2,配置好网络环境,确保centos能上网,可以获取到yum源. centos7.2的网络配置: vim /etc/sysconfig/network ...
- centos7 安装lamp
1升级gcc4.8以上 yum update gcc2升级openssl yum update openssl 3安装apache a 安装apr ./configure --prefi ...
- CentOS7 安装LAMP环境
1.使用yum安装 yum -y install httpd mysql mysql-server php php-mysql postgresql postgresql-server php-pos ...
- centos7安装 lamp
1.安装apache yum install httpd #根据提示,输入Y安装即可成功安装 systemctl start httpd.service #启动apache systemctl sto ...
- centos7.2 yum安装lamp环境
一.准备工作 1. 下载并安装centos7.2,配置好网络环境,确保centos能上网,可以获取到yum源. centos7.2的下载地址:http://pan.baidu.com/s/1eRT ...
- CentOS 6.5系统使用yum方式安装LAMP环境和phpMyAdmin,mysql8.0.1/mysql5.7.22+centos7,windows mysql安装、配置
介绍如何在CentOs6.2下面使用YUM配置安装LAMP环境,一些兄弟也很喜欢使用编译的安装方法,个人觉得如果不是对服务器做定制,用yum安装稳定简单,何必去download&make&am ...
- centos7源码编译安装lamp/lnmp
centos7源码编译安装lamp/lnmp 进程:是包工头(相当于是个门,只管开门关门,不管门内的事儿) 线程:是各种工种(cpu调度的是线程) 进程 是一件事情, 线程 是 同一个时间范围内 同时 ...
- CentOS7 安装LNMP(Linux+Nginx+MySQL+PHP)
由于工作须要,须要学习php,本来想安装lamp的可是考虑到如今nginxserver有良好的性能且应用广泛. 这里我决定搭建Linux(CentOS7+Nginx+MySQL+PHP)下的webse ...
- Centos7 安装 zabbix3.2
简介: Zabbix的一个很优秀的分布式监控服务器, 它有两部分组成: 1. “zabbix-server”用来收集并且在web端展示数据 2. “zabbix-agent”用来采集数据,发送给ser ...
随机推荐
- SpringCloud技术涵盖简介
SpringCloud是微服务架构的集大成者,云计算最佳业务实践. 我们平常使用的Spring和他们的关系,对Spring,springboot , SpringCloud 的 概念区分,上图: Sp ...
- pipeline groovy
目录 一.变量 一.变量 1.直接定义 def x="abc" 2.从脚本执行结果赋值变量 branch = "/jen_script/return-branch.sh ...
- 静态日志框架Extensioner.Logging
静态日志框架,输出文本文件,基于log4net扩展,轻量,方便,无侵入! 使用方法 执行Install-Package Extensioner.Logging -Version 2.0.0导入Nuge ...
- CF808A Lucky Year 题解
Content 年份中有不超过 \(1\) 个非 \(0\) 数字的年份是幸运年份.现给出当前年份 \(n\),求到下一个幸运年份还要等多久. 数据范围:\(1\leqslant n\leqslant ...
- MVC三种分页方法
View部分: @using WebApplication1.Models;分页方法1引包 @*@using PagedList.Mvc; @using WebApplication1.Models; ...
- 【科普】.NET6 泛型
本文内容来自我写的开源电子书<WoW C#>,现在正在编写中,可以去WOW-Csharp/学习路径总结.md at master · sogeisetsu/WOW-Csharp (gith ...
- 四、Uniapp+vue+腾讯IM+腾讯音视频开发仿微信的IM聊天APP,支持各类消息收发,音视频通话,附vue实现源码(已开源)-会话好友列表的实现
会话好友列表的实现 1.项目引言 2.腾讯云后台配置TXIM 3.配置项目并实现IM登录 4.会话好友列表的实现 5.聊天输入框的实现 6.聊天界面容器的实现 7.聊天消息项的实现 8.聊天输入框扩展 ...
- JAVA获取指定日期是星期几
/** * 获取指定日期是星期几<br> * * @param date * @return 指定日期是星期几 */ public static String getWeekOfDate( ...
- JAVAWEB统一返回格式Result类
Result.java public class Result<T> { private Integer code; private String msg; private String ...
- Git统计代码变化率
统计2017-03-01到2017-03-31代码变更率 代码统计命令参考:git log --pretty=tformat: --since ==2017-03-01 --until=2017-03 ...