استمع إلى المقال

Mastodon هي منصة تدوين مصغرة مفتوحة المصدر ولا مركزية.تشبه في جوانب منها Twitter،تختص بالتدوين القصير وتتيح للمستخدمين متابعة المستخدمين الآخرين ونشر النصوص والصور ومحتوى الفيديو. تتيح لك Mastodon أيضًا إنشاء شبكة اجتماعية غير ربحية بناءً على معايير ومبادئ الويب المفتوحة. على عكس Twitter ، كون Mastodon لا مركزية،بعني أن محتواها لا يخضع لسلطة مركزية.

ما يميز منصة Mastodon هو نهجها الموحد للتواصل الاجتماعي. تتكون من عدد غير محدد من ما يسمونه خادم – مثيل- يعمل كل مثيل Mastodon بشكل مستقل – يمكن لأي شخص إنشاء مثيل وبناء مجتمعه. لكن لا يزال بإمكان المستخدمين من الحالات المختلفة متابعة بعضهم البعض ومشاركة المحتوى والتواصل. مع بعض الوقت كل مستخدم تقريبا يحدد متابعيه وما يرغب بمتابعته والتفاعل معه(يخصص محتمعه) على المثيل وعلى الخوادم الاخرى المتعلقة بمن رغب بمتابعتهم .

تشارك Mastodon في Fediverse ، وهي مجموعة من الشبكات الاجتماعية ومواقع الويب الأخرى التي تتواصل باستخدام بروتوكول ActivityPub. يسمح ذلك لمثيلات Mastodon المختلفة بالتواصل ، كما يسمح للمنصات الأخرى في Fediverse بالتواصل مع Mastodon.

تتراوح خوادم Mastodon في الحجم من مثيلات خاصة صغيرة إلى مثيلات عامة ضخمة وتركز عادةً على اهتمامات محددة أو مبادئ مشتركة. أكبر خادم Mastodon هو Mastodon.social، وهو خادم ذو مصلحة عامة أنشأه مطورو منصة Mastodon. لديها أكثر من 570،000 مستخدم وتفتخر بمدونة قواعد سلوك شاملة.

سنشرح في السطور التالية تثبيت مثيل Mastodon على استضافه سحابية مقدمة من linode.

ما تحتاجه:

  • اذا لم يكن لديك اسم نطاق Domain “مجال”,احصل على اسم المجال خاصتك. هذه هي الطريقة التي ستصل بها أنت والآخرون إلى الخادم الخاص بك وسيجدك المستخدمين على الشبكة عبر شبكة الانترنت .تتوفر مئات شركات حجز و تسجيل اسم مجال منها Enome.com , name.com Namecheap على سبيل المثال . يأتي بتكلفة سنوية تختلف حسب اختيار اسم المجال.

قد يهمك أيضا: كيف تحصل على اسم نطاق”دومين” مجاني واستضافه سحابية كطالب؟

  • خادم VPS. شيء من شأنه تشغيل كود Mastodon الذي سيكون دائمًا متصلاً بالإنترنت.

كيفية الحصول علىه: DigitalOcean, linode ، Namecheap ،وغيرهم من مقدمي الاستضافة. يأتي بتكلفة شهرية أو سنوية تختلف حسب مواصفات كل مزود خدمة منهم والخطة التي تطلبها.

  • خادم البريد الإلكتروني. تحتاج Mastodon إلى إرسال روابط تأكيد وإشعارات متنوعة عبر البريد الإلكتروني ، واستضافة خادم SMTP الخاص بك ، على الرغم من إمكانية ذلك ، يصعب القيام به بشكل موثوق أكثر من استخدام مزود طرف ثالث.خادم

تتوفر العديد من الخيارات Mailgun و SparkPost و Postmark و Sendgrid وأي عدد لا حصر له من موفري استضافة البريد الإلكتروني الذين يعرضون واجهة برمجة تطبيقات SMTP. يأتي بتكلفة شهرية بناءً على حجم رسائل البريد الإلكتروني المرسلة.

  • مزود تخزين : يمكن لـ Mastodon حفظ الملفات التي تقوم أنت ومستخدميك كالصور والفيديو , على محرك القرص الثابت الخاص بخادم VPS الذي يعمل عليه ، ومع ذلك ، فإن محرك الأقراص الثابتة عادة ما يكون محدود ويصعب ترقيته لاحقًا. يمنحك موفر تخزين الكائنات عمليا مساحة تخزين غير محدودة للملفات.

كيفية الحصول علىه : Amazon S3 ، Exoscale ، Wasabi ، Google Cloud ، إما واجهة برمجة تطبيقات متوافقة مع S3 أو متوافقة مع OpenStack Swift. يأتي بتكلفة شهرية بناءً على كمية الملفات المخزنة وكذلك عدد مرات الوصول إليها.

  • احصل على حساب في linode يمكنك الحصول على واحد من الرابط التالي مع رصيد مجاني ب 100$ يمكنك استخدام الرصيد خلال 60 يوم .
  • بعد حجز اسم نطاق خاص بك ,أو إذا كنت تملك نطاق سابق تأكد من إعداده بما يناسب الاستضافة في linode عبر استخدام عناوين DNS Records المخصصة من linode .ضمن أعدادات لوحة تحكم النطاق حيث قمت بتسجيله.سنستخدم علي سبيل المثال في باقي الشرح نطاق example.com.استبدله باسم نطاقك الخاص.
  • الخطوة التالية في linode هي انشاء مثيل Creating a Compute Instance .
  • بعد تسجيل الدخول إلى Cloud Manager ، استخدم القائمة المنسدلة Create في الشريط العلوي ، وحدد Linode. هذا يفتح نموذج إنشاء Linode.
  • حدد Distributions توزيعة نظام التشغيل التي ترغب باعتمادها مع هذا المثيل , سنختار في مثالنا Ubuntu 22.04 LTS.
  • الخطوة التالية هي تحديد المنطقة الزمنية
  • من ثم تحديد الخطة التي ستحجزها للمثيل والتي تناسب احتياجاتك , نقصد هنا المعالج الذاكرة المساحة الخ …
  • بعد إكمال الإدخالات وتسمية المثيل, تحتاج إلى تأمنيه و أنشاء كلمة مرور وأضافة مفاتيح SSH.

هكذا يكون المثيل جاهزا للعمل تقريبا ويمكنك الآن تثبيت أي تطبيقات ترغب بها.

الخطوة التالية هي تثبيت Docker و Docker Compose , يمكن تثبيت Mastodon باستخدام ملف Docker Compose المضمن الخاص به. يقوم Docker Compose بتثبيت وتشغيل جميع متطلبات بيئة Mastodon في حاويات Docker.

تثبيت Docker

استخدم الاوامر التالية :

sudo apt remove docker docker-engine docker.io
sudo apt update
sudo apt install apt-transport-https ca-certificates curl gnupg lsb-release
curl -fsSL [url]/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] [url] $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io

قد يهمك ايضا: لمحة عن الحاويات.. إعداد وتنصيب Docker في لينكس

تثبيت Docker Compose

قم بتنزيل أحدث إصدار من Docker Compose. تحقق من صفحة الإصدارات واستبدلها إن كانت تختلف عن الرقم في سطر الأوامر التالي:

sudo curl -L https://github.com/docker/compose/releases/download/2.14.2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

نحتاج لمنح الصلاحيات المناسبة عبر التالي:

sudo chmod +x /usr/local/bin/docker-compose
تحميل-تنزيل- Mastodon

الخطوة التالية هي الحصول على ملفات Mastodon ووضعها بمكتبة الجذر الخاصة بالمستخدم .

cd ~/
git clone https://github.com/mastodon/mastodon.git
cd mastodon

سيتم تشغيل جميع الأوامر في مثالنا المتعلقة بـ Docker Compose في هذا الدليل.

تكوين وإعداد Docker Compose

1- باستخدام محرر النصوص كـ nano ، افتح ملف docker-compose.yml الموجود في دليل mastodon.

2- علّق على سطور build (إضافة # أمام كل منها) ، وألحق رقم إصدار في نهاية كل سطر كالتالي:

image: tootsuite/mastodon

tootsuite/mastodon:v4.0.2

في قسم db ، أضف ما يلي أسفل سطر image استبدل كلمة المرور بكلمة مرور ترغب في استخدامها لقاعدة بيانات PostgreSQL التي تعمل في الخلفية لـ Mastodon.

ملف: docker-compose.yml


environment:
  POSTGRES_PASSWORD: password
  POSTGRES_DB: mastodon_production
  POSTGRES_USER: mastodon

ستحصل على ملف شبيه بالمحتوى docker-compose.yml .

انسخ ملف .env.production.sample (الموجود في دليل mastodon الحالي) لإنشاء ملف إعداد جديد.

cp .env.production.sample .env.production

استخدم Docker و Mastodon لتولي SECRET_KEY_BASE جديد كالتالي:

SECRET_KEY_BASE=$(docker-compose run --rm web bundle exec rake secret)

سيتم توليد سلسلة من الأرقام والمحارف العشوائية.

اضف نتيجة إعداد SECRET_KEY_BASE الى.env.production باستخدام الأمر sed :

sed -i -e "s/SECRET_KEY_BASE=/&${SECRET_KEY_BASE}/" .env.production

ادمج الإجراءين السابقين في خطوة واحدة لتعيين قيمة لإعداد OTP_SECRET في .env.production:

sed -i "s/OTP_SECRET=$/&$(docker-compose run --rm web bundle exec rake secret)/" .env.production

قم باستخراج قيم للإعدادات VAPID_PRIVATE_KEY و VAPID_PUBLIC_KEY:

docker-compose run --rm web bundle exec rake mastodon:webpush:generate_vapid_key

انسخ الإخراج من الأمر السابق ، وافتح .env.production في محرر النصوص ، والصق خرج الأمر في سطرين لـ VAPID_PRIVATE_KEY و VAPID_PUBLIC_KEY. واملأ الحقول المتبقية في ملف env.production:

  • LOCAL_DOMAIN: أدخل اسم نطاق خادم Mastodon الخاص بك.
  • DB_PASS: أدخل كلمة المرور التي قمت بتعيينها لقاعدة البيانات في ملف docker-compose.yml.
  • أدخل mastodon_db_1 لـ DB_HOST و mastodon_redis_1 لـ REDIS_HOST. في كلتا القيمتين ، يتوافق mastodon مع اسم مجلد قاعدة Mastodon.
  • املأ حقول SMTP بالمعلومات من مزود SMTP الخاص بك. إذا قمت بإعداد خادم SMTP ، فاستخدم اسم المجال الخاص به لـ SMTP_SERVER وأضف الأسطر التالية في ملف : .env.production
SMTP_AUTH_METHOD=plain
SMTP_OPENSSL_VERIFY_MODE=none

قم بالتعليق على الأقسام التي يُشار إليها على أنها “اختيارية” عن طريق إضافة # قبل كل سطر في القسم.

سيكون بالنتيجة ملف .env.production الناتج مشابهًا لملف env.production

أكمال إعداد Docker Compose

docker-compose build

امنح ملكية الدليل العام Mastodon للمستخدم 991. هذا هو معرف المستخدم الافتراضي لـ Mastodon ، وهذا الأمر يضمن أن لديه الأذونات/الصلاحيات اللازمة.

sudo chown -R 991:991 public

قم بتشغيل البرنامج النصي لإعداد Docker Compose من Mastodon. يُطلب منك إدخال معلومات حول خدمات Docker Compose ومثيل Mastodon.

docker-compose run --rm web bundle exec rake mastodon:setup

تأكد من إدخال نفس المعلومات هنا كما أدخلتها في الملف. env.production.

عندما يُطلب منك إنشاء حساب مستخدم مشرف Mastodon ، اختر القيام بذلك (Y). أدخل اسم المستخدم وكلمة المرور وعنوان البريد الإلكتروني الذي ترغب في استخدامه للوصول إلى الحساب.

لأية مطالبات أخرى ، أدخل القيم الافتراضية بالضغط على Enter.

تشغيل Docker Compose Services

لنبدأ خدمات Docker Compose :

docker-compose up -d

بدأ تشغيل خدمات Docker Compose تلقائيًا عند بدء تشغيل النظام. قم بتشغيل الأمر التالي لإيقاف خدمات Docker Compose يدويًا:

docker-compose down
إعداد proxy وكيل HTTP / HTTPS

للسماح باتصال HTTP و HTTPS عبر جدار حماية النظام.

sudo ufw allow http
sudo ufw allow https
sudo ufw reload

من ثم سنقوم بتثبيت NGINX ، ليقوم بالاتصال مع خادم Mastodon الخاص بك.

sudo apt install nginx

انسخ ملف nginx.conf المضمن مع تثبيت Mastodon إلى مجلد NGINX المتاح في المواقع ؛ استخدم اسم مجال Mastodon الخاص بك بدلاً من example.com في اسم الملف:

sudo cp ~/mastodon/dist/nginx.conf /etc/nginx/sites-available/example.com.conf

افتح ملف example.com.conf باستخدام محرر النصوص المفضل لديك ، واستبدل جميع مثيلات example.com باسم المجال لموقع Mastodon الخاص بك. يجب أن يتطابق اسم المجال هذا مع الاسم الذي استخدمته لإعداد Docker Compose لـ Mastodon.

قم بإنشاء ارتباط رمزي لهذا الملف في مجلد NGINX الرئيسي :

cd /etc/nginx/sites-enabled
sudo ln -s ../sites-available/example.com.conf

تثبيت شهادة SSL / TLS

يتم الوصول لـ Mastodon عبر HTTPS ، نحتاج شهادة SSL / TLS.لضمان ذلك يستخدم في هذا الشرح Certbot لطلب شهادة مجانية وتنزيلها من Let’s Encrypt.

لنقم بتحديث مستودع snap ومن ثم تأكد من إزالة أي تثبيت Certbot سابق موجود.ومن ثم إعادة تثبيت جديدة له

sudo snap install core && sudo snap refresh core
sudo apt remove certbot
sudo snap install --classic certbot

من ثم قم بتنزيل شهادة لموقعك.

sudo certbot certonly --nginx

في حال لديك اكثر من اسم نطاق سيطالبك Certbot بالاختيار من مواقع NGINX المكونة على جهازك. حدد اسم المجال الذي قمت بإعداده لمثيل Mastodon الخاص بك.

يتضمن Certbot وظيفة chron التي تقوم تلقائيًا بتجديد شهادتك قبل انتهاء صلاحيتها. يمكنك اختبار التجديد التلقائي باستخدام الأمر التالي.

sudo certbot renew --dry-run

افتح الملف /etc/nginx/sites-available/example.com.conf مرة أخرى ، وقم بإلغاء التعليق على سطور ssl_certificate و ssl_certificate_key. ومن ثم أعد تشغيل خادم NGINX.

sudo systemctl restart nginx

البدء باستخدام Mastodon

في متصفح الويب ، انتقل إلى نطاق موقع Mastodon الخاص بك. يجب أن ترى صفحة تسجيل الدخول إلى Mastodon ، حيث يمكنك تسجيل الدخول كمستخدم مسؤول قمت بإنشائه مسبقًا أو إنشاء مستخدم جديد.

يمكنك الانتقال إلى صفحة إدارة المثيل بالانتقال إلى example.com/admin/settings/edit. تتيح لك صفحة الإدارة تغيير شكل ومظهر وسلوك المثيل الخاص بك.

إذا كان المثيل الخاص بك قيد التشغيل ولكن به مشكلات ، فيمكنك تحري الخلل وإصلاحه من لوحة معلومات Sidekiq. إما أن تحدد Sidekiq من قائمة الإدارة أو انتقل إلى example.com/sidekiq لرؤية لوحة القيادة.

عندما تكون مستعدًا لجعل المثيل متاحا للعامه، يمكنك إضافته إلى القائمة في Instances.social عن طريق ملء نموذج المسؤول.

هل أعجبك المحتوى وتريد المزيد منه يصل إلى صندوق بريدك الإلكتروني بشكلٍ دوري؟
انضم إلى قائمة من يقدّرون محتوى إكسڤار واشترك بنشرتنا البريدية.