Installazione software · 12 min read · Oct 13, 2025
Come installare la rete sociale Mastodon su Debian 11

Mastodon è una rete sociale gratuita, decentralizzata e open-source simile a Twitter. In Mastodon, gli utenti possono seguire altri utenti e pubblicare messaggi, immagini e video. Ma a differenza di Twitter, non esiste un archivio centrale o un’autorità per i contenuti.
Con l’architettura decentralizzata, Mastodon opera su migliaia di server diversi, ognuno gestito da vari membri della comunità. Puoi creare il tuo server Mastodon sotto il tuo dominio. Puoi anche seguire altri utenti con domini diversi su altri server.
In questo tutorial, installerai Mastodon, una piattaforma di microblogging decentralizzata su un server Debian 11. Con questa guida, configurerai Mastodon con PostgreSQL come server di database e Nginx come reverse proxy. Inoltre, proteggerai l’installazione di Mastodon tramite certificati SSL gratuiti di Letsencrypt.
Prerequisiti
Questa guida presuppone che tu abbia i seguenti requisiti:
- Un server Debian 11 - questo esempio utilizza l’ultima versione del server Debian 11 con hostname ‘mastodon-server‘ e l’indirizzo IP ‘192.168.5.40‘.
- Un utente non root con privilegi di amministratore sudo/root.
- Un nome di dominio puntato e risolto al tuo server Debian pubblico - questo esempio utilizza il sottodominio ‘mastodon.howtoforge.local‘.
Quando hai soddisfatto questi prerequisiti, sei pronto per procedere con l’installazione di Mastodon.
Configurazione dei repository e installazione delle dipendenze
Mastodon è un software gratuito e open-source per eseguire servizi di social networking auto-ospitati simili al servizio Twitter. È principalmente scritto in Ruby, specialmente con il framework web Ruby on Rails e JavaScript con Reac.js e Redux framework.
In questo primo passaggio, configurerai repository aggiuntivi sul tuo sistema e installerai le dipendenze dei pacchetti per l’installazione di Mastodon. Questo include pacchetti come build-essentials per compilare Ruby, PostgreSQL per il server di database, Nginx come server web e reverse proxy, strumento certbot per acquisire certificati SSL tramite Letsencrypt, e il server Redis che sarà utilizzato per la gestione di chiavi-valori e sessioni per Mastodon.
Prima di iniziare, esegui il comando apt qui sotto per installare alcune dipendenze di base che saranno utilizzate per gestire repository e pacchetti.
sudo apt install curl wget gnupg apt-transport-https lsb-release ca-certificatesQuando richiesto, inserisci y per confermare e premi INVIO per procedere.

Successivamente, esegui il comando qui sotto per aggiungere il repository Node.js Nodesource. Il pacchetto Node.js qui sarà utilizzato per compilare le risorse statiche di Mastodon. E al momento della scrittura, l’ultima versione di Mastodon richiede almeno Node.js v16.
curl -sL https://deb.nodesource.com/setup_16.x | bash -Riceverai quindi un output simile al seguente.

Dopo aver aggiunto il repository Node.js, configurerai quindi il repository per il gestore di pacchetti Yarn. Questo repository fornisce il pacchetto Yarn che sarà utilizzato per installare le dipendenze JavaScript.
Esegui il comando qui sotto per aggiungere la chiave GPG e il repository del gestore di pacchetti Yarn.
curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | gpg --dearmor | sudo tee /usr/share/keyrings/yarnkey.gpg >/dev/null
echo "deb [signed-by=/usr/share/keyrings/yarnkey.gpg] https://dl.yarnpkg.com/debian stable main" | sudo tee /etc/apt/sources.list.d/yarn.listIl terzo repository che aggiungerai è il repository PostgreSQL. Esegui il comando qui sotto per aggiungere il repository PostgreSQL al tuo server Debian.
wget -O /usr/share/keyrings/postgresql.asc https://www.postgresql.org/media/keys/ACCC4CF8.asc
echo "deb [signed-by=/usr/share/keyrings/postgresql.asc] http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" \
> /etc/apt/sources.list.d/postgresql.list
Con i repository Node.js, Yarn e PostgreSQL aggiunti, esegui il comando apt qui sotto per aggiornare l’indice dei pacchetti.
sudo apt updateRiceverai un output simile a questo.

Infine, esegui il comando apt qui sotto per installare le dipendenze dei pacchetti che saranno utilizzate per installare Mastodon.
sudo apt install imagemagick ffmpeg libpq-dev libxml2-dev libxslt1-dev file git-core \
g++ libprotobuf-dev protobuf-compiler pkg-config nodejs gcc autoconf \
bison build-essential libssl-dev libyaml-dev libreadline6-dev \
zlib1g-dev libncurses5-dev libffi-dev libgdbm-dev \
nginx nodejs yarn redis-server redis-tools postgresql postgresql-contrib \
certbot python3-certbot-nginx libidn11-dev libicu-dev libjemalloc-devInserisci y quando richiesto per la conferma e premi INVIO per procedere.

Con questo, hai installato le dipendenze di base per Mastodon e aggiunto alcuni repository di terze parti al tuo sistema Debian.
Nei passaggi successivi, installerai Ruby tramite rbenv - Il gestore di versioni Ruby.
Installazione di rbenv e Ruby
rbenv è uno strumento di gestione delle versioni per il linguaggio di programmazione Ruby su sistemi simili a Unix. È utile per passare tra più versioni di Ruby sulla stessa macchina e per garantire che ogni progetto su cui stai lavorando venga eseguito sempre sulla versione corretta di Ruby.
Per iniziare, esegui il comando qui sotto per creare un nuovo utente ‘mastodon‘ sul tuo sistema. Questo nuovo utente sarà utilizzato per eseguire i servizi relativi a Mastodon, e il codice sorgente di Mastodon sarà memorizzato nella home directory di questo utente.
sudo adduser --disabled-login mastodonDurante il processo, ti verrà chiesto di configurare i dettagli dell’utente. Inserisci le informazioni del tuo utente e inserisci y per confermare e premi INVIO.

Dopo che l’utente ‘mastodon‘ è stato creato, esegui il comando qui sotto per accedere.
su - mastodonSuccessivamente, scarica il codice sorgente di rbenv tramite il comando git qui sotto.
git clone https://github.com/rbenv/rbenv.git ~/.rbenvQuindi esegui il comando qui sotto per installare rbenv sul tuo sistema.
cd ~/.rbenv && src/configure && make -C srcRiceverai un output simile a questo dopo che rbenv è stato installato.

Successivamente, esegui il comando qui sotto per aggiungere la directory ‘bin’ di rbenv al PATH di sistema e caricare rbenv ogni volta che l’utente accede a una nuova sessione.
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrcOra ricarica la tua shell corrente ricaricando il file di configurazione bashrc. Quindi inserisci il comando ‘rbenv’ nella tua shell e premi TAB.
source ~/.bashrc
rbenv TABNello screenshot seguente, rbenv è installato e ora puoi eseguire il comando rbenv per installare Ruby.
Prima di installare Ruby, devi installare il plugin rbenv chiamato ‘ruby-build’. Questo plugin fornisce strumenti da riga di comando che semplificano l’installazione di Ruby da sorgente, specialmente per sistemi operativi simili a UNIX.
Scarica il plugin ‘ruby-build’ tramite il comando git.
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
Dopo che il plugin ‘ruby-build’ è stato aggiunto, esegui il comando qui sotto per installare Ruby v3.0.4, che è richiesto per l’attuale versione di Mastodon.
RUBY_CONFIGURE_OPTS=--with-jemalloc rbenv install 3.0.4Dopo che l’installazione è terminata, riceverai un output simile a questo.

Ora esegui il comando qui sotto per impostare la versione predefinita di Ruby su 3.0.4. Quindi verifica utilizzando il comando ruby come segue. Vedrai che Ruby v3.0.4 è installato sul tuo sistema Debian.
rbenv global 3.0.4
ruby --version
Infine, devi installare un bundler come gestione dei pacchetti Ruby. Esegui il comando gem qui sotto per installare ‘bundler’.
gem install bundler --no-documentA questo punto, hai completato l’installazione delle dipendenze del pacchetto di Mastodon sul tuo sistema. Hai installato Ruby 3.0.4 tramite il gestore di versioni Ruby rbenv e installato bundler, lo strumento di gestione dei pacchetti Ruby.
Nei passaggi successivi, configurerai l’utente PostgreSQL che sarà utilizzato per l’installazione di Mastodon.
Configurazione del server di database PostgreSQL
In questo passaggio, verificherai il servizio PostgreSQL per assicurarti che il servizio sia abilitato e in esecuzione. Quindi, creerai un nuovo utente/ruolo PostgreSQL ‘mastodon’ tramite la shell di PostgreSQL.
Assicurati di eseguire questi comandi con l’utente/root privilegi.
Prima di iniziare, esegui il comando systemctl qui sotto per assicurarti che il servizio PostgreSQL sia in esecuzione e abilitato.
sudo systemctl is-enabled postgresql
sudo systemctl status postgresqlDovresti ricevere un output simile a questo.

Con PostgreSQL in esecuzione, esegui il comando qui sotto per accedere alla shell di PostgreSQL.
cd /etc/postgresql
sudo -u postgres psqlDopo aver effettuato l’accesso alla shell di PostgreSQL, esegui la query PostgreSQL qui sotto per creare un nuovo ruolo/utente ‘mastodon‘. Inoltre, assicurati di cambiare la password predefinita con una nuova password forte.
CREATE USER mastodon CREATEDB;
ALTER USER mastodon PASSWORD 'p4ssw0rd';Successivamente, esegui la query qui sotto per assicurarti che il nuovo utente/ruolo PostgreSQL sia stato creato. Quindi inserisci ‘\q‘ per uscire dalla shell di PostgreSQL.
\du
\qL’output qui sotto ti mostra che il nuovo utente/ruolo PostgreSQL ‘mastodon’ è stato creato.

Con l’utente/ruolo PostgreSQL creato, sei pronto per installare Mastodon sul tuo sistema Debian.
Installazione di Mastodon
Installerai e configurerai Mastodon sul tuo server Debian in questo passaggio. Installerai anche le dipendenze Ruby e JavaScript per Mastodon. E infine, inizierai a configurare Mastodon per il tuo deployment, questo include la configurazione del dominio, la configurazione del database e di redis, la configurazione SMTP e anche la configurazione dell’utente amministratore di Mastodon.
Prima di iniziare, accedi all’utente ‘mastodon’ tramite il comando qui sotto.
su - mastodonOra scarica il codice sorgente di Mastodon tramite il comando git e cambia il branch all’ultima versione stabile di Mastodon. Al momento della scrittura, la versione stabile di Mastodon è v4.0.2.
git clone https://github.com/mastodon/mastodon.git live && cd live
git checkout $(git tag -l | grep -v 'rc[0-9]*$' | sort -V | tail -n 1)
Successivamente, esegui il comando qui sotto per configurare il deployment di Mastodon e installare le dipendenze Ruby.
bundle config deployment 'true'
bundle config without 'development test'
bundle install -j$(getconf _NPROCESSORS_ONLN)L’installazione delle dipendenze Ruby di Mastodon richiederà tempo. Di seguito è riportato un output simile che riceverai nel tuo terminale.

Dopo aver installato le dipendenze Ruby di Mastodon, esegui il comando yarn qui sotto per installare le dipendenze JavaScript per Mastodon.
yarn install --pure-lockfileRiceverai quindi un output simile a questo.

Con le dipendenze Ruby e JavaScript installate, configurerai quindi la tua installazione di Mastodon.
Esegui il comando qui sotto per configurare Mastodon per l’ambiente di produzione.
RAILS_ENV=production bundle exec rake mastodon:setupTi verrà chiesto di alcune configurazioni di Mastodon.
- Il nome di dominio di Mastodon? Questo esempio utilizza il dominio ‘mastodon.howtoforge.local’.
- Abilitare la modalità utente singolo? Inserisci y.
- Utilizzare Docker per eseguire Mastodon? Inserisci n per no.
- Inserisci l’utente e la password di PostgreSQL e assicurati di ricevere il messaggio ‘La configurazione del database funziona!’.
- Configurazione di Redis? lascialo come predefinito premendo INVIO.
- Abilitare il caricamento di file nel cloud? Inserisci n per no.
- Consentire l’invio di email da localhost? Inserisci y per sì per confermare o n per no. Questo dipende dal tuo ambiente, puoi anche utilizzare un server SMTP di terze parti.
- Salvare la configurazione? Inserisci y per sì.
- Per la creazione del database. Inserisci y per creare il database di Mastodon.
- Inserisci y per compilare risorse e file statici per Mastodon.
- Configurare l’utente amministratore? Inserisci il nuovo utente amministratore e l’email per la tua installazione di Mastodon. E riceverai quindi la password generata automaticamente sullo schermo.
Configurazione di Mastodon per nome di dominio, PostgreSQL, server Redis e server di posta SMTP.

Mastodon genera risorse e file statici.

L’utente amministratore di Mastodon è stato creato e la password è stata generata anche sul terminale.
A questo punto, hai completato l’installazione e la configurazione di Mastodon su Debian 11. Nei passaggi successivi, configurerai Mastodon come servizio systemd.
Esecuzione di Mastodon come servizio Systemd
Per impostazione predefinita, Mastodon fornisce un campione di file di servizio systemd che sono disponibili nella directory ‘/home/mastodon/live/dist/‘.
Esegui il comando qui sotto per copiare i file di servizio di Mastodon nella directory ‘/etc/systemd/system‘.
sudo cp /home/mastodon/live/dist/mastodon-*.service /etc/systemd/system/Ora ricarica il gestore systemd per applicare le modifiche su systemd.
sudo systemctl daemon-reloadDopo di che, avvia e abilita i servizi di Mastodon tramite il comando systemctl qui sotto.
sudo systemctl start mastodon-web mastodon-sidekiq mastodon-streaming
sudo systemctl enable mastodon-web mastodon-sidekiq mastodon-streaming
I servizi di Mastodon dovrebbero ora essere attivi e in esecuzione e anche abilitati. Verifica utilizzando il comando systemctl qui sotto.
sudo systemctl status mastodon-web mastodon-sidekiq mastodon-streamingRiceverai un output simile ai seguenti screenshot.
Il servizio mastodon-web è in esecuzione e abilitato.

Il mastodon-sidekiq è anche in esecuzione e abilitato.

Il servizio mastodon-streaming è anche in esecuzione e abilitato.

Con tutti i servizi di Mastodon in esecuzione e abilitati, configurerai quindi Nginx come reverse proxy per Mastodon e genererai SSL Letsencrypt.
Configurazione di Nginx come reverse proxy
In questo passaggio, configurerai il server web Nginx come reverse proxy per Mastodon. Genererai anche SSL Letsencrypt tramite il comando certbot e proteggerai Mastodon tramite una connessione sicura HTTPS.
Copia la configurazione predefinita del blocco server Nginx di Mastodon in ‘/etc/nginx/sites-available/mastodon’. Quindi attiva la nuova configurazione del blocco server ‘/etc/nginx/sites-available/mastodon‘.
sudo cp /home/mastodon/live/dist/nginx.conf /etc/nginx/sites-available/mastodon
sudo ln -s /etc/nginx/sites-available/mastodon /etc/nginx/sites-enabled/mastodonSuccessivamente, apri il file di configurazione del blocco server di Mastodon ‘/etc/nginx/sites-available/mastodon’ utilizzando il comando dell’editor nano qui sotto.
sudo nano /etc/nginx/sites-available/mastodonCambia il nome di dominio predefinito con il tuo dominio Mastodon. In questo esempio, il dominio per Mastodon è ‘mastodon.howtoforge.local‘.
cambia dominio
Salva il file ed esci dall’editor quando hai finito.
Successivamente, esegui il comando qui sotto per generare certificati SSL da Letsencrypt. Assicurati di cambiare il nome di dominio con il tuo dominio.
sudo certbot --nginx -d mastodon.howtoforge.localDopo che i certificati SSL sono stati generati, esegui il comando qui sotto per verificare la configurazione di Nginx. Se ricevi un messaggio di output come ‘test riuscito - sintassi ok‘, significa che hai la configurazione corretta. Quindi, riavvia il servizio Nginx per applicare le nuove modifiche.
sudo nginx -t
sudo systemctl restart nginx
Infine, esegui il comando systemctl qui sotto per verificare il servizio Nginx e assicurarti che il servizio sia in esecuzione e abilitato.
sudo systemctl is-enabled nginx
sudo systemctl status nginxRiceverai un output simile a questo - Il servizio Nginx è attualmente in esecuzione e abilitato. Il servizio Nginx verrà eseguito automaticamente all’avvio.

Con tutta la configurazione completata, il tuo Mastodon è ora accessibile tramite il browser web.
Accesso all’installazione di Mastodon
Apri il tuo browser web e visita il nome di dominio della tua installazione di Mastodon (ad es: https://mastodon.howtoforge.local/). Ora vedrai la homepage predefinita di Mastodon.

Clicca sul pulsante ‘Accedi‘ per verificare il tuo utente.
Ora inserisci il tuo utente amministratore e la password generata per Mastodon. Quindi clicca su Accedi.

Vedrai quindi la homepage dell’utente di Mastodon.

Successivamente, clicca sul menu Preferenze per accedere alla pagina delle preferenze utente. Quindi, clicca sul menu Amministrazione sul lato sinistro. E dovresti ottenere la pagina di amministrazione di Mastodon qui sotto.
Puoi vedere i dettagli dello stack software che stai attualmente utilizzando sulla tua installazione di Mastodon.

Conclusione
Congratulazioni! Hai ora completato l’installazione della piattaforma di microblogging Mastodon su un server Debian 11. Hai installato Mastodon con PostgreSQL come server di database e Nginx come reverse proxy. Hai anche protetto il deployment di Mastodon tramite connessioni HTTPS sicure.
Dopo tutta l’installazione, ora puoi configurare la regola di Mastodon per il supporto della federazione. Puoi anche aggiungere un ulteriore livello di sicurezza alla tua installazione di Mastodon.
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.