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.