CentOS7上安装Nextcloud
Nextcloud简介
Nextcloud是一款开源免费的私有云存储网盘项目,可以让你快速便捷地搭建一套属于自己或团队的云同步网盘,从而实现跨平台跨设备文件同步、共享、版本控制、团队协作等功能。它的客户端覆盖了Windows、Mac、Android、iOS、Linux 等各种平台,也提供了网页端以及 WebDAV接口,所以你几乎可以在各种设备上方便地访问你的云盘。
在CentOS7上部署Nextcloud
关闭SELINUX检查
1 | [root@localhost root]# vim /etc/selinux/config |
更换国内源(网络条件允许请一定跳过这一步)
如果你在使用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 | [root@localhost root]# yum clean all |
更换yum源
由于CentOS7自带的yum没有PHP7的安装包,因此需要更换yum源使其可以下载安装PHP7+
1 | [root@localhost root]# yum install epel-release -y |
安装Apache服务
1 | [root@localhost root]# yum install httpd httpd-tools -y |
启动Apache服务并设置开机自启动
1 | [root@localhost root]# systemctl start httpd // 启动 |
安装启动MariaDB
1 | [root@localhost root]# yum install mariadb-server mariadb -y |
配置MariaDB
1 | [root@localhost root]# mysql_secure_installation |
安装配置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 | MariaDB [(none)]> flush privileges; |
下载安装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 | [root@localhost html]# chown -R apache:apache nextcloud |
重启Apache服务
1 | [root@localhost html]# systemctl restart httpd |
配置防火墙策略
1 | [root@localhost html]# firewall-cmd --permanent --add-service=http |
打开Nextcloud并继续配置
服务器浏览器打开http://localhost/nextcloud
,如果没有问题会出现如下界面:
输入管理员账号密码
输入之前创建好的数据库信息
然后点击Finish setup
完成配置,然后输入账号密码登录即可
问题及解决方案
新建用户默认语言英文地区美国
如果想要修改为中文,打开config.php
,并在末尾追加两行配置信息
1 | 'default_language' => 'zh_CN', |
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
)
删除这个目录下的文件即可,或者替换成你想要的文件