nextcloud19.0.1部署

本文介绍了如何在 CentOS7 系统上使用 Nginx, MySQL, PHP 和 Redis 部署 NextCloud 19.0.1。详细步骤包括环境准备、Nginx 和 MySQL 的安装与配置、PHP 的优化以及 NextCloud 的安装与数据存储目录的设置。此外,还提到了添加 Redis 缓存以提高性能。" 103832426,9081418,ArrayList扩容原理探索,"['Java', '数据结构', 'ArrayList']
摘要由CSDN通过智能技术生成

一、NextCloud概述

云盘这个词无论是做技术出身的朋友还是普通的网民,想必已经听的非常多了,在日常生活当中我们用的最多的云盘莫过于百度网盘了

在前几年百花齐放的网盘市场,到现如今只剩下了百度网盘,说起百度网盘大家并不陌生,特别是它限速的特征,让广大朋友久久不能忘怀啊

不过也没办法,任何企业都是以盈利为目的,你既然享受了线上存储给你带来的便利,那你就得交钱,不交钱就给你限速,限到你哭晕在厕所

另一方面我们需要知道,做存储也是非常烧钱的,譬如给用户提供数据存储的磁盘开销,以及给用户提供数据上传与下载的带宽开销,所以大家也得谅解

有限速?不安全?要会员? 基于这几点大家可能会想到部署个人存储,部署个人存储的程序大家可能又会想到 Seafile、dropbox、OwnCloud、Syncbox,这其中有些是开源的,有些是收费的

今天写的这篇文章是基于 NextCloud 这个开源程序的,那NextCloud又是啥呢?NextCloud 由原 OwnCloud 团队所打造,号称是下一代存储,用过之后也算是实至名归

如果要部署个人云存储,那么使用 NextCloud 绝对是一个非常好的选择,开源这个特点咱们就抛开不说了,NextCloud 使用PHP与JavaScript 所编写

支持多种数据库类型,包括:MySQL、Oracle、Mariadb、SQLite、PostgreSQL 等主流的数据库

与此同时 NextCloud 也为 Linux、Windows、Android、ios、Mac 等各种主流平台提供了相应的客户端

从而实现了跨平台的设备数据共享与同步,不仅如此 NextCloud 还提供了许多应用软件与插件的安装,包括 office文档、日历、邮件、思维导图、在线编辑、文件管理、等丰富的附加功能

所以要是自己部署私有云存储,或者团队需要进行数据共享,那么 NextCloud 可以称得上是首选

说了那么多,下面进入正题,本文基于(CentOS7+Nginx-1.16.1+MySQL-5.6.45+PHP-7.3.13+Redis-3.2.13)来部署NextCloud

所采用的部署方式均为源码(.tar.gz),因为使用源码部署,在后面需要安装某些软件的扩展时非常方便、需要注意:这里的PHP版本需要5.X以上的,否则部署完成以后,在浏览访问会提示版本过低

nextcloud19的系统需求:
在这里插入图片描述

二、NextCloud部署

1)准备工作
1、关闭相应的安全软件、否则放行相应的流量

[root@nextcloud ~]# setenforce 0
[root@nextcloud ~]# systemctl stop firewalld

2、提前安装所有的依赖包

[root@nextcloud ~]# yum clean all && yum makecache
[root@nextcloud ~]# yum -y install libxml2-devel  bzip2-devel  curl-devel  libjpeg-devel  libpng-devel  freetype-devel  gmp-devel  libxslt-devel  libicu-devel
[root@nextcloud ~]# yum -y install libss-devel libstdc++-devel dbus-devel libaio-devel  bison-devel libverto-devel curl curl-devel openssl openssl-devel bzip2 bzip2-devel  icu libicu-devel gmp gmp-devel readline readline-devel pcre pcre-devel zlib zlib-devel gcc gcc-c++ ncurses-devel libaio-devel freetype freetype-devel ImageMagick ImageMagick-devel autoconf m4 libgcc e2fsprogs perl-Data-Dumper libcurl libcurl-devel libxml2 libxml2-devel gd gd-devel libjpeg libjpeg-devel libpng libpng-devel libxslt libxslt-devel

3、为MySQL与Nginx创建专门的运行用户

[root@nextcloud ~]# groupadd mysql
[root@nextcloud ~]# useradd -M -s /sbin/nologin nginx
[root@nextcloud ~]# useradd -M -s /sbin/nologin mysql -g mysql

2)部署Nginx

1、下载并安装Nginx

[root@nextcloud ~]# wget -c http://www.nginx.org/download/nginx-1.16.1.tar.gz
[root@nextcloud ~]# tar xf nginx-1.16.1.tar.gz -C /usr/src/
[root@nextcloud ~]# cd /usr/src/nginx-1.16.1/
[root@nextcloud nginx-1.16.1]# ./configure --prefix=/etc/nginx --user=nginx --group=nginx --with-http_ssl_module --with-http_stub_status_module && make -j 8 && make install -j 8 && cd ~

2、添加Nginx至环境变量、并将其添加为系统服务

[root@nextcloud ~]# echo 'export PATH=/etc/nginx/sbin:$PATH' >> /etc/profile
[root@nextcloud ~]# source /etc/profile && nginx

[root@nextcloud ~]# cat > /usr/lib/systemd/system/nginx.service << EOF
[Unit]
Description=nginx
After=network.target

[Service]
Type=forking
PIDFile=/etc/nginx/logs/nginx.pid
ExecStart=/etc/nginx/sbin/nginx
ExecReload=killall -s HUP $(cat /etc/nginx/logs/nginx.pid)
ExecStop=killall -s QUIT $(cat /etc/nginx/logs/nginx.pid)
PrivateTmp=Flase

[Install]
WantedBy=multi-user.target
EOF

[root@nextcloud ~]# systemctl daemon-reload && pkill -9 nginx
[root@nextcloud ~]# systemctl restart nginx && systemctl enable nginx
Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service.

3)部署MySQL

1、安装MySQL之前、我们先安装cmake工具

[root@nextcloud ~]# wget -c https://cmake.org/files/v2.8/cmake-2.8.12.tar.gz
[root@nextcloud ~]# tar xf cmake-2.8.12.tar.gz -C /usr/src/
[root@nextcloud ~]# cd /usr/src/cmake-2.8.12/
[root@nextcloud cmake-2.8.12]# ./configure && gmake -j 8 && gmake install && cd

2、下载并安装MySQL

[root@nextcloud ~]# wget -c https://downloads.mysql.com/archives/get/file/mysql-5.6.45.tar.gz
[root@nextcloud ~]# tar xf mysql-5.6.45.tar.gz -C /usr/src/
[root@nextcloud ~]# cd /usr/src/mysql-5.6.45/
[root@nextcloud mysql-5.6.45]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DSYSCONFDIR=/etc \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DENABLED_LOCAL_INFILE=ON \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_DEBUG=0 \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/tmp/mysql.sock
make -j 8 && make install -j 8 && cd ~

可能报错:

— Could NOT find Curses (missing:  CURSES_LIBRARY CURSES_INCLUDE_PATH)
CMake Error at cmake/readline.cmake:82 (MESSAGE):
Curses library not found.  Please install appropriate package,
remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu, package name is libncurses5-dev, on Redhat and derivates it is ncurses-devel.
Call Stack (most recent call first):
cmake/readline.cmake:126 (FIND_CURSES)
cmake/readline.cmake:216 (MYSQL_USE_BUNDLED_LIBEDIT)
CMakeLists.txt:250 (MYSQL_CHECK_READLINE)
— Configuring incomplete, errors occurred!

解决方法:

[root@localhost mysql-5.5.11]# rm CMakeCache.txt
[root@localhost mysql-5.5.11]# yum install ncurses-devel
Warning: Bison executable not found in PATH
— Configuring done
— Generating done
— Build fil
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值