安裝Matrix系統(tǒng)(Riot.im)的服務(wù)端Synapse

第四十條 中華人民共和國公民的通信自由和通信秘密受法律的保護。
——《中華人民共和國憲法》

最近微信QQ封的越來越多了……真要說喜歡在網(wǎng)上胡說八道的封了就封了吧咖为,我室友討論了一晚上高數(shù)問題第二天QQ就被封了,這個老好人說他亂發(fā)表言論我都不信端衰,更別說他自己都不知道為啥……所以一個真正自有可控的聊天軟件已經(jīng)成為了一個需求坎炼。無意中了解到了Matrix系統(tǒng),可以利用自有VPS安裝服務(wù)端軟件Synapse實現(xiàn)個人聊天服務(wù)器并通過多端的客戶端軟件連接禁舷,并且設(shè)置后可以以服務(wù)器作為代理連接所有Matrix服務(wù)器彪杉,反正已經(jīng)有了一個網(wǎng)站服務(wù)器,就順道玩玩吧牵咙。
可是這個安裝真的是……一言難盡派近。在我的研究之下也沒完全弄明白基于系統(tǒng)的安裝方法,而基于pip的安裝又各種問題……這里記錄一下我基于系統(tǒng)軟件安裝的實現(xiàn)方法洁桌。

本人才疏學(xué)淺渴丸,歡迎各位用過的大佬提出更好的方案,指正本人的錯誤另凌。

環(huán)境

Debian 9 谱轨;已安裝寶塔和Oneindex;在Root用戶下進行操作吠谢。

安裝Synapse

Synapse是Matrix官方做的示例服務(wù)端土童,也是現(xiàn)在最推薦的客戶端,這是官方的安裝文檔工坊,兩種方法寫的很凌亂……這里我以Debian為例寫一下大概的步驟献汗。

1.安裝Python環(huán)境

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

2.安裝Synapse軟件

根據(jù)官方推薦敢订,這里添加了Matrix的安裝源來安裝最新版的Matrix。以下指令建議一個個錄入來確保都能正確執(zhí)行罢吃。

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

中間會提示以下兩個界面楚午,第一個問你服務(wù)器名稱瞎寫把,反正你不用這個服務(wù)器(下面會說)刃麸,另一個問你是否愿意幫助他們醒叁,我們這么熱心善良當(dāng)然選否啊(滑稽)

設(shè)定服務(wù)器名稱
是否幫助改進產(chǎn)品

安裝好之后會自動運行服務(wù)器泊业,如果是本機就可以訪問http://localhost:8008來檢查軟件是否安裝好了把沼,vps嗎……待會兒再說。

配置Synapse

我雖然知道這樣安裝之后會在/etc/matrix-synapse/homeserver.yaml生成配置文件吁伺,但我根本無法用官方文檔里面的方法關(guān)閉這個服務(wù)器饮睬,更別提更新配置文件了。而且不更新配置文件的這玩意不是不好用篮奄,是沒法用捆愁!所以我用了個技巧繞過了官方的服務(wù)器。如果誰知道這種方法安裝的服務(wù)器怎么操作請務(wù)必告訴我窟却。

1.為新的服務(wù)器文件創(chuàng)建文件夾

這里可以按照自己喜好來操作

mkdir synapse
cd synapse
# /root/synapse/

2.創(chuàng)建一套配置文件

/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網(wǎng)絡(luò)。不過如果是個人服務(wù)器的話其實可以隨意寫夸赫,第四個不知道是什么貌似也和接入Matrix網(wǎng)絡(luò)有關(guān)菩帝,選no就好。

這會兒就可以啟動服務(wù)器了茬腿,但在此之前需要一些配置呼奢。

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以外的數(shù)切平,因為我們還沒能成功關(guān)掉自帶的服務(wù)器握础,這里曲線救國再建一個不同端口的服務(wù)器(反正默認(rèn)都只能本地訪問)

然后在862行:

enable_registration: true

開啟注冊(如果私有服務(wù)器,回頭記著關(guān)悴品,我是懶得一個個添加賬號的禀综,不如組織注冊完后關(guān)掉注冊)

然后在對應(yīng)目錄執(zhí)行指令,啟動服務(wù)器苔严,我們的服務(wù)器就建立起來了菇存。

synctl start

4.可選的配置

下次一定

配置反向代理

你會發(fā)現(xiàn),上一步建立的服務(wù)器是沒辦法直接用ip+端口打開的邦蜜,因為官方默認(rèn)建立的就是本地服務(wù)器,雖然有直接把服務(wù)器暴露給網(wǎng)絡(luò)的設(shè)置亥至,但我們可以使用反向代理的方法悼沈,像網(wǎng)站一樣管理服務(wù)器贱迟。這不是我的小聰明,這是官方推薦的做法絮供,如果你沒有寶塔衣吠,你可以按照官方文檔來用普通的網(wǎng)站軟件來解決問題,記得把默認(rèn)的8008端口改成你的端口壤靶。這里我簡單寫寫寶塔的配置方法缚俏。

新建一個網(wǎng)站,純靜態(tài)就可以贮乳,綁定好域名然后找網(wǎng)頁設(shè)置-反向代理忧换,按照底下圖片的設(shè)置就好了,記得修改端口為你自己的端口向拆。

寶塔面板設(shè)置反向代理

提交亚茬,看看外網(wǎng)訪問是不是這個界面:

可訪問界面

是的話大功告成。

客戶端連接

客戶端足夠多是我選擇Matrix的重要原因浓恳,這里有可供連接的客戶端的列表刹缝,個人覺得其中Riot.im的客戶端都已足夠優(yōu)秀并且支持足夠多的平臺,隨便下載一個颈将,將服務(wù)器設(shè)置為你的域名對應(yīng)的網(wǎng)址(開TSL記得用https)梢夯,然后就可以開始私有聊天了。

總結(jié)

軟件寫得好晴圾,不如軟件文檔寫得好颂砸。
——魯迅

軟件文檔引發(fā)的慘案……軟件是好東西但文檔真的人類迷惑搞得我轉(zhuǎn)了半天在研究出這個不是方法的方法。不過有一說一疑务,一整天解決了我和小伙伴的通信隱私問題沾凄,也算是目前情況下的一種收獲吧。愿自由技術(shù)永遠引導(dǎo)人類發(fā)展知允。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末撒蟀,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子温鸽,更是在濱河造成了極大的恐慌保屯,老刑警劉巖,帶你破解...
    沈念sama閱讀 210,978評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件涤垫,死亡現(xiàn)場離奇詭異姑尺,居然都是意外死亡,警方通過查閱死者的電腦和手機蝠猬,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,954評論 2 384
  • 文/潘曉璐 我一進店門切蟋,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人榆芦,你說我怎么就攤上這事柄粹〈瘢” “怎么了?”我有些...
    開封第一講書人閱讀 156,623評論 0 345
  • 文/不壞的土叔 我叫張陵驻右,是天一觀的道長什黑。 經(jīng)常有香客問我,道長堪夭,這世上最難降的妖魔是什么愕把? 我笑而不...
    開封第一講書人閱讀 56,324評論 1 282
  • 正文 為了忘掉前任,我火速辦了婚禮森爽,結(jié)果婚禮上恨豁,老公的妹妹穿的比我還像新娘。我一直安慰自己拗秘,他們只是感情好圣絮,可當(dāng)我...
    茶點故事閱讀 65,390評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著雕旨,像睡著了一般扮匠。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上凡涩,一...
    開封第一講書人閱讀 49,741評論 1 289
  • 那天棒搜,我揣著相機與錄音,去河邊找鬼活箕。 笑死力麸,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的育韩。 我是一名探鬼主播克蚂,決...
    沈念sama閱讀 38,892評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼筋讨!你這毒婦竟也來了埃叭?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,655評論 0 266
  • 序言:老撾萬榮一對情侶失蹤悉罕,失蹤者是張志新(化名)和其女友劉穎赤屋,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體壁袄,經(jīng)...
    沈念sama閱讀 44,104評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡类早,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了嗜逻。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片涩僻。...
    茶點故事閱讀 38,569評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出逆日,到底是詐尸還是另有隱情恼琼,我是刑警寧澤,帶...
    沈念sama閱讀 34,254評論 4 328
  • 正文 年R本政府宣布屏富,位于F島的核電站,受9級特大地震影響蛙卤,放射性物質(zhì)發(fā)生泄漏狠半。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,834評論 3 312
  • 文/蒙蒙 一颤难、第九天 我趴在偏房一處隱蔽的房頂上張望神年。 院中可真熱鬧,春花似錦行嗤、人聲如沸已日。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,725評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽飘千。三九已至,卻和暖如春栈雳,著一層夾襖步出監(jiān)牢的瞬間护奈,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,950評論 1 264
  • 我被黑心中介騙來泰國打工哥纫, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留霉旗,地道東北人。 一個月前我還...
    沈念sama閱讀 46,260評論 2 360
  • 正文 我出身青樓蛀骇,卻偏偏與公主長得像厌秒,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子擅憔,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,446評論 2 348

推薦閱讀更多精彩內(nèi)容

  • 端口:0 服務(wù):Reserved 說明:通常用于分析操作系統(tǒng)鸵闪。這一方法能夠工作是因為在一些系統(tǒng)中“0”是無效端口,...
    蕭玄辭閱讀 1,170評論 0 2
  • feisky云計算雕欺、虛擬化與Linux技術(shù)筆記posts - 1014, comments - 298, trac...
    不排版閱讀 3,827評論 0 5
  • 2018-05-16 不與眾生 已關(guān)注 2018-05-16 16:07 · 字?jǐn)?shù) 558 · 閱讀 2 · 日記...
    liangzhen梁振閱讀 268評論 0 0
  • 單元格填充 右下角十為填充柄 移動單元格 中心左鍵按住拖 c七rL十右下角十 預(yù)定義文字填充 第一季度 創(chuàng)建 ...
    91549859b3fa閱讀 228評論 0 0
  • 【日精進打卡第47天】 【知~學(xué)習(xí)】 《六項精進》1遍 共 47遍 《大學(xué)》1遍 共 47遍 【經(jīng)典名句分享】 福...
    李耀良閱讀 132評論 0 0