一、NextCloud 概述

Nextcloud 一款文件主机服务软件,就是我们平时使用的云存储,不过这是在自己主机的服务器上建立属于自己的私有云,Nextcloud 使用 AGPLv3 协议发布。本项目是基于 PHP 和 SQLite,MySQL,Oracle 或 PostgreSQL 数据库,所以它可以运行在所有的平台上。

NextCloud 是一个开源免费专业的私有云存储项目,它能帮你快速在个人电脑戒服务器上架设一套专属的私有云文件同步网盘,可以像 百度云盘那样实现文件跨平台同步、共享、版本控制、团队协作等等。NextCloud 能让你将所有的文件掌握在自己的手中,只要你的设备性能和空间充足,那么用起来几乎没有任何限制。

NextCloud 跨平台支持 Windows、Mac、Android、iOS、Linux 等平台,而且还提供了网页版和 WebDAV 形式访问,因此你可以在任何电脑、手机上都能轻松获取你的文件了。

拓展:CentOS 使用个人总结

搭建 NextCloud 所需软件:百度云盘 提取码:tdv3

二、搭建 LAMP 环境

1、安装系统环境依赖包

Linux 都需要这些依赖包,但一般这些依赖包是已经安装好了的,这个只是将可能没有安装的依赖安装下。

yum install -y epel-release yum-utils unzip curl wget bash-completion 
policycoreutils-python mlocate bzip2

注:epel-release 这个是 epel 源,有一些依赖包是镜像中没有的,安装之后会自动配置 yum 的软件仓库,这个默认是未安装的。

2、安装 web 服务和数据库服务

yum install -y httpd mariadb-server mariadb sqlite
  • httpd: Apache web服务器
  • mariadb-server & mariadb: 从 centos 7 开始,系统中自带的 mysql 数据库,更名为 mariadb-server

源码安装 MySQL:CentOS 7.6 安装 MySQL

3、安装 php7.2

:下面有 离线安装在线安装,您可自行选择。
离线安装:在安装依赖包的时候使用本地下载好的 rpm 包,不需再联网进行下载,可以在您当前网络不太好的时候节省时间。
在线安装:联网进行下载所需依赖包。

(1)、离线安装

下载对应的 rpm 包

rpm 包下载:rpm 包下载地址

centos7系统搭建nextcloud详细教程_数据库

下面是需要下载的 rpm 包,你刚刚从百度云盘中下载的 php72.tar.gz 是已经打包好的

centos7系统搭建nextcloud详细教程_数据库_02

将你刚刚下载的 php72.tar.gz 上传到目的主机中 /usr/local/src 目录下,放在此目录下纯属个人喜好,你也可以放在 /home 下的用户文件目录下

# 通过 rz 命令上传,如果使用 rz 显示 -bash: createrepo: command not found,则执行下面命令安装 lrzsz
yum -y install lrzsz

解压 php72.tar.gz 在 /opt 目录下,一般这个目录是用于附加应用的文件目录

tar -zxvf /usr/local/src/php72.tar.gz -C /opt		# 解压 php72.tar.gz

在解压的 php72 目录中创建一个 repodata 文件,就可以做自己的 yum 源

createrepo ./		# 在本目录中创建一个 repodata 文件
# 如果显示 -bash: createrepo: command not found,则执行下面命令安装 createrepo
yum -y install createrepo

centos7系统搭建nextcloud详细教程_服务器_03


:使用 mkdir repodata 命令是无效的在配置本地 yum 源的时候。

centos7系统搭建nextcloud详细教程_php_04

查看 repodata 文件中的内容

:文件里面的内容记录着包与包之间的依赖关系,所以 yum 在安装的过程总能自动解决依赖关系,因为 yum 的缓存文件中有这些依赖关系。

centos7系统搭建nextcloud详细教程_服务器_05

拓展 - repodata 的作用(可忽略)

yum clean all		# 清空缓存
yum list			# 列出之前,这些红框里的下载的就是 repodata 文件里面的内容,然后才把所有包列出来

centos7系统搭建nextcloud详细教程_服务器_06

配置本地 yum 源,因为安装本地的 rpm 包,是要比网上重新下载速度快

vim /etc/yum.repos.d/php72.repo		# 创建一个 php72.repo 文件,添加下面内容
[php72]							# yum 源名称,在本服务器上唯一的,用来区分不同的yum源
name=php72						# 对 yum 源描述信息
baseurl=file:///opt/php72		# yum源的路径,提供方式包括FTP(ftp://...)、HTTP(http://...)、本									地(file:///...光盘挂载目录所在的位置)
enabled=1						# 为1,表示启用yum源;0为禁用
gpgcheck=0						# 为1,使用公钥检验rpm包的正确性;0为不校验

centos7系统搭建nextcloud详细教程_服务器_07

修改完成后使用本地 yum 源快速安装

yum install -y php72w php72w-cli php72w-common php72w-curl php72w-gd php72w-mbstring php72w-mysqlnd php72w-process php72w-xml php72w-zip php72w-opcache php72w-pecl-apcu php72w-intl php72w-pecl-redis

这里显示的就是本地配置的 php72 yum 源

centos7系统搭建nextcloud详细教程_php_08

(2)、在线安装

安装 php 源

rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

安装 php 和 nextcloud 需要的功能模块

yum install -y php72w php72w-cli php72w-common php72w-curl php72w-gd php72w-mbstring php72w-mysqlnd php72w-process php72w-xml php72w-zip php72w-opcache php72w-pecl-apcu php72w-intl php72w-pecl-redis
(3)、拓展(可忽略)

如果想让自己从网上下载的 rpm 包保留下来(默认是安装之后就删除了 rpm 包),即开启缓存

vim /etc/yum.conf	# 将 keepcache=0 改为 keepcache=1 即可

centos7系统搭建nextcloud详细教程_服务器_09

  • $basearch:系统的架构
  • $releasever:版本号
cachedir=/var/cache/yum/$basearch/$releasever
		 /var/cache/yum/x86_64/7	# 这一行是对应上一行 $basearch/$releasever 的解释

centos7系统搭建nextcloud详细教程_php_10

将缓存的 rpm 包复制到自己准备的目录中,做自己的 yum 源

mkdir /opt/php72
cd /var/cache/yum/x86_64/7/
# 找到当前目录下所有以 ".rpm" 结尾的文件然后将这些包复制到 /opt/php72 下
find ./ -name "*.rpm" -exec cp -r {} /opt/php72 \;

4、初始化 LAMP 网站架构

(1)、启动 LAMP 相关服务

启动 httpd 服务器

systemctl start httpd.service		# 启动 httpd 服务器
ps -aux | grep httpd				# 查看 httpd 的启动进程

centos7系统搭建nextcloud详细教程_php_11

启动 mariadb 服务器

systemctl start mariadb.service		# 启动 数据库
ps -aux | grep mariadb				# 查看 mariadb 的启动进程

centos7系统搭建nextcloud详细教程_服务器_12

(2)、关闭防火墙和 selinux

关闭防火墙

iptales -F		# 关闭防火墙,默认 80 端口是不让通信的

关闭 sellinux

getenforce		# 查看 sellinux 状态,如果是 Disabled 时,则表示已经关闭
# 如果未关闭,则用下面命令'暂时'关闭
setenforce 0

centos7系统搭建nextcloud详细教程_数据库_13

拓展 - 永久关闭 sellinux(可忽略)

vim /etc/sysconfig/selinux		# 编辑 selinux,将 SELINUX 设置为 disabled

centos7系统搭建nextcloud详细教程_php_14


:重启才能生效

(3)、初始化 mariadb 数据库密码
mysqladmin -u root password "你的密码"

centos7系统搭建nextcloud详细教程_数据库_15

三、即将开始喽

查看 nextcloud - 17.0.1.zip

centos7系统搭建nextcloud详细教程_php_16


nextcloud 压缩包:点击获取最新版

cd /usr/local/software

解压 nextcloud - 17.0.1.zip

unzip nextcloud-17.0.1.zip	# 由于解压的篇幅比较长,省略截图了

centos7系统搭建nextcloud详细教程_数据库_17

将 nextcloud 中的文件复制到 apache 服务器根目录下 /var/www/html

cp -r ./nextcloud/* /var/www/html

在网站的根目录下创建 data 文件,后面会用到这个文件

mkdir /var/www/html/data

centos7系统搭建nextcloud详细教程_数据库_18

赋网站根目录下 apache 权限

chown -R apache:apache /var/www/html	# 给 /var/www/html 给予 apache 的权限

注:因为代码是 apache 运行的,apache 进程的身份时 apache 用户,图片显示的本来时 root

centos7系统搭建nextcloud详细教程_php_19

在 MariaDB 数据库中创建 nextcloud 的数据库

create database nextcloud;		# 数据库名 nextcloud 不能写错,后面有分号

centos7系统搭建nextcloud详细教程_服务器_20


注:创建完数据库之后,然后退出即可

通过 web 界面安装 nextcloud

可以通过你自己(非虚拟机)的浏览器打开 http://192.168.139.128/index.php

centos7系统搭建nextcloud详细教程_数据库_21

创建管理员账户,账号密码不要记错,不然就用不了

centos7系统搭建nextcloud详细教程_php_22

存储数据库

:配置数据库 选择 MySQL的/MariaDB的

centos7系统搭建nextcloud详细教程_服务器_23

点击完成设置

centos7系统搭建nextcloud详细教程_php_24

安装完成后会出现以下界面,关闭即可

centos7系统搭建nextcloud详细教程_服务器_25

2、使用 windows 客户端登录 nextcloud

下载 nextcloud 客户端,然后安装

nextcloud 客户端下载

:往下都是 nextcloud 客户端安装之后的教程

点击登陆

centos7系统搭建nextcloud详细教程_数据库_26

输入自己启动服务器的ip地址,点击 Next

centos7系统搭建nextcloud详细教程_数据库_27

点击登陆

centos7系统搭建nextcloud详细教程_服务器_28

登陆账号密码,点击登陆,这个账号密码是刚刚在网页端设置的账号密码

centos7系统搭建nextcloud详细教程_数据库_29

点击 Grant access (授权)

centos7系统搭建nextcloud详细教程_数据库_30

根据自己的选择自定义

centos7系统搭建nextcloud详细教程_数据库_31

下载服务器上的文件,保证本地的文件跟服务器的文件保持一致

centos7系统搭建nextcloud详细教程_服务器_32


NextCloud 搭建到此已经结束,关注我,学到更多有意思的小应用😁。