Sådan installeres Mastodon på CentOS 7

Mastodon er et open-source gratis socialt netværk baseret på åben webprotokol. Det brugte Ruby on Rails til back-end og React.js og Redux for front-end. I denne vejledning viser vi dig, hvordan du installerer Mastodon på en CentOS 7-server.

1. Opdater din CentOS 7-server og installer de nødvendige pakker

Log ind på din VPS via SSH som en sudo-bruger:

ssh [Email protected]_Adresse

Når du er logget ind, skal du udstede følgende kommandoer for at sikre, at alle installerede pakker er opdaterede:

sudo yum opdatering

Installer derefter installationen af ​​de nødvendige pakker, der er nødvendige for at opbygge Mastodon med følgende kommando:

sudo yum installer curl git gpg gcc git-core zlib zlib-devel gcc-c + + patch readline readline-devel libyaml-devel libffi-devel openssl-devel gør autoconf automake libtool bison curl sqlite-devel ImageMagick libxmltxNUMX-devel libxslt-devel gdbm-devel ncurses-devel glibc-headers glibc-devel libicu-devel libidn-devel protobuf-devel protobuf

2. Installer Node.js og Garn

Vi installerer Node.js v8 LTS fra NodeSource-depotet, der afhænger af, at EPEL-depotet er aktiveret.

For at aktivere EPEL-depotet på din CentOS 7 VPS, udsted følgende kommando:

sudo yum installere epel-release krølle

Når EPEL-arkivet er aktiveret, kør følgende kommando for at tilføje Node.js v8 LTS-depotet:

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

Når NodeSource-arkivet er aktiveret, skal du installere Node.js med følgende kommando:

sudo yum installere nodejs

Aktivér Garn RPM-depot med:

curl - silent - location https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /etc/yum.repos.d/yarn.repo

Installer den nyeste Garn-version med:

sudo yum installere garn

3. Installer PostgreSQL

Aktivér PostgreSQL-depotet:

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

For at installere PostgreSQL-serveren, kør følgende kommando:

sudo yum installere postgresql96-server postgresql96-contrib postgresql96-devel

Når installationen er gennemført, skal du oprette en ny databaseklynge med:

sudo / usr / pgsql-9.6 / bin / postgresql96-opsætning initdb

Start PostgreSQL-tjenesten og aktiver den til at starte ved opstart:

sudo systemctl aktiver postgresql-9.6 sudo systemctl start postgresql-9.6

Log ind på PostgreSQL-shell:

sudo -u postgres psql

Opret en ny bruger til Mastodon-forekomsten:

CREATE USER mastodon CREATEDB;

4. Installer Redis

Installation af Redis er ret ligetil, bare kør følgende kommando:

sudo yum installer redis

5. Opret en ny systembruger

For at oprette en ny systembruger til Mastodon, kør følgende kommando:

sudo adduser mastodon

6. Installer Ruby

Vi installerer Ruby ved hjælp af Rbenv scriptet.

Før kloning af rbenv repository switch til den nye mastodon bruger:

sudo sumastodon

Opsæt rbenv og ruby-build med følgende kommandoer:

cd git klon git: //github.com/sstephenson/rbenv.git .rbenv echo 'eksport PATH = "$ HOME / .rbenv / bin: $ PATH"' >> ~ / .bash_profile echo 'eval "$ (rbenv init -) "'>> ~ / .bash_profile exec $ SHELL git klon git: //github.com/sstephenson/ruby-build.git ~ / .rbenv / plugins / ruby-build echo' export PATH =" $ HOME /. rbenv / plugins / ruby-build / bin: $ PATH "'>> ~ / .bash_profile exec $ SHELL

Når både rbenv og ruby-build er opsætninger, skal du installere den nyeste Ruby-version med "

rbenv installere 2.5.1 rbenv global 2.5.1

For at kontrollere, at alt er gjort korrekt, skal du bruge kommandoen rubin - version.

Udgangen skal svare til følgende:

ruby --version ruby ​​2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux]

7. Klon Mastodon git repository og installer afhængigheder

Følgende kommandoer køres også som mastodon-bruger.

Klon mastodon git repository i ~ / Live katalog og checkout til den nyeste stabile Mastodon filial:

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

Installer bundler og rubinafhængigheder med følgende kommandoer:

gem install bundter bundle install -j $ (getconf _NPROCESSORS_ONLN) - distribution - uden udviklingstest

Installer node.js afhængigheder med:

garninstallation - pure-lockfile

8. Konfigurer Mastodon

Følgende kommandoer køres som mastodon-bruger.

Skift til Mastodon installationskataloget og kør følgende kommando for at starte opsætningen:

cd ~ / live RAILS_ENV = produktionsbundt exec rake mastodon: opsætning

Installatøren vil stille dig flere spørgsmål, generere ny app hemmelig, oprette databaseskemaet og kompilere aktiverne.

Din forekomst identificeres ved dens domænenavn. At ændre det bagefter vil ødelægge tingene. Domænenavn: dit-domæne.dk Enkeltbrugertilstand deaktiverer registreringer og omdirigerer destinationssiden til din offentlige profil. Vil du aktivere enkeltbrugertilstand? Nej Bruger du Docker til at køre Mastodon? ingen PostgreSQL-vært: / var / run / postgresql PostgreSQL-port: 5432 Navn på PostgreSQL-database: mastodon_produktion Navn på PostgreSQL-bruger: mastodon Adgangskode til PostgreSQL-bruger: Databasekonfiguration fungerer! ? Redis vært: localhost Redis port: 6379 Redis adgangskode: Redis konfiguration fungerer! ? Vil du gemme uploadede filer på skyen? Nej Vil du sende e-mails fra localhost? ja E-mail-adresse for at sende e-mails "fra": Mastodon <[Email protected]> Send en test-e-mail med denne konfiguration lige nu? nej Denne konfiguration vil blive skrevet til .env.production Gem konfiguration? Ja, nu, når konfigurationen er gemt, skal databaseskemaet indlæses. Hvis databasen allerede findes, slettes dette indhold. Forbered databasen nu? Ja Kører `RAILS_ENV = produktionsskinner db: setup` ... Oprettet database 'mastodon_production' ... Udført! Det sidste trin er at samle CSS / JS-aktiver. Dette kan tage et stykke tid og forbruge meget RAM. Kompilere aktiverne nu? Ja Kører `RAILS_ENV = produktionsskinner aktiver: prækompilerer` ... garn installer v1.9.4 ... Brug af /home/mastodon/live/config/webpacker.yml fil til opsætning af webpack stier Kompilering… Kompileret alle pakker i / home / mastodon / live / public / pack Rendering-fejl / 500.html.haml inden for layouts / fejl Renderede fejl / 500.html.haml inden for layouts / error (2596.9ms) Udført! Helt færdig! Du kan nu tænde for Mastodon-serveren? Vil du oprette en admin-bruger med det samme? Ja Brugernavn: admin E-mail: [Email protected]
Du kan logge ind med adgangskoden: 80b4aA233adaeS86d095Scbf79302f81 Du kan ændre din adgangskode, når du logger ind.

9. Opret Mastodon systemd enheder

Følgende kommandoer køres som root- eller sudo-bruger.

Åbn din teksteditor og opret følgende systemd-enhedsfiler:

sudo nano /etc/systemd/system/mastodon-web.service
[Enhed] Beskrivelse = mastodon-web Efter = netværk.target [Service] Type = enkel bruger = mastodon WorkingDirectory = / home / mastodon / live Miljø = "RAILS_ENV = produktion" Miljø = "PORT = 3000" ExecStart = / home / mastodon /.rbenv/shims/bundle exec puma -C config / puma.rb ExecReload = / bin / kill -SIGUSR1 $ MAINPID TimeoutSec = 15 Genstart = altid [Install] WantedBy = multi-user.target
sudo nano /etc/systemd/system/mastodon-sidekiq.service
[Enhed] Beskrivelse = mastodon-sidekiq Efter = netværk.target [Service] Type = enkel bruger = mastodon WorkingDirectory = / home / mastodon / live Miljø = "RAILS_ENV = produktion" Miljø = "DB_POOL = 5" ExecStart = / home / mastodon /.rbenv/shims/bundle exec sidekiq -c 5 -q standard -q push -q mailere -q pull TimeoutSec = 15 Genstart = altid [Install] WantedBy = multi-user.target
sudo nano /etc/systemd/system/mastodon-streaming.service
[Enhed] Beskrivelse = mastodon-streaming Efter = netværk.target [Service] Type = enkel bruger = mastodon WorkingDirectory = / home / mastodon / live Miljø = "NODE_ENV = produktion" Miljø = "PORT = 4000" ExecStart = / usr / bin / npm run start TimeoutSec = 15 Genstart = altid [Install] WantedBy = multi-user.target

Aktivér og start alle tjenester:

sudo systemctl aktivere mastodon-web.service sudo systemctl aktivere mastodon-sidekiq.service sudo systemctl aktivere mastodon-streaming.service sudo systemctl start mastodon-web.service sudo systemctl start mastodon-sidekiq.service sudo systemctl start mastodon-streaming.service

10. Installer og konfigurer Nginx

For at installere Nginx kør følgende kommando:

sudo yum installer nginx

Når nginx er installeret, skal du oprette en serverblok til dit domæne. Glem ikke at indstille den korrekte vej til SSL-certifikatet og den private nøgle.

sudo nano /etc/nginx/conf.d/yourdomain.com.conf
kort $ http_upgrade $ connection_upgrade {standardopgradering; '' tæt; } server {lyt 80; lyt [::]: 80; servernavn dit domæne.com; rod / hjem / mastodon / live / offentlig; # Nyttigt til Lad os kryptere placering /.well- bekend/acme-challenge/ {allow all; } placering / {return 301 https: // $ vært $ request_uri; }} server {lyt 443 ssl http2; lyt [::]: 443 ssl http2; servernavn dit domæne.com; ssl_protocols TLSv1.2; ssl_ciphers HØJ:! MEDIUM:! LAV:! aNULL:! NULL:! SHA; ssl_prefer_server_ciphers tændt; ssl_session_cache delt: SSL: 10m; ssl_certificate /etc/ssl/certs/certificate.crt; ssl_certificate_key /etc/ssl/private/certificate.key; keepalive_timeout 70; sendfil på; client_max_body_size 80m; rod / hjem / mastodon / live / offentlig; gzip på; gzip_afviselig "msie6"; gzip_vary på; gzip_proxied enhver; gzip_comp_level 6; gzip_buffere 16 8k; gzip_http_version 1.1; gzip_types tekst / almindelig tekst / css-applikation / json-applikation / javascript-tekst / xml-applikation / xml-applikation / xml + rss-tekst / javascript; add_header Strict-Transport-Security "max-age = 31536000"; placering / {try_files $ uri @proxy; } placering ~ ^ / (emoji | pakker | system / konti / avatarer | system / media_attachments / files) {add_header Cache-Control "public, max-age = 31536000, immutable"; try_files $ uri @proxy; } placering /sw.js {add_header Cache-Control "public, max-age = 0"; try_files $ uri @proxy; } placering @proxy {proxy_set_header vært $ vært; 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 fra; proxy_http_version 1.1; proxy_set_header Opgradering $ http_upgrade; proxy_set_header Forbindelse $ connection_upgrade; tcp_nodelay tændt; } placering / api / v1 / streaming {proxy_set_header Host $ vært; 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 fra; proxy_http_version 1.1; proxy_set_header Opgradering $ http_upgrade; proxy_set_header Forbindelse $ connection_upgrade; tcp_nodelay tændt; } error_side 500 501 502 503 504 /500.html; }

Gem filen og genstart nginx-tjenesten:

sudo systemctl genstart nginx

Du kan nu åbne din browser, indtaste dit domæne og du vil blive præsenteret med Mastodon login formularen.

installering af mastodon på CentOS 7

Oprindelig artikel

Efterlad en kommentar

Dette websted bruger Akismet til at reducere spam. Lær, hvordan dine kommentardata behandles.