zoukankan      html  css  js  c++  java
  • CentOS8 NextCloud 私有云存储搭建

    本文首发:https://www.somata.net/2019/centos8_build_nextcloud.html

    之前发现 Owncloud 越来越捞了,推出了企业版和社区版,近几日突然发现原来 owncloud 被其作者给卖了,后来该作者又去重新写了一个软件,名字叫 nextcloud,不过估计作者的尿性 NextCloud 也有可能被买了,所有趁现在没被买了,赶紧下来试试玩玩看。

    我现在使用的版本时 NextCloud V17.0.0,出了已经有了很长一段时间了,看来我的消息还是太闭塞了[捂脸],NextCloud 的官网:https://nextcloud.com/,如果没看懂我下面写的文档也可以去看看NextCloud 的原文档, 由于部分网络原因,NextCloud 访问很慢,所以我同时也把本次使用的文件放到了百度云上,共大家下载:(链接: https://pan.baidu.com/s/1OAl26-5-KE5jshPgpv_CbA 提取码: bbpk)

    废话就不多说了,直接开始吧。

    系统初始配置

    CentOS8 出来还没多久,可能还有一些读者不知道CentOS8的部分操作,所以这一部分的配置会很水。

    网卡配置

    首先配置网卡,这里我们设置静态IP,需要注意 CentOS8已经不再使用 network 服务了,现在网卡提供服务使用的是 NetworkManager。

    NetworkManager 在之前的版本也一直存在,是RedHat 自行开发的一个网络管理程序,只不过没有 network 来的好用,所以也经常被忽视,这里可以去看 RedHat 8 releases 文档中的信息就知道了。

    NetworkManager 还是支持 network 的配置文件,不过这里还是使用NetworkManager 提供的工具进行网卡配置。

    nmtui		# 进入文本化的网卡配置界面
    

    这里选择 Edit a connection。

    这里因为在开机不会自动生成网卡的配置文件,所以这里的网卡名称为空,但是选项还是存在的,选择右边的 Edit 即可。

    进来的界面如下,主要就是 Profile name 内没有内容,所以上面才会不显示名称。这里加上即可。

    这里改成如下即可,你们需要根据自己家里的环境做不同的设置,需要注意!!!!,然后选择 OK 保存。

    然后退出 网卡配置界面即可。选择 back 或则 quit。

    配置完成后就会在 /etc/sysconfig/network-scripts/ 目录下生成对应的配置文件。

    然后重启网络即可,这里如果想要让配置生效需要一点特殊手动,如下:

    ip link set ens160 down	# 关闭网卡
    systemctl restart NetworkManager	# 重启网卡
    

    其实我也没搞懂是啥原因,猜测是 NetworkManager 会检测网卡状态,只有在 down 状态才会去尝试读取配置文件。

    那么这样网络的就完成了。

    dnf源配置

    CentOS8 的另一外一个大的变化就是软件包的安装方式了,在之前版本的CentOS中,都是使用yum作为默认软件包依赖安装软件,现在改而使用 dnf 作为 软件包依赖安装软件了,个人体验的最大感受就是安装和检测速度比以前快了。同时dnf 跟 NetworkManager 一样,支持 yum 的配置文件,这里我就直接把之前一篇文章中的配置文件拿过来用了。

    rm -rf /etc/yum.repos.d/*		# 这一步需要慎重,最好备份,我这里使用的是虚拟机,所以无所谓。
    curl https://somata.gitee.io/image1/CentOS8%20YumDnf%20%E9%85%8D%E7%BD%AE%EF%BC%88%E5%AE%8C%E6%95%B4%EF%BC%8C%E5%A4%9A%E9%95%9C%E5%83%8F%E6%BA%90%EF%BC%89/yum.repos.d.tar.xz -o yum.repos.d.tar.xz
    tar -xf yum.repos.d.tar.xz -C /
    rm -rf /etc/yum.repos.d/CentOS-Media.repo	# 这里把本地镜像给删了,因为根本用不到。
    

    再编译几个文件,开启dnf 的多镜像功能。

    # file: /etc/dnf/dnf.conf
    
    [main]
    gpgcheck=1
    installonly_limit=3
    clean_requirements_on_remove=True
    best=True
    fastsetmirror=True		# 主要编辑这一行。
    

    安装 LAMP 环境

    安装本次所需软件:

    yum -y install vim bash-completion httpd php php-pecl-zip php-mysqlnd php-cli php-mbstring php-gd php-xml php-pecl-apcu php-intl php-json php-process mariadb mariadb-server policycoreutils-python-utils next
    

    初始化配置 MariaDB 数据库。

    systemctl start mariadb		# 启动数据库服务
    mysql_secure_installation	# 安全初始化配置数据库
    

    mysql -uroot -p[password]		# 进入mysql,创建一个用户。[password]替换为上面初始化的密码。
    

    GRANT ALL ON nextcloud.* TO 'nextcloud'@'localhost' IDENTIFIED BY '123456'; # 创建一个 数据库用户。

    FLUSH PRIVILEGES; # 刷新数据库权限表。

    systemctl start httpd	# 启动httpd 进程
    

    这里还需要注意的是, CentOS8 默认已经将 php 制作成了一个单独的守护进程(php-fpm),如果修改或配置了 php,注意需要重启的服务是 php-fpm 而不是httpd 了。当然 CentOS8 中的 httpd.service 中已经配置了 php-fpm的依赖了,所以部分读者可能没注意到该变化,这里就提一嘴。

    配置开启防火墙:

    firewall-cmd --permanent --add-service=http
    firewall-cmd --reload
    
    

    那么LAMP环境就制作好了。

    搭建 NextCloud

    那么前面的基础环境都弄好了,那么下面就可以开始处理 NextCloud 的文件了, NextCloud 需要 php7.2 以上的版本,CentOS8 的php版本刚好是 php7.2,所以也不需要令行配置了,还有一堆依赖的php 插件也装好了,这里就可以直接开始了。

    unzip nextcloud-17.0.0.zip	# 解压压缩包
    mv nextcloud /var/www/html	# 移动至 html 目录下
    restorecon -R /var/www/html/nextcloud # 重置一下 nextcloud 的SELinux type类型
    # 这里还需要调配一下SELinux 的部分默认规则,否则进入web就会显示系统错误。
    semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/nextcloud/data(/.*)?'
    semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/nextcloud/config(/.*)?'
    semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/nextcloud/apps(/.*)?'
    semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/nextcloud/.htaccess'
    semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/nextcloud/.user.ini'
    semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/nextcloud/3rdparty/aws/aws-sdk-php/src/data/logs(/.*)?'
    restorecon -R '/var/www/html/nextcloud/'
    # 然后修改一下文件的属主权限
    mkdir /var/www/html/nextcloud/data
    chown -R nobody:nobody /var/www/html/nextcloud
    chown -R apache:apache /var/www/html/nextcloud/{data,config,apps}
    
    

    那么到这里就可使用web 去看看 NextCloud 可以用了没有了。

    下面就是 NextCloud 的初始界面了。

    这里输入一下信息即可,然后点击安装完成即可。

    然后就会自动进入到 NextCloud 的界面了。

    这里顺便吐槽一句,虽然 NextCloud 在制作的时候就加入很多新功能,但是 NextCloud 的web 包是真的大,压缩包有 70MB左右,弄好了有 250MB。

    这里我在展示一下 NextCloud 自带的几个功能:

    1. 在线PDF阅读

    1. 在线视频播放

    1. 在线图片查看

    1. 在线文本编辑。(不自带 文档编辑器,需要插件支持)

    至于其他的相关选项可以直接查看 Nextcloud Manual.pdf,这个它自带的文档即可。我就不做过多演示了。

    那么到这里 有关于 NextCloud 的web 搭建就已经完成了,如果觉得本文的对你有非常大的帮助,请到 关于 页面给 up 一些资助吧,网站运维、制作不易。[捂脸]

    本文经「原本」原创认证,作者乾坤盘,访问yuanben.io查询【5GC78XTQ】获取授权信息。

  • 相关阅读:
    Etherpad Lite v1 — LinuxTOY
    linux 命令
    Useful tmux Commands
    利用统计进行中文分词与词性分析
    RemoteBox : Screenshots Screenshots Various screenshots of RemoteBox under different operating systems including Linux, MacOS X, Solaris, NetBSD, FreeBSD and OpenBSD. Do you have a screenshot of RemoteBox running on a distro or operating system
    EF架构~一个规范,两个实现
    EF架构~一个规范,两个实现(续)~性能可以接受的批量增删改操作
    微软自己写的~测试远程数据库是否工作正常
    编译器错误~System.Data.Objects.DataClasses.EntityObject在未被引用的程序集中定义
    说说Entity Frameworks
  • 原文地址:https://www.cnblogs.com/somata/p/CentOS8NextCloudBuild.html
Copyright © 2011-2022 走看看