安装Matrix系统(Riot.im)的服务端Synapse

第四十条 中华人民共和国公民的通信自由和通信秘密受法律的保护。
——《中华人民共和国宪法》

最近微信QQ封的越来越多了……真要说喜欢在网上胡说八道的封了就封了吧,我室友讨论了一晚上高数问题第二天QQ就被封了,这个老好人说他乱发表言论我都不信,更别说他自己都不知道为啥……所以一个真正自有可控的聊天软件已经成为了一个需求。无意中了解到了Matrix系统,可以利用自有VPS安装服务端软件Synapse实现个人聊天服务器并通过多端的客户端软件连接,并且设置后可以以服务器作为代理连接所有Matrix服务器,反正已经有了一个网站服务器,就顺道玩玩吧。
可是这个安装真的是……一言难尽。在我的研究之下也没完全弄明白基于系统的安装方法,而基于pip的安装又各种问题……这里记录一下我基于系统软件安装的实现方法。

本人才疏学浅,欢迎各位用过的大佬提出更好的方案,指正本人的错误。

环境

Debian 9 ;已安装宝塔和Oneindex;在Root用户下进行操作。

安装Synapse

Synapse是Matrix官方做的示例服务端,也是现在最推荐的客户端,这是官方的安装文档,两种方法写的很凌乱……这里我以Debian为例写一下大概的步骤。

1.安装Python环境

apt-get install build-essential python3-dev libffi-dev \
                     python3-pip python3-setuptools sqlite3 \
                     libssl-dev python3-virtualenv libjpeg-dev libxslt1-dev

2.安装Synapse软件

根据官方推荐,这里添加了Matrix的安装源来安装最新版的Matrix。以下指令建议一个个录入来确保都能正确执行。

apt install -y lsb-release wget apt-transport-https
wget -O /usr/share/keyrings/matrix-org-archive-keyring.gpg https://packages.matrix.org/debian/matrix-org-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/matrix-org-archive-keyring.gpg] https://packages.matrix.org/debian/ $(lsb_release -cs) main" |
    tee /etc/apt/sources.list.d/matrix-org.list
apt update
apt install matrix-synapse-py3

中间会提示以下两个界面,第一个问你服务器名称瞎写把,反正你不用这个服务器(下面会说),另一个问你是否愿意帮助他们,我们这么热心善良当然选否啊(滑稽)

设定服务器名称
是否帮助改进产品

安装好之后会自动运行服务器,如果是本机就可以访问http://localhost:8008来检查软件是否安装好了,vps吗……待会儿再说。

配置Synapse

我虽然知道这样安装之后会在/etc/matrix-synapse/homeserver.yaml生成配置文件,但我根本无法用官方文档里面的方法关闭这个服务器,更别提更新配置文件了。而且不更新配置文件的这玩意不是不好用,是没法用!所以我用了个技巧绕过了官方的服务器。如果谁知道这种方法安装的服务器怎么操作请务必告诉我。

1.为新的服务器文件创建文件夹

这里可以按照自己喜好来操作

mkdir synapse
cd synapse
# /root/synapse/

2.创建一套配置文件

/opt/venvs/matrix-synapse/bin/python -B -m synapse.app.homeserver -c homeserver.yaml --generate-config --server-name=takuron.top --report-stats=no

其中server-name按照官方要求是需要填写自己的域名的,这样才能正确的接入Matrix网络。不过如果是个人服务器的话其实可以随意写,第四个不知道是什么貌似也和接入Matrix网络有关,选no就好。

这会儿就可以启动服务器了,但在此之前需要一些配置。

3.必须的配置

打开主配置文件homeserver.yaml,首先在207行:

#line 207-215
  - port: 8009
    tls: false
    type: http
    x_forwarded: true
    bind_addresses: ['::1', '127.0.0.1']

    resources:
      - names: [client, federation]
        compress: false

将端口改成8008以外的数,因为我们还没能成功关掉自带的服务器,这里曲线救国再建一个不同端口的服务器(反正默认都只能本地访问)

然后在862行:

enable_registration: true

开启注册(如果私有服务器,回头记着关,我是懒得一个个添加账号的,不如组织注册完后关掉注册)

然后在对应目录执行指令,启动服务器,我们的服务器就建立起来了。

synctl start

4.可选的配置

下次一定

配置反向代理

你会发现,上一步建立的服务器是没办法直接用ip+端口打开的,因为官方默认建立的就是本地服务器,虽然有直接把服务器暴露给网络的设置,但我们可以使用反向代理的方法,像网站一样管理服务器。这不是我的小聪明,这是官方推荐的做法,如果你没有宝塔,你可以按照官方文档来用普通的网站软件来解决问题,记得把默认的8008端口改成你的端口。这里我简单写写宝塔的配置方法。

新建一个网站,纯静态就可以,绑定好域名然后找网页设置-反向代理,按照底下图片的设置就好了,记得修改端口为你自己的端口

宝塔面板设置反向代理

提交,看看外网访问是不是这个界面:

可访问界面

是的话大功告成。

客户端连接

客户端足够多是我选择Matrix的重要原因,这里有可供连接的客户端的列表,个人觉得其中Riot.im的客户端都已足够优秀并且支持足够多的平台,随便下载一个,将服务器设置为你的域名对应的网址(开TSL记得用https),然后就可以开始私有聊天了。

总结

软件写得好,不如软件文档写得好。
——鲁迅

软件文档引发的惨案……软件是好东西但文档真的人类迷惑搞得我转了半天在研究出这个不是方法的方法。不过有一说一,一整天解决了我和小伙伴的通信隐私问题,也算是目前情况下的一种收获吧。愿自由技术永远引导人类发展。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 196,099评论 5 462
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,473评论 2 373
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 143,229评论 0 325
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,570评论 1 267
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,427评论 5 358
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,335评论 1 273
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,737评论 3 386
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,392评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,693评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,730评论 2 312
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,512评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,349评论 3 314
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,750评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,017评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,290评论 1 251
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,706评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,904评论 2 335

推荐阅读更多精彩内容

  • 端口:0 服务:Reserved 说明:通常用于分析操作系统。这一方法能够工作是因为在一些系统中“0”是无效端口,...
    萧玄辞阅读 1,154评论 0 2
  • feisky云计算、虚拟化与Linux技术笔记posts - 1014, comments - 298, trac...
    不排版阅读 3,800评论 0 5
  • 2018-05-16 不与众生 已关注 2018-05-16 16:07 · 字数 558 · 阅读 2 · 日记...
    liangzhen梁振阅读 264评论 0 0
  • 单元格填充 右下角十为填充柄 移动单元格 中心左键按住拖 c七rL十右下角十 预定义文字填充 第一季度 创建 ...
    91549859b3fa阅读 227评论 0 0
  • 【日精进打卡第47天】 【知~学习】 《六项精进》1遍 共 47遍 《大学》1遍 共 47遍 【经典名句分享】 福...
    李耀良阅读 131评论 0 0