Installazione

Installare Toutadmin

Due edizioni dello stesso prodotto: una gira come servizio sul vostro server, l'altra si deposita su un hosting condiviso. Nessuna banca dati richiesta, nessun servizio di terzi — ma un server MySQL è guidato se ne avete uno. Calcolate un'ora.

Ospitato in Europa, niente da installare: gratuito fino a cinque dipendenti, e il prodotto intero dal primo giorno.

Lo scaricamento è aperto a tutti

La formula gratuita non si ferma al SaaS: fino a cinque dipendenti potete altrettanto bene installare il prodotto da voi — i vostri file, la vostra base, i vostri salvataggi — senza pagare nulla. Ciò che decide la formula è l'organico, non il luogo in cui gira l'istanza. Oltre i cinque dipendenti serve un abbonamento, che l'istanza giri da noi o da voi.

Vedere le formule

Quale installare

La scelta dipende dal vostro hosting, non dalle vostre esigenze funzionali: le due edizioni fanno esattamente la stessa cosa.

Edizione Node

Per un server che amministrate voi: una macchina, un servizio permanente, un proxy inverso davanti.

Node 22, un compilatore C, un disco locale. Una macchina a un core basta per qualche decina di persone. Un server MySQL viene gestito se ne avete uno; altrimenti SQLite non chiede nulla.

Edizione PHP

Per un hosting condiviso: una cartella da caricare, un file da compilare, un'attività pianificata. Nessuna riga di comando necessaria.

PHP 8.1 e l'estensione SQLite. Nessuna dipendenza da installare: né Composer, né gestore di pacchetti. In più l'estensione PDO MySQL se preferite un server di database.

La scelta resta reversibile

Le due edizioni condividono lo stesso schema di banca dati e lo stesso formato di password. Passare dall'una all'altra significa copiare un file di banca dati e cinque cartelle: non c'è conversione, e nessuno deve cambiare password.

SQLite o MySQL

E quale base di dati

La seconda scelta, e la sola che si cambia con difficoltà. Non dipende dall'edizione: entrambe accettano i due motori, e le quattro combinazioni passano gli stessi test.

SQLite

Un file sul disco del server. Nulla da installare, nulla da amministrare, nulla da sorvegliare — e l'istanza si sposta copiando una cartella.

È il valore predefinito, e la risposta giusta nella maggior parte dei casi: un server applicativo, un disco locale che resta da un rilascio all'altro.

MySQL o MariaDB

Un server di base dati, sulla macchina o altrove in rete. I dati vivono là dove il vostro servizio informatico li salva, li replica e li sorveglia già.

Da prendere per tre ragioni: più server applicativi sulla stessa base, una politica interna che lo impone, o un disco applicativo effimero — un contenitore ricreato a ogni rilascio.

MySQL non è la scelta della velocità

È la credenza più diffusa, ed è falsa: SQLite vive dentro il processo, MySQL dietro un socket. Misurato qui su duemila operazioni, SQLite va da due volte e mezzo a centocinquanta volte più veloce secondo l'operazione — e regge il confronto persino con otto scrittori simultanei. MySQL si sceglie per il luogo in cui vivono i dati e per chi li amministra, non per il tempo di risposta.

Il dettaglio, cifre alla mano

In cinque minuti

L'installazione rapida

Quanto basta per aprire l'assistente. Il dettaglio viene subito dopo, passo per passo, con ciò che ogni comando fa e perché.

Edizione Node

Tre comandi su un server che amministrate voi. L'ultimo genera un gettone d'installazione e avvia l'istanza.

git clone <votre-dépôt> toutadmin
cd toutadmin && npm ci --omit=dev
INSTALL_TOKEN=$(openssl rand -hex 16) \
NODE_ENV=production node src/server.js

Edizione PHP

Nessuna riga di comando: una cartella da depositare, un file da copiare, un diritto di scrittura da aprire.

# 1. déposer le dossier (racine web → public/)
# 2. cp config.sample.php config.php
# 3. chmod 770 data/
# 4. ouvrir https://votre-domaine/install

Poi l'assistente fa il resto

L'istanza parte vuota e si richiude su sé stessa: finché non è installata ogni indirizzo porta all'assistente, e una volta installata l'assistente sparisce per sempre.

  1. 1 LinguaQuella dell'istanza, fra le sedici. Si cambia più tardi, e ciascuno tiene la propria.
  2. 2 PrerequisitiL'assistente verifica ciò che ha sotto i piedi: versione, diritti di scrittura, base, cartelle. Ciò che manca è nominato, non indovinato.
  3. 3 Base di datiSQLite in un file, che non chiede nulla, o MySQL / MariaDB se ne avete uno. La procedura guidata tenta la connessione prima di impegnarcisi.
  4. 4 OrganizzazioneIl nome dell'impresa e la quota annua di ferie. Due risposte, modificabili poi.
  5. 5 AmministratoreIl primo conto. Dodici caratteri come minimo: è l'unico conto che può crearne altri.
  6. 6 InstallazioneIl riepilogo, poi la posa in quattro stadi annunciati a schermo. La procedura si richiude definitivamente.
https://votre-domaine/install

Mettete il gettone d'installazione prima di aprire la porta

Fra il primo avvio e il vostro passaggio nell'assistente, il primo arrivato creerebbe il conto d'amministrazione. INSTALL_TOKEN chiude quella finestra: senza di esso l'assistente si rifiuta di aprirsi.

Assistente d'installazione
Assistente d'installazione Assistente d'installazione
Edizione Node

Sul vostro server, in quattro passi

  1. Recuperare e installare

    npm ci invece di npm install: installa esattamente ciò che descrive il file di blocco. Su un server, una versione che scivola è un guasto che nessuno capisce.

    git clone <votre-dépôt> /var/www/toutadmin
    cd /var/www/toutadmin
    npm ci --omit=dev
  2. Configurare

    Tutto si regola con variabili d'ambiente, e nessuna è obbligatoria. Impostate INSTALL_TOKEN prima di aprire la porta: fra il primo avvio e il vostro passaggio nella procedura guidata, il primo arrivato creerebbe l'account di amministrazione.

    cp .env.example .env
    # PORT, NODE_ENV=production, INSTALL_TOKEN…
  3. Affidarlo al sistema

    Avviato a mano, il prodotto si ferma quando chiudete il terminale. Il servizio riparte da solo e può scrivere soltanto nella sua cartella dati.

    sudo systemctl enable --now toutadmin
    journalctl -u toutadmin -f
  4. Cifrare il collegamento

    Non esponete mai la porta applicativa direttamente su internet. Dietro il proxy, l'istanza mette da sé le intestazioni di sicurezza — compreso HSTS, e solo su un collegamento già cifrato.

    sudo certbot --nginx -d intranet.exemple.fr
Edizione PHP

Su hosting condiviso, in quattro passi

  1. Caricare i file

    È il passo in cui si sbaglia. Se il server serve l'intera cartella, la banca dati diventa scaricabile da chiunque: account, impronte delle password e cassaforte compresi.

    # déposer le dossier ; la racine web pointe sur public/, pas sur le dossier
  2. Scrivere la configurazione

    È la procedura a scrivere la configurazione, e per ultima: finché il file non esiste, un'installazione interrotta non ha lasciato nulla dietro di sé. Vi pone una chiave propria dell'istanza, che sigilla le firme e cifra i segreti nel database: salvatela con il resto.

    cp config.sample.php config.php
    php -r "echo bin2hex(random_bytes(32));"   # session_secret
  3. Aprire i permessi di scrittura

    SQLite scrive file vicini alla banca dati: è la cartella a dover essere scrivibile, non solo il file. Il resto del prodotto può restare in sola lettura.

    chmod 770 data/     # le dossier, pas seulement la base
  4. Pianificare la scansione

    Un sito PHP vive solo durante una richiesta. L'attività pianificata chiude i contratti scaduti, emette le fatture ricorrenti, invia i webhook e crea i backup.

    * * * * * /usr/bin/php /var/www/toutadmin/tools/cron.php

Prima di aprirlo ai colleghi

Un backup che esce dall'edificio

Fatene uno subito, finché la banca dati è piccola, e configurate la destinazione remota. Un archivio che resta sul server che protegge non protegge nulla.

Un account di prova senza diritti

Entrate con quello e fate un giro. È l'unico modo di vedere lo strumento come lo vedranno i vostri colleghi, ed è la verifica che più spesso si salta.

Due amministratori, non uno

Se attivate la doppia autenticazione e perdete sia il telefono sia i codici di recupero, solo un altro amministratore può riaprirvi la porta. Non esiste alcuna porta di servizio.

La guida completa è nella documentazione

Questa pagina dà la traccia. La documentazione dà tutto il resto: configurazione del server frontale, permessi esatti, certificati, ripristino, aggiornamento, risoluzione dei problemi per sintomo — e le due guide per intero, una per edizione.

Inizia gratis, cambia piano quando cresci

I primi cinque dipendenti sono gratuiti, sempre. Oltre, 5 € per dipendente al mese. Nessuna carta per provare.