当前位置:   article > 正文

全网最详细CentOS 7下部署最新版nextcloud教程_centos7 安装nextcloud

centos7 安装nextcloud
0.前言

什么是Nextcloud

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

Nextcxloud的部署方式

Nextcloud的服务端部署方式主要有两种(基于LNMP和基于Docker),读者可以根据自己情况进行选择一种部署方式。服务器需要是Linux操作系统,你可以在本地安装一个虚拟机进行测试,然后再到云服务器上部署。Mac系统理论上支持,可以参考Linux教程来操作。Ubuntu系统支持snap一键安装,甚至安装系统时都提供安装nextcloud的选项。本文主要介绍CentOS 7环境下基于LNMP部署Nextcloud的方法。

LNMP部署Nextcloud的主要流程

对于一个空白的Linux系统而言,部署的基本流程如下:搭建LNMP环境-->下载Nextcloud安装包 --> 通过Web Installer安装

下面就让我们正式开始安装吧!

1. 安装php8.0

1.1 检查旧版的php版本
  1.  #输入 php -v 检查当前php版本或者 php -m 检查当前php扩展
  2.  ​
  3.  php -v #检查当前的php版本
  4.  ​
  5.  php -m #检查php扩展
1.2 卸载所有已安装的php
 yum remove -y php*
1.3 添加remi源(可能需要提前安装epel-release)
  1.  yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm
  2.  ​
  3.  rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
  4.  ​
  5.  rpm -Uvh https://rpms.remirepo.net/enterprise/remi-release-7.rpm
1.4单独启动php80的源(需要提前安装yum-utils以确保yum-config-manager命令顺利运行)
  1.  yum-config-manager --disable 'remi-php*'
  2.  ​
  3.  yum-config-manager --enable remi-php80
  4.  ​
  5.  #若出现 -bash:yum-config-manager:未找到命令
  6.  #是因为没有安装过yum-utils
  7.  #解决方法:
  8.  yum install -y yum-utils
1.5安装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
  2.  ​
  3.  #在安装的过程中要仔细检查每一个php扩展是否安装成功,如果有安装不成功的扩展需要及时重装。如果没有及时重装可能会导致服务器内部错误。
  4.  #如果php-mysqlnd提示安装失败,换个源试试,php-mysqlnd没装上web安装必失败。
1.6安装完成,查看php版本
  1.  php -v
  2.  ​
  3.  #php命令
  4.  systemctl status php-fpm #查看php状态
  5.  systemctl start php #启动php
  6.  systemctl stop php-fpm #停止php
  7.  systemctl restart php-fpm #重启php
  8.  systemctl enable php-fpm #配置php自启动

 如果安装成功了会显示php版本,如图

2.apache服务器安装

2.1检查是否有旧版本的apache(也可以不检查直接装)
 rpm -qa | grep httpd

 会返回一个版本号,这个是装完之后截的图

2.2卸载旧版本,安装新版本
  1.  #卸载旧版本
  2.  yum remove httpd*
  3.  ​
  4.  #安装新版本
  5.  yum install httpd
2.3安装完成后检查apache状态
  1.  rpm -qa | grep httpd #检查apache软件版本
  2.  ​
  3.  ps -ef | grep apache #检查apache进程
2.4apache服务指令
  1.  systemctl status httpd #查看apache状态
  2.  systemctl start httpd #启动apache
  3.  systemctl stop httpd #停止apache
  4.  systemctl restart httpd #重启apache
  5.  system enable httpd #开机自启apache

如果本地访问,就已经大功告成了,如果在别的主机上访问,就需要开启CentOS 7的80端口

2.5开放CentOS 7的80端口,配置防火墙相关命令
  1.  #如果嫌麻烦可以直接放行所有端口,但是这样做不安全
  2.  systemctl stop firewalld
  3.  ​
  4.  #也可以只放行80端口,这样是比较保守的选择
  5.  firewall-cmd --zone=public --add-port=80/tcp --permanent
  6.  firewall-cmd --reload #重新加载让刚才的命令生效
  7.  firewall-cmd --list-ports #看一下生效了没

到这里apache就算安装完成了,接下来可以访问一下ip看看效果

如果出现大大的“testing 123...”就是成功了

3.安装MySQL数据库

3.1卸载MariaDB

由于本文用到的环境是CentOS 7,所以系统中有自带的MariaDB数据库,在这里先将MariaDB卸载,然后安装 Mysql

首先,检查是否安装了MariaDB

 rpm -qa | grep -i mariadb

如果已经安装了MariaDB,进行卸载

  1.  rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64
  2.  ​
  3.  #这里的MariaDB版本是我本地的版本,如果不知道自己的数据库版本可以按TAB键自动补全
3.2下载MySQL仓库并安装
  1.  wget https://repo.mysql.com//mysql80-community-release-el7-3.noarch.rpm
  2.  ​
  3.  #若提示wget未找到命令,先安装wget
  4.  yum -y install wget
  5.  ​
  6.  #安装好后,安装mysql仓库
  7.  yum -y install mysql80-community-release-el7-3.noarch.rpm
  8.  ​
  9.  #运行下面的命令安装GPG,不安装的话用yum安装mysql会报错
  10.  rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
3.3安装MySQL数据库
  1.  yum -y install mysql-community-service
  2.  ​
  3.  #开启MySQL数据库,检查数据库状态
  4.  systemctl start mysqld #启动MySQL
  5.  systemctl status mysqld #查看MySQL状态(MySQL经常抽风,这条命令很常用)
3.4查看MySQL的默认密码,登录并修改默认密码

查看默认密码

  1. cat /var/log/mysqld.log |grep password
  2.  #因为是首次登录MySQL,所以需要先查看MySQL默认的root密码,然后用默认密码登录root账户,在首次登录root账户后会被MySQL强制要求修改密码。
  3.  #登录MySQL
  4.  mysql -uroot -p
  5.  #回车之后会弹出“password:”输入默认密码登录即可

 修改默认密码

  1.  ALTER USER 'root'@'localhost' IDENTIFIED BY 'nextcloud@admin2023'; #注意分号
  2.  #这个密码其实是不符合MySQL密码规则的,MySQL要求必须有大小写和特殊符号
  3.  ​
  4.  #如果你想设置一个弱密码,可以用这条代码查看密码策略
  5.  SHOW variables LIKE 'validatej_password%';
  6.  #查看过后可以修改成我们想要设置的样子
  7.  set global validate_password.policy=0;
  8.  set global validate_password.length=4;
  9.  #这样设置过后我们的密码就变成最少4位并且没有限制了
3.5配置数据库、表及用户权限
3.5.1创建数据库

创建一个名为nextclouddate的数据库,你也可以起一个别的名字。但是一定要记住,在安装的时候要用到!!!切记!!!

 CREATE DATABASE nextclouddate; 
3.5.2进入刚创建的数据库
 use nextclouddate;
3.5.3创建用户
  1.  CREATE user 'username'@'localhost' identified by 'Password@2023'
  2.  #其中‘username’表示用户名,‘Password@2023’表示密码。‘localhost’表示只能本地访问,可以根据需求修改
  3.  #在安装nextcloud时同样需要用到现在创建的用户,所以一定记住设置的用户名和密码!
3.5.4为用户授权
 grant all privileges on nextclouddate.*to 'username'@'localhost';

这一步同样至关重要,是给刚创建的用户授予所有权限,如果没授予成功一定检查哪里出了问题。

 如果创建的用户没有权限的话,web安装时会出现无法连接MySQL报错  如果出现上述错误,可以参考nextcloud官网上的解决方法,链接如下:nextcloud官方论坛解决方法

4.nextcloud安装与配置

4.1 获取nextcloud安装包
  1.  #使用wget下载nextcloud最新版安装包
  2.  wget https://download.nextcloud.com/server/release/latest.zip
4.2解压并转移到对应文件夹下

 网上看了很多安装教程并没有写nextcloud的文件要放在哪个路径下,对于小白来讲很不友好,所以这里说明一下路径


 事实上nextcloud要解压到var/www/html这个文件夹下,这里我们在根目录下解压,然后把文件转移到这个位置

  1.  yum install -y unzip #安装unzip用来解压文件
  2.  uzip latest.zip #解压上面下载的zip文件
  3.  cd /root/nextcloud #进入解压后的文件夹
  4.  scp -r * /var/www/html #把文件夹下的全部内容转移到目标文件夹下
  5.  #老规矩,如果有未找到命令的报错,就安装一下
  6.  #安装命令 yum -y install '名称'
4.3给nextcloud文件权限
  1.  chown -R apache:apache /var/www/html #把这一文件下的子文件、子目录的所有者设为apache用户
  2.  chmod -R 775 /var/www/html #赋予775权限

这两步骤如果不操作的话在web安装的时候会出现服务器内部错误,如果安装的时候发现有类似的情况要检查一下权限给没给

检查权限是否正确的方法

  1.  #进入 /var/www/html目录下
  2.  ll

这样就可以看到文件的权限以及是否为apache用户

4.4关闭ESLinux

还是那句话,目前大多数的教程都是基于docker安装nextcloud,在为数不多不用docker部署的文章中,99%都没有提到要禁用ESLinux,但如果不禁用他的话就会导致网页无法正常显示

  1.  vim /etc/selinux/config #编辑selinux配置文件
  2.  #进去之后按i编辑,然后找到SELINUX的那一行
  3.  SELINUX=disbabled #把等号删掉,改为disabled

5.进入nextcloud前端配置页面

根据本文的配置,对应输入就可以安装成功了!

安装成功!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/216356
推荐阅读
相关标签
  

闽ICP备14008679号