Table of contents
- راهاندازی سرور ماتریکس، گام به گام
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
راهاندازی سرور ماتریکس، گام به گام
این راهنما از یک سرور خالی و یک دامنه آغاز میشود و در پایان، یک سرور ماتریکس کامل خواهید داشت شامل:
- خودِ هومسرور: Synapse،
- دو برنامهی تحت وب برای گفتگو: Element و Sable،
- برای تماس صوتی و تصویری: Element Call و Coturn،
- پنل مدیریت در مرورگر: Ketesa،
- پشتیبانگیری خودکار و هشدار هنگام بروز مشکل.
کل این فرایند حدود یک ساعت طول میکشد که بیشتر آن صرف انتظار برای نصب میشود. نیازی به آشنایی با ماتریکس، داکر یا Ansible نیست: interzone پرسشهایی از شما میپرسد و باقی کارها را خودش انجام میدهد.
اگر اینترنت بینالملل در محل سرور شما قطع است، ابتدا این راهنما را بخوانید و سپس به حالت قطعی مراجعه کنید.
۱. پیشنیازها
- یک سرور (VPS) با Debian 12 یا Ubuntu 22.04/24.04، با دستکم ۲ گیگابایت حافظهی RAM و ۲۰ گیگابایت دیسک. آنچه در این راهنما نصب میشود حدود ۱٫۹ گیگابایت حافظه و ۸ گیگابایت دیسک نیاز دارد؛ هرچه بیشتر، بهتر.
- یک دامنه که بتوانید برای آن رکورد DNS بسازید، برای نمونه
example.org. شناسهی کاربران شما چیزی شبیه@alice:example.orgخواهد بود. - رایانهی خودتان با لینوکس یا مک (یا ویندوز با WSL، یا تلفن همراه با
Termux). interzone روی همین رایانه اجرا میشود و سرور را از طریق SSH راهاندازی
میکند. تنها به
gitوsshوpython3نیاز دارد؛ Ansible را خودش نصب میکند.
در سراسر این راهنما، دامنه example.org و نشانی سرور 192.0.2.1 است. مقادیر
مربوط به خودتان را به جای آنها قرار دهید.
۲. ورود به سرور با کلید SSH
خودِ interzone با کلید وارد سرور میشود، نه با گذرواژه. اگر هنوز کلیدی ندارید، روی رایانهی خود یکی بسازید و آن را به سرور بفرستید:
ssh-keygen -t ed25519 # press enter at each question
ssh-copy-id root@192.0.2.1 # asks for the server's password one last time
ssh root@192.0.2.1 true && echo ok
اگر خط آخر ok را چاپ کرد، همه چیز آماده است. اگر با root وارد نمیشوید،
نام کاربری خود را به کار ببرید؛ interzone گذرواژهی sudo آن را از شما میپرسد.
۳. دریافت interzone
curl -fLo interzone https://itsjustadream.g0th.ir/vvvomit/interzone/releases/download/latest/interzone-linux-amd64
chmod +x interzone
./interzone
اگر رایانهی شما ARM است (رزبریپای یا مک با لینوکس)، فایل
interzone-linux-arm64 را دریافت کنید. همین فایلها در
گیتهاب نیز موجود
است. برای بهروزرسانیهای بعدی از ./interzone self-update استفاده کنید.
صفحهی خوشامد نمایش داده میشود. برای شروع enter را بزنید.
راهنمای حرکت: با
↑↓جابهجا میشوید، با←→گزینه انتخاب میکنید،spaceعلامت میزند،enterبه فیلد بعدی میرود،escبازمیگردد و?همهی کلیدهای همان صفحه را نشان میدهد. ماوس نیز کار میکند. باctrl+kو تایپ نام هر صفحه، مستقیم به آن میروید.
۴. مرحلهی Server: محل و روش نصب
۱. دامنه (Base domain): example.org را وارد کنید، نه matrix.example.org؛
پیشوند matrix. را خودش اضافه میکند.
۲. محل نصب (Install where?): با → گزینهی A remote server over SSH را
انتخاب کنید.
۳. نشانی سرور (Server address): آیپی یا نام سرور شما.
۴. کاربر، درگاه و کلید SSH (SSH user، port، private key): اگر گام ۲
را انجام دادهاید، مقادیر پیشفرض (root و 22 و ~/.ssh/id_ed25519)
مناسباند.
۵. گذرواژهی sudo (sudo password): تنها اگر کاربر شما root نیست.
در ادامه بخش Downloads قرار دارد. آن را روی Normal internet نگه دارید، مگر اینکه سرور شما به اینترنت بینالملل دسترسی نداشته باشد؛ در آن صورت به حالت قطعی مراجعه کنید.
سپس بخش HTTPS certificates است. همان Let's Encrypt (رایگان و خودکار) را نگه دارید و یک نشانی ایمیل برای آن وارد کنید؛ Let's Encrypt تنها هنگام نزدیک شدن انقضای گواهی به آن ایمیل میفرستد.
تا پایان فرم enter را بزنید، یا با ctrl+n مستقیم به مرحلهی بعد بروید.
۵. مرحلهی Homeserver: انتخاب پیشتنظیم
در بالای صفحه چند پیشتنظیم آماده وجود دارد. گزینهی Friends & family را انتخاب کنید: این دقیقاً همان چیزی است که در این راهنما لازم داریم. Synapse، Element و Sable، Element Call و Coturn برای تماس، Ketesa، و MAS برای ورود (که برنامهی تلفن همراه Element X به آن نیاز دارد).
اکنون enter را بزنید.
۶. مرحلهی Components: بررسی مؤلفههای انتخابشده
پیشتنظیم شش مؤلفه را انتخاب کرده است. زبانههای بالای صفحه (با ←→ میان
آنها جابهجا شوید) همهی ۶۳ مؤلفهی interzone را دستهبندی کردهاند: بریج به
تلگرام و واتساپ، رباتها، پایش و موارد بسیار دیگر. هر یک توضیح میدهد چه کاری
انجام میدهد و پیوند مستندات آن را دارد. هر زمان بخواهید میتوانید آنها را
اضافه کنید (راهنمای هر یک در مؤلفهها آمده است)؛ فعلاً تغییری
ندهید و enter را بزنید.
۷. مرحلهی Settings: آنچه مؤلفهها نیاز دارند
- حساب مدیر (Your admin account): نام کاربری
adminاست و گذرواژهی آن بهطور خودکار ساخته شده است. برای دیدن آنctrl+rرا بزنید و آن را در جایی یادداشت کنید. این حساب هنگام نصب ساخته میشود و با آن وارد میشوید. - آیپی عمومی (Coturn › Public IP address): آیپی سرور شما، در اینجا
192.0.2.1. - نشانیها (Addresses): محل هر برنامهی تحت وب. مقادیر پیشفرض مناسباند:
element.example.orgوsable.example.orgوcall.element.example.org.
برای رفتن به مرحلهی بعد ctrl+n را بزنید.
۸. رکوردهای DNS و درگاهها
صفحهی Review پیش از نصب، سرور، DNS و درگاهها را بررسی میکند. در نخستین بار، بررسیهای DNS قرمز میشوند، چون هنوز رکوردها را نساختهاید:
با زدن z دقیقاً میبینید چه رکوردهایی باید بسازید؛ با ↑↓ به سمت درگاهها
بروید:
۱. در پنل DNS دامنهی خود، برای هر خط یک رکورد A بسازید که به آیپی سرور
اشاره کند: matrix و element و sable و call.element. (فرمان
interzone dns نیز همین را چاپ میکند.)
۲. خودِ example.org باید به https://example.org/.well-known/matrix/server
و /client پاسخ دهد تا سرورها و برنامههای دیگر سرور شما را پیدا کنند. اگر
روی example.org چیز دیگری ندارید، آن را نیز به سرور خود اشاره دهید و در
Components › Core services گزینهی Serve the base domain را انتخاب کنید؛
interzone این فایلها را خودش ارائه میکند. اگر وبسایتی آنجا دارید، باید
همین دو فایل را ارائه کند (فایل docs/configuring-well-known.md در پلیبوک
را ببینید).
۳. دیوار آتش: اگر مرکز دادهی شما جلوی سرور دیوار آتش دارد، درگاههای زیر
Ports a firewall in front must let in را باز کنید.
انتشار DNS چند دقیقه طول میکشد. چند بار c را بزنید تا همهی خطوط علامت سبز ✓
بگیرند.
۹. استقرار
اکنون enter را بزنید. interzone بهطور خلاصه میگوید چه کاری انجام خواهد داد، چه مدت طول میکشد و کدام بررسیها هنوز قرمزند:
برای نصب y را بزنید. (esc به عقب بازمیگردد.)
نخستین نصب ۱۰ تا ۳۰ دقیقه طول میکشد و میتوانید آن را گام به گام دنبال کنید؛
کادر پایینی گزارش خودِ پلیبوک است. اگر در جایی خطا رخ دهد، گزارش علت را
میگوید و گزارش کامل نیز در ~/.config/interzone/last-deploy.log ذخیره میشود.
مشکل را برطرف کنید و برای اجرای دوباره r را بزنید؛ اجرای دوباره زیانی ندارد.
در پایان، interzone همهی سرویسها را آزمایش میکند:
۱۰. ورود
به https://element.example.org بروید، Sign in را بزنید و با
@admin:example.org و گذرواژهای که در گام ۷ یادداشت کردید وارد شوید. یک اتاق
بسازید، کسی را دعوت کنید و یک تماس برقرار کنید تا از کارکرد Element Call مطمئن
شوید. روی تلفن همراه Element X را نصب کنید و با نام سرور example.org وارد
شوید.
پنل مدیریت Ketesa در این نشانی است: https://matrix.example.org/synapse-admin. با همان حساب مدیر وارد شوید و کاربران، اتاقها و فایلها را ببینید و مدیریت کنید.
۱۱. مدیریت سرور
از این پس ./interzone مستقیم صفحهی Manage را باز میکند. هرچه بعداً لازم
داشته باشید اینجاست و هر گزینه یک کلید میانبر دارد:
- ساخت کاربر، Add a user (
a): برای دیگران حساب بسازید. Manage users (m) فهرست آنها را نشان میدهد، گذرواژه را بازنشانی و حساب را غیرفعال میکند. - بهروزرسانی سرور، Update the server (
u): آخرین نسخهی پلیبوک را دریافت و نصب را دوباره اجرا میکند. What's new (n) پیش از آن نشان میدهد بهروزرسانی چه تغییراتی دارد. - داشبورد (Dashboard): بار، حافظه، دیسک، گواهیها و کانتینرها.
پشتیبانگیری
به Backups (s) بروید و Back up the database on a schedule را فعال
کنید. به این ترتیب سرور هر روز، حتی وقتی رایانهی شما خاموش است، از پایگاه داده
نسخهی پشتیبان میگیرد و هفت نسخهی آخر را نگه میدارد. enter را بزنید تا
روی سرور تنظیم شود، و هر از گاهی با ctrl+d نسخههای پشتیبان را به رایانهی
خود منتقل کنید. با Restore a backup (e) نیز میتوانید یکی را بازگردانید.
هشدار
در Alerts (A)، سرور هر ۵ دقیقه خود را بررسی میکند و اگر سرویسی از کار
بیفتد، هومسرور پاسخ ندهد، گواهی رو به انقضا باشد یا دیسک در حال پر شدن باشد،
به شما خبر میدهد؛ پس از رفع مشکل نیز دوباره اطلاع میدهد.
برای دریافت هشدارها در یک اتاق ماتریکس:
۱. در Element یک حساب برای هشدارها بسازید (یا از حساب خودتان استفاده کنید)،
اتاقی مانند #alerts:example.org ایجاد کنید و آن حساب را دعوت کنید.
۲. توکن دسترسی حساب را بردارید: در Element به Settings › Help & About ›
Advanced › Access Token بروید. مانند گذرواژه از آن محافظت کنید و به کسی
ندهید.
۳. گزینهی Matrix room را انتخاب کنید، اتاق و توکن را وارد کنید و enter
را بزنید. ابتدا یک پیام آزمایشی میرسد.
اگر تلفن همراه را ترجیح میدهید، Plain text را انتخاب کنید و نشانی یک موضوع ntfy را در Send them to وارد کنید.
به مشکل برخوردید؟ برای دیدن همهی کلیدها ? را بزنید، گزارش
~/.config/interzone/last-deploy.log را بررسی کنید، یا در اتاق انجمن که در
README آمده است
بپرسید.
















