اگر میخواهید مردم صحبت کنند، میتوانید شبکه اجتماعی خود را با Mastodon ایجاد کنید. تنها چیزی که برای شروع نیاز دارید یک دامنه وب و سرور است.
از توییتر خسته شده اید؟ از فیس بوک خسته شده اید؟ سوء استفاده آنلاین و محتوای NSFW شما را ناراحت می کند؟ فقط می خواهید به دور از تابش خیره کننده افرادی که با شما مخالف هستند تبادل نظر کنید؟
Mastodon پاسخ است. و به لطف ماهیت منبع باز آن، میتوانید نمونه Mastodon خود را راهاندازی کنید، مکالمه را در هر موضوعی فعال کنید و به کاربران خود امنیت و حریم خصوصی در برابر انواع ترولها را ارائه دهید.
آنچه برای راه اندازی Mastodon نیاز دارید
اگر با Mastodon آشنایی ندارید، در اینجا اصول اولیه وجود دارد. توت ها مانند توییت ها هستند و می توانند از حداکثر 500 کاراکتر تشکیل شوند (بر خلاف محدودیت 280 کاراکتری توییتر). نمای کلی ما از Mastodon را بررسی کنید تا ببینید که چگونه همه کار می کند.
در اینجا چیزی است که شما برای ایجاد نمونه Mastodon خود نیاز دارید:
- یک وب سرور که سرور اوبونتو را اجرا می کند. در Vultr.com می توانید حساب های سرور ارزان قیمت کمتر از 10 دلار در ماه پیدا کنید، اگرچه راه حل های دیگری نیز در دسترس است.
- یک نام دامنه استفاده نشده که به سرور اشاره دارد. این بدان معناست که رکوردهای DNS در میزبان دامنه وب برای ارجاع بازدیدکنندگان به آدرس IP سرور اوبونتو تنظیم شده است. نحوه انجام این کار بین ارائه دهندگان متفاوت است، بنابراین اسناد مربوطه خود را بررسی کنید.
- یک حساب Mailgun برای مدیریت ثبت نام در نمونه Mastodon شما. این به صورت رایگان در دسترس است، اما جزئیات کارت اعتباری شما برای ارسال 10000 ایمیل اول الزامی است. برای ایجاد یک حساب کاربری، به صفحه ثبت نام Mailgun بروید و مطمئن شوید که دستورالعملهای تأیید دامنه را دنبال میکنید تا مطمئن شوید که دامنه جدید/استفاده نشده ایمیل شما فعال است.
راه اندازی Mastodon به سه عنصر اصلی نیاز دارد:
- Docker: نرم افزار مجازی سازی مفید
- Mastodon: خود شبکه اجتماعی
- Nginx (تلفظ EngineX): نرم افزار وب سرور چند منظوره، که در این مورد به عنوان یک پروکسی معکوس استفاده می شود.
(پراکسی معکوس به سرور اجازه می دهد منابع یا داده ها را از یک یا چند سرور دیگر از طرف یک کلاینت بازیابی کند. در بسیاری از موارد، این یک اقدام امنیتی برای محافظت از سرور است.)
شما همچنین به یک اتصال SSH به سرور خود نیاز دارید. این از طریق ترمینال در لینوکس (یا macOS) در دسترس است. اگر از SSH در ویندوز استفاده می کنید، PuTTY را دانلود و نصب کنید.
مرحله 1: اتصال SSH را ایجاد کرده و Docker را نصب کنید
شما باید از طریق SSH به سرور خود متصل شوید و با اعتبار معمولی مدیر وارد شوید. پس از انجام، کاربری به نام “mastodon” ایجاد کنید، امتیازات ریشه را اختصاص دهید و به کاربر جدید بروید:
adduser mastodon
usermod -aG sudo mastodon
su - mastodon
سپس پایگاه داده بسته را به روز کنید و ابزارهای مدیریتی را نصب کنید:
sudo apt-get update
sudo apt-get install apt-transport-https software-properties-common
اکنون Docker را نصب کنید:
sudo apt install docker.io
… و کاربر فعلی خود را به گروه docker اضافه کنید:
sudo usermod -aG docker $(whoami)
برای نهایی کردن تغییر، به عنوان کاربر mastodon از سیستم خارج شوید، سپس دوباره وارد شوید.
exit
su - mastodon
هنگامی که VPS شما راه اندازی می شود، Docker باید به طور خودکار اجرا شود. برای انجام این کار باید وارد کنید:
sudo systemctl start docker
و سپس:
sudo systemctl enable docker
Docker Compose به شما امکان می دهد یک فایل متنی ایجاد کنید که کانتینرها را اجرا و مدیریت کند. نصبش کن با:
sudo apt install docker-compose
مرحله 2: Mastodon را روی سرور نصب کنید
شما از قبل باید در فهرست اصلی کاربر mastodon باشید. اگر نه، با استفاده از دستور cd به آنجا بروید:
cd /home/mastodon
مخزن Mastodon GitHub را شبیه سازی کنید:
git clone https://github.com/tootsuite/mastodon.git
به دایرکتوری جدید بروید و از nano برای ویرایش فایل docker-compose استفاده کنید:
cd mastodon
nano docker-compose.yml
برای هر خطی که با کلمه “build” شروع می شود، سند را جستجو کنید و آنها را نظر دهید.
نانو را با Ctrl + O سپس Ctrl + X ذخیره کرده و از آن خارج شوید.
اکنون آماده اجرای جادوگر نصب Mastodon هستید:
docker-compose run --rm web bundle exec rake mastodon:setup
جادوگر از شما سوالاتی در مورد نمونه Mastodon شما می پرسد. به غیر از نام دامنه، که باید نام دامنه شما باشد، و تنظیمات ایمیل میتوانید از پیشفرضها استفاده کنید. در هر مرحله یک خروجی متن سبز رنگ دریافت خواهید کرد تا تأیید کنید که تنظیمات شما کار می کنند.
اگر از Mailgun استفاده میکنید، میتوانید با رفتن به app.mailgun.com/app/domains و کلیک کردن روی دامنه، اعتبارنامههای مناسب را پیدا کنید. ورود پیشفرض SMTP و رمز عبور پیشفرض را پیدا کنید و جزئیات را به عنوان ورودیهای SMTP_LOGIN و SMTP_PASSWORD در فایل .env.production کپی کنید.
از شما پرسیده می شود که آیا می خواهید “هم اکنون یک ایمیل آزمایشی با این پیکربندی ارسال کنید”؟ این کار را انجام دهید و قبل از ادامه کار بررسی کنید که ایمیل دریافت شده باشد.
هنگامی که از شما خواسته شد پیکربندی را ذخیره کنید، و پس از تکمیل جادوگر، پیکربندی در .env.production نوشته شده و به ترمینال خروجی داده می شود. بررسی کنید که آیا جزئیات درست است.
یک نام کاربری برای کاربر ادمین وارد کنید و رمز عبور ایجاد شده را یادداشت کنید.
مرحله 3: Nginx Reverse Proxy را فعال کنید
Nginx در این راه اندازی به عنوان یک پروکسی معکوس استفاده می شود.
نصبش کن با:
sudo apt-get install nginx
Nginx یک نمایه پیش فرض دارد که باید آن را حذف کنید:
sudo rm /etc/nginx/sites-available/default
sudo rm /etc/nginx/sites-enabled/default
ایجاد یک نمایه جدید با:
sudo touch /etc/nginx/sites-available/mastodon
در مرحله بعد، برای دسترسی به نمایه باید یک پیوند نمادین ایجاد کنید:
sudo ln -s /etc/nginx/sites-available/mastodon /etc/nginx/sites-enabled/mastodon
سپس یک فایل پیکربندی برای کپی کردن در ویرایشگر متن دارید. از این صفحه GitHub دیدن کنید و محتویات را کپی کنید، سپس با ویرایش آن با nano، آن را در فایل جدید ایجاد شده جایگذاری کنید:
sudo nano /etc/nginx/sites-available/mastodon
با باز کردن فایل، هر نمونه از “example.com” را پیدا کنید و نام دامنه مورد استفاده خود را جایگزین آن کنید. مطمئن شوید که “www” را حذف کرده اید.
برای ذخیره و خروج، کلیدهای Ctrl + X را بزنید.
مرحله 4: یک گواهی SSL دریافت کنید و Mastodon را اجرا کنید!
اکنون می توانید نمونه Mastodon خود را راه اندازی کنید و شبکه اجتماعی خود را ایجاد کنید. اما برای اینکه قابل اعتماد باشد، به گواهی SSL نیاز دارید.
با نصب Certbot PPA و سپس خود Certbot شروع کنید:
sudo add-apt-repository ppa:certbot/certbot
sudo apt-get update && sudo apt-get install certbot
سپس Nginx را متوقف کنید تا بتوانید گواهینامه های SSL را تولید کنید.
sudo systemctl stop nginx.service
این را با دستور زیر دنبال کنید و example.com را با نام دامنه خود جایگزین کنید:
sudo letsencrypt certonly --standalone -d example.com
دستورات را برای تکمیل فرآیند دنبال کنید. وقتی کارتان تمام شد، به فهرست ماستودون بازگردید:
cd /home/mastodon/mastodon
گام بعدی توقف موقت Docker است:
docker-compose down
ما تقریباً تمام شده ایم – فقط این دستورات را به نوبه خود اجرا کنید:
docker-compose build
docker-compose run --rm web rails assets:precompile
docker-compose run --rm web rails db:migrate
docker-compose up -d
صبر کنید تا این دستورات کامل شوند، سپس Nginx را پشتیبان بگیرید:
sudo systemctl restart nginx.service
حالا، اگر همه چیز درست است، باید بتوانید پنجره مرورگر خود را باز کنید و به نمونه جدید Mastodon بروید تا کارکرد آن را ببینید!
متأسفانه هرگونه مشکلی در اینجا به معنای تکرار کاری است که تاکنون انجام داده اید. اگر .env.production همه درست است، و Mailgun کار می کند، به سادگی مراحل را به دنبال آخرین ذخیره .env.production ادامه دهید.
توجه داشته باشید که اگر دامنه شما با ثبت کننده دامنه شما و با Mailgun به درستی پیکربندی نشده باشد، تا زمانی که این مشکلات را حل نکنید، نمی توانید Mastodon را اجرا کنید.
شما در حال اجرا هستید: وظایف را خودکار کنید و Mastodon را مدیریت کنید
اکنون به طرز وسوسه انگیزی به پایان نزدیک شده ایم. شما می توانید نمونه Mastodon خود را تنها در چند دقیقه دیگر عمومی کنید.
شما باید وظایف خاصی را خودکار کنید. به فهرست ماستودون بروید و یک دایرکتوری جدید برای cron jobs ایجاد کنید – دستورالعمل هایی که در زمان از پیش تعیین شده اجرا می شوند.
cd /home/mastodon
nano mastodon_cron
در فایل متنی اضافه کنید:
cd /home/mastodon/mastodon
docker-compose run --rm web rake mastodon:media:clear
docker-compose run --rm web rake mastodon:push:refresh
docker-compose run --rm web rake mastodon:push:clear
docker-compose run --rm web rake mastodon:feeds:clear
با Ctrl + Y خارج شوید، سپس وارد کنید:
sudo chmod +x mastodon_cron && sudo crontab -e
فایل crontab – نوعی نمایه کنترلی همه اسکریپت های برنامه ریزی شده (cron) – باز می شود. این خط را در آخر وارد کنید:
0 0 * * * /home/mastodon/mastodon_cron > /home/mastodon/mastodon_log
Ctrl + X را برای ذخیره و خروج فشار دهید.
به طور خودکار گواهی SSL را بازخوانی کنید
اگرچه گواهی SSL تنظیم شده است، اما پس از 90 روز منقضی می شود. راه حل یک کار cron است که گواهی را به طور خودکار تمدید می کند.
sudo crontab -e
… سپس به انتهای فایل بروید و این خطوط را اضافه کنید:
0 1 * * 1 /usr/bin/letsencrypt renew >> /home/mastodon/letsencrypt.log
5 1 * * 1 /bin/systemctl reload nginx
دوباره Ctrl + X را فشار دهید تا ذخیره و خارج شوید. این دستورالعمل گواهینامه بیش از 60 روز را در ساعت 1 صبح روز دوشنبه تمدید می کند. سپس Nginx را دوباره بارگیری می کند.
اداره ماستودون
اکنون همه چیز آماده است. هرکسی میتواند برای ثبتنام به نمونه Mastodon شما مراجعه کند و شروع به ارسال توتهای خود کند. این شامل شما نیز میشود، اما مطمئناً به یک حساب کاربری با مجوزهای بالا نیاز دارید. با ایجاد حساب کاربری خود و کلیک روی پیوند در ایمیل تأیید شروع کنید.
سپس به زیر شاخه ماستودون برگردید:
cd /home/mastodon/mastodon
از این دستور برای بالا بردن نام کاربری خود به سطح مدیریت استفاده کنید:
docker-compose run --rm web rails mastodon:make_admin USERNAME=yourusername
در پنجره مرورگر به Mastodon برگردید و به تنظیمات حساب کاربری خود دسترسی پیدا کنید. پیوند Administration را برای مشاهده حسابهای کاربری پیدا کنید، و تنظیمات سایت Mastodon را مدیریت کنید، که شامل مواردی مانند عنوان و توضیحات، و هدف/موضوع نمونه است.
شبکه اجتماعی خودتان، بحث در مورد موضوعات شما!
توییتر به دلیل کندی خود در مقابله با آزار سایبری و تکثیر حسابهای تبلیغاتی و تمجید از افراطگرایی مذهبی مورد انتقاد قرار گرفته است. فیس بوک، در عین حال، همچنان یک کابوس حفظ حریم خصوصی است.
برای مقابله با این، می توانید به Mastodon بپیوندید. ما فکر میکنیم که باید انجام دهید، زیرا حداقل خواهید دید که چگونه میتوان کارها را متفاوت انجام داد. و اگر آن را دوست ندارید، چرا جایگزین های دیگر توییتر را به جای آن امتحان نکنید؟