CentOS7上安装Nextcloud

Nextcloud简介

Nextcloud是一款开源免费的私有云存储网盘项目,可以让你快速便捷地搭建一套属于自己或团队的云同步网盘,从而实现跨平台跨设备文件同步、共享、版本控制、团队协作等功能。它的客户端覆盖了Windows、Mac、Android、iOS、Linux 等各种平台,也提供了网页端以及 WebDAV接口,所以你几乎可以在各种设备上方便地访问你的云盘。

Nextcloud

在CentOS7上部署Nextcloud

关闭SELINUX检查

1
[root@localhost root]# vim /etc/selinux/config

disabled

更换国内源(网络条件允许请一定跳过这一步)

如果你在使用yum的时候出现了正在尝试其他镜像的错误,那么索性将其换成国内阿里源,步骤如下:

删除yum.repos.d目录下所有文件

1
[root@localhost root]# rm -f /etc/yum.repos.d/* 

然后重新下载阿里的镜像

1
[root@localhost root]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

然后输入下列两行生成新镜像缓存

1
2
[root@localhost root]# yum clean all
[root@localhost root]# yum makecache

更换yum源

由于CentOS7自带的yum没有PHP7的安装包,因此需要更换yum源使其可以下载安装PHP7+

1
2
[root@localhost root]# yum install epel-release -y
[root@localhost root]# rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

安装Apache服务

1
[root@localhost root]# yum install httpd httpd-tools -y

Apache

启动Apache服务并设置开机自启动

1
2
3
[root@localhost root]# systemctl start httpd     // 启动
[root@localhost root]# systemctl enable httpd // 开机自启
[root@localhost root]# systemctl status httpd // 检查状态

status

安装启动MariaDB

1
2
3
4
[root@localhost root]# yum install mariadb-server mariadb -y
[root@localhost root]# systemctl start mariadb
[root@localhost root]# systemctl enable mariadb
[root@localhost root]# systemctl status mariadb

status

配置MariaDB

1
[root@localhost root]# mysql_secure_installation

配置MariaDB

安装配置PHP

1
[root@localhost root]# yum install php72w php72w-common php72w-curl php72w-zip php72w-bz2 php72w-intl php72w-mbstring php72w-gd php72w-pecl-zip php72w-xml php72w-json php72w-cli php72w-pdo php72w-mysql unzip wget -y

创建Nextcloud数据库

登录MariaDB
1
[root@localhost root]# mysql -uroot -p
创建数据库
1
MariaDB [(none)]> create database nextclouddb;
创建管理员用户
1
MariaDB [(none)]> create user nextclouduser@localhost identified by 'nextcloudPWD';

注意:这里的nextcloudPWD要换成你自己的密码

用户授权
1
MariaDB [(none)]> grant all on nextclouddb.* to nextclouduser@localhost;
刷新重启
1
2
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit;

下载安装Nextcloud

切换目录

来到var/www/html

1
[root@localhost root]# cd /var/www/html
下载稳定版本的Nextcloud
1
[root@localhost html]# wget https://download.nextcloud.com/server/releases/nextcloud-19.0.1.zip

如果此时出现证书过期的错误

证书过期

那么输入命令yum install -y ca-certificates可以解决

解压
1
[root@localhost html]# unzip nextcloud-19.0.1.zip

解压

创建数据目录
1
[root@localhost html]# mkdir nextcloud/data
文件夹权限
1
2
[root@localhost html]# chown -R apache:apache nextcloud
[root@localhost html]# chmod -R 755 nextcloud

权限

重启Apache服务

1
[root@localhost html]# systemctl restart httpd

配置防火墙策略

1
2
3
[root@localhost html]# firewall-cmd --permanent --add-service=http
[root@localhost html]# firewall-cmd --permanent --add-service=https
[root@localhost html]# firewall-cmd --reload // 防火墙重启

防火墙

打开Nextcloud并继续配置

服务器浏览器打开http://localhost/nextcloud,如果没有问题会出现如下界面:

Nextcloud

输入管理员账号密码

admin

输入之前创建好的数据库信息

dbinfo

然后点击Finish setup完成配置,然后输入账号密码登录即可

Nextcloud主界面

问题及解决方案

新建用户默认语言英文地区美国

如果想要修改为中文,打开config.php,并在末尾追加两行配置信息

1
2
'default_language' => 'zh_CN',
'default_locale' => 'zh',

yum提示Another app is currently holding the yum lock; waiting for it to exit…

强制关掉yum进程:

1
rm -f /var/run/yum.pid

通过不被信任的域名访问

问题

问题

解决方案

找到config.php的位置,使用这条命令find / -name "config.php"

位置

编辑它:vi /var/www/html/nextcloud/config/config.php,在trusted_domains加入域名

添加域名

保存,即可

取消新用户的默认文件

问题

新用户注册后会生成一些引导文件,如:

引导文件

解决方案

进入nextcloud安装目录(一般都为/var/www/html/nextcloud/core/skeleton

删除这个目录下的文件即可,或者替换成你想要的文件

skeleton