คำตอบแบบสั้น
ฉันจะติดตั้งเซิร์ฟเวอร์ Matrix บน VPS ได้อย่างไร?
หากต้องการโฮสต์เซิร์ฟเวอร์ Matrix บน VPS ให้ติดตั้ง Synapse จากที่เก็บ apt ของ Matrix.org ตั้งฐานข้อมูล PostgreSQL ให้ แล้ววาง reverse proxy HTTPS ที่พอร์ต 443 ไว้หน้าพอร์ต 8008 ของมัน แพ็กเกจ Gloam ของ Gloamport ที่ 2 vCPU, 4 GB RAM, 80 GB NVMe, 4 TB traffic ต่อเดือนเมื่อสมัคร 12 เดือน ($8.25) มีขนาดเหมาะกับงานนี้
การติดตั้ง Synapse ประกอบด้วยอะไรบ้าง?
| ส่วน | การตั้งค่า | เหตุผล |
|---|---|---|
| ชื่อเซิร์ฟเวอร์ | โดเมนที่ใช้ในรหัสผู้ใช้ เช่น example.com ไม่สามารถเปลี่ยนภายหลังได้ | ตัวตนสำหรับการเชื่อมต่อกับเซิร์ฟเวอร์อื่น (federation) |
| แพ็กเกจ | matrix-synapse-py3 จาก packages.matrix.org | แพ็กเกจของ Debian เองไม่มีให้ใช้กับ Debian 13 และรุ่นก่อนหน้า |
| การแทนที่ค่าตั้งค่า | /etc/matrix-synapse/conf.d/ | การอัปเกรดแพ็กเกจจะไม่ถามให้แทนที่ไฟล์ตั้งค่าของคุณ |
| ตัวรับฟังสำหรับไคลเอนต์และ federation | HTTP ที่ localhost:8008 อยู่หลัง proxy | proxy เป็นผู้ยุติ HTTPS |
| ฐานข้อมูล | PostgreSQL (psycopg2) | เอกสารระบุว่า SQLite ใช้ได้เฉพาะสำหรับการทดสอบ |
| พอร์ต | 443 สำหรับไคลเอนต์ และ 8448 สำหรับ federation เว้นแต่จะมอบหมายให้ใช้ 443 | ทั้งสองพอร์ตต้องเข้าถึงได้จากอินเทอร์เน็ต |
| แพ็กเกจ | Gloam: 2 vCPU, 4 GB RAM, 80 GB NVMe, 4 TB traffic | รายการแพ็กเกจของ Gloamport |
ตรวจสอบราคาเมื่อ
ก่อนติดตั้งเซิร์ฟเวอร์ Matrix คุณต้องมีอะไรบ้าง?
คุณต้องมีชื่อโดเมนที่คุณควบคุมได้ และ VPS ที่มีที่อยู่ IPv4 สาธารณะ โดเมนสำคัญกว่าเซิร์ฟเวอร์: เอกสารของ Synapse ระบุว่าชื่อเซิร์ฟเวอร์คือส่วนโดเมนของรหัสผู้ใช้ทุกราย และไม่สามารถเปลี่ยนได้ภายหลัง จึงควรเลือกก่อนติดตั้ง
VPS ของ Gloamport ทุกแพ็กเกจมาพร้อม IPv4 หนึ่งที่อยู่และ IPv6 /64 ดังนั้นระเบียน DNS ชี้มาที่มันได้โดยตรง โดเมนไม่ได้ขายที่นี่ ให้ซื้อจากที่ที่คุณชอบ แล้วสร้างระเบียน A สำหรับชื่อโฮสต์ที่คุณจะใช้ รองรับ Linux เท่านั้น: อิมเมจ Debian, Ubuntu, AlmaLinux และ Rocky Linux ไม่มี Windows ให้เผื่อเวลาประมาณหนึ่งชั่วโมงสำหรับ DNS และใบรับรอง นอกเหนือจากการติดตั้งเอง
วิธีติดตั้ง Synapse บน Debian 13 หรือ Ubuntu 24.04
คำสั่งทำตามเอกสารทางการของ Synapse รันในฐานะ root หรือด้วย sudo
ชี้ DNS มายัง VPS
สร้างระเบียน A สำหรับ matrix.example.com ด้วยที่อยู่ของ VPS (และระเบียน AAAA หากคุณใช้ IPv6) รอจนชื่อนี้ resolve ได้ก่อนขอใบรับรอง
เพิ่มที่เก็บ apt ของ Matrix.org
ดาวน์โหลดคีย์สำหรับการลงนาม เพิ่มบรรทัดของที่เก็บ แล้วรัน apt update ตามบล็อกโค้ดแรก เอกสารให้ลายนิ้วมือของคีย์เป็น AAF9AE843A7584B5A3E4CD2BCF45A512DE2DA058 เปรียบเทียบด้วย gpg ก่อนที่คุณจะเชื่อถือคีย์
ติดตั้ง matrix-synapse-py3
รัน apt install matrix-synapse-py3 แล้วตั้งชื่อเซิร์ฟเวอร์เมื่อถูกถาม เปลี่ยนการตั้งค่าได้เฉพาะผ่านไฟล์ใน /etc/matrix-synapse/conf.d/
สร้างฐานข้อมูล PostgreSQL
ติดตั้ง PostgreSQL และไลบรารี libpq5 จากนั้นสร้างผู้ใช้และฐานข้อมูลด้วยคำสั่งในบล็อกโค้ดที่สอง แล้วชี้ Synapse ไปยังฐานข้อมูลด้วยบล็อก database ที่แสดงไว้ที่นั่น
วาง reverse proxy ไว้ด้านหน้า
ติดตั้งเว็บเซิร์ฟเวอร์ ขอใบรับรองสำหรับชื่อโฮสต์ แล้วส่งต่อ /_matrix และ /_synapse/client ไปยัง localhost:8008 ตามบล็อกโค้ดที่สาม และตั้ง x_forwarded: true บน listener ของพอร์ต 8008
สร้างผู้ใช้ของคุณและทดสอบ
ตั้ง registration_shared_secret รีสตาร์ต Synapse รัน register_new_matrix_user แล้วลงชื่อเข้าใช้จากไคลเอนต์ Matrix ด้วยที่อยู่ homeserver ของคุณ
sudo apt install -y lsb-release wget apt-transport-https
sudo 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" |
sudo tee /etc/apt/sources.list.d/matrix-org.list
sudo apt update
sudo apt install matrix-synapse-py3sudo apt install postgresql libpq5
sudo -u postgres createuser --pwprompt synapse_user
sudo -u postgres createdb --encoding=UTF8 --locale=C --template=template0 --owner=synapse_user synapse
# /etc/matrix-synapse/conf.d/database.yaml
database:
name: psycopg2
args:
user: synapse_user
password: CHANGE_ME
dbname: synapse
host: localhost
cp_min: 5
cp_max: 10# nginx: inside a server block that listens on 443 ssl for matrix.example.com
location ~ ^(/_matrix|/_synapse/client) {
proxy_pass http://localhost:8008;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
client_max_body_size 50M;
}
# Synapse listener on port 8008, in homeserver.yaml or a conf.d file
listeners:
- port: 8008
type: http
x_forwarded: true
bind_addresses: ['127.0.0.1']
resources:
- names: [client, federation]# conf.d/registration.yaml (a random value, kept secret)
registration_shared_secret: "RANDOM_VALUE"
sudo systemctl restart matrix-synapse
register_new_matrix_user -c /etc/matrix-synapse/homeserver.yamlเซิร์ฟเวอร์ homeserver ของ Matrix ต้องการเครื่องขนาดเท่าไร?
homeserver ส่วนตัวสำหรับคนไม่กี่คนพอดีกับแพ็กเกจขนาดกลาง ที่ทำให้ภาระเพิ่มขึ้นคือ federation เข้าห้องสาธารณะขนาดใหญ่ เรายังไม่ได้ทดสอบประสิทธิภาพของ Synapse และไม่ให้ตัวเลขจำนวนผู้ใช้ Gloamport ระบุ Gloam เป็นแพ็กเกจสำหรับ เซิร์ฟเวอร์ Matrix, Vaultwarden และ SearXNG รวมกัน: 2 vCPU, 4 GB RAM, 80 GB NVMe, 4 TB traffic, $8.25 ต่อเดือนเมื่อสมัคร 12 เดือน และ $16.50 เมื่อสมัครรายเดือน
สำหรับแชททีมที่มีห้องจำนวนมาก Night (4 vCPU, 8 GB RAM, 160 GB NVMe, 8 TB traffic, $13.50 ต่อเดือนเมื่อสมัคร 12 เดือน) เป็นแพ็กเกจที่แนะนำสำหรับ รีเลย์ที่มีการใช้งานหนัก เซิร์ฟเวอร์แชททีม หรือหลายบริการ
federation ต้องใช้พอร์ต 8448 หรือไม่?
ไม่จำเป็น federation ทำงานผ่านพอร์ต 443 ได้หากคุณมอบหมายให้ใช้ หน้า reverse proxy ของ Synapse ระบุว่าเมื่อมอบหมายผ่านการตอบกลับ .well-known/matrix/server คุณไม่จำเป็นต้องเปิดพอร์ต 8448 และ federation จะใช้ 443 หากไม่มีการมอบหมาย พอร์ต federation เริ่มต้นคือ 8448 จึงต้องเปิดพอร์ตนั้นในไฟร์วอลล์ และเพิ่มบล็อกเซิร์ฟเวอร์ที่สองซึ่งฟังที่พอร์ตนั้น
ไคลเอนต์จะค้นหาเซิร์ฟเวอร์ของคุณได้ผ่านไฟล์ /.well-known/matrix/client ที่ https://your-server-name/.well-known/matrix/client ซึ่งระบุ homeserver ใน m.homeserver พร้อม base_url ไคลเอนต์บนเบราว์เซอร์ต้องการ header CORS ด้วย และ public_baseurl ของ Synapse ควรใช้ URL เดียวกัน รันชื่อเซิร์ฟเวอร์บนโดเมนเปล่าเท่านั้นหากคุณให้บริการไฟล์นั้นที่นั่นได้
คุณจะรักษาความปลอดภัยเซิร์ฟเวอร์ Matrix ที่โฮสต์เองอย่างไร?
สำรองคีย์สำหรับการลงนาม ฐานข้อมูล และที่เก็บสื่อ และอัปเดตโฮสต์อยู่เสมอ เอกสารเตือนว่าต้องเก็บคีย์สำหรับการลงนามไว้ เพราะเซิร์ฟเวอร์อื่นพึ่งพามัน ข้อความในห้องที่ไม่มี end-to-end encryption จะอ่านได้ในฐานข้อมูลบน VPS ของคุณ การเข้ารหัสดิสก์จึงควรพิจารณา ฉันเข้ารหัสดิสก์ VPS ด้วย LUKS ได้ไหม? อธิบายว่าการเข้ารหัสดิสก์ปกป้องอะไรได้และอะไรไม่ได้
ไม่มีแพ็กเกจใดรวมการสำรองข้อมูล: ให้เก็บสำเนาของสิ่งที่คุณสูญเสียไม่ได้ไว้เอง ตามการสำรวจของ Gloamport เกี่ยวกับ 10 พฤศจิกายน 2569 มี 28 จาก 49 ผู้ให้บริการที่ไม่ขอเอกสารยืนยันตัวตนตอนสมัคร ดังนั้น VPS จึงซื้อได้โดยไม่ต้องส่งเอกสาร แต่ความปลอดภัยของเซิร์ฟเวอร์ยังเป็นความรับผิดชอบของคุณ: SSH ที่ใช้คีย์เท่านั้น ตาม วิธีทำให้ SSH แข็งแรงบน VPS ใหม่?
สรุป
- Synapse ติดตั้งจาก packages.matrix.org ในชื่อ matrix-synapse-py3
- ชื่อเซิร์ฟเวอร์ถาวร เลือกโดเมนก่อน
- ใช้ PostgreSQL เอกสารระบุว่า SQLite ใช้ได้เฉพาะสำหรับการทดสอบ
- ส่งต่อ /_matrix และ /_synapse/client ไปยัง localhost:8008 ไว้หลัง HTTPS
- การมอบหมายทำให้ federation ใช้พอร์ต 443 แทน 8448 ได้
- Gloam $8.25 ต่อเดือนเมื่อสมัคร 12 เดือน คือแพ็กเกจที่เหมาะสม
- สำรองคีย์สำหรับการลงนาม ฐานข้อมูล และสื่อ ไม่มีแพ็กเกจใดรวมการสำรองข้อมูล
การโฮสต์เซิร์ฟเวอร์ Matrix: คำถามที่พบบ่อย
ฉันต้องมีชื่อโดเมนสำหรับ Matrix หรือไม่?
ต้องมี ชื่อเซิร์ฟเวอร์เป็นส่วนหนึ่งของรหัสผู้ใช้ทุกราย และถูกตั้งตอนติดตั้ง ไม่สามารถเปลี่ยนได้ภายหลัง จึงควรลงทะเบียนหรือเลือกโดเมนก่อนติดตั้ง
ทำไมไม่ใช้ SQLite?
เอกสารของ Synapse ระบุว่า SQLite ใช้ได้เฉพาะสำหรับการทดสอบ และไม่ควรใช้ในการใช้งานจริง การติดตั้งเกือบทั้งหมดควรใช้ PostgreSQL
ฉันจะใส่การตั้งค่าของตัวเองไว้ที่ไหน?
ในไฟล์ภายใต้ /etc/matrix-synapse/conf.d/ เอกสารแนะนำแบบนี้เพื่อไม่ให้การอัปเกรดแพ็กเกจถามว่าจะแทนที่ไฟล์ตั้งค่าของคุณหรือไม่
ฉันจะสร้างบัญชีแรกได้อย่างไร?
รัน register_new_matrix_user -c บนไฟล์ตั้งค่าของ homeserver หลังจาก Synapse ทำงานแล้ว คำสั่งใช้ registration_shared_secret ซึ่งใครก็ตามที่รู้สามารถใช้สร้างบัญชีได้ รวมถึงบัญชีผู้ดูแล
ฉันรัน Matrix คู่กับบริการอื่นได้ไหม?
ได้ บนแพ็กเกจ Gloam หรือใหญ่กว่า Vaultwarden และ SearXNG กินทรัพยากรน้อยเมื่อเทียบกับมัน ดูคู่มือ การโฮสต์ Vaultwarden เอง
แหล่งข้อมูล (3)
- เอกสาร Synapse: คำแนะนำการติดตั้ง — Element / Matrix.org Foundation (checked 2026-11-10)
- เอกสาร Synapse: การใช้ reverse proxy กับ Synapse — Element / Matrix.org Foundation (checked 2026-11-10)
- เอกสาร Synapse: การใช้ Postgres — Element / Matrix.org Foundation (checked 2026-11-10)