MastodonStartpage/INSTALL.md
pezcurrel cd3fc6a29b ...
2020-05-12 13:55:16 +02:00

4.1 KiB

  • Le indicazioni che seguono riguardano un'installazione "da zero". Se vuoi provare mastostart senza tanto sbattimento vedi qui.

  • Requisiti: apache con mod_rewrite abilitato; php (cli e "per apache") con estensioni mysqli, mbstring, pcntl, intl, json, session; mariadb (dovrebbe funzionare anche con mysql, ma non l'ho testato).

  • Clona il repository con git clone https://git.lattuga.net/pongrebio/MastodonStartpage.git (poi potrai mantenerlo aggiornato con git pull dalla directory «MastodonStartpage»).

  • Apache deve essere configurato (con "AllowOverride All") per servire il contenuto della directory «web/».

  • Php dovrebbe essere configurato con un limite di memoria usabile abbastanza alto: 1 gb («memory_limit=1G») dovrebbe andar bene, ma di più (2 gb?) sarebbe anche meglio, per andare sul sicuro con un occhio al futuro (uro-uro). Tanta memoria serve per «mustard/crawler/peerscrawl.php», il crawler che recupera ricorsivamente un bel po' di istanze, al momento circa 21.000 arrivando a usare un picco di circa 750 mb (in circa 6 ore, sulla mia sgrausissima adsl). (Delle istanze recuperate da «peerscrawl.php» solo circa 2.800 finiscono poi effettivamente nel database: per tantissime l'endpoint [dominio]/api/v1/instance poi non risponde, o perché l'istanza è morta, oppure perché è giù, o perché non si tratta di istanza mastodon, o perché l'endpoint è disabilitato).

  • Se vuoi provare la funzione di invio delle mail di invito alle admin delle istanze, php deve essere configurato in modo che sia in grado di inviare mail che avranno come «From:» l'indirizzo email "mittente" definibile impostando la variabile «ref_email» in «mustard/sec/mustard.ini». In questo stesso file di configurazione puoi cambiare il valore della variabile «mail_test_to» a un tuo indirizzo email valido, così da ricevere tu gli inviti; NON impostarla a stringa vuota o a false, in modo da NON inviare inviti reali alle admin delle istanze ora che non c'è ancora niente online.

  • Per quanto riguarda Mustard...

    • se vuoi partire con un database senza istanze e senza account admin predefiniti importa in mariadb o mysql il dump sql che puoi estrarre da «mustard/zzz-materiali/mastostart_non_popolato.sql.gz»; se invece vuoi partire con un database prepopolato di istanze e con due account admin predefiniti, importa in mariadb o mysql il dump sql che puoi estrarre da «mustard/zzz-materiali/mastostart_popolato.sql.gz»;

    • in mariadb o mysql crea un utente con tutti i diritti sul database «mastostart»;

    • copia il file di configurazione di esempio «mustard/sec/mustard.ini.sample» in «mustard/sec/mustard.ini»;

    • edita «mustard/sec/mustard.ini» seguendo le istruzioni che trovi nei commenti che contiene;

    • se il dump che hai importato è quello non popolato, crea almeno un “superadmin” per poter entrare in Mustard lanciando «php addsuperadmin.php» dalla directory «mustard/tools/»; altrimenti, se hai importato invece il dump prepopolato, puoi già entrarci "da admin di Mustard" con email «pongrebio@insicuri.net» e password «password», oppure "da admin di un'istanza invitata" (per finta, per ora) con email «mastodon@bida.im» e password «password».

  • Per quanto riguarda il crawler che crea/aggiorna i dati relativi alle istanze nel database, si tratta di farne girare i due componenti uno dopo l'altro, la prima volta magari da shell, poi con un cron job (quotidiano? settimanale?). Per farlo è sufficiente lanciare lo script «crawl.sh» che si trova nella directory «mustard/crawler».

  • Se il contenuto della directory «web/» sta nella DocumentRoot di apache o di un virtualhost definito in apache bona lè; però è anche possibile installare mastostart in una sottodirectory della DocumentRoot (per esempio «[DocumentRoot]/mastostart»), ma in questo caso, perché la parte della guida (la Mastodon Startpage) funzioni, devi impostare al percorso della sottodirectory la variabile «instpath» in «mastostart.ini» (per esempio «instpath="/mastostart"») e la direttiva «RewriteBase» in «.htaccess» (per esempio «RewriteBase "/mastostart").