GNU/Linux >> Linux Esercitazione >  >> Debian

Come installare Mastodon su Debian 9

In questo tutorial, ti guideremo e ti guideremo attraverso il processo di installazione di Mastodon su un VPS Debian 9.

Mastodon è un social network gratuito open source basato sul protocollo web aperto. Utilizza Ruby on Rails per il back-end e React.js e Redux per il front-end. Questa piattaforma di social media è molto simile a Twitter, con particolare attenzione alla condivisione di testi e media. Essendo questa piattaforma open-source, puoi gestire un social network privato che i tuoi e i tuoi amici possono utilizzare in privato e senza pubblicità.

Questa guida dovrebbe funzionare anche su altri sistemi VPS Linux, ma è stata testata e scritta per un VPS Debian 9. Il processo di installazione non dovrebbe richiedere troppo tempo, la parte più lunga è il processo di compilazione. Iniziamo con l'installazione.

Prerequisiti:

  • Un Debian 9 VPS.
  • Un account utente con privilegi sudo o accesso all'utente "root" stesso.

Passaggio 1:installa i pacchetti richiesti

Accedi al tuo VPS tramite SSH come root o come utente sudo:

ssh userame@IP_Address -p Port_Number

Sostituisci "IP_Address" e "Port_Number" con il rispettivo indirizzo IP del tuo server e numeri di porta SSH. Inoltre, sostituisci "nome utente" con "root" per l'utente root o con il nome dell'account amministratore che prevedi di utilizzare.

Una volta effettuato l'accesso, immetti i seguenti comandi per aggiornare tutti i pacchetti installati alle ultime versioni disponibili:

sudo apt-get update
sudo apt-get upgrade

Installa i pacchetti richiesti utilizzando il seguente comando:

sudo apt-get install curl gcc g++ make \
imagemagick ffmpeg libpq-dev libxml2-dev libxslt1-dev file git-core \
libprotobuf-dev protobuf-compiler pkg-config autoconf \
bison build-essential libssl-dev libyaml-dev libreadline-dev \
zlib1g-dev libncurses5-dev libffi-dev libgdbm-dev \
libidn11-dev libicu-dev libjemalloc-dev

Questi pacchetti coprono tutti i requisiti per Mastodon, dalla conversione dei media ai servizi di streaming.

Passaggio 2:installa Node.js e Yarn

Installeremo Node.js e Yarn dai loro repository ufficiali.

Abilita il repository NodeSource con il seguente comando curl:

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

Per installare Node.js 8.x LTS Carbon e npm, esegui questo comando successivo:

sudo apt-get install nodejs

Importa la chiave GPG del repository Yarn APT e abilitala eseguendo:

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

Installa Filato usando il seguente comando:

sudo apt-get update && sudo apt-get install yarn

Fase 3:installa PostgreSQL

Mastodon può utilizzare PostgreSQL come database back-end.

Se il server PostgreSQL non è già installato sul tuo server, puoi installare l'ultima versione di PostgreSQL eseguendo il comando seguente:

sudo apt-get install postgresql postgresql-contrib

Una volta completata l'installazione, accedi alla shell di PostgreSQL:

sudo -u postgres psql

Crea un nuovo utente per l'istanza Mastodon:

CREATE USER mastodon CREATEDB;

Fase 4:installa Redis

L'installazione di Redis è piuttosto semplice, basta eseguire il seguente comando:

sudo apt-get install redis-server

Fase 5:crea un nuovo utente di sistema

Crea un nuovo utente di sistema che eseguirà il server Mastodon:

sudo adduser --home /opt/mastodon --disabled-login --gecos 'Mastodon Application' mastodon

Passaggio 6:installa Ruby

Installeremo Ruby usando lo script Rbenv.

Prima di clonare il repository rbenv, passa al nuovo utente mastodon che abbiamo creato nel passaggio precedente:

sudo su - mastodon

Configura 'rbenv' e 'ruby-build' con i seguenti comandi:

cd
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
cd ~/.rbenv && src/configure && make -C src
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
exec bash
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build

Una volta impostati sia "rbenv" che "ruby-build", installa l'ultima versione di Ruby con:

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

Aggiorna la gem e installa il bundler in modo che funzionino con la versione di rbenv che abbiamo appena installato.:

gem update --system
gem install bundler --no-document

Per verificare che tutto sia fatto correttamente, usa il comando ruby --version .

L'output dovrebbe essere simile al seguente:

ruby --version
ruby 2.6.1p33 (2019-01-30 revision 66950) [x86_64-linux]

Fase 7:configurazione del mastodonte

Anche i seguenti comandi vengono eseguiti come utente mastodon.

Clona il repository git di mastodon nel ~/live directory e checkout per l'ultimo ramo stabile di Mastodon:

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

Installa le dipendenze ruby ​​con il seguente comando:

bundle install -j$(getconf _NPROCESSORS_ONLN) --deployment --without development test

Installa le dipendenze node.js con:

yarn install --pure-lockfile

Passare alla directory di installazione di Mastodon ed eseguire il seguente comando per avviare l'installazione:

cd ~/live
RAILS_ENV=production bundle exec rake mastodon:setup

Il programma di installazione ti porrà diverse domande, genererà un nuovo segreto dell'app, imposterà lo schema del database e compilerà le risorse. L'operazione potrebbe richiedere del tempo, a seconda dell'hardware del tuo server:

Your instance is identified by its domain name. Changing it afterward will break things.
Domain name: your-domain.com

Single user mode disables registrations and redirects the landing page to your public profile.
Do you want to enable single user mode? No

Are you using Docker to run Mastodon? no

PostgreSQL host: /var/run/postgresql
PostgreSQL port: 5432
Name of PostgreSQL database: mastodon_production
Name of PostgreSQL user: mastodon
Password of PostgreSQL user:
Database configuration works! 🎆

Redis host: localhost
Redis port: 6379
Redis password:
Redis configuration works! 🎆

Do you want to store uploaded files on the cloud? No

Do you want to send e-mails from localhost? yes
E-mail address to send e-mails "from": Mastodon <[email protected]>
Send a test e-mail with this configuration right now? no

This configuration will be written to .env.production
Save configuration? Yes

Now that configuration is saved, the database schema must be loaded.
If the database already exists, this will erase its contents.
Prepare the database now? Yes
Running `RAILS_ENV=production rails db:setup` ...

Created database 'mastodon_production'

...

Done!

The final step is compiling CSS/JS assets.
This may take a while and consume a lot of RAM.
Compile the assets now? Yes
Running `RAILS_ENV=production rails assets:precompile` ...

yarn install v1.9.4

...

Using /opt/mastodon/live/config/webpacker.yml file for setting up webpack paths
Compiling…
  Compiled all packs in /opt/mastodon/live/public/packs
  Rendering errors/500.html.haml within layouts/error
  Rendered errors/500.html.haml within layouts/error (2596.9ms)
Done!

All done! You can now power on the Mastodon server 🐘

Do you want to create an admin user straight away? Yes
Username: admin
E-mail: [email protected]
You can login with the password: 7594c5bab89c1f0b0e47438f6074fb02
You can change your password once you login.

Al termine, torna al tuo utente sudo eseguendo:

exit

Fase 8:configurazione di Nginx

Installa Nginx e Certbot usando il seguente comando:

sudo apt-get install nginx certbot

Una volta installato Nginx, copia il modello di configurazione di Nginx dalla directory di installazione di Mastodon:

sudo cp /opt/mastodon/live/dist/nginx.conf /etc/nginx/sites-available/mastodon.conf
sudo ln -s /etc/nginx/sites-available/mastodon.conf /etc/nginx/sites-enabled/mastodon.conf

Eseguire il comando seguente per modificare il percorso della directory di installazione di Mastodon e il nome del dominio. Non dimenticare di sostituire "tuo-dominio.com" con il tuo nome di dominio registrato:

sudo sed -i 's/home/opt/g' /etc/nginx/sites-enabled/mastodon.conf
sudo sed -i 's/example.com/your-domain.com/g' /etc/nginx/sites-enabled/mastodon.conf

Riavvia Nginx per rendere effettive le modifiche:

sudo systemctl restart nginx

Quindi, usa certbot per ottenere un certificato SSL gratuito utilizzando Let's Encrypt:

sudo certbot --nginx -d your-domain.com

Il pedaggio otterrà un certificato SSL Let's encrypt gratuito e riconfigura la configurazione di Nginx.

Fase 9:configurazione dei servizi systemd

Copia i file dell'unità systemd dalla directory Mastodon:

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

Eseguire il comando seguente per modificare il percorso della directory di installazione di Mastodon:

sudo sed -i 's/home/opt/g' /etc/systemd/system/mastodon-*.service

Infine, avvia e abilita i nuovi servizi di systemd:

for i in mastodon-web mastodon-sidekiq mastodon-streaming; do
   sudo systemctl start $i
   sudo systemctl enable $i
done

A questo punto, puoi aprire il tuo dominio nel browser e completare l'installazione di Mastodon.

Questo è tutto. Hai installato con successo Mastodon sul tuo Debian 9 VPS. Per ulteriori informazioni su come gestire l'installazione di Mastodon, fare riferimento alla documentazione ufficiale di Mastodon.

Ovviamente, non devi fare nulla di tutto ciò se utilizzi uno dei nostri servizi di hosting VPS Linux, nel qual caso puoi semplicemente chiedere ai nostri esperti amministratori Linux di configurarlo per te. Sono disponibili 24 ore su 24, 7 giorni su 7 e si prenderanno immediatamente cura della tua richiesta.

PS . Se ti è piaciuto questo post, condividilo con i tuoi amici sui social network usando le scorciatoie di condivisione qui sotto, o semplicemente lascia un commento in basso nella sezione commenti. Grazie.


Debian
  1. Come installare Tomcat 8.5 su Debian 9

  2. Come installare Nextcloud su Debian 9

  3. Come installare PostgreSQL 11/10 su Debian 9 e Debian 8

  4. Come installare MongoDB 4.4 / 4.2 su Debian 9

  5. Come installare PostgreSQL su Debian 11 / Debian 10

Come installare MariaDB su Debian 11

Come installare Nginx su Debian 11

Come installare Nagios su Debian 10 / Debian 9

Come installare LibreNMS su Debian 11 / Debian 10

Come installare Yclas su Debian 11

Come installare Vai su Debian 11