* Le indicazioni che seguono riguardano un'installazione "da zero". Se vuoi provare mastostart senza tanto sbattimento [vedi qui](https://git.lattuga.net/pongrebio/MastodonStartpage/src/master/docker/).

* Requisiti: apache (o altro web server, ma per ora le indicazioni qui sono solo per apache) con mod_rewrite abilitato; php7 (cli e "per apache") con estensioni mysqli, mbstring, pcntl, intl, json, session; mariadb (dovrebbe funzionare anche con mysql, ma non l'ho testato).

* 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 ne recupera 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 3.000 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, o per varie ed eventuali).

* Se vuoi provare la funzione di invio delle mail di invito agli admin delle istanze, php deve essere configurato in modo che sia in grado di inviare mail dall'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, ma NON impostarla a stringa vuota o a false, in modo da NON inviare inviti reali (il tutto è spiegato meglio nei commenti in «mustard/sec/mustard.ini»).

* Se hai installato mastostart nella DocumentRoot di apache o di un virtualhost definito in apache bona lè; se invece l'hai installato in una sottodirectory della DocumentRoot (per esempio «\[DocumentRoot\]/mastostart»), imposta al percorso della sottodirectory la variabile «instpath» in «mastostart.ini» (per esempio «instpath="/mastostart"») e la direttiva «RewriteBase» in «.htaccess» (per esempio «RewriteBase "/mastostart").

* Per quanto riguarda l'installazione di 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».
