安装nextcloud
nextcloud介绍
Nextcloud是一款开源免费的私有云存储网盘项目,可以让你快速便捷地搭建一套属于自己或团队的云同步网盘,从而实现跨平台跨设备文件同步、共享、版本控制、团队协作等功能。Nextcloud是一个网盘式文件管理系统,多用户权限管理,多客户端,使用简单。
Nextcloud是owncloud的一个分支,由原创始人团队维护,是在owncloud被别的公司收购后,由创始人团队创立的新分支。就像 mysql和mariadb。
Nextcloud完全开源,功能强大,能够自由更改主题,无限制增加用户,有一个完善的应用中心(在线office办公,pdf在线浏览,图片缩略图浏览等功能)
如何安装nextcloud
安装php8.1
检查旧版的php版本
1 | 检查当前php版本或者 php -m 检查当前php扩展 |
卸载所有已安装的php
1 | yum remove -y php* |
添加remi源(可能需要提前安装epel-release)
1 | yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm |
单独启动php81的源(需要提前安装yum-utils以确保yum-config-manager命令顺利运行)
1 | yum-config-manager --disable 'remi-php*' |
若出现 -bash:yum-config-manager:未找到命令
是因为没有安装过yum-utils
解决方法:
1 | yum install -y yum-utils |
安装php及其扩展
1 | yum install -y php php-bcmath php-cli php-common php-devel php-fpm php-gd php-intl php-ldap php-mbstring php-mysqlnd php-odbc php-pdo php-pear php-pecl-xmlrpc php-pecl-zip php-process php-snmp php-soap php-sodium php-xml |
在安装的过程中要仔细检查每一个php扩展是否安装成功,如果有安装不成功的扩展需要及时重装。如果没有及时重装可能会导致服务器内部错误。
如果php-mysqlnd提示安装失败,换个源试试,php-mysqlnd没装上web安装必失败。
安装完成,查看php版本
1 | php -v |
php命令
1 | systemctl status php-fpm #查看php状态 |
apache服务器安装
检查是否有旧版本的apache(也可以不检查直接装)
1 | rpm -qa | grep httpd |
会返回一个版本号
卸载旧版本,安装新版本
卸载旧版本
1 | yum remove httpd* |
安装新版本
1 | yum install httpd |
安装完成后检查apache状态
1 | rpm -qa | grep httpd #检查apache软件版本 |
apache服务指令
1 | systemctl status httpd #查看apache状态 |
如果本地访问,就已经大功告成了,如果在别的主机上访问,就需要开启CentOS 7的80端口
开放CentOS 7的80端口,配置防火墙相关命令
如果嫌麻烦可以直接放行所有端口,但是这样做不安全
1 | systemctl stop firewalld |
也可以只放行80端口,这样是比较保守的选择
1 | firewall-cmd --zone=public --add-port=80/tcp --permanent |
到这里apache就算安装完成了,接下来可以访问一下ip看看效果
如果出现大大的“testing 123…”就是成功了
安装MySQL数据库
卸载MariaDB
由于本文用到的环境是CentOS 7,所以系统中有自带的MariaDB数据库,在这里先将MariaDB卸载,然后安装 Mysql
首先,检查是否安装了MariaDB
1 | rpm -qa | grep -i mariadb |
如果已经安装了MariaDB,进行卸载
1 | rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64 |
这里的MariaDB版本是我本地的版本,如果不知道自己的数据库版本可以按TAB键自动补全
下载MySQL仓库并安装
1 | wget https://repo.mysql.com//mysql80-community-release-el7-3.noarch.rpm |
若提示wget未找到命令,先安装wget
1 | yum -y install wget |
安装好后,安装mysql仓库
1 | yum -y install mysql80-community-release-el7-3.noarch.rpm |
运行下面的命令安装GPG,不安装的话用yum安装mysql会报错
1 | rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022 |
安装MySQL数据库
1 | yum -y install mysql-community-servic |
开启MySQL数据库,检查数据库状态
1 | systemctl start mysqld #启动MySQL |
查看MySQL的默认密码,登录并修改默认密码
查看默认密码
1 | cat /var/log/mysqld.log |grep password |
因为是首次登录MySQL,所以需要先查看MySQL默认的root密码,然后用默认密码登录root账户,在首次登录root账户后会被MySQL强制要求修改密码。
登录MySQL
1 | mysql -uroot -p |
回车之后会弹出“password:”输入默认密码登录即可
修改默认密码
1 | ALTER USER 'root'@'localhost' IDENTIFIED BY 'nextcloud@admin2023'; #注意分号 |
这个密码其实是不符合MySQL密码规则的,MySQL要求必须有大小写和特殊符号
如果你想设置一个弱密码,可以用这条代码查看密码策略
1 | SHOW variables LIKE 'validatej_password%'; |
查看过后可以修改成我们想要设置的样子
1 | set global validate_password.policy=0; |
这样设置过后我们的密码就变成最少4位并且没有限制了
配置数据库、表及用户权限
创建数据库
创建一个名为nextclouddate的数据库,你也可以起一个别的名字。但是一定要记住,在安装的时候要用到!!!切记!!!
1 | CREATE DATABASE nextclouddate; |
进入刚创建的数据库
1 | use nextclouddate; |
创建用户
1 | CREATE user 'username'@'localhost' identified by 'Password@2023' |
其中‘username’表示用户名,‘Password@2023’表示密码。‘localhost’表示只能本地访问,可以根据需求修改
在安装nextcloud时同样需要用到现在创建的用户,所以一定记住设置的用户名和密码!
为用户授权
1 | GRANT ALL PRIVILEGES ON nextclouddate.* TO 'username'@'localhost'; |
这一步同样至关重要,是给刚创建的用户授予所有权限,如果没授予成功一定检查哪里出了问题。
如果创建的用户没有权限的话,web安装时会出现无法连接MySQL报错 如果出现上述错误,可以参考nextcloud官网上的解决方法,链接如下:nextcloud官方论坛解决方法
nextcloud安装与配置
获取nextcloud安装包
使用wget下载nextcloud最新版安装包
1 | wget https://download.nextcloud.com/server/releases/nextcloud-24.0.5.zip |
解压并转移到对应文件夹下
网上看了很多安装教程并没有写nextcloud的文件要放在哪个路径下,对于小白来讲很不友好,所以这里说明一下路径
事实上nextcloud要解压到var/www/html这个文件夹下,这里我们在根目录下解压,然后把文件转移到这个位置
1 | yum install -y unzip #安装unzip用来解压文件 |
老规矩,如果有未找到命令的报错,就安装一下
安装命令 yum -y install ‘名称’
给nextcloud文件权限
1 | chown -R apache:apache /var/www/html #把这一文件下的子文件、子目录的所有者设为apache用户 |
这两步骤如果不操作的话在web安装的时候会出现服务器内部错误,如果安装的时候发现有类似的情况要检查一下权限给没给
检查权限是否正确的方法
进入 /var/www/html目录下
1 | ll |
这样就可以看到文件的权限以及是否为apache用户
关闭ESLinux
还是那句话,目前大多数的教程都是基于docker安装nextcloud,在为数不多不用docker部署的文章中,99%都没有提到要禁用ESLinux,但如果不禁用他的话就会导致网页无法正常显示
1 | yum install -y vim |
进去之后按i编辑,然后找到SELINUX的那一行
SELINUX=disbabled #把等号删掉,改为disabled
进入nextcloud前端配置页面
根据本文的配置,对应输入就可以安装成功了!
安装成功!






