Fy.L 的个人博客

自学尚未成才的码农0=0


  • 首页

  • 关于

  • 标签

  • 分类

  • 归档

  • 日程表

  • 站点地图

  • 公益404

  • 搜索

树莓派 RASPBERRY PI SD卡系统备份与还原

发表于 2019-01-09 | 分类于 树莓派 |
字数统计: 1,347 字 | 阅读时长 ≈ 6分钟

标签: 树莓派 Linux 系统备份


【原文链接:http://www.fendou.info/raspberry-pi-sd-card-backup-and-recovery/comment-page-1/】
【没看到作者的声明,转侵删】


近半年时间用来监控陆龟的树莓派 Raspberry Pi 还算稳定,可到了冬天龟箱里的加热灯长时间加热导致树莓派温度很高,时不时的自动重启。如果每次都能正常起来也就罢了,可偶尔会挂不上SD卡的文件系统直接宕了,还得用备份还原SD卡(如果没备份那就悲催了)。

买树莓派的时候只想到存储空间大能多存的东西于是买了个16GB的SD卡,可实际用了2G空间不到。最开始备份树莓派SD卡是用windwos下的Win32DiskImager,这种备份恢复树莓派的方式最简单,Windows+读卡器+Win32DiskImager 就可以对树莓派的SD做完整的镜像备份,可我的树莓派用的16GB的SD卡,备份还原既浪费空间又浪费时间。

后来发现一种直接用dd备份树莓派的方法,就是先在树莓派上mount一个共享目录(空间大于SD卡的即可),然后用

1
dd if=/dev/mmcblk0 of=raspberrypi.img bs=1M

备份成raspberrypi.img镜像文件,恢复的方式有两种:一是用Win32DiskImager在windows系统上直接写到SD卡中;二是在Linux系统中用(先fdisk -l查看设备)

dd if=/path/to/image/raspberrypi.img of=/dev/sdx
这种方式要考虑网络环境,如果你的树莓派接的无线网卡,最好放弃这种方式,太慢!

最后介绍最终极的备份还原树莓派的方式,利用dump 和 restore。先说明一下这种备份方式的好处:一是可以像Windows的Ghost只dump有效数据,也就是说可以最有效的节省备份空间,树莓派有多少数据就生成多大的镜像文件;二是可以恢复到比原来SD卡空间的小的SD卡上,我原来用的树莓派是16GB,现在可以把镜像恢复到8GB或者4GB的SD中。下面看详细步骤(不想看可以直接跳到最后的脚本)

一、安装需要的软件

dosfstools:fat32分区格式化工具
dump:dump & restore 备份工具
parted & kpartx:虚拟磁盘工具

执行安装脚本

1
2
3
4
sudo apt-get install dosfstools
sudo apt-get install dump
sudo apt-get install parted
sudo apt-get install kpartx

二、生成新的img文件
先df -h查看下树莓派实际使用空间然后在决定生成文件大小,下面命令生成块大小为1MB总大小为2500MB的镜像文件

1
sudo dd if=/dev/zero of=raspberrypi.img bs=1MB count=2500

三、分割虚拟磁盘

利用parted将刚才生成的虚拟盘分割成两个分区

第一个分割区采用FAT32格式,由sector 8192开始到sector 12879,约62.9MB
第二个分割区采用EXT4,由sector 122880开始到结束。

1
2
3
sudo parted raspberrypi.img --script -- mklabel msdos
sudo parted raspberrypi.img --script -- mkpart primary fat32 8192s 122879s
sudo parted raspberrypi.img --script -- mkpart primary ext4 122880s -1

四、挂载虚拟磁盘并格式化

loopdevice:执行 losetup 连接 img 文件的 loop device
device:执行完 kpartx 后,虚拟磁盘代号。
partBoot:由 device 加上 p1 组合而成的 FAT32 虚拟磁盘分区。
partRoot:由 device 加上 p2 组合而成的 EXT4 虚拟磁盘分区。
首先建立虚拟磁盘并分区

1
2
3
4
5
loopdevice=`sudo losetup -f --show raspberrypi.img`
device=`sudo kpartx -va $loopdevice | sed -E 's/.*(loop[0-9])p.*/\1/g' | head -1`
device="/dev/mapper/${device}"
partBoot="${device}p1"
partRoot="${device}p2"

格式化虚拟磁盘分区

1
2
sudo mkfs.vfat $partBoot
sudo mkfs.ext4 $partRoot

五、开始备份
fat32虚拟磁盘分区建立好后直接用cp命令备份文件

1
2
3
sudo mount -t vfat $partBoot /media
sudo cp -rfp /boot/* /media/
sudo umount /media

ext4 linux虚拟磁盘分区用dump & restore 备份

1
2
3
4
5
sudo mount -t ext4 $partRoot /media/
cd /media
sudo dump -0uaf - / | sudo restore -rf -
cd
sudo umount /media

六、卸载虚拟磁盘

1
2
sudo kpartx -d $loopdevice
sudo losetup -d $loopdevice

经过以上六步树莓派中的数据文件就全部备份到raspberrypi.img中了,你既可以在Windows中用Win32DiskImager将镜像恢复到SD卡,也可以在Linux用dd还原到SD卡,而且不要求恢复SD卡的大小跟原来的一样(不同品牌相同大小的SD卡实际可用空间不一样的,坑!),这样就可以很方便的更换SD卡。当用此SD卡启动树莓派的时候执行raspi-config ->Expand Filesystem 即可扩展未使用的空间。

这里就是最后的脚本,包含了以上六步,只需要编辑sudo vi backup.sh复制以下内容,sudo chmod 777 backup.sh,然后sudo ./backup.sh就可以在当前脚本目录中生成树莓派的SD卡镜像了。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/bin/sh
sudo dd if=/dev/zero of=raspberrypi.img bs=1MB count=2500
sudo parted raspberrypi.img --script -- mklabel msdos
sudo parted raspberrypi.img --script -- mkpart primary fat32 8192s 122879s
sudo parted raspberrypi.img --script -- mkpart primary ext4 122880s -1

loopdevice=`sudo losetup -f --show raspberrypi.img`
device=`sudo kpartx -va $loopdevice | sed -E 's/.*(loop[0-9])p.*/\1/g' | head -1`
device="/dev/mapper/${device}"
partBoot="${device}p1"
partRoot="${device}p2"
sudo mkfs.vfat $partBoot
sudo mkfs.ext4 $partRoot
sudo mount -t vfat $partBoot /media
sudo cp -rfp /boot/* /media/
sudo umount /media
sudo mount -t ext4 $partRoot /media/
cd /media
sudo dump -0uaf - / | sudo restore -rf -
cd
sudo umount /media
sudo kpartx -d $loopdevice
sudo losetup -d $loopdevice

Nextcloud个人云存储绝佳选择:一键自动安装方法和云盘使用体验

发表于 2019-01-09 | 分类于 树莓派 , NextCloud |
字数统计: 2,626 字 | 阅读时长 ≈ 10分钟

【原文链接:https://wzfou.com/nextcloud/】


搭建个人云存储一般会想到ownCloud,堪称是自建云存储服务的经典。而Nextcloud是ownCloud原开发团队打造的号称是“下一代”存储。初一看觉得“口气”不小,刚推出来就重新“定义”了Cloud,真正试用过后就由衷地赞同这个Nextcloud:它是个人云存储服务的绝佳选择。

与ownCloud相比,Nextcloud的功能丝毫没有减弱,甚至由于可以安装云存储服务应用,自制性更强,也更符合用户的需求。Nextcloud官网的帮助文档写得相当地详细,几乎任何关于Nextcloud的问题都可以找到答案,这说明Nextcloud开发团队确实比ownCloud更加优秀。

一开始以为Nextcloud只是一个网盘云存储,后来看到Nextcloud内置了Office文档、图片相册、日历联系人、两步验证、文件管理、RSS阅读等丰富的应用,我发现Nextcloud已经仅仅可以用作个人或者团队存储与共享,还可以打造成为一个个人办公平台,几乎相当于一个个人的Dropbox了。

Nextcloud运行环境与平常我们常用的程序差不多,LAMP是官方首选,不过LNMP也照样可以运行,只不过需要自己写URL重写规则。当然,官方还提供了SNAP一键安装包,一分钟内就可以在VPS上部署好Nextcloud,非常地方便。本篇文章就来分享SNAP安装Nextcloud的方法。

Nextcloud个人云存储绝佳选择:一键安装自带免费客户端内置文档\相册\日历丰富应用

更多的关于邮件分发、CDN加速和VPS同步等工具,你还可以看看:

  1. 利用MailChimp建立RSS邮件订阅平台-每月免费12000封邮件可加2000用户
  2. 用Fikker自建CDN-支持Https,页面缓存,实时监控,流量统计,防CC攻击
  3. Lsyncd搭建同步镜像-用Lsyncd实现本地和远程服务器之间实时同步

PS:2017年9月27日更新,想要利用Nextcloud实现离线下载可以看这里:Nextcloud离线下载搭建方法-整合Aria2和AriaNg、Aria2 WebUI实现离线下载。

一、Nextcloud一键安装

Nextcloud官网:

  1. https://nextcloud.com/
  2. nextcloud snap:https://github.com/nextcloud/nextcloud-snap

nextcloud snap目前包含以下组件(会自动更新升级,请及时关注):

Nextcloud 11.0.3
Apache 2.4
PHP 7
MySQL 5.7
Redis 3.2
mDNS for network discovery

安装前修改好hostname。在终端窗口中输入命令:hostname或uname –n,均可以查看到当前主机的主机名,修改参考如下(Ubuntu修改可参考我之前的一篇文章:ISPConfig 3.1 安装方法):

1
2
3
4
5
6
7
vim /etc/hosts
150.95.150.57 pan.wzfou.net pan

vim /etc/hostname
pan.wzfou.net
hostname -F /etc/hostname #重启
hostname #再次查看

一键安装方法:

1
2
3
4
sudo apt-get update
sudo apt-get install snap
sudo apt-get install snapd
sudo snap install nextcloud

如下图表示安装成功了。

Nextcloud一键安装成功

接着,打开你的域名或者IP地址,然后会让你设置好管理员账号与密码,确定,完成安装。

Nextcloud打开域名

可能有的人不想使用Snap安装方法,可以看看手动在VPS上部署LNMP/LAMP安装Nextcloud方法:手动安装NextCloud教程。

选择Snap还是VPS手动?不用纠结,以下官方的回答:

snap优点:The snap is nice for getting up and running quickly with minimal space, and will work great if you’re happy not messing with it. Since it’s a snap you also get the benefit of automatic updates and the ability to rollback without worrying about needing to take a snapshot, etc.

#翻译:snap安装快捷,傻瓜式一键安装,几分钟内搞定。同时,snap支持自动升级、回滚等,你无需使用复杂的命令工具。

snap缺点:However, the snap is very opinionated. Don’t want to use Apache? Sorry, the snap uses it. Don’t want to use MySQL? Sorry, MariaDB does not run on ARM. Something other than PHP 7.0.15? We picked the version we feel gives the best results. In other words, it’s not very tinker-friendly. We don’t do this to be mean, we do this so that we can reliably update it without your needing to worry about it.

#翻译:snap不能自定义,只能使用snap既定的MysqL、apache、PHP等。不过,这样的好处就是经过官方测试过的运行稳定且有利于后期自动升级。

VPS手动安装优缺点:The VM is much more flexible. It’s a full version of Ubuntu server edition, allowing you to tweak whatever you need and it comes with many apps which are not that easy to configure for inexperienced administrators. This of course makes it larger. You’ll also need to make sure you maintain it and keep the OS up-to-date. Since it’s virtualized you can assign disk, CPU, memory, and network quotas to it (you’d need to install the snap in an lxc container or a VM to get the same abilities).

#翻译:VPS手动则比较灵活,你可以自已配置磁盘、CPU、内存和网络,但是同时你需要懂得如何维护好VPS操作系统。

二、Nextcloud管理使用

以下就是Nextcloud的管理中心面板,是不是与我们用过的Dropbox有点类似-简洁。左边就是分享的链接、收藏、WebDav地址,中间就是我们上传的图片、文档、程序等了,点击可以查看详情。右边有管理、个人、用户等。(点击放大)

Nextcloud用户中心

Nextcloud上传的视频支持在线播放。

Nextcloud视频播放

Nextcloud上传的图片可以像幻灯片一样浏览。

Nextcloud浏览图片

Nextcloud支持给分享的文档、图片等设置有效期、密码保护等,有点类似于百度网盘了。

Nextcloud分享文档

别人打开你的共享链接后就可以预览到图片或者视频了,也可以直接点击下载了。

Nextcloud下载文件

在Nextcloud的个人中心页面,可以修改个人信息、应用密码、同步客户端等。

Nextcloud个人中心

Nextcloud在服务器管理页面,则可以查看CPU、内存等使用情况、切换Nextcloud主题、是否对存储在Nextcloud的文件进行加密、激活插件等。

Nextcloud服务器设置

三、Nextcloud同步客户端

Nextcloud提供了免费的同步客户端供大家下载使用,支持PC和手机。下载地址:https://nextcloud.com/install/#install-clients

Nextcloud客户端

在电脑上运行Nextcloud同步客户端,先填入你的Nextcloud地址。

Nextcloud运行客户端

然后就是输入Nextcloud的用户名以及客户端专用密码,这个专用密码需要到Nextcloud的个人中心页面生成。

Nextcloud填入专用密码

Nextcloud允许你选择同步某一个文件夹,还是同步整个Nextcloud账户。

Nextcloud同步文件夹设置

连接好了后,你就可以在本地看到Nextcloud同步过来的文件了,你在本地的操作都会影响到Nextcloud云端的文件存储,自动实现同步。

Nextcloud本地同步

以下是Nextcloud的手机同步客户端,功能差不多。

Nextcloud手机端

Nextcloud手机客户端支持自动上传文件,还有设置下载路径等等。

Nextcloud备份手机文件

四、Nextcloud添加应用

Nextcloud官方提供了非常多的应用:https://apps.nextcloud.com/,Office文档、图片相册、日历联系人、两步验证、文件管理、RSS阅读等丰富的应用。这些应用你可以手动下载安装,也可以直接在Nextcloud后台一键激活。

Nextcloud添加应用

Office文档插件:Documents。有Collabora Online、Markdown Editor、Calendar、Onlyoffice、Documents等,其中Documents安装比较简单,直接启用即可。

Nextcloud查看Office文档

如果不支持打开Doc(X),你需要在你的Ubuntu安装以下包:

1
2
3
apt-get install libreoffice-writer
apt-get install libreoffice-common
apt-get install unoconv

Documents插件安装好了后就可以在线查看和编辑Office文档了。

Nextcloud在线编辑文档

安全类插件:Two Factor TOTP Provider。这个插件可以让你的Nextcloud账号支持开启登录两步验证。

Nextcloud两步验证

RSS阅读器插件:News。这个插件真的让我感觉眼前一亮,有了它我们可以将Nextcloud变身为一个RSS在线阅读器了。这个比之前我们利用Huginn抓取任意网站RSS的方法可以简单了。(点击放大)

Nextcloud阅读器

五、Nextcloud高级设置

Nextcloud支持使用PHP发送邮件,但是自带的邮局发出去的邮件基本上是被各大邮箱判定为垃圾邮件,所以我们需要利用好Nextcloud提供的SMTP发信功能。

4.1 Nextcloud用SMTP发信

在Nextcloud的管理页面,找到“其他设置”,然后选择发信方式为SMTP,填写你的SMTP信息,这里我用的是腾讯企业邮箱的,你也可以使用Gmail、163等免费SMTP发信功能。

Nextcloud设置发信

填写完成后,点击测试看看是不是可以成功发出邮件。

Nextcloud成功发出邮件

4.2 Nextcloud安装SSL证书

如果你使用Snap安装的Nextcloud,那么添加SSL加密访问将是一件非常简单的事情。先确保你的域名已经成功解析到你的VPS主机上,然后执行命令:

1
2
3
sudo nextcloud.enable-https lets-encrypt #安装Let's Encrypt SSL
#如果你想使用自己的证书,请执行:
sudo nextcloud.enable-https self-signed

Nextcloud添加SSL证书

如果你是使用自已的证书,请在执行命令后找到SSL证书的路径,将自己的证书上传替换生成的自签名证书文件即可。

Nextcloud自己的证书

4.3 Nextcloud备份与恢复

备份MysqL数据库。使用Snap安装的Nextcloud,数据库文件在以下路径中,你直接将Nextcloud这个数据库全部备份即可。

[图片上传失败…(image-1fd742-1525492497608)]

备份文件。Nextcloud上传的文件存储在以下路径中,将里面的Data文件全部备份即可。

Nextcloud备份存储文件

Nextcloud恢复。重装安装了Nextcloud后,将上面的数据库文件与文件数据全部导入到新的服务器,保持原来的路径即可。对于大量的文件迁移,推荐使用远程搬家方法:三个命令工具Rsync,SCP,Tar-快速解决Linux VPS远程网站搬家数据同步烦恼。

六、总结

Nextcloud采用Snap的安装方法简单方便,适合不想折腾的朋友,并且官方打包的Nextcloud Snap自动部署好了LAMP,如果你想迁移服务器,只需要将新的服务器按照同样的方法安装Nextcloud,然后导入之前的数据库与存储文件即可。

Nextcloud如果用来存储一些私人的照片或者文件的话,最让人担心的恐怕是安全问题了。目前来看,Nextcloud本身的安全措施已经做得非常到位,例如账号两步验证、程序与存储文件分开、数据加密等。可能唯一需要我们自己做的就是保证服务器不要出现漏洞。

文章出自:挖站否 https://wzfou.com/nextcloud/,版权所有。本站文章除注明出处外,皆为作者原创文章,可自由引用,但请注明来源。

手动安装NextCloud教程-免费开源的私有云存储网盘可播放图片音乐

发表于 2019-01-09 | 分类于 树莓派 , NextCloud |
字数统计: 2,524 字 | 阅读时长 ≈ 10分钟

【原文链接:https://wzfou.com/nextcloud-install/】


NextCloud由原ownCloud联合创始人Frank Karlitschek创建的,继承原ownCloud的核心技术又有不少的创新。在功能上NextCloud和ownCloud差不多,甚至还要丰富一些,在用户使用体验方面,NextCloud安装与使用都非常地顺手,最重要的是NextCloud完全开源免费。

NextCloud不仅是一个私人云网盘平台,也支持多用户同步协作使用。NextCloud支持账号注册,可以为账号开启两步验证,以确保账号安全。同时,NextCloud对于公开分享的文件可以设置有效期,对于上传的视频、音乐、Office文档等直接支持在线预览和播放。

NextCloud还提供了上百种的免费应用和插件,这些NextCloud应用与插件可以将NextCloud打造成为一个在线文档共享与编辑平台、音乐与视频娱乐平台以及文件存储下载平台。当然,如果是自己手动安装的NextCloud的话,那么这些插件也得自己配置好环境才行。

手动安装NextCloud教程-免费开源私人云存储网盘可在线预览图片播放音乐

本篇文章就来分享一下手动安装NextCloud教程,更多的站长自建服务与平台,你还可以试试:

  1. Lsyncd搭建同步镜像-用Lsyncd实现本地和远程服务器之间实时同步
  2. VestaCP与WHMCS整合教程-实现自助开通虚拟主机销售主机空间产品
  3. ISPConfig与WHMCS整合方法-自动激活开通虚拟主机和管理空间用户

PS:2017年9月20日更新,觉得手动安装麻烦的朋友,可以使用一键安装的方法,参考:Nextcloud个人云存储绝佳选择:一键自动安装方法和云盘使用体验。

一、LAMP安装NextCloud

NextCloud官网:

  1. https://nextcloud.com/

准备好LAMP环境。LAMP即Apache、MysqL或Mariadb、PHP环境,NextCloud官方推荐使用Apache运行NextCloud,自带了.htaccess规则。而Nginx的话还需要自己手动编写NextCloud的URL重写规则。推荐以下方法一键安装LAMP:

  1. Linux VPS建站工具LNMP 1.4安装与使用-SSL自动配置续期和多版本PHP支持
  2. OneinStack一键安装脚本-轻松部署Let’s Encrypt证书配置Https站点

LNMP 1.4和OneinStack都可以一键安装LAMP环境,这里我以OneinStack来作为操作演示,在安装OneinStack时选择组件时选择Apache即可,PHP建议使用7.0以上,数据库的话建议Mariadb。其它的缓存组件也可以安装。

NextCloud安装Apache

绑定好域名与添加SSL证书。OneinStack在添加网站时直接就可以添加SSL证书了,同时要求绑定的域名必须提前解析到服务器的IP上,这样才可以一键生成Lets免费证书。

NextCloud添加SSL证书

下载NextCloud程度包安装。到官网:https://nextcloud.com/install/#instructions-server,下载最新的程序包解压上传到网站的根目录。

NextCloud下载程序包

为NextCloud建立新的数据库。

NextCloud新建数据库

访问域名就会自动进入到NextCloud的安装页面了,填写你的管理员账号与密码,然后在下方设置好文件存储路径,最好与程序不要在同一个目录下。同时填入SQL数据库信息,完成安装。(点击放大)

NextCloud点击安装

完成后,你就可以登录到NextCloud后台,这就是NextCloud的用户管理界面。(点击放大)

NextCloud用户管理界面

二、LNMP安装NextCloud

准备LNMP环境和上面一样,只是在LNMP 1.4和OneinStack安装时选择Nginx环境即可,其它的组件都一样有选择性地安装。如果安装了Zend OPcache,可能在安装时会提示错误:“PHP 被设置为移除内联块, 这将导致多个核心应用无法访问。

解决方法:修改php.ini中Opcache的参数进行修改,如果是Oneinstack的话需要在/usr/local/php/etc/php.d/ext-opcache.ini 中修改。找到此代码并改成:opcache.save_comments=1 ,因为默认是0,改完重启php-fpm就行。

编写URL地址重写规则。出现错误:No input file specified.,主要是Nginx还需要自己写重写规则,你可以将以下规则复制粘贴到/usr/local/nginx/conf/vhost/你的网站.conf,由于规则太多,你也可单独建立一个文件,然后在你的网站.conf引用即可。具体规则如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#(可选)添加如下header主要为了安全
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection "1; mode=block";
add_header X-Robots-Tag none;
add_header X-Download-Options noopen;
add_header X-Permitted-Cross-Domain-Policies none;
#(可选)为了支持user_webfinger app
rewrite ^/.well-known/host-meta /public.php?service=host-meta last;
rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json last;

#日历和联系人,建议加上
location = /.well-known/carddav {
return 301 $scheme://$host/remote.php/dav;
}
location = /.well-known/caldav {
return 301 $scheme://$host/remote.php/dav;
}
#设置上传文件的最大大小
client_max_body_size 512M;
fastcgi_buffers 64 4K;
#将所有请求转发到index.php上
location / {
rewrite ^ /index.php$uri;
}
#安全设置,禁止访问部分敏感内容
location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)/ {
deny all;
}
location ~ ^/(?:\.|autotest|occ|issue|indie|db_|console) {
deny all;
}

#默认有,替换原来的就行
location ~ ^/(?:index|remote|public|cron|core/ajax/update|status|ocs/v[12]|updater/.+|ocs-provider/.+)\.php(?:$|/) {
fastcgi_split_path_info ^(.+\.php)(/.*)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param modHeadersAvailable true;
fastcgi_param front_controller_active true;
fastcgi_pass unix:/dev/shm/php-cgi.sock; #这边我改过,参照原来的
fastcgi_intercept_errors on;
fastcgi_request_buffering off;
include fastcgi.conf;
}

#安全设置,禁止访问部分敏感内容
location ~ ^/(?:updater|ocs-provider)(?:$|/) {
try_files $uri/ =404;
index index.php;
}

location ~ \.(?:css|js|woff|svg|gif)$ {
try_files $uri /index.php$uri$is_args$args;
add_header Cache-Control "public, max-age=15778463";
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection "1; mode=block";
add_header X-Robots-Tag none;
add_header X-Download-Options noopen;
add_header X-Permitted-Cross-Domain-Policies none;
access_log off;
}
location ~ \.(?:png|html|ttf|ico|jpg|jpeg)$ {
try_files $uri /index.php$uri$is_args$args;
access_log off;
}

fileinfo\Memcached\Redis等都可以通过OneinStack一键安装。

NextCloud安装附加组件

NextCloud安全与性能优化:这种提示一般在NextCloud的服务器管理中可以看到,建议缓存类的直接安装一个即可,安装多了也没有什么用。

为了您服务的安全和性能, 请将所有设置配置正确. 我们将会进行一些自动化检查以帮助您完成这项工作. 详情请查看 “小提示” 部分及相关文档.

PHP 模块 ‘fileinfo’ 缺失. 我们强烈建议启用此模块以便在 MIME 类型检测时获得最准确的结果.

HTTP 请求头 “Strict-Transport-Security” 没有配置为至少 “15552000” 秒. 出于增强安全性考虑, 我们推荐按照安全提示中的说明启用 HSTS.

内存缓存未配置. 如果可用, 请配置 memcache 以增强性能. 更多信息请查看我们的文档.
PHP 的组件 OPcache 没有正确配置. 为了提供更好的性能, 我们建议在php.ini文件中使用下列设置:

opcache.enable=1
opcache.enable_cli=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1

NextCloud添加Memcached缓存。修改程序目录下的config目录中的config.php文件,在配置文件中添加如下,这个是多个Memcached实例,单个自己改:

1
2
3
4
5
6
7
'memcache.local' => '\OC\Memcache\APCu',
'memcache.distributed' => '\OC\Memcache\Memcached',
'memcached_servers' => array(
array('localhost', 11211),
array('server1.example.com', 11211),
array('server2.example.com', 11211),
),

NextCloud添加Redis缓存。在配置文件中添加如下,这个是通过TCP连接的

1
2
3
4
5
'memcache.local' => '\OC\Memcache\Redis',
'redis' => array(
'host' => 'localhost',
'port' => 6379,
),

还有性能更好的UNIX连接

1
2
3
4
5
6
7
8
'memcache.local' => '\OC\Memcache\Redis',
'redis' => array(
'host' => '/var/run/redis/redis.sock',
'port' => 0,
'dbindex' => 0,
'password' => 'secret',
'timeout' => 1.5,
),

同时,官方还推荐加入如下,来用于存储文件锁

1
'memcache.locking' => '\OC\Memcache\Redis',

Nginx运行NextCloud一切正常。

NextCloud运行正常

三、NextCloud添加应用

NextCloud提供了丰富了内置应用,并且这些应用可以直接在NextCloud的后台下载并安装,有点像我们的Wordpress插件一样直接安装。这些介绍几个有用的NextCloud插件,相信大家一定会用到。

SMTP发信与限制最大上传文件。这个直接在NextCloud的后台设置中就可以设置选项,SMTP可以让我们调用第三方的发信服务来发送NextCloud的邮件,自带的PHP发信也可以,但是基本上会被各大邮箱判定为垃圾邮件。

NextCloud发信设置

数据存储加密与外挂存储。首先到NextCloud应用中激活Default encryption module、External storage support这两个插件。

NextCloud存储加密

启用数据加密需要谨慎:因为数据一旦加密被启用, 之后上传到服务器的所有文件都将服务器上加密,只有当启用状态的加密模块支持解密并且所有前提都满足时 (例如: 设定恢复密钥) 才能解除加密。请注意, 加密会增加文件大小,单独的加密不能保证系统的安全性,你需要同时设置恢复密钥。

NextCloud启用文件加密

外挂存储主要是可以让NextCloud通过SMB / CIFS 登录 OC 的方式挂载第三方的存储应用,启用这个插件有些麻烦,可能提示:没有安装 “smbclient”. 安装命令:apt-get install smbclient和apt-get install php-smbclient。

NextCloud外挂存储

四、总结

至于选择Apache还是Nginx来运行NextCloud主要还是取决你对Nginx或者Apache的熟悉程度,LNMP 1.4和OneinStack对Nginx都做了很好了优化,Http 2.0、SSL证书还有缓存组件和PHP函数都可以一键安装与配置,省去了不少的麻烦。

NextCloud私有云

NextCloud的图片预览、音乐视频在线播放等基本功能都是没有问题了,在使用NextCloud应用过程中倒是遇到了不少的问题。首要的问题就是NextCloud的应用配置比较难,例如Office文档插件、RSS在线阅读器插件等,都需要自己手动配置好服务器环境。

文章出自:挖站否 https://wzfou.com/nextcloud-install/,部分内容参考自:zrj96 版权所有。本站文章除注明出处外,皆为作者原创文章,可自由引用,但请注明来源。

RASPBIAN STRETCH 安装桌面

发表于 2019-01-09 | 分类于 树莓派 |
字数统计: 180 字 | 阅读时长 ≈ 1分钟

首先更新系统

1
2
3
sudo apt-get update
sudo apt-get upgrade
sudo reboot

如果需要卸载原来的桌面

1
sudo apt-get autoremove raspberrypi-ui-mods lxterminal gvfs

–no-install-recommends参数来避免安装非必须的文件,从而减小镜像的体积

安装GUI显示服务:

1
sudo apt-get install xserver-xorg

安装MATE桌面环境

1
sudo apt-get install mate-desktop-environment-core

安装登陆服务

1
sudo apt-get install lightdm

启动你的桌面

1
startx

同理,如果想换回官方桌面的话,只需要卸载MATE桌面并安装原来的就行了:

1
2
3
sudo apt-get install mate-desktop*  //为了卸载干净直接用了 * 号
// 安装官方桌面
sudo apt-get install raspberrypi-ui-mods lxterminal gvfs

树莓派安装Chromium

发表于 2019-01-09 | 分类于 树莓派 |
字数统计: 305 字 | 阅读时长 ≈ 1分钟

【原文链接:https://blog.csdn.net/zbgjhy88/article/details/60323047】


Chromium是谷歌Chrome的开源版本,在此介绍一下当下该如何安装Chromium。

1.访问Ubuntu的源下载Chromium安装包,建议在pc中下载然后通过winscp传到树莓派中:

这个源对Chromium还在不断更新维护中,可以选择下载最新的包,截止收稿,最新的为65.0.3325.181-0ubuntu0.17.10.1,需要下载的是下面三个包:

chromium-browser_65.0.3325.181-0ubuntu0.17.10.1_armhf.deb
chromium-codecs-ffmpeg-extra_65.0.3325.181-0ubuntu1_armhf.deb
chromium-browser-l10n_56.0.2924.76-0ubuntu0.16.10.1335_all.deb

网速不是很给力,我放到我的资源中了,大家可以点此下载(注意解压成三个文件再传到树莓派中):树莓派Chromium-browser离线安装包

2.进入存放三个deb包的文件夹,执行命令:

1
2
3
sudo dpkg -i chromium-browser_56.0.2924.76-0ubuntu0.16.10.1335_armhf.deb 
sudo dpkg -i chromium-codecs-ffmpeg-extra_56.0.2924.76-0ubuntu0.16.10.1335_armhf.deb
sudo dpkg -i chromium-browser-l10n_65.0.3325.181-0ubuntu1_all.deb

安装过程中可能会遇到依赖关系问题,因为你的树莓派上可能安装了更新的一些lib包。可以尝试运行apt-get -f install或aptitude install解决。

完成。

树莓派安装OctoPrint,搭建3D打印服务器

发表于 2019-01-09 | 分类于 树莓派 |
字数统计: 1,101 字 | 阅读时长 ≈ 5分钟

【参考链接】
官方文档:https://octoprint.org/download/


一、在树莓派上搭建OctoPrint服务:

  1. 安装包含 pip 和 virtualenv 的 Python 2.7 .
    树莓派最新版本的系统已经自带 Python2.7,如果没有,可以手动安装:
    1
    2
    3
    $ sudo apt update
    $ sudo apt upgrade
    $ sudo apt install python virtualenv
阅读全文 »

Android PopupWindow怎么合理控制弹出位置

发表于 2018-08-26 |
字数统计: 799 字 | 阅读时长 ≈ 3分钟

说到PopupWindow,应该都会有种熟悉的感觉,使用起来也很简单

1
2
3
4
5
6
7
8
9
10
11
12
13
14
// 一个自定义的布局,作为显示的内容
Context context = null;  // 真实环境中要赋值
int layoutId = 0;      // 布局ID
View contentView = LayoutInflater.from(context).inflate(layoutId, null);

final PopupWindow popupWindow = new PopupWindow(contentView,
LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, true);

popupWindow.setTouchable(true);
// 如果不设置PopupWindow的背景,有些版本就会出现一个问题:无论是点击外部区域还是Back键都无法dismiss弹框
// 这里单独写一篇文章来分析
popupWindow.setBackgroundDrawable(new ColorDrawable());
// 设置好参数之后再show
popupWindow.showAsDropDown(contentView);
阅读全文 »

AndroidSwitch控件修改样式

发表于 2018-05-22 |
字数统计: 1,204 字 | 阅读时长 ≈ 5分钟

Android中自带的Switch控件在很多时候总觉得和整体系统风格不符,很多时候,自定义Switch是一种方法。

但其实不用这么麻烦,安卓自带的Switch通过修改一些属性,也可以达到和自定义Switch差不多的一个效果。

个人感觉,Switch的属性设置和其他控件还是有挺大区别的。因此,写下此文,方便有需要的同学参考。

阅读全文 »

ArcGIS Runtime中坐标的转换

发表于 2018-05-11 | 分类于 Android , ArcGIS Runtime |
字数统计: 1,782 字 | 阅读时长 ≈ 6分钟

【原文链接:https://blog.csdn.net/bit_kaki/article/details/76252181】


在我们的GIS应用项目里,常常遇见坐标转换的问题。最常见的就是WGS84坐标转其他坐标系,原因是WGS84坐标系是目前GPS数据采集所用的坐标系,而我国实际生产项目里常用的地图却是北京54坐标系,西安80坐标系以及中国大地2000坐标系等。所以当我们用设备采集到GPS经纬度以后,需要将其进行坐标转换才可以正确显示到我们使用的地图上。

阅读全文 »

Hello World

发表于 2018-05-11 |
字数统计: 121 字 | 阅读时长 ≈ 1分钟

欢迎来到 Hexo! 来发布你的第一篇博客吧. 查看 文档 以获取更多信息. 如果你在使用Hexo的过程中遇到任何问题, 你可以来 troubleshooting 寻找答案或者在 GitHub上提问.

阅读全文 »
1234
Fy.L

Fy.L

你若赐我一段浮华,我便许你满世繁花

38 日志
11 分类
36 标签
RSS
GitHub
© 2019 Fy.L
由 Hexo 强力驱动
|
主题 — NexT.Gemini v5.1.4