پلروما یک پلتفرم شبکه اجتماعی متن باز است. این سرور فدرال رایگان و سبک وزن با ماستودون و سایر پیاده سازی های ActivityPub سازگار است. در این مقاله، شما یاد می گیرید که چگونه Pleroma را در اوبونتو نصب و پیکربندی کنید. پلروما از دو بخش تشکیل شده است: بخش بک اند (Pleroma) و Pleroma-FE که رابط کاربری آن است. در حالی که نمونه های Pleroma در حال استقرار هستند، شما می توانید نمونه خودتان را نیز استقرار دهید. بیایید گزینه های ضروری را که باید قبل از گام های مورد نیاز برای نصب و پیکربندی Pleroma در اوبونتو ارائه دهید، ببینیم.
پیش نیازهای نصب و پیکربندی پلروما در اوبونتو
برای اینکه این راهنما به درستی کار کند، موارد زیر را فراهم کنید و ادامه دهید.
- یک سیستم با اوبونتو در حال اجرا.
- یک کاربر غیر ریشه با امتیازات سودو.
نصب پلروما در اوبونتو گام به گام
پلروما بخشی از فدیورس، یک شبکه فدرال از نمونه هایی است که می توانند با استفاده از یک پروتکل مشترک با یکدیگر ارتباط برقرار کنند. همانطور که ذکر شد، شما می توانید حساب کاربری خود را در پلروما داشته باشید. نصب پلروما در سرور اوبونتو شما آسان است. با این حال، یک حساب تنها در یک نمونه می تواند با کل شبکه فدیورس ارتباط برقرار کند.
با ما در این مقاله همراه باشید تا تمام مراحل مورد نیاز برای نصب و پیکربندی پلروما در اوبونتو را مرور کنیم.
گام ۱. به روزرسانی سیستم
همانطور که همیشه، ما با به روزرسانی شروع می کنیم. اطمینان از به روز بودن همه چیز منطقی است. بنابراین دستور زیر را اجرا کنید:
$ sudo apt update
$ sudo apt upgrade
اکنون شما آماده نصب بسته ها و وابستگی ها در یک مرحله قبل از نصب پلروما هستید.
$ sudo apt install wget curl gnupg2 ca-certificates lsb-release gnupg zip libncurses5 libmagic-dev -y
گام ۲. پیکربندی فایروال
همانطور که می دانید، اوبونتو به طور پیش فرش با یک فایروال ساده (ufw) عرضه می شود. از دستور زیر برای بررسی اینکه آیا فایروال در حال اجرا است یا خیر استفاده کنید تا پیکربندی آن را شروع کنید.
$ sudo ufw status
اگر وضعیت را غیرفعال می بینید، با اجازه دادن به پورت SSH برای فعالسازی فایروال ادامه دهید.
$ sudo ufw allow OpenSSH
همچنین می توانید پورت های HTTP و HTTPS را نیز مجاز کنید. بنابراین تایپ کنید:
$ sudo ufw allow 80
$ sudo ufw allow 443
برای فعالسازی فایروال، دستور زیر را اجرا کنید:
$ sudo ufw enable
سپس، خواهید دید که فایروال فعال شده و در زمان راه اندازی سیستم فعال می شود. دوباره می توانید وضعیت فایروال را بررسی کنید:
$ sudo ufw status
شما خروجی مشابه زیر را مشاهده خواهید کرد که به معنای پیکربندی صحیح فایروال است
گام ۳. نصب PostgreSQL
در این گام، شما PostgreSQL را نصب خواهید کرد. بنابراین، نیاز دارید تا مخزن رسمی PostgreSQL را با اجرای دستور زیر به لیست منابع اوبونتو اضافه کنید:
$ sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
و برای اضافه کردن کلید GPG مخزن، از دستور زیر استفاده کنید:
$ wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
در نهایت، می توانید لیست بسته های سیستم را به روز کنید.
$ sudo apt update
گام ۴. نصب Nginx
در این گام، Nginx نصب خواهد شد. با توجه به اینکه Nginx از قبل در اوبونتو نصب شده است، دستور زیر را اجرا کنید:
$ sudo apt install nginx
گام ۵. نصب پلروما
در این بخش، می توانید پلروما را در اوبونتو نصب کنید. ابتدا، یک کاربر پلروما بدون قابلیت ورود به سیستم ایجاد می شود. اجرای دستور زیر همچنین پوشه home را برای آن در /opt/pleroma ایجاد خواهد کرد.
$ sudo adduser –system –shell /bin/false –home /opt/pleroma pleroma
برای تغییر به کاربر پلروما، ابتدا به کاربر ریشه تغییر دهید.
$ sudo su
$ su pleroma -s $SHELL -l
برای دانلود پلروما از دستور زیر استفاده کنید. می توانید این کار را در یک مکان موقت انجام دهید.
$ curl "https://git.pleroma.social/api/v4/projects/2/jobs/artifacts/stable/download?job=amd64" -o /tmp/pleroma_amd64.zip
و آرشیو را از حالت فشرده خارج کنید:
$ unzip /tmp/pleroma_amd64.zip -d /tmp/
برای نصب پلروما:
$ mv /tmp/release/* /opt/pleroma
اکنون می توانید فایل های موقت را حذف کنید:
$ rm -rf /tmp/pleroma_amd64.zip /tmp/release
بعد، به کاربر ریشه تغییر دهید:
$ exit
برای ایجاد پوشه ها برای آپلودها و فایل های عمومی، تایپ کنید:
$ mkdir -p /var/lib/pleroma/{uploads,static}
در اینجا، می توانید پوشه را برای پیکربندی پلروما ایجاد کنید:
$ mkdir -p /etc/pleroma
و سپس، مالکیت پوشه های پلروما را به کاربر پلروما تغییر دهید.
$ chown -R pleroma /var/lib/pleroma /etc/pleroma
چگونگی پیکربندی پلروما در اوبونتو
شما در میانه یادگیری نحوه نصب و پیکربندی پلروما در اوبونتو هستید. پس از نصب پلروما در سرور اوبونتو، میتوانید شروع به پیکربندی آن کنید. برای این کار، یک کاربر ادمین ایجاد کنید. بنابراین، از دستور زیر برای ایجاد یک کاربر ادمین و تغییر به کاربر پلروما استفاده کنید.
$ su pleroma -s /bin/bash -l
سپس، از دستور زیر برای ایجاد فایل پیکربندی برای نمونه پلروما استفاده کنید:
$ ./bin/pleroma_ctl instance gen --output /etc/pleroma/config.exs --output-psql /tmp/setup_db.psql
توجه: هشدار مبنی بر اینکه فایل پیکربندی یافت نشد را نادیده بگیرید و ادامه دهید.
هنگامی که از شما در مورد راهاندازی پلروما پرسیده میشود، مجموعهای از گزینهها را که نیازهای شما را برآورده میکند انتخاب کنید. همانطور که میدانید، باید یک گذرواژه قوی برای پایگاه داده خود انتخاب کنید هنگامی که از شما خواسته میشود.
برای پیکربندی نمونه خود از پنل مدیریت، زمانی که از شما پرسیده میشود آیا میخواهید پیکربندی را در پایگاه داده ذخیره کنید، y را انتخاب کنید.
در این زمان، به کاربر پیشفرض PostgreSQL که هنگام نصب PostgreSQL ایجاد شده است، تغییر دهید.
$ exit
$ su postgres -s /bin/bash -l
سپس میتوانید پایگاه داده را با استفاده از فایل SQL ارائه شده توسط پلروما ایجاد کنید.
$ psql -f /tmp/setup_db.psql
برای بازگشت به کاربر پلروما، تایپ کنید:
$ exit
$ su pleroma -s /bin/bash -l
اجرای دستور زیر، پایگاه دادهای را که تازه ایجاد کردهاید را راهاندازی خواهد کرد.
$ ./bin/pleroma_ctl migrate
و در نهایت، میتوانید از کاربر ریشه خارج شوید.
$ exit
نحوه نصب SSL با استفاده از Let’s Encrypt
برای ادامه پیکربندی پلروما در اوبونتو، یک گواهینامه SSL باید نصب شود. برای این کار، ابزار Cerbot را دانلود کنید. از آنجایی که مخزن رسمی Certbot منسوخ شده است، میتوانید از نصبکننده بسته Snaped برای نصب Cerbot استفاده کنید. اوبونتو با Snaped از پیش نصب شده عرضه میشود.
از دستورات زیر برای اطمینان از بهروز بودن Snaped استفاده کنید.
$ snap install core
$ snap refresh core
برای حذف هر نسخه قدیمی از Certbot:
$ apt remove certbot
و برای نصب Certbot، تایپ کنید:
$ snap install --classic certbot
برای اطمینان از اینکه دستور Cerbot قابل اجرا است، یک لینک نمادین به دایرکتوری /usr/bin ایجاد کنید.
$ ln -s /snap/bin/certbot /usr/bin/certbot
اکنون، سرویس Nginx را متوقف کنید.
$ systemctl stop nginx
برای ایجاد یک گواهینامه SSL:
$ certbot certonly --standalone --preferred-challenges http -d example.com
به این ترتیب، یک گواهینامه به دایرکتوری ” /etc/letsencrypt/live/example.com ” در سرور شما دانلود خواهد شد.
در ادامه، از دستور زیر برای ایجاد یک دایرکتوری ریشه وب چالش برای تجدید خودکار Let’s Encrypt استفاده کنید.
$ mkdir -p /var/lib/letsencrypt
برای تجدید SSL و اجرا و بررسی آن هر روز برای تجدید آن (در صورت نیاز)، یک کار Cron ایجاد کنید. بنابراین، فایل /etc/cron.daily/certbot-renew را ایجاد کنید و برای ویرایش آن را باز کنید.
$ nano /etc/cron.daily/certbot-renew
کد زیر را درون آن قرار دهید.
#!/bin/sh
certbot renew --cert-name example.com --webroot -w /var/lib/letsencrypt/ --post-hook "systemctl reload nginx"
برای ذخیره فایل، Ctrl + X را فشار دهید و هنگامی که از شما پرسیده شد Y را وارد کنید. سپس، مجوزهای فایل وظیفه را برای قابل اجرا شدن آن تغییر دهید.
$ chmod +x /etc/cron.daily/certbot-renew
پیکربندی Nginx
از آنجایی که پلروما با یک فایل پیکربندی پیشفرض Nginx ارائه میشود، میتوانید با اجرای دستور زیر آن را نصب کنید. به این ترتیب، Nginx به دایرکتوری /etc/nginx/sites-available منتقل خواهد شد.
$ mv /opt/pleroma/installation/pleroma.nginx /etc/nginx/sites-available/pleroma.conf
$ sed -i ‘s/example.tld/example.com/g’ /etc/nginx/sites-available/pleroma.confبه خاطر داشته باشید
که تمام موارد ‘example.tld’ را با دامنه خود جایگزین کنید.برای شروع ویرایش، فایل پیکربندی را باز کنید.$ nano /etc/nginx/sites-available/pleroma.confسپس، بلوک location ~ /.well-known/acme-challenge را از حالت توضیح خارج کنید تا یک پیکربندی بلوک سرور مانند زیر را مشاهده کنید:
دوباره فایل را با فشردن Ctrl + X ذخیره کنید و هنگامی که از شما پرسیده شد Y را وارد کنید. برای فعالسازی پیکربندی Nginx پلروما، یک لینک نمادین ایجاد کنید:
$ ln -s /etc/nginx/sites-available/pleroma.conf /etc/nginx/sites-enabled/pleroma.conf
اکنون، سرور Nginx را برای شروع در هنگام راه اندازی فعال کنید.
$ systemctl enable nginx
اکنون میتوانید سرور Nginx را شروع کنید.
$ systemctl start nginx
سپس، دستور زیر را برای نصب فایل واحد سرویس systemd پلروما که در توزیع ارائه شده است، اجرا کنید.
$ mv /opt/pleroma/installation/pleroma.service /etc/systemd/system/pleroma.service
در نهایت، از دستورات زیر برای فعالسازی و شروع سرویس پلروما استفاده کنید.
$ systemctl enable pleroma
$ systemctl start pleroma
برای بازدید از پلروما، https://example.com را در مرورگر وب محبوب خود باز کنید.
چگونگی پیکربندی پلروما با ایجاد یک کاربر ادمین
تا اینجا، شما نحوه نصب و پیکربندی پلروما در اوبونتو را مرور کردید. همچنین میتوانید از دستور زیر برای ایجاد یک کاربر ادمین استفاده کنید. اما ابتدا به کاربر پلروما تغییر دهید:
$ su pleroma -s /bin/bash -l
دستور زیر یک کاربر ادمین ایجاد خواهد کرد. فراموش نکنید ‘example’ را با نام کاربری خود، ‘yourmail@example.com’ را با آدرس ایمیل خود و ‘password123’ را با گذرواژه دلخواه خود که توصیه میشود قوی باشد، جایگزین کنید.
$ ./bin/pleroma_ctl user new example your.email@example.com --password password123 --admin
وقتی کار تمام شد، دوباره به کاربر ریشه برگردید.
$ exit
اگر در هنگام پرسیده شدن برای ذخیره پیکربندی در پایگاه داده، گزینه “نه” را انتخاب کرده باشید، نمیتوانید تنظیمات را از پنل مدیریت پلروما تغییر دهید. اما میتوانید تنظیمات را با ویرایش فایل /etc/pleroma/config.exs تغییر دهید.
$ nano /etc/pleroma/config.exs
وقتی ویرایش فایل تمام شد، سرویس پلروما را راهاندازی مجدد کنید و زمان لازم را برای از سرگیری سرویس اختصاص دهید.
$ systemctl restart pleroma
اکنون زمان به روزرسانی پلروما فرا رسیده است. بنابراین، نیاز دارید نسخه جدید را دانلود کنید. از دستور زیر برای دانلود آن استفاده کنید.
$ su pleroma -s $SHELL -lc "./bin/pleroma_ctl update"
برای توقف نمونه پلروما:
$ systemctl stop pleroma
سپس، با اجرای دستور زیر پایگاه داده را مهاجرت دهید:
$ su pleroma -s $SHELL -lc "./bin/pleroma_ctl migrate"
اکنون میتوانید نمونه پلروما را شروع کنید:
$ systemctl start pleroma
شاید حدس بزنید که گام بعدی پشتیبانگیری از پلروما است. ابتدا سرویس پلروما را متوقف کنید.
$ systemctl stop pleroma
سپس به دایرکتوری پلروما تغییر دهید.
$ cd /opt/pleroma
برای پشتیبانگیری از پایگاه داده، دستور زیر را اجرا کنید:
$ sudo -Hu postgres pg_dump -d <pleroma_db> --format=custom -f </path/to/backup_location/pleroma.pgdump>
فایلهای pleroma.pgdump، config/prod.secret.exs، config/setup_db.sql و پوشه uploads را به مقصد پشتیبانگیری خود کپی کنید.
در نهایت، سرویس پلروما را دوباره شروع کنید.
$ systemctl start pleroma
هر زمان که نیاز به بازیابی پلروما داشتید، آن را دوباره نصب کنید و مطمئن شوید که سرویس پلروما در حال اجرا نیست. فایلهای پشتیبانگیری شده را به محل اولیه خود برگردانید و دستور زیر را برای حذف پایگاه داده و کاربر موجود اجرا کنید:
$ sudo -Hu postgres psql -c 'DROP DATABASE <pleroma_db>;';` `sudo -Hu postgres psql -c 'DROP USER <pleroma_db>;'
از دستور زیر برای بازیابی طرح پایگاه داده و نقش Postgres پلروما با استفاده از فایل پشتیبانگیری setup_db.sql استفاده کنید.
$ sudo -Hu postgres psql -f config/setup_db.psql
برای بازیابی دادههای نمونه پلروما، دستور زیر را اجرا کنید:
$ sudo -Hu postgres pg_restore -d <pleroma_db> -v -1 </path/to/backup_location/pleroma.pgdump>
اگر به نسخه جدیدتری منتقل میشوید، باید پایگاه داده را نیز مهاجرت دهید. (اگر مهاجرتهای باقیمانده برای انجام وجود داشته باشد)
$ su pleroma -s $SHELL -lc "./bin/pleroma_ctl migrate"
بعد، سرویس پلروما را راهاندازی مجدد کنید.
$ systemctl restart pleroma
و در نهایت، اجازه دهید Postgres به درستی برنامهریزی کوئریها را انجام دهد و آمار را تولید کند.
$ sudo -Hu postgres vacuumdb --all --analyze-in-stages
همه چیز آماده است.
نتیجه گیری
در این مقاله، تمام مراحل لازم برای نصب و پیکربندی پلروما در اوبونتو را مرور کردید. همانطور که ذکر شد، واقعاً آسان بود! در صورت دنبال کردن صحیح مراحل فوق، میتوانید به راحتی پلروما را در سرور اوبونتو خود بدون خطا نصب و پیکربندی کنید. اگر مشتاق کاوش در فدیورس هستید، تنها کافی است حساب خود را در پلروما ثبت کنید تا بتوانید با نام کاربری و گذرواژه خودتان به نمونه پلروما وارد شوید.