Categories
Operations

Seafile 6.3 升级 7.x 避坑指南

#前言:我只试过docker版

官方升级指南在这里:https://cloud.seafile.com/published/seafile-manual-cn/docker/6.3_%E5%8D%87%E7%BA%A7%E5%88%B0_7.0.md

截至2020年12月16日我升级的时候,官方指南依然存在两个问题

第一个问题,是数据库无法直接迁移到docker-compose下的mariadb,原因是之前有部分的数据表是myisam存储引擎,你会遇到诸如:“Column last_update in table “mysql”.”innodb_table_stats” is INT UNSIGNED NOT NULL but should be BINARY”这类的问题,如果按照网上的说法,删除数据表再去重建,太费事了。因此在升级前,建议直接进老版本的docker容器内,把三个数据库(ccnet_db,seafile_db,seahub_db)都全部mysqldump出来

然后改一下docker-compose,只保留mariadb这一项服务,注意把挂载路径改到临时路径去,代码在这:

version: '2.0'
services:
db:
image: mariadb:10.1
container_name: seafile-mysql
environment:
- MYSQL_ROOT_PASSWORD=root # Requested, set the root's password of MySQL service.
- MYSQL_LOG_CONSOLE=true
volumes:
- /tmp/seafile-mysql/db:/var/lib/mysql # Requested, specifies the path to MySQL data persistent store.
networks:
- seafile-net

然后用docker-compose up -d跑起来,这个时候因为临时路径里没有数据库,所以容器内的mysql会自己初始化一个,然后进容器系统,把之前mysqldump导出的数据库,挨个导入进去,用户root的密码也是root,后续需要输入的。

接着,要创建用户和分配权限,用这一行命令:

for database in {ccnet_db,seafile_db,seahub_db}; do /usr/bin/mysql -e "grant all on ${database}.* to 'seafile'@'%.%.%.%' identified by '467fa02f-bf9a-4afb-9300-c4683073162a';"; done

然后你就可以停掉docker-compose的数据库了,把/tmp/seafile-mysql/db 拷贝到你的工作目录,比如 /opt/seafile-mysql

第二个问题,这个问题就比较无语了,官方的docker里面,居然没有python,在升级时就会报错:Can’t find a python executable of version 2.7 or above in PATH

你在宿主机怎么安装python都没用,因为都是跑docker的,所以你得自己制作一下官方镜像,方法也比较简单,如下:

编辑Dockerfile,在里面写下以下内容:
FROM seafileltd/seafile-mc:latest
RUN apt-get update && apt-get upgrade -y && apt-get install -y python python-configparser

然后执行 docker build -t seafile-mc . (末尾有英文半角符号句号)

等待片刻,完成后修改官方的docker-compose.yml,把里面的官方镜像换成 seafile-mc:latest

完成以上步骤,就可以升级了。

Categories
Review

群英华南高防电信云主机测评

最近在找国内的云主机,刚好今天在TG上看到这个,群英在广西南宁的云产品,华南高防电信,推广时是1核1G内存50M带宽 不限流量,月付40元。但是最新上去看,已经涨价到52元了。

不过建议购买时直接选2核2G内存的比较划算,56元。欢迎走我的推广链接购买:https://www.qy.cn/u/210612

本款直接购买链接:https://www.qy.cn/qyCloud/buy.html?line_id=36&cpu=2&rams=2,购买使用需要实名,需要手持身份证,绑定域名需要机房白名单。

使用LemonBench简单测试了一下

Categories
Networks

Golang轻量安全的去中心化的隧道软件:LCVPN

via: https://github.com/kanocz/lcvpn

轻量安全的隧道软件,移步Github: https://github.com/kanocz/lcvpn

这类去中心化的组网方式,都是使用UDP进行信息交换和通信,TCP反倒不适合,之前介绍过的vpncloud、n2n、tiny-vpn、tinc-vpn、freelan,在内部组网时有奇效。

Categories
Review

Justhost.ru第五个机房,伯力二号机房评测

服务器位于俄罗斯远东,哈巴罗夫斯克边疆区,也称伯力。最近一两年伯力机房的云主机和服务器业务增长迅速,主要是地理位置靠近中国大陆,国内电信和联通过去的路由是直连,但联通的稳定性更高(电信、移动用户劝退),大部分时间都可以跑满带宽峰值,而且价格相对国内的云主机来说是很低廉的,月付款折合人民币十块钱左右,所以受到国内用户的追捧。

这次Justhost放出第二个伯力机房的信息,价格还是维持在之前的价格,官方声称是面向的是国内客户和亚洲客户。

LG如下,我测试下来还是不如G-core的,有需要就去看看吧。

5 locations:

Categories
Networks

DirectAdmin后台安装[LiteSpeed控制插件]

本文为DirectAdmin面板如何使用OpenLiteSpeed系列的第四章:
第一章:DirectAdmin面板如何使用OpenLiteSpeed替代默认的Apache
第二章:如果OpenLiteSpeed使用了CloudFlare等CDN如何显示访客的真实IP
第三章:使用OpenLiteSpeed后如何开启HTTP/2 / HTTP/3 / SPDY / QUIC的支持
第四章:DirectAdmin后台安装[LiteSpeed控制插件]一键安装缓存插件

Categories
Networks

OpenLiteSpeed开启HTTP/2 / HTTP/3 / SPDY / QUIC的支持

本文为DirectAdmin面板如何使用OpenLiteSpeed系列的第三章:
第一章:DirectAdmin面板如何使用OpenLiteSpeed替代默认的Apache
第二章:如果OpenLiteSpeed使用了CloudFlare等CDN如何显示访客的真实IP
第三章:使用OpenLiteSpeed后如何开启HTTP/2 / HTTP/3 / SPDY / QUIC的支持
第四章:DirectAdmin后台安装[LiteSpeed控制插件]一键安装缓存插件

开源版的OpenLiteSpeed(OLS)与商业版一样,现在已经完全支持现有的HTTP/ HTTP/2 / HTTP/3 / SPDY / QUIC协议,这些新协议给大家带来的好处就是打开网页速度越来越快,许多网页都能秒开。

Categories
Networks

OpenLiteSpeed使用CloudFlare等CDN如何显示访客的真实IP

本文为DirectAdmin面板如何使用OpenLiteSpeed系列的第二章:

第一章:DirectAdmin面板如何使用OpenLiteSpeed替代默认的Apache
第二章:如果OpenLiteSpeed使用了CloudFlare等CDN如何显示访客的真实IP
第三章:使用OpenLiteSpeed后如何开启HTTP/2 / HTTP/3 / SPDY / QUIC的支持
第四章:DirectAdmin后台安装[LiteSpeed控制插件]一键安装缓存插件

跟Apache一样,OpenLiteSpeed(以下简称OLS)也需要将CloudFlare的ip库设置在OLS的配置文件中以后,才可以获取到访客的真实IP,否则只能在日志里面看到一堆CF的IP。

根据OLS官网的文章首先要开启“Use Client IP in Header”功能,并且将CloudFlare的IP地址加入可信地址库后即可正确识别真实访客的IP地址,与Apache的“RemoteIPInternalProxy”功能如出一辙。如果是独立安装不使用cPanel或者DirectAdmin之类的控制面板的话,可以直接按照官方的提示进行操作即可。

Categories
Networks

DirectAdmin面板如何使用OpenLiteSpeed替代默认的Apache

DA面板安装OpenLiteSpeed替代默认的Apache

预计将写成一个系列文章,本文为此系列的第一章:
第一章:DirectAdmin面板如何使用OpenLiteSpeed替代默认的Apache
第二章:如果OpenLiteSpeed使用了CloudFlare等CDN如何显示访客的真实IP
第三章:使用OpenLiteSpeed后如何开启HTTP/2 / HTTP/3 / SPDY / QUIC的支持
第四章:DirectAdmin后台安装[LiteSpeed控制插件]一键安装缓存插件

首先普及下OpenLiteSpeed(以下简称OLS)相关知识,OLS是LiteSpeed Technologies Inc.出品的一款开源的网页服务器,该公司出品的商业版Web服务器LiteSpeed Web Server, Enterprise edition(简称LSWS)性能超强,在各种测试和实际使用中都是几乎都是地表最强的存在,以最常见的WordPress平台为例,使用LSWS服务器并且开启他们专门针对WP开发的缓存优化插件LSCache for WP后,每秒处理能力远超其他插件,如下图:

Categories
Networks

分享一个点对点隧道软件:vpncloud

Linux下的隧道(打洞)软件非常多,大部分隧道软件建立成功之后,是创建了类似C/S架构的点对点的通信,也就是会有服务器和客户端的区别,下个设备再进来,也一样这样创建。

如果你需要创建类似zerotier这样的虚拟局域网,那么你就应该看看这个隧道软件,它是开源的,名字叫做vpncloud。

功能和优点,文档之类的,你们直接去看官网的说明好了:https://vpncloud.ddswd.de

它的原理跟MPLS、VXLAN差不多,vpncloud也是通过源MAC地址学习,将虚机的MAC和VTEP的IP地址关联,理论上也能支持多播(multicast),但是官方并没有特别说明多播,你得自己多测试一下。那么对我来说,MPLS、VXLAN、VPNCLOUD他们最大的优点是去中心化(decentralize)的虚拟组网,多个设备接入后,可以互相通信而不需要经过所谓的主服务器节点,这样就能符合虚拟局域网的需求。

有中心节点的隧道技术有:pptp、gre、ipsec/ike、gre over ipsec、ipip、openvpn、l2tp、wireguard、ocserv等等

去中心化节点的隧道技术有:n2n、zerotier、zeronet、vpncloud、tinc-vpn、freelan

——————– 分割线 ——————–

我已经在我的生产环境中用了接近两年,非常稳定。我需要把我的几个服务器/vps放在一个子网内,以规避一些问题。

Categories
Networks

VPS虚拟机如何自建“iplc”

如果你只有VPS,无法创建虚拟机出来,还有没有办法使用隧道落地的方式自建伪“iplc”呢?

有的。用docker就好,没必要开小鸡了

你要做的是:

1. 找个国内网络还不错的vps,比如你就任性开个ecs按流量计费,把口子拉满,这个跑docker
2. 国外落地用的服务器或vps,不用跑docker
3. 给两边建立wireguard隧道,你用其他隧道也行,你能打通就好
4. 国内vps安装docker,并新建一个network单独给容器用,不用默认的docker0的侨接网络
5. 策略路由到你刚刚新建的docker network

前面3个步骤不用说了。那docker怎么玩?我这里就直接用命令行,没安装面板了。

1. 安装docker,用一键方式最靠谱,国内建议用阿里云的mirrors

curl -fsSL https://get.docker.com | bash -s docker –mirror Aliyun

2. 创建docker网络

docker network create nat

创建完注意看一下这个网络的ip段

docker network inspect nat