CentOS7.9基于PHP8.0+Apache+MySQL安装Nextcloud
  Qn0V923SdTA7 2023年11月13日 15 0


1.系统部署部分

Nextcloud项目简介

        本文所指的Nextcloud私有云是托管在自有虚拟机程序中,该私有云采用国外Nextcloud开源程序,网站架构使用LAMP

        Nextcloud (nextcloud.com)是一款用于自建私有网盘的云存储开源软件,采用PHP+MySQL开发,功能类似百度云盘,提供了PC、IOS和Android三个同步客户端支持多种设备访问,用户可以很方便地与服务器上存储的文件、日程安排、通讯录、书签等重要数据保持同步,还支持其他同步来源: Amazon S3、Dropbox、FTP、Google Drive、OpenStack Object Storage、SMB、WebDAV、SFTP。

基础业务部署步骤大纲总览

       声明: 由于软件的版本更新迭代,可能部分章节所涉及到的代码部署、Bug修复等会有小幅度的变化,请您不要完全照搬本文的所有步骤或代码,注意根据自己的实际业务配置做灵活处理。

1. 系统软硬件参数环境

服务器:CentOS 7.9

Mysql: 8.0.33

apache: Nextcloud:27.0.0

RAM:4G DISK:20G

2.Nextcloud 参数路径说明

Nextcloud镜像是基于LAMP环境制作,当然采用LNMP架构也是完全没有问题的。下面是一些可能会用得到的

子项

路径或说明

操作系统

Centos

Web服务

Apache

Nextcloud系统文件默认根目录

/var/www/html

Nextcloud

/var/www/html/config/config.php

PHP配置

/etc/php.ini

Apache虚拟主机文件目录

/etc/httpd/conf.d

日志文件

/var/log/httpd

MySQL数据目录

/data/mysql

MySQL配置文件

/etc/my.cof

前端页面访问地址

http[s]: //服务器地址/index.php

3.详细部署过程记录

3.1 安装CentOS 7.9

本文选则的系统是CentOS-7-x86_64-DVD-2009.iso镜像,可自行去centos官网下载,也可选择中国源站,如阿里云等,本文采用的是阿里云的镜像源 网址:阿里云开源镜像站 选择7.9/isos/x86_64/CentOS-7-x86_64-DVD-2009.iso这个镜像

3.2安装php8.0
3.2.1. 检查旧版的php版本
输入php -v 检查当前的php版本或php -m 检查当前的php扩展

 php -v  #检查当前的php版本#
 php -m  #检查php扩展#
3.2.2.卸载所有的已安装的php
yum remove -y php*
3.2.3.添加remi源(可能需要提前安装epel-release)
yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh https://rpms.remirepo.net/enterprise/remi-release-7.rpm
3.2.4.单独启用php80的源 (没有 yum-config-manager命令的话需要安装yum-utils)
yum-config-manager --disable 'remi-php*'
yum-config-manager --enable remi-php80
3.2.5.安装php及其拓展
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
3.2.6.最后,php安装完成,版本验证一下
php -v

CentOS7.9基于PHP8.0+Apache+MySQL安装Nextcloud_mysql

3.2.7.php各项命令
systemctl status php-fpm        //查看php状态
systemctl start php-fpm         //启动php
systemctl stop php-fpm          //停止php
systemctl restart php-fpm       //重启php
systemctl enable php-fpm        //配置php开机自启
3.3 apache服务器安装
3.3.1.检查是否有旧版本的apache(可不卸载直接跳过)
rpm -qa | grep httpd

CentOS7.9基于PHP8.0+Apache+MySQL安装Nextcloud_Nextcloud_02

3.3.2.卸载旧版apache软件
yum  remove httpd*
3.3.3.安装apache
yum install httpd
3.3.4.安装完成后检查apache状态
rpm -qa | grep httpd      //检查apache软件版本
ps -ef | grep apache      //检查apache的进程
3.3.5.Apache服务各项命令
systemctl status httpd        //查看apache状态
systemctl start httpd         //启动apache
systemctl stop httpd          //停止apache
systemctl restart httpd       //重启apache
systemctl enable httpd        //配置apache开机自启

如果只在本机访问,就可以访问了,如果需要其他主机访问,就需要开启centos7的80端口。

3.3.6.开放centos7的80端口,配置防火墙相关命令
方法1 直接关闭防火墙,开启系统所有端口
systemctl stop firewalld

方法2 防火墙放行80端口
firewall-cmd --zone=public --add-port=80/tcp --permanent  //放行80端口
firewall-cmd --reload                                     //使能防火墙生效
firewall-cmd --list-ports                                 //查看是否生效
3.3.7.输入服务器ip地址,访问网页,确认apache服务生效

CentOS7.9基于PHP8.0+Apache+MySQL安装Nextcloud_apache_03

3.4.安装Mysql数据库

本文默认选择yum方式安装

3.4.1.由于centOS7中默认安装了MariaDB,需要先进行卸载
rpm -qa | grep -i mariadb     //检查是否安装mariadb
rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64   //执行卸载

经实践在使用yum方式安装MySQL时不用卸载也可以,会被自动替代 通过rpm方式安装需要卸载,否则会出现依赖问题!!!

3.4.2.下载MySQL仓库并安装

下载mysql仓库

wget https://repo.mysql.com//mysql80-community-release-el7-3.noarch.rpm

若提示无wget命令,需先行安装wget软件

yum -y install wget         //安装wget软件

安装mysql仓库

yum -y install mysql80-community-release-el7-3.noarch.rpm

运行如下命令安装GPG,如果不安装执行yum安装mysql会出现如下图报错.

rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

CentOS7.9基于PHP8.0+Apache+MySQL安装Nextcloud_Nextcloud_04

安装MySQL数据库

yum -y install mysql-community-server

开启MySQL数据库,并检查数据库状态

systemctl start mysqld && systemctl status mysqld
3.4.3.查看mysql默认密码并登陆
cat /var/log/mysqld.log | grep password

CentOS7.9基于PHP8.0+Apache+MySQL安装Nextcloud_apache_05

登录mysql

mysql -uroot -p      //提示输入密码,输入
3.4.4.修改初始密码(若密码符合强度可跳过)
ALTER USER 'root'@'localhost' IDENTIFIED BY 'nextcloud@admin2023';    //修改MySQL root用户密码为nextcloud@admin2023

前面首写字母设置为大写,运行输入:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'Nextcloud@admin2023';      //设置root密码为Nextcloud@admin2023

若想设置弱密码

SHOW variables LIKE 'validate_password%';    //查看password策略

CentOS7.9基于PHP8.0+Apache+MySQL安装Nextcloud_php_06

配置将密码验证策略改为LOW,密码长度4位以上

set global validate_password.policy=0;
set global validate_password.length=4;

CentOS7.9基于PHP8.0+Apache+MySQL安装Nextcloud_apache_07

此时再进行修改密码操作,可以修改为弱密码了

ALTER USER 'root'@'localhost' IDENTIFIED BY 'admin@2023';    //将root修改为admin@2023
3.4.5配置数据库表及用户权限
1.创建数据库名称:nextclouddate
CREATE DATABASE nextclouddate;
2.进入新建的数据库
use nextclouddate;
3.创建用户
create user 'username'@'localhost' identified by 'Password@2023';  
//其中username表示用户名,Password@2023表示密码。localhost表示只能本地访问,可以通过localhost进行访问控制,包括输入指定ip,可修改成% 达到不限制IP访问,
举例:
create user 'name'@'192.168.0.1' identified by 'Password@2023';
//这是一个由192.168.0.1这个地址访问的name账户,密码为Password@2023
4.用户授权

授予所有权限

grant all privileges on nextclouddate.*to 'username'@'localhost';
//授权username用户访问nextclouddate表中所有权限,只在本地登录
5.授权完成,刷新下权限
flush privileges;   //刷新权限,使能生效
3.5.Nextcloud的安装与配置
3.5.1获取nextcloud数据安装包
1.使用wget工具在线下载
wget https://download.nextcloud.com/server/releases/latest.zip 
   //下载latest.zip包,latest表示最新程序
2.使用浏览器工具下载安装包

Nextcloud最新安装包网址

3.将安装包解压

浏览器等工具下载需传进centos系统中

在后台输入 rz -y 命令上传 latest.zip包,若无法上传提示安装lrzsz

yum -y install lrzsz            //安装lrzsz上传软件
  rz -y                           //上传软件,选择latest.zip包的路径上传到服务器中,默认服务器路径是~
  yum install -y unzip            //安装unzip解压缩软件
  unzip latest.zip                //解压latest.zip
4.将Nextcloud目录下的文件拷贝到网站根目录下
cd /root/Nextcloud           //进入解压的nextcloud目录,若在当前目录则不需要再进入
     scp -r * /var/www/html       //将此目录下的文件全部拷贝到/var/www/html文件
5.给nextcloud文件加权限
chown -R apache:apache /var/www/html &&  chmod -R 775 /var/www/html
//这两个命令的作用是将 /var/www/html 目录以及该目录下的文件和子目录的所有者设置为 apache 用户,并且在保持该用户对这些文件和目录完全控制的同时允许组用户和其他用户读取和执行它们。

如不加权限进前端页面,显示如下

CentOS7.9基于PHP8.0+Apache+MySQL安装Nextcloud_mysql_08


6.关闭ESLinux(否则无法正常显示网页)
vim /etc/selinux/config   //编辑selinux配置文件

SELINUX=disabled          //找到SELINUX项,改disable

重启系统生效 reboot

7.进入nextcloud前端配置页面

输入服务器ip进入页面

CentOS7.9基于PHP8.0+Apache+MySQL安装Nextcloud_mysql_09


CentOS7.9基于PHP8.0+Apache+MySQL安装Nextcloud_apache_10

点击存储与数据库,配置数据库 选择MySQL/MariaDB

创建管理账户:xxx

密码:xxx 数据库目录:/var/www/html/data 数据库用户: username

数据库密码: Password@2023 数据库名: nextclouddate 数据库主机: 127.0.0.1:3306

点击跳过,或者安装应用,系统安装完成

CentOS7.9基于PHP8.0+Apache+MySQL安装Nextcloud_mysql_11

CentOS7.9基于PHP8.0+Apache+MySQL安装Nextcloud_php_12

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月13日 0

暂无评论

推荐阅读
  iFlC2TQwmEmX   2023年12月11日   34   0   0 phpthinkPHP框架
  iFlC2TQwmEmX   2023年12月09日   30   0   0 php
  aHqqwBZuiKkn   2023年11月13日   27   0   0 DNSmysqlCentOS
Qn0V923SdTA7