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 自带的几个功能:
- 在线PDF阅读
- 在线视频播放
- 在线图片查看
- 在线文本编辑。(不自带 文档编辑器,需要插件支持)
至于其他的相关选项可以直接查看 Nextcloud Manual.pdf,这个它自带的文档即可。我就不做过多演示了。
那么到这里 有关于 NextCloud 的web 搭建就已经完成了,如果觉得本文的对你有非常大的帮助,请到 关于 页面给 up 一些资助吧,网站运维、制作不易。[捂脸]
本文经「原本」原创认证,作者乾坤盘,访问yuanben.io查询【5GC78XTQ】获取授权信息。
经常会有各种错别字,请留言提醒,或者向我邮件 mailto:somata@foxmail.com.