Installazione di YunoHost

Selezionate l'hardware sul quale vuoi installare YunoHost:

This setup is mainly meant for local testing by advanced users. Due to limitations on WSL's side (changing IP address, notably), selfhosting from it can be tricky and will not be described here.

Pre-requisiti

  • Windows 10 o superiore
  • Diritti di amministratore
  • Windows Subsystem per Linux
  • Raccomandato: Windows Terminal (Preview) app, installato dal Microsoft Store. Assolutamente migliore del terminale standard poiché offre scorciatoie per le distribuzioni WSL.
  • Un computer o uno smartphone per leggere questa guida e accedere al vostro server.
  • Introduzione

    WSL è un'interessante caratteristica di Windows 10 che rende disponibili alcune pseudo-distribuzioni Linux dalla linea di comando. Diciamo pseudo perché, pur non essendo vere macchine virtuali, si basano su capacità di virtualizzazione che rendono molto semplice l'integrazione con Windows. Ad esempio Docker può usare WSL invece di Hyper-V.

    Tenete presente che questa configurazione non è un assolutamente un container: se qualcosa smette di funzionare non ci sono possibilità di usare dei rollback. Potrebbe essere necessario eliminare la distribuzione Debian e reinstallare tutto da capo.

    Installazione Debian 12

    Installiamo YunoHost all'interno di una distribuzione dedicata senza alterare quella di default. In un terminale PowerShell:

    # Let's go in your home directory and prepare the working directories
    cd ~
    mkdir -p WSL\YunoHost
    # Download the Debian appx package and unzip it
    curl.exe -L -o debian.zip https://aka.ms/wsl-debian-gnulinux
    Expand-Archive .\debian.zip -DestinationPath .\debian
    # Import the Debian base into a new distro
    wsl --import YunoHost ~\WSL\YunoHost ~\debian\install.tar.gz --version 2
    # Cleanup
    rmdir .\debian -R

    Adesso potete accedervi con il comando wsl.exe -d YunoHost

    La versione è Debian 9 Stretch che può essere aggiornata:

    # In WSL
    sudo sed -i 's/stretch/bookworm/g' /etc/apt/sources.list`
    sudo apt update
    sudo apt upgrade
    sudo apt dist-upgrade

    Evitare che WSL modifichi i file di configurazione

    Editate /etc/wsl.conf con le seguenti configurazioni:

    [network]
    generateHosts = false
    generateResolvConf = false

    Forzare l'uso di iptables-legacy

    Per varie ragioni YunoHost non usa nf_tables, il nuovo software che sostituisce iptables. È comunque possibile usare il buon vecchio iptables:

    # In WSL
    sudo update-alternatives --set iptables /usr/sbin/iptables-legacy
    sudo update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy

    Installare systemd

    Debian di WSL non usa systemd, un programma di configurazione di servizi. Questo è un elemento chiave per YunHost nonché per qualsiasi distribuzione Debian ragionevole (veramente MS, che combini). Installiamolo:

    1. Installazione di dotNET runtime:
    # In WSL
    wget https://packages.microsoft.com/config/debian/12/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
    sudo dpkg -i packages-microsoft-prod.deb
    sudo apt update
    sudo apt install -y apt-transport-https
    sudo apt update
    sudo apt install -y dotnet-sdk-3.1
    1. Installazione di Genie:
    # In WSL
    # Add their repository
    echo "deb [trusted=yes] https://wsl-translinux.arkane-systems.net/apt/ /" > /etc/apt/sources.list.d/wsl-translinux.list
    # Install Genie
    sudo apt update
    sudo apt install -y systemd-genie

    Installazione di YunoHost

    # In WSL
    # Let's switch to the root user, if you were not already
    sudo su
    # Initialize the Genie bottle to have systemd running
    genie -s
    # Your hostname should have been appended with "-wsl"
    # Install YunoHost
    curl https://install.yunohost.org | bash -s -- -a

    Accesso alla linea di comando

    Avviate sempre il comando genie -s mentre avviate la vostra distribuzione.

    wsl -d YunoHost -e genie -s

    Backup e ripristino della distribuzione

    Create il vostro primo backup della distribuzione

    Come detto sopra, non c'è la possibilità di usare dei rollback. Onde per cui è necessario esportare la vostra distribuzione appena installata. Comandi PowerShell:

    cd ~
    wsl --export YunoHost .\WSL\YunoHost.tar.gz

    In caso di crash cancellate e ripristinate la distribuzione intera

    cd ~
    wsl --unregister YunoHost
    wsl --import YunoHost .\WSL\YunoHost .\WSL\YunoHost.tar.gz --version 2

    Proseguite con la configurazione iniziale

    Se state recuperando un server da un backup YunoHost non dovete seguire questo passaggio e invece recuperare un backup invece del passo del postinstall.

    È possibile eseguire la configurazione iniziale dall'interfaccia web digitando nella barra degli indirizzi del vostro browser l'indirizzo IP locale del vostro server. Normalmente il provider della vostra VPS vi dovrebbe aver comunicato l'indirizzo IP del server.

    Al momento della prima visita molto probabilmente troverete un allarme di sicurezza relativo al certificato usato dal server. Per adesso il vostro server sta usando un certificato auto-firmato. Per adesso potete aggiungere un'eccezione di sicurezza per accettare il certificato corrente. (Però, PER FAVORE, non prendete l'abitudine di accettare ciecamente questo tipo di allarme di sicurezza!)

    Dovreste arrivare su questa pagina :

    Pagina della configurazione iniziale

    Anteprima della pagina Web della configurazione iniziale

    Dominio principale

    Questo sarà il dominio usato dagli utenti del server per accedere al portale di autenticazione. Potrete aggiungere poi altri domini e scegliere quale è il principale se necessario.

    Dovrete scegliere un dominio falso poiché non sarà accessibile dall'esterno come ad esempio ynh.wsl. Il trucco sta nel notificare questo dominio al vostro host.

    Modificate il file C:\Windows\System32\drivers\etc\hosts. Dovreste avere una linea che inizia con ::1, aggiornatela o aggiungetela se necessario per avere:

    ::1    ynh.wsl localhost

    Se volete creare dei sottodomini non dimenticate di aggiungerli anche nel file hosts:

    ::1    ynh.wsl subdomain.ynh.wsl localhost

    Primo utente

    Il primo utente viene creato a questo passo. Dovreste scegliere un nome utente e una password ragionevolmente complessa. (Non ci stancheremo mai di raccomandare che la password deve essere robusta!). Questo utente verrà aggiunto al gruppo Admins e quindi potrà accedere al portale utente, alla pagina web di amministrazione e connettersi via SSH o SFTP. Gli utenti del gruppo Admins riceveranno inoltre le email inviate a root@yourdomain.tld e admin@yourdomain.tld: questi messaggi potrebbero essere usate per mandare informazioni tecniche o allarmi. È possibile aggiungere successivamente ulteriori utenti che possono essere aggiunti al gruppo Admins.

    Questo utente rimpiazza il precedente utente admin al quale potrebbero far riferimento alcune vecchie pagina della documentazione. Nel caso è sufficiente sostituire admin con il vostro nome utente.

    Avviate la diagnosi iniziale

    Una volta che il passo del postinstall è concluso dovreste essere in grado di fare login alla pagina web di amministrazione usando le credenziali del primo utente che avete appena creato.

    Avvertenza: YunoHost su WSL potrebbe non essere raggiungibile dall'esterno e quindi non potranno essere assegnati nomi a dominio reali e certificati.

    Il sistema di diagnosi è pensato per offrire un modo semplice per verificare che tutti gli aspetti critici del vostro server sono correttamente impostati - e guidarvi nel risolvere in problemi. Il sistema di diagnosi si avvierà due volte al giorni e invierà un allarme se verranno individuati dei problemi.

    N.B.: non scappate! La prima volta che avvierete il sistema di diagnosi vedrete quasi sicuramente molti allarmi gialli e rossi perché normalmente dovete configurare i record DNS (a meno che non usiate dei domini .nohost.me/noho.st/ynh.fr), aggiungere un file di swap se non avete sufficiente ram .

    Se un allarme non è per voi preoccupante (perché per esempio non intendete usare un particolare feature) è assolutamente corretto marcare il problema come ignora nella pagina di amministrazione web > Diagnosi cliccando sul bottone ignora del problema in questione.

    Per avviare una diagnosi collegatevi alla pagina web di amministrazione nella sezione Diagnosi. Cliccate su Avvia diagnosi iniziale e dovreste ottenre una schermata simile a questa:

    Anteprima di una pagina diagnostica

    Ottenere un certificato Let's Encrypt

    Una volta configurati i record DNS ed eventualmente il port forwarding dovreste essere in grado di installare un certificato Let's Encrypt. In questo modo dovrebbero scomparire gli allarmi di sicurezza visti sopra per i nuovi visitatori.

    Per maggiori informazioni o per conoscere meglio i certificati SSL/TLS vedi questa pagina.

    Andate su Domini > cliccate sul vostro dominio > Certificate

    Anteprima di una pagina diagnostica

    Congratulazioni

    Adesso avete un server ben configurato. Se siete alle prime esperienze di YunoHost è consigliabile guardare il tour guidato. Dovreste essere in grado di installare le vostre applicazioni preferite. Non dimenticate di programmare i backup!

    Hai trovato degli errori? Pensi di poter migliorare questa documentazione? Simply click the Edit link at the top of the page, and then the icon on Github to suggest changes.