Home
avatar

静静

丢掉为知笔记用Nextcloud,不用hexo-admin也能实现一键发布

之前,我写了一篇如何将Nodepp和Hexo博客,还有为知笔记私有云Dokcer服务配置在一个服务器上的文章。我写文章的时候为知笔记还不支持私有云保存微信文章,然而在我配置完不久后他就更新了Docker,支持剪藏,不过年费199元,仅限五人以下。

正在我纠结要不要付费的时候,我之前常用的同步网盘Mega空间到期,而它官网被墙,导致我连手动释放都弄不了,只有放弃。你说为啥不用国内某盘,我只能说一声呵呵。🙂

我终于打算用自己的服务器搭建一个网盘了,在众多自建网盘中我选择了NextCloud,因为它界面看起来简洁优雅(对,我就是这么颜狗),还有PC和移动端,必要符合我的使用情况。终于翻遍各种教程,搭建好了之后,我的学生机宕了。比较是学生机,对他要求也不能太高了是吧。

服务器Ubuntu18.04, 已安装Node10.16.0,宝塔面板, Docker

安装Nextcloud并挂载阿里云OSS

  1. 从官网下载最新版本[]的包,此处17
  2. 在下载的同时先在服务器上配置依赖环境
  3. 上传.tar.gz包到网站目录,解压,刷新浏览器登录

安装依赖

依赖安装挺麻烦的,尤其是配置PHP7.2,可以先一边登录官网下载 .tar.gz 包一边配置依赖。 宝塔面板环境配置如下图

apt-get install apache2 mariadb-server libapache2-mod-php7.2
apt-get install php7.2-gd php7.2-json php7.2-mysql php7.2-curl php7.2-mbstring
apt-get install php7.2-intl php-imagick php7.2-xml php7.2-zip

安装Nextcloud

.tar.gz包上传到服务器解压,刷新浏览器。默认账户admin,密码12345678,点击链接数据库。初次登录加载会有点慢。

记得宝塔中创建数据库

错误提示:PHP zip未安装

检查依赖是否安装,重启服务器,注意切换为PHP7.2

你看官网给的依赖安装的命令都是7.2的,说明还未支持PHP7.3

挂载阿里云OSS

参考阿里云ECS使用ossfs挂载OSS使用centos7使用ossfs工具挂载阿里云oss

阿里云ossfs下载对应的包安装。

在nextcloud目录下新建一个空文件夹,用来存放挂载到oss的文件。

必须在nextcloud目录下

设置ossfs

echo my-bucket:my-access-key-id:my-access-key-secret > /etc/passwd-ossfs
chmod 640 /etc/passwd-ossfs

查询www的id编号

id www 这一步很重要,这个号就是下面ouid的号,如果没有这个选项,root用户会覆盖挂载文件本身www的所属组,造成上传文件失败。

挂载OSS

ossfs bucket名字 服务器上被挂目录绝对路径 -ourl=你的oss外链 -o umask=007 -o allow_other -ouid=(wwwid) -ogid=(wwwid)

成功的标志是如图,输入df -h后,而挂载目录还是属于www组

您的256T大空间

NextCloud上接上OSS

要注意挂载的目录必须在nextcloud下。不在nextcloud目录下的怎么办,FTP嘛!

管理员设置外部储存

设置外部储存

挂载成功如图

安装onlyoffice

sudo docker pull onlyoffice/documentserver
sudo docker run --name onlyoffice -i -t -d -p PORT_NUMBER(9000):80 --restart=always onlyoffice/documentserver
PORT_NUMBER为希望映射的外部端口这里我的为9000

有时在应用列表找不到配置项,还需要上传一个界面。onlyoffice配置界面然后在应用列表中启用,设置转播端口为9000即可。

Doc界面,就是加载有点慢,学生机也就这样了

安装Note

上官网下载安装包上传app文件夹解压,刷新浏览器应用列表启用即可。

他还有安卓客户端,可以设置分类,下级目录分隔是/号。理论上是无限子文件夹,不过建议不超过三级。在右上角选择分类即可。笔记支持Markdown语法,不过数学公式无法渲染,table的渲染只在web端有效,没有剪藏功能。即使这样,还是要用啊,毕竟是自己一手搭建的,完全免费。对于为知笔记中的迁移,在其目录下有笔记文档,.wiz文件可以用浏览器打开,然后手动复制到自己的NextCloud-Note下,暂时没有大批量迁移的方案。

右上角分类

子文件夹的显示

笔记显示,支持md语法

安装Markdown Edit

NextCloud17上安装有点问题,还在已经有人填坑了。

https://github.com/icewind1991/files_markdown/issues/135

cd /path/to/nextcloud/apps
wget https://github.com/nextcloud/files_texteditor/archive/v17.0.0.tar.gz
tar -xzf v17.0.0.tar.gz
mv files_texteditor-17.0.0 files_texteditor
find files_texteditor/ -type f -print0 | xargs -0 chmod 640
find files_texteditor/ -type d -print0 | xargs -0 chmod 750
sudo chown -R <webserver user>:<webserver user> files_texteditor
rm v17.0.0.tar.gz

以上用到的主要参考教程:

https://docs.nextcloud.com/server/17/admin_manual/installation/source_installation.html#example-installation-on-ubuntu-18-04-lts-server https://blog.csdn.net/Maggie_up/article/details/83310021 https://www.orgleaf.com/1704.html https://blog.csdn.net/qq_22870837/article/details/83346640 https://blog.csdn.net/chn_sdn/article/details/81634951 https://blog.csdn.net/qq_36361250/article/details/84766179 https://help.aliyun.com/document_detail/32196.html https://github.com/ONLYOFFICE/onlyoffice-owncloud

其他

  1. 本站炫酷的Hexo主题
  2. Windows端上传图床工具,支持阿里云OSS,免费工具,丑但人狠话不多
  3. 宝塔小程序发布 我的博客的.md文件就是用了FTP,与电脑端同步,速度超快的说,而且Nextcloud还有Markdown Edit插件,编写博客内容挺方便的,这个发布嘛,宝塔有神器! 宝塔小程序的计划任务直接使用hexo命令会报错误commond not ...

https://www.cnblogs.com/Ghost-bird/p/11237208.html

上面这个帖子指出了是环境配置问题。

解决方案

which hexo
#!/bin/bash
SHELL=/bin/sh
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin:你的Hexo执行目录
export PATH
hexo g -d --cwd /www/wwwroot/你的Hexo博客目录

添加计划任务

购买服务,但是我后悔了,微信小程序没有执行按钮

NextCloud Docker