GNU/Linux >> Znalost Linux >  >> Panels >> Panels

Jak nainstalovat Mastodon na Ubuntu 18.04

V tomto článku nainstalujeme Mastodon na Ubuntu 18.04 VPS.

Mastodon je bezplatná a open-source síťová platforma, která je velmi podobná slavné platformě sociálních médií známé jako Twitter. Na rozdíl od Twitteru však neexistuje jediný ústřední orgán a neexistuje žádná reklama. Mastodon je napsán v Ruby a JavaScriptu a jeho open-source povaha zajišťuje, že zůstane otevřený pro každého, aby jej mohl používat soukromě a bezpečně. Každý si může vytvořit server Mastodon a budovat své vlastní komunity s přáteli. Mastodon je navíc podporován a dostupný prostřednictvím několika aplikací pro iOS, Android a další platformy, což vám umožní zůstat v kontaktu se svými přáteli, ať jste kdekoli. Začněme instalací Mastodon.

Předpoklady:

Než zahájíme instalaci, musíme splnit předpoklady:

  • Server se systémem Ubuntu 18.04
  • rootový přístup nebo uživatel s právy sudo
  • Název domény (nebo subdoména) pro server Mastodon, např. your_domain_name.com

Začněte přihlášením do VPS pomocí protokolu SSH.

V tomto tutoriálu spustíme všechny příkazy jako root, takže pokud nepoužíváte účet root, přepněte na root nebo použijte příkaz sudo před příkazy. Případně se ujistěte, že každý příkaz spouštíte s předponou ‚sudo‘.

sudo -i

Krok 1:Přidání požadovaných úložišť

V tomto kroku přidáme do našeho systému požadovaná úložiště.

Chcete-li se ujistit, že curl je ve vašem systému nainstalován, spusťte příkaz:

apt install -y curl

Povolte úložiště NodeSource pomocí následujícího příkazu curl:

curl -sL https://deb.nodesource.com/setup_8.x | bash -

Pomocí následujících příkazů importujeme klíč GPG úložiště. Poté povolíme úložiště Yarn APT:

curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list

Krok 2:Instalace balíčků

Nyní nainstalujeme požadované systémové balíčky pro Mastodon:

apt updateapt install -y \imagemagick ffmpeg libpq-dev libxml2-dev libxslt1-dev soubor git-core \g++ libprotobuf-dev protobuf-compiler pkg-config nodejs gcc autoconf \bison build-essential libssl-readdevline6lili -dev \zlib1g-dev libncurses5-dev libffi-dev libgdbm5 libgdbm-dev \nginx redis-server redis-tools postgresql postgresql-contrib \certbot yarn libidn11-dev libicu-dev libjemalloc-dev 

Zde je stručné vysvětlení závislostí, které jsme právě nainstalovali:

  • imagemagick – Mastodon používá ImageMagick pro operace související s obrázky
  • ffmpeg – Mastodon používá FFmpeg pro převod GIF na MP4
  • libprotobuf-dev a protobuf-compiler – Mastodon je používá k detekci jazyka
  • nginx – Nginx se používá jako webový server
  • redis-* – Mastodon používá Redis pro své úložiště datové struktury v paměti
  • postgresql-* – Mastodon používá PostgreSQL jako svou SQL databázi
  • nodejs – Uzel se používá pro rozhraní API pro streamování Mastodon
  • příze – Yarn je správce balíčků Node.js
  • Další balíčky -dev, g++ – ty jsou potřeba pro kompilaci Ruby pomocí ruby-build.

Krok 3:Instalace Ruby

Ruby je také jedním z požadavků na Mastodon a v tomto kroku jej nainstalujeme. Ke správě verzí Ruby použijeme ‚rbenv‘. Ale protože rbenv musí být nainstalován pro konkrétního uživatele Linuxu, první věc, kterou musíme udělat, je vytvořit nového uživatele Mastodon. Pro vytvoření uživatele Mastodon provedeme příkaz:

adduser --disabled-login mastodont

Poté se přepněte na uživatelského mastodonta příkazem:

su - mastodont

A pomocí následujících příkazů nainstalujeme rbenv a rbenv-build:

klon git https://github.com/rbenv/rbenv.git ~/.rbenvcd ~/.rbenv &&src/configure &&make -C srcecho 'export PATH="$HOME/.rbenv/bin:$PATH "'>> ~/.bashrcecho 'eval "$(rbenv init -)"'>> ~/.bashrcexec klon bashgit https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby -build

Po dokončení instalace rbenv a rbenv-build můžeme nainstalovat přesnou verzi Ruby, kterou potřebujeme:

RUBY_CONFIGURE_OPTS=--with-jemalloc rbenv install 2.6.0rbenv global 2.6.0

Protože ruby_2.6.0 přichází s balíčkem, který není kompatibilní s výchozí verzí drahokamu, budeme muset drahokam aktualizovat:

aktualizace drahokamu --system

Kromě toho musíme nainstalovat bundler:

gem install bundler --no-document

Jakmile budou všechny kroky zpracovány, můžeme se vrátit k uživateli root:

exit

Krok 4:Nastavení PostgreSQL

Vytvoříme uživatele PostgreSQL, kterého může používat uživatel Linuxu se stejným uživatelským jménem bez nutnosti samostatného hesla. Jedná se o velmi jednoduchou metodu, která využívá autentizaci „ident“, která umožňuje snadné nastavení a zároveň umožňuje místním uživatelům přístup k databázi bez hesla.

Výzvu Postgres můžete otevřít přepnutím na uživatele postgres a spuštěním psql nebo můžete provést následující příkaz:

sudo -u postgres psql

Proveďte příkaz:

CREATE USER mastodont CREATEDB;

Ukončete výzvu Postgres pomocí:

\q

Krok 5:Nastavení Mastodon

Protože jsme připravili server pro instalaci Mastodonu, můžeme nyní přistoupit ke stažení kódu Mastodon. Přepněte se na uživatele mastodonta příkazem:

su - mastodont

Použijeme git ke klonování nejnovější stabilní verze Mastodon spuštěním příkazů:

klon git https://github.com/tootsuite/mastodon.git live &&cd livegit checkout $(git tag -l | grep -v 'rc[0-9]*$' | sort -V | tail - n 1)

Krok 6:Instalace závislostí Ruby a JavaScript

Toto jsou poslední závislosti, které musíme nainstalovat. K instalaci zbývajících závislostí Ruby použijeme bundler:

instalace balíčku \-j$(getconf _NPROCESSORS_ONLN) \--deployment --bez vývojového testu

a použijte přízi k instalaci závislostí Node.js:

instalace příze --pure-lockfile

Krok 7:Generování konfiguračního souboru

Můžeme spustit interaktivního průvodce nastavením, abychom vygenerovali konfigurační soubor:

RAILS_ENV=production bundle exec rake mastodon:setup

Nyní se můžeme přepnout zpět na účet root, protože to je vše, co jsme museli udělat s uživatelem mastodonta.

exit

Krok 8:Nastavení Nginx

Mastodon je standardně dodáván s konfigurační šablonou Nginx. V dalším kroku použijeme kopii této konfigurační šablony a upravíme ji pro naše potřeby.

cp /home/mastodon/live/dist/nginx.conf /etc/nginx/sites-available/mastodon.confln -s /etc/nginx/sites-available/mastodon.conf /etc/nginx/sites-enabled /mastodont.conf

Poté upravte /etc/nginx/sites-available/mastodon.conf a nahraďte your_domain.com svým skutečným názvem domény.

nano /etc/nginx/sites-available/mastodon.conf

Aby se změny projevily, musíme znovu načíst Nginx:

reload systemctl nginx

Pokud vám z nějakého důvodu náhodou chybí soubor Nginx v tomto umístění, můžete použít následující konfiguraci Nginx a upravit ji podle svých potřeb.

map $http_upgrade $connection_upgrade {default upgrade;'' close;}cesta_proxy_cache /var/cache/nginx levels=1:2 keys_zone=CACHE:10m neaktivní=7d max_size=1g;server {poslechnout 80;poslechnout [::]:80;název_serveru your_domain.com;root /home/mastodon/live/public;location /.well-known/acme-challenge/ { allow all; }umístění / { návrat 301 https://$host$request_uri; }}server {poslouchat 443 ssl http2;poslechnout [::]:443 ssl http2;název_serveru vaše_doména.com;ssl_protocols TLSv1.2;ssl_ciphers VYSOKÉ:!STŘEDNÍ:!NÍZKÉ:!aNULL:!NULL:!SHA_server_prefer_ssl; ssl_session_cache shared:SSL:10m;# Jakmile získáte certifikát, odkomentujte tyto řádky:# ssl_certificate /etc/letsencrypt/live/your_domain.com/fullchain.pem;# ssl_certificate_key /etc/letsencrypt/live/your_domain.pem/priv;keepalive_timeout 70;sendfile on;client_max_body_size 80m;root /home/mastodon/live/public;gzip on;gzip_disable "msie6";gzip_vary on;gzip_proxied any;gzip_proxied text_comp_level 6;gzip_comp_level 6;gzip css aplikace/json aplikace/javascript text/xml aplikace/xml aplikace/xml+rss text/javascript;add_header Strict-Transport-Security "max-age=31536000";umístění / {try_files $uri @proxy;}umístění ~ ^/ (emoji|balíčky|systém/účty/avatari|systém/přílohy_médií/soubory) {add_header Cache-Control "public, max-age=31536000, neměnný";add_heade r Strict-Transport-Security "max-age=31536000";try_files $uri @proxy;}umístění /sw.js {add_header Cache-Control "public, max-age=0";add_header Strict-Transport-Security "max- age=31536000";try_files $uri @proxy;}umístění @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_headed_Proxy; ";proxy_pass_header Server;proxy_pass http://127.0.0.1:3000;proxy_buffering on;proxy_redirect off;proxy_http_version 1.1;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection $connection_upgrade;proxy_cache CACHE;proxy_cache_valid 200 7d;proxy_cache_use_stale error timeout updating http_500 http_502 http_503 http_504;add_header X-Cached $upstream_cache_status;add_header Strict-Transport-Security "max-age=31536000";tcp_nodelay on;}umístění /api/v1/streaming {proxy_set_header Host $host;proxy_set_header $set_headeroxy X-Real-IP -Přeposláno-Za $pr oxy_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 on-line $t_connect_pageupgrade_head_head_proxy_upgrade $tupgrade_head_proxy 500 501 502 503 504 /500.html;}

Nezapomeňte uložit a ukončit soubor a restartovat Nginx, jak je uvedeno výše, abyste potvrdili nový soubor.

Krok 9:Získání certifikátu SSL

Pro vygenerování bezplatného SSL certifikátu použijeme Let’s Encrypt:

certbot určitě --webroot -d vase_domena.com -w /home/mastodon/live/public/

Nezapomeňte prosím nahradit vase_domena.com vaším skutečným názvem domény. Nyní můžeme upravit /etc/nginx/sites-available/mastodon.conf konfigurační soubor s:

nano /etc/nginx/sites-available/mastodon.conf

Odkomentujte a upravte ssl_certificate a ssl_certificate_key linky. Jakmile dokončíme úpravy konfiguračního souboru, musíme znovu načíst Nginx, aby se naše změny projevily:

reload systemctl nginx

V tomto okamžiku, pokud se pokusíte získat přístup ke své doméně v preferovaném webovém prohlížeči, nebudete moci vidět Mastodon. Je to proto, že náš proces Mastodon ještě nezačal.

Krok 10:Nastavení systémových služeb

V tomto kroku spustíme a povolíme službu Mastodon na serveru. Můžeme jednoduše zkopírovat šablony služeb systemd z adresáře Mastodon:

cp /home/mastodon/live/dist/mastodon-*.service /etc/systemd/system/

Můžeme znovu zkontrolovat a ujistit se, že uživatelské jméno a cesty jsou v těchto souborech správné:

  • /etc/systemd/system/mastodon-web.service
  • /etc/systemd/system/mastodon-sidekiq.service
  • /etc/systemd/system/mastodon-streaming.service

Nakonec můžeme spustit a povolit služby Mastodon systemd:

systemctl spustit mastodon-web mastodon-sidekiq mastodon-streamingsystemctl povolit mastodon-web mastodon-sidekiq mastodon-streaming

Pokud soubory systemd náhodou chybí, můžete použít následující konfigurace. Musíte vytvořit tři systémové soubory služby Mastodon.

Pro webovou službu Mastodon zadejte následující:

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

Vložte následující kód:

[Unit]Description=mastodon-webAfter=network.target[Service]Type=simpleUser=mastodonWorkingDirectory=/home/mastodon/liveEnvironment="RAILS_ENV=production"Environment="PORT=3000"ExecStart=/home/mastodon/ .rbenv/shims/bundle exec puma -C config/puma.rbExecReload=/bin/kill -SIGUSR1 $MAINPIDTimeoutSec=15Restart=always[Install]WantedBy=multi-user.target

Poté uložte a ukončete.

Pro službu fronty na pozadí Mastodon:

nano /etc/systemd/system/mastodon-sidekiq.service

Vložte následující kód:

[Unit]Description=mastodon-sidekiqAfter=network.target[Service]Type=simpleUser=mastodonWorkingDirectory=/home/mastodon/liveEnvironment="RAILS_ENV=production"Environment="DB_POOL=25"Environment_MAX=2ARE" ExecStart=/home/mastodon/.rbenv/shims/bundle exec sidekiq -c 25TimeoutSec=15Restart=always[Install]WantedBy=multi-user.target

Poté soubor uložte a ukončete.

Pro službu Mastodon streaming API:

nano /etc/systemd/system/mastodon-streaming.service

Vložte následující kód:

[Unit]Description=mastodon-streamingAfter=network.target[Service]Type=simpleUser=mastodonWorkingDirectory=/home/mastodon/liveEnvironment="NODE_ENV=production"Environment="PORT=4000"Environment="STREAMING_1"CLUSTER_NUM=1CLUSTER_NUM ExecStart=/usr/bin/node ./streamingTimeoutSec=15Restart=always[Install]WantedBy=multi-user.target

Uložte a ukončete.

Aby se změny projevily, budete muset znovu načíst seznam démonů systemctl:

systemctl daemon-reload

Nyní byste měli být schopni spustit a povolit služby Mastodon systemd jako dříve.

Gratulujeme! Úspěšně jste nainstalovali Mastodon na svůj server. Můžete se k němu dostat na adrese https://vaše_doména.com/.

V tomto článku jsme vám ukázali, jak nainstalovat Mastodon na Ubuntu 18.04. Nyní můžete využít tyto znalosti a vytvořit si svou soukromou sociální síť s touto úžasnou aplikací.

Samozřejmě, pokud jste jedním z našich zákazníků Managed Ubuntu Hosting, nemusíte Mastodon instalovat na svůj Ubuntu 18.04 VPS – jednoduše se zeptejte našich administrátorů, posaďte se a relaxujte. Naši administrátoři vám okamžitě nainstalují Mastodon na Ubuntu 18.04.

PS. Pokud se vám líbil tento příspěvek o tom, jak nainstalovat Mastodon na Ubuntu 18.04 VPS, sdílejte jej se svými přáteli na sociálních sítích pomocí tlačítek níže nebo jednoduše zanechte komentář v sekci komentářů. Děkuji.


Panels
  1. Jak nainstalovat ATutor na Ubuntu 14.04

  2. Jak nainstalovat Traq na Ubuntu 16.04

  3. Jak nainstalovat Pip na Ubuntu 16.04

  1. Jak nainstalovat ISPConfig 3 na Ubuntu 18.04

  2. Jak nainstalovat WildFly na Ubuntu 16.04

  3. Jak nainstalovat R na Ubuntu 16.04

  1. Jak nainstalovat Webmin na Ubuntu 18.04

  2. Jak nainstalovat Panda3D na Ubuntu 10.04

  3. Jak nainstalovat Zabbix na Ubuntu