CentOS 7 पर मास्टोडन को स्थापित करना

मास्टोडन एक ओपन सोर्स सेल्फ होस्टेड माइक्रोब्लॉगिंग और सोशल नेटवर्किंग सर्वर है। यह ट्विटर जैसी सुविधाएँ प्रदान करता है; लेकिन एक ही कंपनी द्वारा नियंत्रित होने के बजाय, यह विकेन्द्रीकृत सर्वरों का एक संघ है जो सामाजिक नेटवर्किंग की संपूर्ण प्रणाली बनाने के लिए एक साथ जुड़ता है। एक छोटी टीम अपने Mastodon सर्वर उदाहरण को आपस में संवाद करने के लिए और फ़ेडरेटेड समुदाय के अन्य उपयोगकर्ताओं के साथ शुरू कर सकती है। यह आपको अपनी स्वयं की गोपनीयता और मॉडरेशन नीतियों को चुनने और यह परिभाषित करने में भी सक्षम बनाता है कि आप विभिन्न सर्वरों के अन्य उपयोगकर्ताओं के साथ कैसे संवाद करते हैं। एक व्यक्ति जो सामग्री बनाता है और सब्सक्राइब करता है, उसे उस सर्वर पर होस्ट किया जाता है जहां उसका खाता बनाया गया है। एक ही सर्वर पर होस्ट नहीं किए जाने पर भी उपयोगकर्ता एक दूसरे का अनुसरण कर सकते हैं। मास्टोडन नेटवर्क के प्रत्येक उपयोगकर्ता का अपना विशिष्ट नाम या आईडी होता है जो अंदर होता है@[email protected]प्रारूप। मास्टोडन के लिए क्लाइंट एप्लिकेशन लगभग सभी प्लेटफार्मों के लिए उपलब्ध हैं।

आवश्यक शर्तें

  • एक Vultr CentOS 7 सर्वर उदाहरण।
  • एक sudo यूजर

नोट: हम social.example.comMastodon उदाहरण के लिए उपयोग किए जाने वाले डोमेन नाम के रूप में उपयोग करेंगे। social.example.comअपने वास्तविक डोमेन नाम की सभी घटनाओं को अपने मास्टोडन एप्लिकेशन के लिए उपयोग करना चाहते हैं

यदि आवश्यक हो तो CentOS 7 को अपडेट करने के लिए गाइड का उपयोग करके अपनी आधार प्रणाली को अपडेट करें । एक बार आपका सिस्टम अपडेट हो जाने के बाद, आवश्यक निर्भरताएं स्थापित करने के लिए आगे बढ़ें।

निर्भरता स्थापित करना

मास्टोडन को काम करने के लिए कई निर्भरताओं की आवश्यकता होती है। का नवीनतम संस्करण स्थापित करें Node.js, जिसका उपयोग जावास्क्रिप्ट फ़ाइलों को संकलित करने के लिए किया जाएगा।

curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -
sudo yum -y install nodejs

स्थापित करें Yarn, जो एक तेज़, विश्वसनीय और सुरक्षित निर्भरता प्रबंधक अनुप्रयोग है। हम Node.js निर्भरताएँ स्थापित करने के लिए यार्न का उपयोग करेंगे।

sudo wget https://dl.yarnpkg.com/rpm/yarn.repo -O /etc/yum.repos.d/yarn.repo
sudo yum -y install yarn

स्थापित करें Redis। Redis एक इन-मेमरी डेटा स्ट्रक्चर स्टोर और कैशे एप्लिकेशन है।

sudo yum -y install redis

Redis प्रारंभ करें और इसे बूट पर स्वचालित रूप से प्रारंभ करने के लिए सक्षम करें।

sudo systemctl start redis
sudo systemctl enable redis

कुछ और निर्भरताएँ स्थापित करें जिन्हें Rubyइंस्टालेशन और अन्य निर्भरताओं के निर्माण के लिए आवश्यक है ।

sudo yum -y install ImageMagick git libxml2-devel libxslt-devel gcc bzip2 openssl-devel zlib-devel gdbm-devel ncurses-devel autoconf automake bison gcc-c++ libffi-devel libtool patch readline-devel sqlite-devel glibc-headers glibc-devel libyaml-devel libicu-devel libidn-devel

आपको विकास उपकरण स्थापित करने की भी आवश्यकता होगी।

sudo yum -y groupinstall 'Development Tools'

PostgreSQL को स्थापित और कॉन्फ़िगर करना

PostgreSQL एक ऑब्जेक्ट रिलेशनल डेटाबेस सिस्टम है। आपको अपने सिस्टम में PostgreSQL रिपॉजिटरी को जोड़ना होगा क्योंकि डिफ़ॉल्ट yumरिपॉजिटरी में एप्लिकेशन का पुराना संस्करण है।

sudo rpm -Uvh https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm

PostgreSQL डेटाबेस सर्वर स्थापित करें।

sudo yum -y install postgresql96-server postgresql96-contrib postgresql96-devel

डेटाबेस को प्रारंभ करें।

sudo /usr/pgsql-9.6/bin/postgresql96-setup initdb

आधारित प्रमाणीकरण pg_hba.confसक्षम करने के लिए फ़ाइल को संपादित करें MD5

sudo nano /var/lib/pgsql/9.6/data/pg_hba.conf

निम्नलिखित पंक्तियों को खोजें और उनमें peerसे trustऔर identको बदलें md5

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     peer
# IPv4 local connections:
host    all             all             127.0.0.1/32            ident
# IPv6 local connections:
host    all             all             ::1/128                 ident

एक बार अद्यतन करने के बाद, कॉन्फ़िगरेशन इस तरह दिखना चाहिए।

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     trust
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5

PostgreSQL सर्वर शुरू करें और इसे बूट पर स्वचालित रूप से शुरू करने के लिए सक्षम करें।

sudo systemctl start postgresql-9.6
sudo systemctl enable postgresql-9.6

डिफ़ॉल्ट PostgreSQL उपयोगकर्ता के लिए पासवर्ड बदलें।

sudo passwd postgres

PostgreSQLउपयोगकर्ता के रूप में शेल पर लॉगिन करें।

sudo su - postgres

PostgreSQLमास्टोडन के लिए एक नया उपयोगकर्ता बनाएं ।

createuser mastodon

PostgreSQL psqlडेटाबेस पर प्रश्नों को चलाने के लिए शेल प्रदान करता है । चल कर PostgreSQL शेल पर स्विच करें।

psql

मास्टोडन डेटाबेस के लिए नए बनाए गए उपयोगकर्ता के लिए एक पासवर्ड सेट करें और नए डेटाबेस को जोड़ने की अनुमति प्रदान करें।

ALTER USER mastodon WITH ENCRYPTED password 'DBPassword' CREATEDB;

DBPasswordएक मजबूत पासवर्ड से बदलें । psqlशेल से बाहर निकलें :

\q

sudoउपयोगकर्ता पर स्विच करें।

exit

कुछ और आवश्यक PostgreSQL निर्भरताएँ स्थापित करें।

sudo yum -y install libpqxx-devel protobuf-devel

रूबी स्थापित करें

मास्��ोडन के लिए एक नया उपयोगकर्ता बनाएं और नए बनाए गए उपयोगकर्ता पर जाएँ।

sudo adduser mastodon -d /opt/mastodon
sudo su - mastodon

हम रूबी संस्करण प्रबंधक या आरवीएम का उपयोग करके रूबी का नवीनतम संस्करण स्थापित करेंगे। इसका उपयोग रूबी के कई संस्करणों को स्थापित और प्रबंधित करने के लिए किया जाता है।

GPGRVM की कुंजी को अपने सर्वर में जोड़ें।

gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB

आरवीएम स्थापित करें।

curl -sSL https://get.rvm.io | bash -s stable
source /opt/mastodon/.rvm/scripts/rvm

अब रूबी के उपलब्ध संस्करणों की सूची प्राप्त करें।

rvm list known

आप निम्न आउटपुट देखेंगे।

[mastodon@vultr ~]$ rvm list known
# MRI Rubies
[ruby-]1.8.6[-p420]
[ruby-]1.8.7[-head] # security released on head
[ruby-]1.9.1[-p431]
[ruby-]1.9.2[-p330]
[ruby-]1.9.3[-p551]
[ruby-]2.0.0[-p648]
[ruby-]2.1[.10]
[ruby-]2.2[.7]
[ruby-]2.3[.4]
[ruby-]2.4[.1]
ruby-head

...

अब सूची से रूबी का नवीनतम संस्करण स्थापित करें।

rvm install 2.4

रूबी के स्थापित संस्करण का उपयोग करें।

rvm use 2.4

आपको इसके संस्करण को सत्यापित करने में सक्षम होना चाहिए।

ruby -v

आपको एक समान आउटपुट देखना चाहिए।

[mastodon@vultr ~]$ ruby -v
ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-linux]

स्थापित करें bundler, जो रूबी आवेदन के लिए निर्भरता प्रबंधक है।

gem install bundler

अब मास्टोडन उपयोगकर्ता के होम डायरेक्टरी पर जाएं और गिथब से एप्लिकेशन रिपॉजिटरी फ़ाइलों को क्लोन करें।

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

एप्लिकेशन डायरेक्टरी को स्थानांतरित करें और एप्लिकेशन के नवीनतम रिलीज की जांच करें।

cd ~/app
git checkout $(git describe --tags `git rev-list --tags --max-count=1`)

कॉन्फ़िगर bundlePostgreSQL विन्यास के लिए एक कस्टम पथ का उपयोग करने के लिए। इसके अलावा, रूबी निर्भरता स्थापित करें।

bundle config build.pg --with-pg-config=/usr/pgsql-9.6/bin/pg_config
bundle install --deployment --without development test

यार्न का उपयोग करके Node.js निर्भरता स्थापित करें।

yarn install --pure-lockfile

आपको मास्टोडन एप्लिकेशन के लिए कॉन्फ़िगरेशन फ़ाइल बनाने की आवश्यकता होगी। नमूना कॉन्फ़िगरेशन फ़ाइल की प्रतिलिपि बनाएँ।

cd ~/app
cp .env.production.sample .env.production

फ़ाइल को संपादित करने से पहले, secretsतीन बार निम्नलिखित कमांड चलाकर तीन अलग-अलग उत्पन्न करें । आपको कॉन्फ़िगरेशन फ़ाइल में इन रहस्यों को सेट करना होगा।

RAILS_ENV=production bundle exec rake secret

आपको एक समान आउटपुट मिलना चाहिए।

[mastodon@vultr app]$ RAILS_ENV=production bundle exec rake secret
0f17dab1cf4a07f6fac671ecd5815adcb59d012b338dae9350c66402250c6c729dccd6182b1a8f75c4fde55453ce283ea66e07ed4466cdc6d4d6974c98512967

nanoसंपादक का उपयोग करके कॉन्फ़िगरेशन फ़ाइल को संपादित करें ।

nano .env.production

निम्नलिखित पंक्तियों को खोजें और उसके अनुसार मान बदलें।

REDIS_HOST=127.0.0.1
REDIS_PORT=6379

डेटाबेस क्रेडेंशियल प्रदान करें, डेटाबेस उपयोगकर्ता के अनुसार जो आपने PostgreSQL की स्थापना के दौरान बनाया है। डेटाबेस नाम के लिए कोई भी नाम प्रदान करें क्योंकि Mastodon आपके द्वारा प्रदान किए गए नाम के साथ डेटाबेस को स्वचालित रूप से बना देगा।

DB_HOST=127.0.0.1
DB_USER=mastodon
DB_NAME=mastodon
DB_PASS=DBPassword
DB_PORT=5432

एप्लिकेशन का डोमेन नाम सेट करें।

LOCAL_DOMAIN=social.example.com

निम्नलिखित पंक्तियाँ खोजें और आपके द्वारा उत्पन्न रहस्यों का मूल्य निर्धारित करें।

PAPERCLIP_SECRET=
SECRET_KEY_BASE=
OTP_SECRET=

फ़ाइल को सहेजें और संपादक से बाहर निकलें।

अब, Web Push VAPIDकुंजियाँ बनाने के लिए निम्न कमांड चलाएँ । यदि आपने ऊपर बताई गई कॉन्फ़िगरेशन फ़ाइल में रहस्यों को सेट नहीं किया है तो आपको वेब पुश VAPID कुंजियाँ बनाते समय एक त्रुटि मिलेगी।

RAILS_ENV=production bundle exec rake mastodon:webpush:generate_vapid_key

आपको निम्न आउटपुट देखना चाहिए।

[mastodon@vultr app]$ RAILS_ENV=production bundle exec rake mastodon:webpush:generate_vapid_key
VAPID_PRIVATE_KEY=DCMQdSPkdm-mepsNh4F3suc-UIvsABCvwFd03jSVemM=
VAPID_PUBLIC_KEY=BMMVcVXmqnV0C8S_ybZ7eQH-MXBEX2exqfdPSYQiMMUF2rRxfhoEtVF931i26ebMgmslHB_nvVadOdcBPhaFEjw=

कॉन्फ़िगरेशन फ़ाइल को फिर से खोलें और उत्पन्न कुंजियों को उनकी संबंधित लाइनों में सेट करें।

VAPID_PRIVATE_KEY=
VAPID_PUBLIC_KEY=

अंत में, अपने SMTP मेल सर्वर की जानकारी प्रदान करें ताकि एप्लिकेशन उपयोगकर्ताओं को ईमेल भेज सके। यह महत्वपूर्ण है कि आप एक कामकाजी SMTP सर्वर का उपयोग करें, जैसा कि नए पंजीकरण पर, उपयोगकर्ताओं को एक सक्रियण लिंक के साथ एक ईमेल भेजा जाएगा। नए उपयोगकर्ताओं को अपने खाते को सक्रिय करने के लिए सक्रियण लिंक पर क्लिक करना होगा।

SMTP_SERVER=mail.example.com
SMTP_PORT=456
[email protected]
SMTP_PASSWORD=MailPassword
[email protected]
SMTP_TLS=true

एक बार हो जाने के बाद, फ़ाइल को सहेजें और संपादक से बाहर निकलें। आपने मास्टोडन उदाहरण का मूल विन्यास किया है।

पहली बार PostgreSQL डेटाबेस सेटअप करें।

RAILS_ENV=production bundle exec rails db:setup

सबसे पहले, उपरोक्त कमांड कॉन्फ़िगरेशन में उल्लिखित नाम के साथ एक नया डेटाबेस बनाएगा। फिर, यह कॉन्फ़िगरेशन के अनुसार डेटाबेस लिखेगा।

कैश बनाने के लिए सभी CSSऔर JavaScriptफ़ाइलों को दबाएं ।

RAILS_ENV=production bundle exec rails assets:precompile

मास्टोडन अब आपके सर्वर पर स्थापित है। अब आपको मास्टोडन सेवाओं को चलाने के लिए Nginxएप्लिकेशन और सेटअप Systemdसेवाओं की सेवा के लिए एक वेब सर्वर सेटअप करना होगा ।

अब से, हमें sudoउपयोगकर्ता का उपयोग करके कमांड निष्पादित करने की आवश्यकता होगी ।

SSL एन्क्रिप्ट करें के साथ Nginx स्थापित करें

हम उपयोगकर्ताओं को एप्लिकेशन को सेवा देने के लिए Nginx वेब सर्वर को एक रिवर्स प्रॉक्सी के रूप में उपयोग करेंगे। हम लेट्स एनक्रिप्ट से एसएसएल सर्टिफिकेट भी प्राप्त और स्थापित करेंगे।

Nginx और Certbot स्थापित करें। सर्टिफोट, लेट्स एनक्रिप्ट क्रॉ के लिए क्लाइंट जारी करने वाला आधिकारिक प्रमाण पत्र है।

sudo yum -y install nginx certbot

फ़ायरवॉल के माध्यम से मानक HTTPऔर HTTPSबंदरगाहों को अनुमति देने के लिए अपनी फ़ायरवॉल सेटिंग को समायोजित करें क्योंकि सर्टिफ़बोट को डोमेन प्राधिकरण को सत्यापित करने के लिए HTTP कनेक्शन बनाने की आवश्यकता होती है।

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

नोट: लेट्स एनक्रिप्ट क्रॉ से सर्टिफिकेट प्राप्त करने के लिए, आपको यह सुनिश्चित करना होगा कि जिस डोमेन के लिए आप सर्टिफिकेट जनरेट करना चाहते हैं, वह सर्वर की ओर इंगित किया गया है। यदि नहीं, तो अपने डोमेन के DNS रिकॉर्ड में आवश्यक परिवर्तन करें और फिर से प्रमाणपत्र अनुरोध करने से पहले DNS के प्रचार के लिए प्रतीक्षा करें। सर्टिफिकेट सर्टिफिकेट प्रदान करने से पहले डोमेन प्राधिकरण की जांच करता है

अब अपने डोमेन के लिए प्रमाण पत्र बनाने के लिए सर्टिफिकेट में बिल्ट वेब सर्वर का उपयोग करें।

sudo certbot certonly --standalone -d social.example.com

जेनरेट किए गए प्रमाणपत्रों को /etc/letsencrypt/live/social.example.com/निर्देशिका में संग्रहीत किए जाने की संभावना है । एसएसएल प्रमाणपत्र को बनाए रखा जाएगा fullchain.pemऔर निजी कुंजी के रूप में सहेजा जाएगा privkey.pem

आइए, 90 दिनों में प्रमाणपत्रों को एन्क्रिप्ट करें, इसलिए क्रोन नौकरियों का उपयोग करते हुए प्रमाणपत्रों के लिए ऑटो नवीकरण की सिफारिश की जाती है। क्रोन एक प्रणाली सेवा है जिसका उपयोग आवधिक कार्यों को चलाने के लिए किया जाता है।

क्रोन जॉब फ़ाइल खोलें।

sudo crontab -e

निम्नलिखित पंक्ति जोड़ें।

0 0 * * * /usr/bin/certbot renew --quiet

उपरोक्त क्रॉन जॉब रोजाना आधी रात को चलेगी। यदि प्रमाण पत्र समाप्ति के लिए है, तो यह स्वचालित रूप से प्रमाणपत्रों को नवीनीकृत करेगा।

अब Mastodon साइट के लिए एक नया Nginx सर्वर ब्लॉक बनाएं।

sudo nano /etc/nginx/conf.d/mastodon.conf

इसके साथ फाइल को पॉप्युलेट करें।

map $http_upgrade $connection_upgrade {
  default upgrade;
  ''      close;
}

server {
  listen 80;
  listen [::]:80;
  server_name social.example.com;
  return 301 https://$host$request_uri;
}

server {
  listen 443 ssl http2;
  listen [::]:443 ssl http2;
  server_name social.example.com;

  ssl_protocols TLSv1.2;
  ssl_ciphers HIGH:!MEDIUM:!LOW:!aNULL:!NULL:!SHA;
  ssl_prefer_server_ciphers on;
  ssl_session_cache shared:SSL:10m;

  ssl_certificate     /etc/letsencrypt/live/social.example.com/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/live/social.example.com/privkey.pem;

  keepalive_timeout    70;
  sendfile             on;
  client_max_body_size 0;

  root /opt/mastodon/app/public;

  gzip on;
  gzip_disable "msie6";
  gzip_vary on;
  gzip_proxied any;
  gzip_comp_level 6;
  gzip_buffers 16 8k;
  gzip_http_version 1.1;
  gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;

  add_header Strict-Transport-Security "max-age=31536000";

  location / {
    try_files $uri @proxy;
  }

  location ~ ^/(emoji|packs|system/accounts/avatars|system/media_attachments/files) {
    add_header Cache-Control "public, max-age=31536000, immutable";
    try_files $uri @proxy;
  }

  location @proxy {
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto https;
    proxy_set_header Proxy "";
    proxy_pass_header Server;

    proxy_pass http://127.0.0.1:3000;
    proxy_buffering off;
    proxy_redirect off;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $connection_upgrade;

    tcp_nodelay on;
  }

  location /api/v1/streaming {
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto https;
    proxy_set_header Proxy "";

    proxy_pass http://127.0.0.1:4000;
    proxy_buffering off;
    proxy_redirect off;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $connection_upgrade;

    tcp_nodelay on;
  }

  error_page 500 501 502 503 504 /500.html;
}

SSL प्रमाणपत्र के लिए डोमेन नाम और पथ को बदलना सुनिश्चित करें।

अब आप Nginx वेब सर्वर को शुरू कर सकते हैं और इसे बूट पर स्वचालित रूप से शुरू करने के लिए सक्षम कर सकते हैं।

sudo systemctl start nginx
sudo systemctl enable nginx

आपको 4000फ़ायरवॉल के माध्यम से पोर्ट की अनुमति देने की भी आवश्यकता होगी क्योंकि पोर्ट स्ट्रीमिंग एपीआई सेवा प्रदान करेगा।

sudo firewall-cmd --permanent --zone=public --add-port=4000/tcp
sudo firewall-cmd --reload

मास्टोडन निर्देशिका के लिए निष्पादन की अनुमति प्रदान करें।

sudo chmod +x /opt/mastodon

Systemd सेवा की स्थापना

मास्टोडन सर्वर को सफलतापूर्वक शुरू करने के लिए आपको तीन अलग-अलग प्रक्रियाओं को शुरू करने की आवश्यकता होगी। Systemd सेवा का उपयोग यह सुनिश्चित करेगा कि मास्टोडन सर्वर स्वचालित रूप से बूट पर शुरू हो और विफलताओं को संसाधित करता है।

मास्टोडन वेब सेवा को चलाने के लिए एक नई प्रणाली सेवा बनाएँ। यह सेवा निर्मित वेब सर्वर को पोर्ट पर लॉन्च करेगी 3000

sudo nano /etc/systemd/system/mastodon-web.service

फ़ाइल को निम्न सामग्री से आबाद करें।

[Unit]
Description=Mastodon Web Service
After=network.target

[Service]
Type=simple
User=mastodon
Group=mastodon
WorkingDirectory=/opt/mastodon/app
Environment="RAILS_ENV=production"
Environment="PORT=3000"
ExecStart=/bin/bash -lc 'bundle exec puma -C config/puma.rb'
TimeoutSec=15
Restart=always

[Install]
WantedBy=multi-user.target

मास्टोडन पृष्ठभूमि कतार सेवा को चलाने के लिए दूसरी Systemd सेवा बनाएँ। मैस्टोडन कतार सेवा सभी पृष्ठभूमि कार्यों का ध्यान रखती है।

sudo nano /etc/systemd/system/mastodon-queue.service

फ़ाइल को निम्न सामग्री से आबाद करें।

[Unit]
Description=Mastodon Queue Service
After=network.target

[Service]
Type=simple
User=mastodon
WorkingDirectory=/opt/mastodon/app
Environment="RAILS_ENV=production"
Environment="DB_POOL=5"
ExecStart=/bin/bash -lc 'bundle exec sidekiq -c 5 -q default -q mailers -q pull -q push'
TimeoutSec=15
Restart=always

[Install]
WantedBy=multi-user.target

अंत में, मास्टोडन स्ट्रीमिंग एपीआई सेवा के लिए अंतिम सेवा फ़ाइल बनाएं।

sudo nano /etc/systemd/system/mastodon-api.service

फ़ाइल को निम्न सामग्री से आबाद करें।

[Unit]
Description=Mastodon Streaming
After=network.target

[Service]
Type=simple
User=mastodon
WorkingDirectory=/opt/mastodon/app
Environment="NODE_ENV=production"
Environment="PORT=4000"
ExecStart=/bin/npm run start
TimeoutSec=15
Restart=always

[Install]
WantedBy=multi-user.target

बूट समय पर स्वचालित रूप से शुरू करने के लिए मास्टोडन सेवाओं को सक्षम करें।

sudo systemctl enable mastodon-web mastodon-queue mastodon-api 

मास्टोडन सेवाओं को शुरू करने के लिए, आप इसे चला सकते हैं।

sudo systemctl start mastodon-web mastodon-queue mastodon-api 

सेवाओं की स्थिति की जांच करने के लिए, आप इसे चला सकते हैं।

sudo systemctl status mastodon-web mastodon-queue mastodon-api 

निष्कर्ष

अब जाकर आप मास्टोडन एप्लिकेशन तक पहुंच सकते हैं https://social.example.com। अपने सर्वर पर एक नया उपयोगकर्ता खाता बनाएँ और ईमेल में भेजे गए लिंक को खोलकर उपयोगकर्ता खाते को सत्यापित करें। आपके द्वारा अभी बनाए गए खाते में व्यवस्थापक विशेषाधिकार प्रदान करने के लिए, इसे चलाएं।

sudo su - mastodon && cd ~/app
RAILS_ENV=production bundle exec rails mastodon:make_admin USERNAME=<user_name>

<user_name>वास्तविक उपयोगकर्ता नाम से बदलें जिसे आपने मास्टोडन इंटरफ़ेस में खाता बनाने के लिए उपयोग किया है।

आपका मास्टोडन उदाहरण अब स्थापित है और चलाने के लिए कॉन्फ़िगर किया गया है। अपने मित्रों को अपने उदाहरण में शामिल होने के लिए आमंत्रित करके शुरू करें और मास्टोडन द्वारा प्रदान की गई विशेषताओं का पता लगाएं। आप विभिन्न प्लेटफार्मों के लिए उपलब्ध किसी भी एप्लिकेशन को डाउनलोड करके मोबाइल में अपनी सोशल नेटवर्किंग साइट का उपयोग कर सकते हैं ।



Leave a Comment

कैसे स्थापित करें और अपने CentOS 7 सर्वर पर CyberPanel कॉन्फ़िगर करें

कैसे स्थापित करें और अपने CentOS 7 सर्वर पर CyberPanel कॉन्फ़िगर करें

एक अलग प्रणाली का उपयोग? परिचय CyberPanel बाजार पर पहला नियंत्रण पैनल है जो दोनों खुला स्रोत है और OpenLiteSpeed ​​का उपयोग करता है। क्या थी?

CentOS पर FFmpeg कैसे स्थापित करें

CentOS पर FFmpeg कैसे स्थापित करें

FFmpeg ऑडियो और वीडियो रिकॉर्ड करने, कन्वर्ट करने और स्ट्रीम करने के लिए एक लोकप्रिय ओपन सोर्स समाधान है, जो सभी प्रकार की ऑनलाइन स्ट्रीमिंग सेवाओं में व्यापक रूप से उपयोग किया जाता है। मैं

SSH का उपयोग करके LUKS डिस्क एन्क्रिप्शन पर LVM को दूरस्थ रूप से अनलॉक करने के लिए CentOS 7 स्थापित और सेटअप करें

SSH का उपयोग करके LUKS डिस्क एन्क्रिप्शन पर LVM को दूरस्थ रूप से अनलॉक करने के लिए CentOS 7 स्थापित और सेटअप करें

एलयूकेएस (लिनक्स यूनिफाइड की सेटअप) लिनक्स के लिए उपलब्ध विभिन्न डिस्क एन्क्रिप्शन प्रारूपों में से एक है जो प्लेटफॉर्म एग्नॉस्टिक है। यह ट्यूटोरियल आपको बुद्धि प्रदान करेगा

CentOS 7 पर अक्टूबर CMS को कैसे स्थापित करें

CentOS 7 पर अक्टूबर CMS को कैसे स्थापित करें

अक्टूबर एक खुला स्रोत सामग्री प्रबंधन प्रणाली है जो लारवेल PHP फ्रेमवर्क पर आधारित है। एक सुरुचिपूर्ण इंटरफ़ेस और एक संक्षिप्त मॉड्यूलर वास्तुकला के साथ

CentOS 7 पर RockMongo स्थापित करें

CentOS 7 पर RockMongo स्थापित करें

RockMongo एक वेब-आधारित MongoDB प्रबंधन उपकरण है जो MySQL प्रबंधन उपकरण के समान है: phpMyAdmin। यह ट्यूटोरियल इंस्टॉलिन की प्रक्रिया को कवर करेगा

CentOS 7 पर बुक किए गए समयबद्धक को कैसे स्थापित करें

CentOS 7 पर बुक किए गए समयबद्धक को कैसे स्थापित करें

एक अलग प्रणाली का उपयोग? आवश्यकताएँ एक Vultr CentOS 7 सर्वर उदाहरण। एक sudo यूजर। चरण 1: सिस्टम को पहले अपडेट करें, अपने सिस्टम सर्वर को वें में अपडेट करें

CentOS 7 पर नेटडाटा स्थापित करना

CentOS 7 पर नेटडाटा स्थापित करना

एक अलग प्रणाली का उपयोग? नेटडाटा रियल-टाइम सिस्टम मेट्रिक्स मॉनिटरिंग के क्षेत्र में एक उभरता हुआ सितारा है। एक ही तरह के अन्य उपकरणों की तुलना में, नेटडाटा:

CentOS 7 पर स्टारबाउंड सर्वर कैसे स्थापित करें

CentOS 7 पर स्टारबाउंड सर्वर कैसे स्थापित करें

एक अलग प्रणाली का उपयोग? इस ट्यूटोरियल में, बीमार समझा जा रहा है कि CentOS 7 पर एक स्टारबाउंड सर्वर को कैसे सेटअप किया जाए। आवश्यक शर्तें आपको इस गेम को खुद पर बनाना होगा।

CentOS 7 पर Django कैसे स्थापित करें

CentOS 7 पर Django कैसे स्थापित करें

वेब एप्लिकेशन लिखने के लिए Django एक लोकप्रिय पायथन फ्रेमवर्क है। Django के साथ, आप तेजी से अनुप्रयोगों का निर्माण कर सकते हैं, पहिया को फिर से बनाए बिना। अगर आप चाहते हैं

CentOS 6 पर SA-MP सैन एंड्रियास मल्टीप्लेयर सर्वर सेटअप करें

CentOS 6 पर SA-MP सैन एंड्रियास मल्टीप्लेयर सर्वर सेटअप करें

एक अन्य Vultr ट्यूटोरियल में आपका स्वागत है। यहां, आप सीखेंगे कि एसएएमपी सर्वर कैसे स्थापित करें और चलाएं। यह गाइड CentOS 6 के लिए लिखा गया था

CentOS 7 पर Revive Adserver इनस्टॉल करना

CentOS 7 पर Revive Adserver इनस्टॉल करना

Revive Adserver एक स्वतंत्र और खुला स्रोत विज्ञापन सेवारत प्रणाली है जिसका उपयोग वेबसाइटों पर, ऐप्स में और / या वीडियो खिलाड़ियों में विज्ञापनों को प्रबंधित करने के लिए किया जा सकता है। इस लेख में,

CentOS 7 पर पार्स सर्वर कैसे स्थापित करें

CentOS 7 पर पार्स सर्वर कैसे स्थापित करें

पार्स सर्वर पार्स बैकेंड सेवा के लिए खुला स्रोत विकल्प है जिसे बंद किया जा रहा है। यदि आप इस सेवा के प्रशंसक हैं, तो आप अभी भी वें का आनंद ले सकते हैं

CentOS 7 पर एल्ग स्थापित करें

CentOS 7 पर एल्ग स्थापित करें

एक अलग प्रणाली का उपयोग? एल्ग एक खुला स्रोत सोशल नेटवर्किंग इंजन है जो परिसर के सामाजिक नेटवर्क जैसे सामाजिक वातावरण के निर्माण की अनुमति देता है

CentOS 7 पर डायस्पोरा के साथ अपने सामाजिक नेटवर्क का निर्माण करें

CentOS 7 पर डायस्पोरा के साथ अपने सामाजिक नेटवर्क का निर्माण करें

एक अलग प्रणाली का उपयोग? डायस्पोरा एक गोपनीयता-जागरूक, ओपन सोर्स सोशल नेटवर्क है। इस ट्यूटोरियल में, आप सीखेंगे कि डायस्पोरा पो को कैसे सेट और कॉन्फ़िगर करें

CentOS 7 पर कुबेदम के साथ कुबेरनेट्स तैनात करें

CentOS 7 पर कुबेदम के साथ कुबेरनेट्स तैनात करें

अवलोकन यह लेख आपको कुबेरनेट क्लस्टर प्राप्त करने और कुछ ही समय में कुबेदम के साथ चलने में मदद करने के लिए है। यह गाइड दो सर्वरों को तैनात करेगा

CentOS पर Z और Zsh के साथ उत्पादकता बढ़ाएँ

CentOS पर Z और Zsh के साथ उत्पादकता बढ़ाएँ

परिचय लिनक्स सिस्टम पर काम करने का मतलब है कि कोई कमांड लाइन का उपयोग अधिक बार नहीं कर रहा है। स्वागत के रूप में बार-बार लंबी निर्देशिका के नाम टाइप करना

कैसे एक Vultr LEMP सर्वर पर OpenCart स्थापित करें

कैसे एक Vultr LEMP सर्वर पर OpenCart स्थापित करें

ओपनकार्ट एक लोकप्रिय ओपन सोर्स शॉपिंग कार्ट सॉल्यूशन है जिसे उत्कृष्ट कार्यक्षमता, उपयोग में आसानी और उपस्थिति प्रदान करने के लिए डिज़ाइन किया गया है। OpenCart के साथ, आप सीए

CentOS 7 पर विकास के लिए Sails.js सेटअप करें

CentOS 7 पर विकास के लिए Sails.js सेटअप करें

एक अलग प्रणाली का उपयोग? परिचय Sails.js Node.js के लिए MVC फ्रेमवर्क है, जो रूबी ऑन रेल्स के समान है। यह आधुनिक अनुप्रयोगों को विकसित करने के लिए बनाता है

कैसे CentOS 7 पर स्रोत से Nginx संकलन करने के लिए

कैसे CentOS 7 पर स्रोत से Nginx संकलन करने के लिए

एक अलग प्रणाली का उपयोग? NGINX को HTTP / HTTPS सर्वर, रिवर्स प्रॉक्सी सर्वर, मेल प्रॉक्सी सर्वर, लोड बैलेंसर, TLS टर्मिनेटर, या कैचिन के रूप में उपयोग किया जा सकता है

CentOS 7 पर dotCMS कैसे स्थापित करें

CentOS 7 पर dotCMS कैसे स्थापित करें

एक अलग प्रणाली का उपयोग? dotCMS जावा में लिखा एक ओपन सोर्स एंटरप्राइज ग्रेड कंटेंट मैनेजमेंट सिस्टम है। इसमें लगभग हर सुविधा आवश्यक टी होती है

Ubuntu 16.04 पर लाइटकार्ट शॉपिंग कार्ट प्लेटफ़ॉर्म कैसे स्थापित करें

Ubuntu 16.04 पर लाइटकार्ट शॉपिंग कार्ट प्लेटफ़ॉर्म कैसे स्थापित करें

LiteCart PHP, jQuery और HTML में लिखा गया एक स्वतंत्र और ओपन सोर्स शॉपिंग कार्ट प्लेटफॉर्म है। यह ई-कॉमर्स सॉफ्टवेअर का उपयोग करने के लिए एक सरल, हल���का और आसान है

डेबियन पर सेटअप NFS शेयर

डेबियन पर सेटअप NFS शेयर

एनएफएस एक नेटवर्क-आधारित फाइल सिस्टम है जो कंप्यूटरों को कंप्यूटर नेटवर्क पर फाइलों तक पहुंचने की अनुमति देता है। यह मार्गदर्शिका बताती है कि आप एनएफ पर फ़ोल्डर्स को कैसे उजागर कर सकते हैं

मोटोमो एनालिटिक्स को फेडोरा 28 पर कैसे स्थापित करें

मोटोमो एनालिटिक्स को फेडोरा 28 पर कैसे स्थापित करें

एक अलग प्रणाली का उपयोग? माटोमो (पूर्व में पिविक) एक ओपन सोर्स एनालिटिक्स प्लेटफॉर्म है, जो गूगल एनालिटिक्स का एक खुला विकल्प है। Matomo स्रोत को होस्ट किया गया है

Linux पर एक TeamTalk Server सेटअप करें

Linux पर एक TeamTalk Server सेटअप करें

टीमटॉक एक कॉन्फ्रेंसिंग प्रणाली है जो उपयोगकर्ताओं को उच्च-गुणवत्ता वाले ऑडियो / वीडियो वार्तालाप, टेक्स्ट चैट, स्थानांतरण फ़ाइलें और स्क्रीन साझा करने की अनुमति देती है। यह मैं

विंडोज सर्वर पर Garrys मॉड कैसे स्थापित करें

विंडोज सर्वर पर Garrys मॉड कैसे स्थापित करें

परिचय यह आलेख बताएगा कि विंडोज सर्वर 2012 पर गारस मोड सर्वर को कैसे डाउनलोड और इंस्टॉल किया जाए। यह गाइड गहराई में होने के लिए बनाया गया है।

कैसे स्थापित करें और अपने CentOS 7 सर्वर पर CyberPanel कॉन्फ़िगर करें

कैसे स्थापित करें और अपने CentOS 7 सर्वर पर CyberPanel कॉन्फ़िगर करें

एक अलग प्रणाली का उपयोग? परिचय CyberPanel बाजार पर पहला नियंत्रण पैनल है जो दोनों खुला स्रोत है और OpenLiteSpeed ​​का उपयोग करता है। क्या थी?

CentOS पर FFmpeg कैसे स्थापित करें

CentOS पर FFmpeg कैसे स्थापित करें

FFmpeg ऑडियो और वीडियो रिकॉर्ड करने, कन्वर्ट करने और स्ट्रीम करने के लिए एक लोकप्रिय ओपन सोर्स समाधान है, जो सभी प्रकार की ऑनलाइन स्ट्रीमिंग सेवाओं में व्यापक रूप से उपयोग किया जाता है। मैं

SSH का उपयोग करके LUKS डिस्क एन्क्रिप्शन पर LVM को दूरस्थ रूप से अनलॉक करने के लिए CentOS 7 स्थापित और सेटअप करें

SSH का उपयोग करके LUKS डिस्क एन्क्रिप्शन पर LVM को दूरस्थ रूप से अनलॉक करने के लिए CentOS 7 स्थापित और सेटअप करें

एलयूकेएस (लिनक्स यूनिफाइड की सेटअप) लिनक्स के लिए उपलब्ध विभिन्न डिस्क एन्क्रिप्शन प्रारूपों में से एक है जो प्लेटफॉर्म एग्नॉस्टिक है। यह ट्यूटोरियल आपको बुद्धि प्रदान करेगा

अपने Vultr VPS को कैसे एक्सेस करें

अपने Vultr VPS को कैसे एक्सेस करें

Vultr अपने VPS को कॉन्फ़िगर करने, स्थापित करने और उपयोग करने के लिए कई अलग-अलग तरीके प्रदान करता है। क्रेडेंशियल एक्सेस करें आपके VPS के लिए डिफ़ॉल्ट एक्सेस क्रेडेंशियल ar

CentOS 7 पर अक्टूबर CMS को कैसे स्थापित करें

CentOS 7 पर अक्टूबर CMS को कैसे स्थापित करें

अक्टूबर एक खुला स्रोत सामग्री प्रबंधन प्रणाली है जो लारवेल PHP फ्रेमवर्क पर आधारित है। एक सुरुचिपूर्ण इंटरफ़ेस और एक संक्षिप्त मॉड्यूलर वास्तुकला के साथ