Home | 简体中文 | 繁体中文 | 杂文 | Github | 知乎专栏 | 51CTO学院 | CSDN程序员研修院 | OSChina 博客 | 腾讯云社区 | 阿里云栖社区 | Facebook | Linkedin | Youtube | 打赏(Donations) | About
知乎专栏多维度架构

第 28 章 即时通信

目录

28.1. Matrix
28.1.1. Synapse
28.2. IRC - Internet Relay Chat
28.2.1. IRC Protcol
28.2.2. IRC Commands
28.2.3. ircd-irc2 - The original IRCNet IRC server daemon
28.2.4. ircd-hybrid
28.2.5. IRC Client
28.2.6. Web IRC
28.3. jabber XMPP
28.3.1. ejabberd - Distributed, fault-tolerant Jabber/XMPP server written in Erlang
28.3.2. tigase
28.3.3. Openfire
28.3.4. DJabberd
28.3.5. freetalk - A console based Jabber client
28.3.6. library
28.4. News Group (innd)
28.4.1. Ubuntu
28.4.2. CentOS
28.4.3. User Authentication
28.4.4. usenet 管理
28.4.5. 通过SSL连接
28.4.6. src.rpm 安装
28.4.7. 常用新闻组

28.1. Matrix

28.1.1. Synapse

Docker 安装

https://github.com/matrix-org/synapse/tree/master/docker

			
docker run -it --rm \
    --mount type=volume,src=synapse-data,dst=/data \
    -e SYNAPSE_SERVER_NAME=chat.netkiller.cn \
    -e SYNAPSE_REPORT_STATS=yes \
    matrixdotorg/synapse:latest generate
    
docker run -d --name synapse \
    --mount type=volume,src=synapse-data,dst=/data \
    -p 8008:8008 \
    matrixdotorg/synapse:latest
    
[root@netkiller ~]# docker logs synapse
			
			

创建用户

			
[root@netkiller ~]# docker exec -it synapse register_new_matrix_user http://localhost:8008 -c /data/homeserver.yaml
New user localpart [root]: 
Password: 
Confirm password: 
Make admin [no]: yes
Sending registration request...
Success!

[root@netkiller ~]# docker exec -it synapse register_new_matrix_user http://localhost:8008 -c /data/homeserver.yaml
New user localpart [root]: neo
Password: 
Confirm password: 
Make admin [no]: 
Sending registration request...
Success!

[root@netkiller ~]# docker exec -it synapse register_new_matrix_user http://localhost:8008 -c /data/homeserver.yaml
New user localpart [root]: netkiller
Password: 
Confirm password: 
Make admin [no]: 
Sending registration request...
Success!
			
			
挂载 SSL 证书

使用 Caddy Web 服务器挂载免费 SSL 证书

			
[root@netkiller ~]# cat /etc/caddy/Caddyfile
chat.netkiller.cn:80 {
	respond /.well-known/acme-challenge/h27fzgPCxW9Kmhcd9af3YPwuYFCizmZZ_JLvoCeNSQ4 "h27fzgPCxW9Kmhcd9af3YPwuYFCizmZZ_JLvoCeNSQ4.sD2SO-myCgf0JjzYqkA9LA3nN9Pau98bk_fmlBWmzII" 200
}
chat.netkiller.cn {
	# reverse_proxy 127.0.0.1:8008
	#reverse_proxy /_matrix/*  {
    #		to 127.0.0.1:8008
	#}

	reverse_proxy /_matrix/* http://localhost:8008
	reverse_proxy /_synapse/client/* http://localhost:8008
}