Mastodon به یک جایگزین محبوب برای سیستم عامل های رسانه های اجتماعی سنتی تبدیل شده است. به عنوان یک شبکه اجتماعی غیرمتمرکز و منبع باز، کاربران را قادر می سازد تا سرورهای خود را راه اندازی کنند و به آنها کنترل کامل برای شخصی سازی تجربه رسانه های اجتماعی خود را می دهد.

در این مقاله روش راه اندازی سرور Mastodon را یاد خواهید گرفت روی یک سرور خصوصی مجازی (VPS)، از ایجاد یک سرور SMTP تا دانلود نصب کننده Mastodon و دعوت از کاربران برای پیوستن به نمونه شما.

در پایان این راهنما، سرور Mastodon خود را راه‌اندازی و راه‌اندازی خواهید کرد و آماده ارتباط با جامعه خود هستید.

پیش نیازها

به host یک سرور Mastodon، شما باید چند جزء کلیدی را آماده کنید.

اول از همه، شما به یک VPS لینوکس در حال اجرا نیاز دارید روی اوبونتو 22.04 یا دبیان 11. در حالی که چندین ارائه دهنده هاست در دسترس هستند، یک مورد قابل اعتماد را برای عملکرد بهینه سرور انتخاب کنید.

هاستینگerسرویس VPS یک انتخاب عالی برای نصب سرور Mastodon است. با تا 8 هسته های CPU، 32 گیگابایت رم و 400 گیگابایت از فضای دیسک، سخت افزار قدرتمندی را برای رسیدگی به خواسته های سرور Mastodon فراهم می کند.

علاوه بر این، برنامه های میزبانی VPS ما به شما اعطا می کند root دسترسی داشته باشید تا بتوانید سرور خود را متناسب با نیازهای خاص خود سفارشی کنید. تنها با چند کلیک می توانید توزیع های مختلف لینوکس از جمله نسخه های مختلف اوبونتو و دبیان را نصب کنید.

هاستینگer VPS اقدامات امنیتی پیشرفته ای را برای محافظت از سرور شما اجرا می کند، از جمله یک اسکنر بدافزار مجهز به Monarx برای جلوگیری از حملات مخرب و محافظت از فایروال و DDoS برای محافظت از سایت های میزبان شما در برابر ترافیک مشکوک.

VPS ما نیز مقیاس پذیر است. پیشنهاد می کنیم دریافت کنید KVM 2 طرح، که شامل یک CPU دو هسته ای است، 8 گیگابایت رم و 100 گیگابایت ذخیره سازی سپس می‌توانید با رشد سرور Mastodon و نیاز به منابع بیشتر، آن را افزایش دهید.

علاوه بر VPS، به یک نام دامنه نیاز دارید تا افراد بتوانند به راحتی نمونه Mastodon شما را پیدا کنند و به آن بپیوندند. توصیه می کنیم یکی از همان ارائه دهنده را دریافت کنید تا بتوانید VPS و دامنه خود را در یک مکان مدیریت کنید.

اگر دامنه ای را از هاستینگer، آموزش ما را دنبال کنید روی آن را به VPS خود نشان دهید. پس از آن، اطمینان حاصل کنید که رکوردهای DNS در سراسر جهان منتشر می شوند، که می توانید با استفاده از یک ابزار آنلاین مانند آن را تأیید کنید بررسی کننده DNS.

بررسی کننده نام دامنه

فوراً در دسترس بودن نام دامنه را بررسی کنید.



چگونه به host یک سرور Mastodon

با وجود همه پیش نیازها، می توانید راه اندازی نمونه Mastodon را ادامه دهید. برای این آموزش، از VPS در حال اجرا استفاده خواهیم کرد اوبونتو 22.04.

1. یک سرور SMTP رله راه اندازی کنید

سرور SMTP رله یک جزء ضروری برای هر سرور Mastodon است. به طور خودکار ایمیل هایی مانند لینک های تایید را برای کاربران شما ارسال می کند. ما با استفاده از Brevo یک سرور SMTP راه اندازی می کنیم. این یک طرح رایگان برای ارسال حداکثر 300 ایمیل در روز ارائه می دهد.

در اینجا مراحل انجام می شود:

  1. دسترسی به بروو homepage و برای یک حساب کاربری جدید ثبت نام کنید.
  2. پس از ثبت نام، به پروفایل خود در گوشه بالا سمت راست بروید و کلیک کنید فرستنده ها، دامنه ها و IP های اختصاصی.
    • انتخاب کنید فرستنده ها و دنبال کنید onدستورالعمل های صفحه نمایش برای وارد کردن و تأیید آدرس ایمیل خود. این ایمیل برای ارسال ایمیل به کاربران شما استفاده خواهد شد.
    • به طور مشابه، به دامنه ها منوی جهت احراز هویت نام دامنه خود با انجام مراحل ارائه شده.
  1. برو به SMTP و API منو به هر تنظیم SMTP، از جمله سرور، پورت، ورود به سیستم و رمز عبور توجه کنید. اینها برای نصب سرور SMTP ضروری هستند روی اوبونتو
  1. مورد دلخواه خود را باز کنید terminal شبیه ساز، برنامه کلاینت SSH مانند PuTTY یا هاستینگer’s مرورگر terminal برای دسترسی به سرور شما برای هاستینگer مشتریان VPS، اعتبار ورود خود را در hPanel با پیمایش به آن پیدا خواهید کرد VPS → مدیریت → دسترسی SSH.
  1. ماژول های Postfix و SASL را با اجرای دستور زیر نصب کنید:
apt install postfix libsasl2-modules
  1. از شما خواسته می شود پیکربندی نامه را انتخاب کنید. انتخاب کنید سایت اینترنتی با پیمایش با کلیدهای جهت دار، فشار دادن فضا برای انتخاب آن، سپس استفاده کنید Tab برجسته کردن باشه و وارد کنید برای تایید

سپس نام دامنه خود را در قسمت اختصاصی وارد کنید تا نام ایمیل سیستم تنظیم شود.

  1. فایل پیکربندی Postfix را با استفاده از ویرایشگر متن نانو باز کنید:
nano /etc/postfix/main.cf

را پیدا کنید relayhost = خط زده و آن را با موارد زیر جایگزین کنید:

# outbound relay configurations
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_tls_security_level = may
header_size_limit = 4096000

فایل را ذخیره کرده و ببندید نانو با فشار دادن Ctrl + X → Y → Enter.

  1. یک فایل جدید با نام ایجاد کنید sasl_passwd:
nano /etc/postfix/sasl_passwd

رله SMTP را اضافه کنید host، نام کاربری و رمز عبور مانند زیر. جایگزین کنید smtp_username و smtp_password با مشخصات شما:

[smtp-relay.brevo.com]:587   smtp_username:smtp_password
  1. هنگامی که تغییرات را ذخیره کردید، این دستورات را برای ایجاد فایل پایگاه داده مربوطه اجرا کنید، Postfix را مجددا راه اندازی کنید و مجوزهای مناسب را تنظیم کنید:
postmap /etc/postfix/sasl_passwd
systemctl restart postfix
chmod 0600 /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db
  1. با استفاده از دستورات زیر یک ایمیل آزمایشی ارسال کنید. جایگزین کنید از آدرس با ایمیل فرستنده پیکربندی شده خود در Brevo و به آدرس با آدرس ایمیل گیرنده:
apt install bsd-mailx
echo "This is a test email." | mailx -r from-address -s hello to-address

صندوق ورودی گیرنده خود را بررسی کنید تا ببینید آیا ایمیل واقعا ارسال شده است یا خیر.

2. سرور را ایمن کنید

برای محافظت از سرور Mastodon خود در برابر دسترسی غیرمجاز و حفظ یکپارچگی آن، باید اقدامات امنیتی قوی را تنظیم کنید. در اینجا به این صورت است:

  1. به جای استفاده از رمزهای عبور برای احراز هویت، کلیدهای SSH را پیکربندی کنید. کلیدهای SSH روش امن تری برای دسترسی به VPS شما با یک جفت کلید رمزنگاری ارائه می کنند. جدید باز کن terminal پنجره بدون اتصال به سرور و تایپ کنید:
ssh-keygen -t rsa -b 4096

پس از تولید کلیدها، کلید عمومی را در سرور خود کپی کنید. جایگزین کنید نام کاربری و your_server_ip با مدارک شما:

ssh-copy-id username@your_server_ip
  1. به عقب برگردید terminal پنجره متصل به سرور شما لیست بسته های سیستم خود را به روز کنید و بسته های نصب شده را برای اصلاح آسیب پذیری ها و بهبود پایداری ارتقا دهید:
apt update && apt upgrade -y
  1. Fail2ban را برای محافظت از سرور خود در برابر حملات brute-force نصب کنید. این نرم افزار فایل های لاگ را کنترل می کند و آدرس های IP را که رفتار مخرب نشان می دهند ممنوع می کند.
apt install fail2ban

آن را با ایجاد یک فایل پیکربندی محلی پیکربندی کنید:

nano /etc/fail2ban/jail.local

سپس این خطوط را داخل فایل اضافه کنید:

[DEFAULT]
destemail = your@email.here
sendername = Fail2Ban
[sshd]
enabled = true
port = 22
mode = aggressive

برای اعمال تغییرات Fail2ban را مجددا راه اندازی کنید:

systemctl restart fail2ban
  1. iptables را نصب کنید تا فقط پورت های SSH، HTTP و HTTPS مجاز باشد:
apt install -y iptables-persistent

در طول نصب، از شما خواسته می شود قوانین IPv4 و IPv6 فعلی را ذخیره کنید. انتخاب کنید خیر برای هر دو

  1. یک فایل جدید برای ذخیره تنظیمات IPv4 ایجاد کنید:
nano /etc/iptables/rules.v4

این خطوط را در فایل کپی کنید:

*filter
#  Allow all loopback (lo0) traffic and drop all traffic to 127/8 that doesn't use lo0.
-A INPUT -i lo -j ACCEPT
-A INPUT ! -i lo -d 127.0.0.0/8 -j REJECT
#  Accept all established inbound connections.
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#  Allow all outbound traffic; you can modify this to only allow certain traffic.
-A OUTPUT -j ACCEPT
#  Allow HTTP and HTTPS connections from anywhere, including standard ports for websites and SSL.
-A INPUT -p tcp --dport 80 -j ACCEPT
-A INPUT -p tcp --dport 443 -j ACCEPT
#  Allow HTTP/3 connections from anywhere (optional).
-A INPUT -p udp --dport 443 -j ACCEPT
#  Allow SSH connections.
#  The -dport number should be the same port number you set in sshd_config.
-A INPUT -p tcp -m state --state NEW --dport 22 -j ACCEPT
#  Allow ping.
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
#  Allow destination unreachable messages, especially code 4 (fragmentation required) is required or PMTUD breaks.
-A INPUT -p icmp -m icmp --icmp-type 3 -j ACCEPT
#  Log iptables denied calls.
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7
#  Reject all other inbound; default deny unless explicitly allowed policy.
-A INPUT -j REJECT
-A FORWARD -j REJECT
COMMIT
  1. یک فایل پیکربندی IPv6 جدید نیز ایجاد کنید:
nano /etc/iptables/rules.v6

سپس، خطوط زیر را اضافه کنید:

*filter
#  Allow all loopback (lo0) traffic and drop all traffic to 127/8 that doesn't use lo0.
-A INPUT -i lo -j ACCEPT
-A INPUT ! -i lo -d ::1/128 -j REJECT
#  Accept all established inbound connections.
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#  Allow all outbound traffic; you can modify this to only allow certain traffic.
-A OUTPUT -j ACCEPT
#  Allow HTTP and HTTPS connections from anywhere, including the standard ports for websites and SSL.
-A INPUT -p tcp --dport 80 -j ACCEPT
-A INPUT -p tcp --dport 443 -j ACCEPT
#  Allow HTTP/3 connections from anywhere (optional).
-A INPUT -p udp --dport 443 -j ACCEPT
#  Allow SSH connections.
#  The -dport number should be the same port number you set in sshd_config.
-A INPUT -p tcp -m state --state NEW --dport 22 -j ACCEPT
#  Allow ping.
-A INPUT -p icmpv6 -j ACCEPT
#  Log iptables denied calls.
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7
#  Reject all other inbound; default deny unless explicitly allowed policy.
-A INPUT -j REJECT
-A FORWARD -j REJECT
COMMIT
  1. بارگیری دستی هر دو فایل پیکربندی در زمان بوت:
iptables-restore < /etc/iptables/rules.v4
ip6tables-restore < /etc/iptables/rules.v6

3. محیط سیستم را آماده کنید

سپس محیط سرور Mastodon را راه اندازی کنید. این شامل پیکربندی مخازن و بسته های سیستم، ایجاد یک کاربر اختصاصی و نصب نرم افزار لازم است.

پیشنهاد می‌کنیم بخوانید:  روش نصب کاساندرا روی اوبونتو و یادگیری دستورات اولیه

در اینجا راهنما آمده است:

  1. ابزارها و ابزارهای ضروری را نصب کنید:
apt install -y curl wget gnupg apt-transport-https lsb-release ca-certificates
  • curl – ابزاری برای انتقال داده ها از یا به سرور.
  • wget – a command-line ابزاری برای دانلود فایل ها از وب
  • gnupg – اجرای رایگان استاندارد OpenPGP برای ایمن سازی ارتباطات و ذخیره سازی داده ها.
  • apt-transport-https – به مدیر بسته اجازه می دهد تا بسته ها را از طریق HTTPS بازیابی کند.
  • lsb-release – اطلاعات پایه استاندارد لینوکس (LSB) را در مورد توزیع نصب شده ارائه می دهد.
  • گواهینامه های کلسیم – مجموعه ای از گواهینامه های CA قابل اعتماد را ارائه می دهد.
  1. برای اطمینان از اینکه آخرین نسخه را دارید، مخزن Node.js را به VPS خود اضافه کنید:
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list
  1. به طور مشابه، مخزن PostgreSQL را با استفاده از دستورات زیر اضافه کنید:
wget -O /usr/share/keyrings/postgresql.asc https://www.postgresql.org/media/keys/ACCC4CF8.asc
echo "deb [signed-by=/usr/share/keyrings/postgresql.asc] http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main"> /etc/apt/sources.list.d/postgresql.list
  1. لیست بسته خود را به روز کنید و بسته های لازم را نصب کنید:
apt update
apt install -y \
imagemagick ffmpeg libpq-dev libxml2-dev libxslt1-dev file git-core \
g++ libprotobuf-dev protobuf-compiler pkg-config gcc autoconf \
bison build-essential libssl-dev libyaml-dev libreadline6-dev \
zlib1g-dev libncurses5-dev libffi-dev libgdbm-dev \
nginx nodejs redis-server redis-tools postgresql postgresql-contrib \
certbot python3-certbot-nginx libidn11-dev libicu-dev libjemalloc-dev
  • تصویر جادویی – مجموعه نرم افزاری برای ایجاد، ویرایش، نوشتن یا تبدیل تصاویر دیجیتال.
  • ffmpeg – ابزاری برای ضبط، تبدیل و پخش صدا و تصویر.
  • libpq-dev – کتابخانه مشتری و هدرهای PostgreSQL C.
  • nginx – یک سرور HTTP با کارایی بالا و پروکسی معکوس.
  • nodejs – یک زمان اجرا جاوا اسکریپت ساخته شده است روی موتور V8 کروم.
  • redis-server – یک ذخیره‌سازی با ارزش کلید در حافظه که به‌عنوان پایگاه داده، حافظه پنهان و واسطه پیام استفاده می‌شود.
  • certbot – ابزاری برای استفاده خودکار از گواهی‌های Let’s Encrypt.
  1. Corepack را فعال کنید و نسخه مدیریت بسته Yarn را تنظیم کنید:
corepack enable
yarn set version classic
  1. یک کاربر جدید به نام ایجاد کنید ماستودون یا نام انتخابی شما برای اجرای Mastodon:
adduser --disabled-login mastodon

سوئیچ به ماستودون کاربر:

su - mastodon
  1. راه اندازی کنید rbenv برای مدیریت Ruby نسخه ها:
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
exec bash
git clone https://github.com/rbenv/ruby-build.git "$(rbenv root)"/plugins/ruby-build

پس از اتمام، نصب کنید Ruby و آن را به عنوان نسخه جهانی تنظیم کنید:

RUBY_CONFIGURE_OPTS=--with-jemalloc rbenv install 3.2.3
rbenv global 3.2.3
  1. نصب Bundler، a Ruby مدیر وابستگی جواهر:
gem install bundler --no-document

4. پایگاه داده را راه اندازی کنید

بخش مهمی از میزبانی سرور اختصاصی Mastodon ایجاد یک پایگاه داده PostgreSQL است که داده های ضروری نمونه شما را ذخیره می کند. دستورالعمل های زیر را دنبال کنید:

  1. بازگشت به root کاربر برای پیکربندی پایگاه داده با امتیازات لازم:
exit
  1. PostgreSQL Interactive را وارد کنید terminal:
sudo -u postgres -i psql
  1. ایجاد یک پایگاه داده برای Mastodon:
CREATE DATABASE mastodon;
  1. یک کاربر اختصاصی PostgreSQL برای نمونه Mastodon خود ایجاد کنید و یک رمز عبور قوی اختصاص دهید. جایگزین کنید your_preferred_password با یک رمز عبور منحصر به فرد به انتخاب شما:
CREATE USER mastodon;
ALTER USER mastodon WITH ENCRYPTED PASSWORD 'your_preferred_password';
  1. اطمینان حاصل کنید که کاربر دارای مجوزهای صحیح برای مدیریت پایگاه داده است:
ALTER USER mastodon createdb;
ALTER DATABASE mastodon OWNER TO mastodon;
  1. از PostgreSQL خارج شوید terminal با تایپ:
\q

5. Mastodon را نصب کنید

وقت آن است که نصب کننده را دانلود کنید، وابستگی های ضروری Mastodon را تنظیم کنید، و جادوگر راه اندازی را برای پیکربندی نمونه خود اجرا کنید. در اینجا مراحل تکمیل نصب Mastodon آمده است:

  1. به عقب برگردید ماستودون کاربر برای اطمینان از اینکه همه فایل‌ها و فرآیندهای مربوط به Mastodon از بقیه سیستم جدا شده‌اند:
su - mastodon
  1. از این دستورات Git برای دانلود نصب کننده Mastodon از مخزن رسمی استفاده کنید:
git clone https://github.com/mastodon/mastodon.git live && cd live
git checkout $(git tag -l | grep '^v[0-9.]*$' | sort -V | tail -n 1)
  1. اضافی نصب کنید Ruby و وابستگی های جاوا اسکریپت:
bundle config deployment 'true'
bundle config without 'development test'
bundle install -j$(getconf _NPROCESSORS_ONLN)
yarn install --pure-lockfile
  1. جادوگر راه اندازی Mastodon را اجرا کنید:
RAILS_ENV=production bundle exec rake mastodon:setup

جادوگر از شما یک سری سوال می پرسد:

  • نام دامنه – نام دامنه ای که به VPS شما متصل است را وارد کنید.
  • آیا می خواهید حالت تک کاربره را فعال کنید؟ – پاسخ دهید n تا کاربران بتوانند ثبت نام کنند روی سرور شما
  • آیا از Docker برای اجرای Mastodon استفاده می کنید؟ – پاسخ دهید n
  • PostgreSQL host – وارد کنید 127.0.0.1.
  • پورت PostgreSQL – وارد کنید 5432.
  • نام پایگاه داده PostgreSQL – وارد کنید ماستودون.
  • نام کاربر PostgreSQL – وارد کنید ماستودون.
  • رمز عبور کاربر PostgreSQL – رمز عبور پایگاه داده ای را که قبلاً پیکربندی کرده اید وارد کنید.
  • آیا می خواهید فایل های آپلود شده را ذخیره کنید؟ روی ابر؟ – پاسخ دهید n برای ذخیره فایل ها به صورت محلی روی سرور
  • آیا می خواهید ایمیل ارسال کنید localhost? – پاسخ دهید y از آنجایی که قبلا یک سرور SMTP ایجاد کرده اید.
  • آدرس ایمیل برای ارسال ایمیل “از” – آدرس ایمیلی را که قبلاً به عنوان فرستنده تنظیم کرده اید وارد کنید.
  • در حال حاضر یک ایمیل آزمایشی با این تنظیمات ارسال شود؟ – پاسخ دهید y
  • ارسال ایمیل آزمایشی به – آدرس ایمیل گیرنده را وارد کنید.
  • پیکربندی ذخیره شود؟ – پاسخ دهید y.
  • اکنون پایگاه داده را آماده کنید؟ – پاسخ دهید y.
  • اکنون دارایی ها را جمع آوری کنید؟ – پاسخ دهید y.
  • آیا می خواهید در حال حاضر یک کاربر ادمین ایجاد کنید؟ – پاسخ دهید y.
  • نام کاربری – نام کاربری مورد نظر را برای اکانت مدیریت خود وارد کنید.
  • ایمیل – آدرس ایمیل این حساب کاربری را وارد کنید.

پس از انجام، یک رمز عبور مدیریت ایجاد شده به شما داده می شود. این رمز عبور را ایمن ذخیره کنید تا بعداً به عنوان مالک سرور وارد شوید.

6. وب سرور را پیکربندی کنید

پس از نصب Mastodon روی VPS خود، باید وب سرور NGINX را پیکربندی کنید، یک گواهی SSL برای اتصالات امن صادر کنید و راه اندازی کنید. سیستم شده خدمات برای مدیریت فرآیندهای Mastodon. در اینجا مراحل انجام می شود:

  1. سوئیچ به root کاربر بار دیگر:
exit
  1. با استفاده از Certbot، یک گواهی SSL رایگان دریافت کنید example.com با نام دامنه خودتان:
certbot certonly --nginx -d example.com

دنبال کنید onدستورالعمل های صفحه نمایش برای پیکربندی خودکار SSL.

  1. الگوی پیکربندی NGINX را از پوشه Mastodon کپی کنید:
cp /home/mastodon/live/dist/nginx.conf /etc/nginx/sites-available/mastodon
ln -s /etc/nginx/sites-available/mastodon /etc/nginx/sites-enabled/mastodon
rm /etc/nginx/sites-enabled/default
  1. فایل پیکربندی NGINX را ویرایش کنید:
nano /etc/nginx/sites-available/mastodon

لغو نظر ssl_certificate و ssl_certificate_key خطوط سپس، هر نمونه از example.com با Ctrl + W و آنها را با نام دامنه خود جایگزین کنید.

پس از اتمام، فایل را ذخیره کرده و از ویرایشگر متن خارج شوید.

  1. برای اعمال تغییرات، NGINX را دوباره بارگیری کنید:
systemctl reload nginx
  1. را کپی کنید سیستم شده فایل های سرویس برای Mastodon:
cp /home/mastodon/live/dist/mastodon-*.service /etc/systemd/system/
  1. بارگیری مجدد سیستم شده daemon و خدمات Mastodon را فعال کنید:
systemctl daemon-reload
systemctl enable --now mastodon-web mastodon-sidekiq mastodon-streaming

وضعیت آنها را بررسی کنید:

systemctl status --now mastodon-web mastodon-sidekiq mastodon-streaming

شما باید خروجی را ببینید که نشان می دهد همه سرویس ها فعال هستند و بدون مشکل در حال اجرا هستند:

  1. اجازه دسترسی به فایل های اصلی را بدهید تا فایل های CSS و JS بتوانند به درستی بارگیری شوند:
chown mastodon:www-data /home/mastodon/
chmod 0710 -v /home/mastodon/

7. سرور را اجرا و سفارشی کنید

اکنون می‌توانید سرور Mastodon جدید خود را باز کنید و آن را مطابق با نیازهای خود سفارشی کنید و مطمئن شوید که نمونه شما می‌تواند host کاربران و مدیریت محتوا در اینجا دستورالعمل ها وجود دارد:

  1. مرورگر وب خود را باز کنید و از طریق دامنه خود به سرور دسترسی پیدا کنید. با استفاده از اعتبار حساب کاربری که در طول پیکربندی سرور Mastodon تنظیم کرده اید، وارد شوید.
  1. کلیک کنید ترجیحات برای کاوش در داشبورد مدیریت در اینجا، می‌توانید تنظیمات سرور، حساب‌های کاربری، تعدیل محتوا، پیکربندی خط‌مشی‌های کل نمونه، و سفارشی کردن گزینه‌های رابط کاربری را مدیریت کنید.
  1. رمز عبور مدیریت را به صورت دوره ای تغییر دهید تا مطمئن شوید حساب شما ایمن باقی می ماند. انتخاب کنید حساب → تنظیمات حساب و رمز عبور فعلی و جدید را پر کنید. سپس، کلیک کنید ذخیره تغییرات.
  1. به صورت اختیاری، می‌توان حساب‌های مدیر و ناظر را برای کمک به مدیریت سرور ایجاد کرد. چندین مدیر و ناظر به شما امکان می دهند مسئولیت ها را تقسیم کنید، از یک جامعه سالم اطمینان حاصل کنید و یک تیم مدیریتی متنوع و متعادل را پرورش دهید.

برای ایجاد این حساب‌ها، به حساب خود بازگردید terminal و به Mastodon دسترسی پیدا کنید root دایرکتوری:

su - mastodon
cd /home/mastodon/live

سپس دستورات زیر را برای ایجاد یک حساب کاربری جدید Mastodon اجرا کنید:

RAILS_ENV=production bin/tootctl accounts create \
alice \
--email alice@example.com \
--confirmed \
--role Owner

جایگزین کنید آلیس، alice@example.com، و مالک با نام کاربری، ایمیل و نقش دلخواه حساب جدید. در اینجا توضیحات مختصری درباره هر نقش آورده شده است:

  • مالک – دسترسی کامل به تمام عملکردها و تنظیمات اداری دارد.
  • مدیر – می‌تواند تنظیمات سرور و حساب‌های کاربری را مدیریت کند، اما نمی‌تواند به برخی از عملکردهای رزرو شده برای مالک دسترسی داشته باشد.
  • مجری – مسئول تعدیل محتوا و مدیریت تعاملات کاربر است اما نمی تواند به عملکردهای متعلق به مدیران و صاحبان دسترسی داشته باشد.

8. دعوت و مدیریت کاربران

هنگامی که سرور Mastodon شما راه اندازی و اجرا شد، می توانید از کاربران دعوت کنید تا به نمونه شما بپیوندند. این process شامل ایجاد پیوندهای دعوت، اجازه دادن به کاربران برای ثبت نام از طریق پیوندهای گفته شده و تعدیل فعالیت های کاربر است.

ایجاد پیوندهای دعوت

با دنبال کردن این مراحل می‌توانید به سرعت پیوندهای دعوت را از طریق داشبورد مدیریت Mastodon ایجاد کنید:

  1. رفتن به ترجیحاتمردم را دعوت کنید.
  2. تعداد استفاده یا زمان انقضای پیوند را محدود کنید. پس از اتمام، کلیک کنید ایجاد پیوندهای دعوت.
  3. پیوند ایجاد شده را کپی کرده و با کاربرانی که دعوت می کنید به اشتراک بگذارید. می توانید تعداد دفعات استفاده از پیوند را نظارت کنید و در صورت لزوم آن را غیرفعال کنید.

ثبت حساب کاربری

کاربران به ثبت نام هدایت می شوند page وقتی روی پیوند دعوت کلیک می کنند. پس از وارد کردن نام کاربری، رمز عبور و آدرس ایمیل، سرور شما به طور خودکار یک ایمیل تایید ارسال می کند تا کاربران بتوانند ثبت نام خود را تکمیل کنند.

حساب های کاربری را تعدیل کنید

پیشنهاد می‌کنیم بخوانید:  روش ایجاد هاست مجازی آپاچی روی CentOS 7

Mastodon ابزارهایی برای مدیریت تعاملات کاربر، رسیدگی به رفتارهای نامناسب و اجرای دستورالعمل های جامعه فراهم می کند. در اینجا چند نکته برای تعدیل مؤثر جامعه شما وجود دارد:

  • در داشبورد مدیریت، به اعتدالگزارش ها بررسی هر گونه گزارش رفتار نامناسب
  • استفاده کنید حساب ها بخش مشاهده تمامی کاربران ثبت نام شده می‌توانید هر حسابی را که قوانین انجمن را نقض می‌کند، تعلیق یا ساکت کنید.
  • از بخش های دیگر مانند فدراسیون، دامنه های ایمیل مسدود شده، و قوانین IP برای کنترل تعاملات خارجی و افزایش امنیت نمونه شما.

9. قابلیت های اضافی را نصب کنید

نصب ویژگی های اضافی مانند Elasticsearch و hCaptcha روی نمونه Mastodon شما می تواند تجربه و امنیت کاربر را به میزان قابل توجهی بهبود بخشد. در اینجا روش پیکربندی این ویژگی ها آورده شده است.

Elasticsearch را نصب کنید

Mastodon از جستجوی متن کامل با Elasticsearch پشتیبانی می‌کند تا کاربران بتوانند وضعیت‌های عمومی، پست‌ها، نام‌ها، موارد دلخواه، نشانک‌ها و جزئیات حساب را پیدا کنند.

  1. Elasticsearch به یک زمان اجرا جاوا نیاز دارد. اگر این کار را نکرده اید آن را نصب کنید:
apt install openjdk-17-jre-headless
  1. مخزن رسمی Elasticsearch را اضافه کنید:
wget -O /usr/share/keyrings/elasticsearch.asc https://artifacts.elastic.co/GPG-KEY-elasticsearch
echo "deb [signed-by=/usr/share/keyrings/elasticsearch.asc] https://artifacts.elastic.co/packages/7.x/apt stable main" > /etc/apt/sources.list.d/elastic-7.x.list
  1. Elasticsearch را با اجرای این دستورات نصب کنید:
apt update
apt install elasticsearch
  1. Elasticsearch را با:
systemctl daemon-reload
systemctl enable --now elasticsearch
  1. را ویرایش کنید . env.production فایل در دایرکتوری Mastodon:
nano /home/mastodon/live/.env.production

متغیرهای زیر را شامل شود:

ES_ENABLED=true
ES_HOST=localhost
ES_PORT=9200
ES_PRESET=single_node_cluster  # Use the appropriate preset for your setup: single_node_cluster, small_cluster, or large_cluster
# ES_USER=
# ES_PASS=
  1. ویرایش های خود را ذخیره کنید و خدمات Mastodon را مجددا راه اندازی کنید:
systemctl restart mastodon-sidekiq
systemctl reload mastodon-web
  1. نمایه سازی داده های جستجو:
su - mastodon
cd live
RAILS_ENV=production bin/tootctl search deploy

hCaptcha را تنظیم کنید

Mastodon می تواند از فناوری CAPTCHA برای کمک به کاهش ثبت نام ربات ها استفاده کند. در حال حاضر، این پلت فرم غیرمتمرکز رسانه اجتماعی تنها از hCaptcha پشتیبانی می کند.

  1. به صورت رایگان ثبت نام کنید hCaptcha حساب کاربری پس از ثبت نام، به داشبورد بروید تا یک سایت جدید با دامنه سرور Mastodon خود اضافه کنید.
  2. زیر تنظیمات حساب، سایت و کلیدهای مخفی خود را بدست آورید.
  3. به خودت برگرد terminal و ویرایش کنید . env.production فایل:
nano /home/mastodon/live/.env.production

مقادیر زیر را اضافه کنید و جایگزین کنید your_site_key و کلید_مخفی شما با کلیدهای hCaptcha خود:

HCAPTCHA_SITE_KEY=your_site_key
HCAPTCHA_SECRET_KEY=your_secret_key
  1. پس از آن، خدمات Mastodon را مجدداً راه اندازی کنید:
systemctl restart mastodon-sidekiq
systemctl reload mastodon-web
  1. داشبورد مدیریت Mastodon خود را باز کنید و به مدیریت → تنظیمات سرور → ثبت نام. سپس، بررسی کنید کاربران جدید را ملزم به حل یک CAPTCHA برای تأیید حساب خود کنید را انتخاب کنید و تغییرات خود را ذخیره کنید.

بهترین روش ها برای عملکرد بهینه سرور Mastodon

پس از پایان آموزش سرور Mastodon، پیشنهاد می کنیم این بهترین روش ها را برای اطمینان از عملکرد بهینه نمونه در طول زمان پیاده سازی کنید.

از CLI مدیریت Mastodon استفاده کنید

همانطور که از نام آن پیداست، Mastodon admin CLI به شما امکان می دهد نمونه خود را از طریق خط فرمان مدیریت کنید. قبل از شروع استفاده از آن، مطمئن شوید که به آن سوئیچ کنید ماستودون کاربر و به دایرکتوری صحیح بروید:

su - mastodon
cd live

دستورات CLI را پایه گذاری کنید

CLI پایه دستورات کلی را برای تعامل با نمونه Mastodon شما ارائه می دهد:

  • tootctl خود تخریبی – به طور دائم نمونه Mastodon شما را خاموش می کند و تمام داده های مرتبط را حذف می کند. از این دستور با احتیاط استفاده کنید، زیرا غیر قابل برگشت است.
  • نسخه tootctl – نسخه نصب شده نرم افزار Mastodon شما را نمایش می دهد.

دستورات CLI حساب ها

دستورات زیر به شما امکان می دهد حساب های کاربری و نقش آنها را مدیریت کنید:

  • حساب‌های tootctl نام کاربری ایجاد می‌کنند – ایمیل user@example.com – یک حساب کاربری جدید با نام کاربری و آدرس ایمیل مشخص شده ایجاد می کند.
  • حساب‌های tootctl نام کاربری – نقش مدیر را تغییر می‌دهند – نقش کاربر را به تغییر می دهد مدیر، مجری، یا کاربر.
  • حساب‌های tootctl نام کاربری را تغییر می‌دهند – reset-password – رمز عبور حساب کاربری خاص را بازنشانی می کند.
  • حساب های tootctl نام کاربری را حذف می کنند – برای همیشه یک حساب کاربری را با نام کاربری حذف می کند.

دستورات CLI را کش

از کش CLI برای مدیریت و پاک کردن کش های مختلف استفاده کنید روی سرور Mastodon شما:

  • کش tootctl پاک شود – تمام داده های کش شده را از نمونه شما پاک می کند، از جمله جدول زمانی و فایل های رسانه ای.
  • بازشماری کش tootctl – شماره آیتم های ذخیره شده را بازشماری می کند و وضعیت کش را به روز می کند.

تنظیمات دستورات CLI

تنظیمات CLI به شما امکان می‌دهد تنظیمات و اولویت‌های سرور را پیکربندی کنید:

  • ثبت نام تنظیمات tootctl باز می شود – ثبت نام کاربران را باز می کند و به کاربران جدید اجازه می دهد ثبت نام کنند.
  • ثبت نام تنظیمات tootctl بسته می شود – ثبت نام کاربران را می بندد و از ثبت نام های جدید جلوگیری می کند.
  • ثبت تنظیمات tootctl تایید شد – ثبت نام های کاربران در انتظار را تایید می کند.

می توانید دستورات کامل و توضیحات آنها را در این قسمت پیدا کنید مستندات CLI مدیریت Mastodon.

سرور را پاکسازی و پشتیبان گیری کنید

نگهداری سرور Mastodon شامل اجرای منظم وظایف پاکسازی برای آزاد کردن فضا و منابع و پشتیبان‌گیری از داده‌ها برای محافظت از آنها در برابر از دست دادن تصادفی یا خرابی است.

کارهای پاکسازی دوره ای را اجرا کنید

Mastodon فایل‌های موقتی مانند رسانه از راه دور و کارت‌های پیش‌نمایش تولید می‌کند که می‌توانند در طول زمان انباشته شوند. تمیز کردن دوره‌ای این موارد از طریق cron job به بهبود عملکرد سرور کمک می‌کند.

  1. به کاربر Mastodon تغییر دهید:
su - mastodon
  1. استفاده کنید crontab -e دستور ویرایش فایل cron برای این کاربر:
crontab -e

اگر اولین بار است که این کار را انجام می دهید، از شما خواسته می شود یک ویرایشگر را انتخاب کنید. مورد دلخواه خود را انتخاب کنید

در پایین فایل، خطوط زیر را برای برنامه ریزی کارهای پاکسازی اضافه کنید:

@weekly RAILS_ENV=production /home/mastodon/live/bin/tootctl media remove
@weekly RAILS_ENV=production /home/mastodon/live/bin/tootctl preview_cards remove
  1. فایل را ذخیره کنید، سپس با فهرست کردن ورودی‌های crontab بررسی کنید که کار cron به درستی تنظیم شده است:
crontab -l

با این کار تمام کارهای برنامه ریزی شده برای کاربر Mastodon نمایش داده می شود.

پشتیبان گیری خودکار از داده های Mastodon روی هاستینگer

میزبانی Mastodon روی هاستینگerVPS به شما امکان می دهد با استفاده از ویژگی های داخلی ما به راحتی پشتیبان تهیه کنید.

  1. وارد سیستم خود شوید هاستینگer حساب کنید و به VPS → مدیریت.
  2. در نوار کناری سمت چپ داشبورد VPS، را انتخاب کنید تنظیمات → پشتیبان گیری و نظارت → عکس های فوری و پشتیبان گیری.
  3. کلیک کنید ایجاد عکس فوری برای گرفتن وضعیت فعلی و داده های VPS شما.

برای تنظیم پشتیبان‌گیری خودکار، آن را فعال کنید پشتیبان گیری روزانه ابتدا گزینه و سپس تنظیمات دلخواه خود را انجام دهید backup فرکانس زیر تنظیمات پشتیبان گیری خودکار.

Hostinger  عکس فوری VPS و backup ویژگی هاHostinger  عکس فوری VPS و backup ویژگی ها
روش ایجاد سرور Mastodonروش ایجاد سرور Mastodon
روش ایجاد سرور Mastodon 34

از داده های Mastodon به صورت دستی نسخه پشتیبان تهیه کنید

از طرف دیگر، می‌توانید به صورت دستی از داده‌های مهم مانند اسرار برنامه، پایگاه‌های داده، فایل‌های آپلود شده توسط کاربر و حذف‌های Redis نسخه پشتیبان تهیه کنید.

  1. ذخیره کنید . env.production در جایی امن فایل کنید، زیرا حاوی جزئیات پیکربندی مخفی است:
cp /home/mastodon/live/.env.production /path/to/backup/directory
  1. استفاده کنید pg_dump برای ایجاد یک backup پایگاه داده PostgreSQL شما دومی را جایگزین کنید ماستودون متغیر با نام پایگاه داده شما:
pg_dump -U mastodon mastodon > /path/to/backup/directory/mastodon_backup.sql
  1. اگر از حافظه محلی فایل استفاده می کنید، از آن نسخه پشتیبان تهیه کنید عمومی/سیستم دایرکتوری، جایی که فایل های آپلود شده به طور پیش فرض ذخیره می شوند:
cp -r /home/mastodon/live/public/system /path/to/backup/directory
  1. Redis را کپی کنید dump فایل واقع در /var/lib/redis/dump.rdb:
cp /var/lib/redis/dump.rdb /path/to/backup/directory

نسخه سرور را ارتقا دهید

ارتقاء سرور Mastodon خود به آخرین نسخه به شما امکان می دهد از ویژگی های جدید، بهبود عملکرد و به روز رسانی های امنیتی بهره مند شوید.

برای مشاهده آخرین نسخه موجود، به سایت مراجعه کنید Mastodon GitHub منتشر شد page. تغییرات و دستورالعمل‌های ارتقای خاص نسخه‌ای را که قصد نصب آن را دارید مرور کنید.

پس از آن، نسخه نصب شده فعلی را با این دستورات بررسی کنید:

su - mastodon
cd /home/mastodon/live
git describe --tags

باید تگ نسخه نصب Mastodon فعلی خود را ببینید:

v4.2.9

اکنون، می‌توانید با این مراحل، نسخه سرور مجنتو خود را ارتقا دهید:

  1. دریافت آخرین برچسب ها:
git fetch --tags
  1. آخرین نسخه Mastodon را جستجو کنید. جایگزین کنید نسخه 4.2.10 با شماره نسخه واقعی جدیدترین نسخه:
git checkout v4.2.10

هنگام ارتقاء نمونه خود، دستورالعمل های خاص ارائه شده در یادداشت های انتشار را دنبال کنید.

  1. بازگشت به root کاربر:
exit
  1. راه اندازی مجدد هر سه سرویس Mastodon:
systemctl restart mastodon-sidekiq
systemctl reload mastodon-web
systemctl restart mastodon-streaming

نتیجه گیری

در این مقاله با روش ساخت سرور Mastodon از آماده سازی محیط گرفته تا نصب سرور و امکانات اضافی آشنا شدید. شما همچنین چندین نکته را برای بهینه سازی عملکرد نمونه خود بررسی کرده اید، مانند پاک کردن فایل های ناخواسته و تهیه نسخه پشتیبان از داده های ضروری.

ایجاد یک سرور اختصاصی برای Mastodon یک تجربه لذت بخش از رسانه های اجتماعی را با کنترل کامل بر نمونه شما فراهم می کند. مطمئن شوید که هر زمان که نسخه های جدید منتشر می شود سرور خود را به روز کنید تا یک پلت فرم قابل اعتماد و جذاب برای جامعه خود حفظ کنید.

روش ایجاد پرسش و پاسخ سرور Mastodon

چرا باید سرور Mastodon خود را اجرا کنید؟

اجرای سرور Mastodon خود به شما این امکان را می دهد که محتوا و اعتدال را کنترل کنید، از حریم خصوصی اطمینان حاصل کنید و یک تجربه رسانه اجتماعی قابل تنظیم برای جامعه خود بدون محدودیت های پلتفرم های متمرکز ایجاد کنید.

هزینه اجرای سرور Mastodon چقدر است؟

هزینه به host سرور Mastodon متفاوت است. به عنوان مثال، یک VPS می تواند هزینه داشته باشد 5 دلار به 20 دلار در ماه، در حالی که نام دامنه می تواند از دامنه متفاوت باشد 1 دلار به 10 دلار در سال. ممکن است هزینه های اضافی برای استفاده از خدمات شخص ثالث برای بهبود عملکردها وجود داشته باشد.

سیستم مورد نیاز برای راه اندازی سرور Mastodon چیست؟

یک سرور Mastodon به VPS لینوکس یا سرور اختصاصی با حداقل نیاز دارد 2 هسته های CPU، 3 گیگابایت رم و 25 گیگابایت ذخیره سازی دیسک سرور باید استفاده کند اوبونتو 22.04 یا دبیان 11 و نرم افزارهایی مانند PostgreSQL، Redis، Rubyو NGINX نصب شده است.

آیا می توانم با اجرای سرور Mastodon درآمد کسب کنم؟

شما می توانید از طریق حق عضویت، کمک های مالی یا حمایت های مالی از سرور Mastodon درآمد کسب کنید. برای اطمینان از پایداری بدون به خطر انداختن تجربه کاربر، با دقت برنامه ریزی کنید و با جامعه تعامل داشته باشید.