YunoHost è un sistema operativo per server all-in-one basato su Debian. È progettato principalmente per rendere il self-hosting accessibile a tutti. Usando YunoHost, puoi ospitare facilmente il tuo server di posta, server web, server LDAP, server DNS, server di backup, piattaforma CMS come wordpress o qualsiasi cosa facilmente con pochi clic del mouse. Puoi ospitarlo sul tuo server di casa o su qualsiasi VPS. È completamente gratuito e open source. Il codice sorgente è disponibile in GitHub.
YunoHost è una distribuzione Linux minima fornita con il seguente set di applicazioni:
- Nginx :un server Web
- Postfix :un server di posta elettronica SMTP
- Dovecot :un server di posta IMAP e POP3
- Rspamd :un filtro antispam e-mail
- Metronomo :un server XMPP
- OpenLDAP :un server LDAP
- Dnsmasq :un server DNS
- SSOwat :un sistema di autenticazione Web Single Sign On (SSO)
- Crittografiamo :un gestore di certificati
Tutto il software di cui sopra può essere installato e configurato tramite un'interfaccia web. Inoltre, YunoHost viene fornito con un sistema di app . Il sistema dell'app non è altro che un repository della community di script di supporto convalidati per installare ulteriori servizi o applicazioni Web come Wordpress, Roundcube, phpMyAdmin, TinyTInyRSS e altro. Puoi visualizzare l'elenco completo delle app YunoHost ufficiali qui .
Caratteristiche YunoHost
Per quanto riguarda le funzionalità di YunoHost, possiamo elencare quanto segue:
- Supporto multiutente con integrazione LDAP,
- Supporto multidominio,
- Un sistema di posta elettronica,
- Un server di messaggistica istantanea,
- Un Single Sign-On (SSO)
- Un sistema applicativo,
- Un sistema di backup,
- Un sistema di servizi di configurazione di rigenerazione,
- e molti.
Installa YunoHost
YunoHost è disponibile come versione standalone, oppure puoi installarlo sopra il sistema operativo Debian esistente. Inoltre, puoi scaricare le scatole YunoHost Vagrant e le immagini Raspberry Pi. Tutte le immagini di installazione possono essere scaricate dal link sottostante.
Ai fini di questa guida, utilizzerò l'immagine ISO di YunoHost. Dopo aver scaricato l'immagine ISO, crea un'unità USB avviabile o una scheda SD come descritto nel collegamento seguente.
- Etcher:una bellissima app per creare schede SD o unità USB avviabili
Avvia il tuo sistema con l'unità di avvio. Verrai accolto con il seguente messaggio di avvio. Scegli "Installazione grafica" e premi Invio.
Scegli la lingua da utilizzare per il processo di installazione e premi INVIO.
Seleziona la tua posizione e premi INVIO. La località selezionata verrà utilizzata per impostare il tuo fuso orario.
Seleziona la mappa dei tasti da utilizzare.
Ora inizierà l'installazione di base di YunoHost. Se hai abilitato il DHCP, tutte le impostazioni di rete verranno configurate automaticamente. In caso contrario, dovrai configurarli manualmente.
Quindi, scegli il disco rigido in cui desideri installare il caricatore di avvio. Se hai più dischi rigidi, devi selezionare l'HDD corretto (se hai più dischi rigidi ovviamente).
Dopo aver installato il boot loader, il sistema si riavvierà automaticamente.
Accedi come "root" utente. La password predefinita per l'utente root è "yunohost" .
Installazione post YunoHost
La prima cosa che dovremmo fare dopo aver installato qualsiasi distribuzione è aggiornarla. Poiché YunoHost è basato su Debian, i comandi compatibili con Debian funzioneranno in YunoHost.
Per aggiornare YunoHost, esegui semplicemente:
# apt-get update
# apt-get upgrade
Ora apri il browser web in qualsiasi sistema remoto e vai a http://yunohost_ip/ . Verrà visualizzato un avviso di certificato di sicurezza. ignora semplicemente aggiungendo l'indirizzo IP del server yunohost all'elenco delle eccezioni. Quindi, verrà visualizzata una pagina di benvenuto. Fai clic su Inizia per continuare.
Se hai scelto la configurazione post-installazione basata sul Web, ti verrà chiesto di scegliere il nome di dominio. Questo è il primo nome di dominio collegato al tuo server YunoHost, ma anche quello che verrà utilizzato dagli utenti del tuo server per accedere al portale di autenticazione. Di conseguenza, sarà visibile a tutti, quindi sceglilo con attenzione.
- Se hai un dominio registrato, scegli la prima opzione, ovvero Ho già un nome di dominio e inseriscilo. Ad esempio, ostechnix.com.
- Se non possiedi un nome di dominio e non desideri un .nohost.me o .noho.st , puoi utilizzare un dominio locale. Ad esempio, puoi utilizzare qualcosa come otechnix.local . Quindi, configura il tuo router per reindirizzare un nome di dominio locale al tuo server.
- Se non disponi già di un dominio registrato o se desideri utilizzare il servizio DynDNS di YunoHost, scegli un sottodominio di .nohost.me o .noho.st (es. testostechnix.nohost.me). Per farlo, scegli la seconda opzione e inserisci il nome di dominio che preferisci. Il dominio verrà configurato automaticamente e non avrai bisogno di ulteriori passaggi di configurazione.
Poiché questo è solo un ambiente di test, ho scelto otechnix.local come mio nome di dominio.
Quindi, imposta la password dell'amministratore per la dashboard web di YunoHost e fai clic su VAI per continuare.
YunoHost inizierà a configurare tutti i servizi necessari. Il completamento dell'operazione richiederà alcuni secondi.
Infine, inserisci la password di amministrazione che hai appena creato nel passaggio precedente e fai clic su Accedi .
Ecco come appare la dashboard web di YunoHost.
Da qui è possibile creare, eliminare e gestire utenti, domini, installare applicazioni, configurare servizi ecc. Inoltre, è possibile verificare se un servizio è in esecuzione o meno, monitorare le attività del sistema, del disco e della rete, eseguire il backup dei dati utente, della posta, dei file di configurazione e così via.
In alternativa, puoi eseguire il comando seguente per completare i passaggi successivi all'installazione:
# yunohost tools postinstall
Inserisci il dominio principale e imposta la nuova password amministrativa e premi INVIO per completare la configurazione.
Main domain: ostechnix.local New administration password: Confirm new administration password: Success! LDAP has been initialized yunohost.org Success! The configuration has been updated for service 'ssl' Generating a 2048 bit RSA private key .........................................................+++ ..........................................+++ writing new private key to '/usr/share/yunohost/yunohost-config/ssl/yunoCA/ca/cakey.pem' ----- Updating certificates in /etc/ssl/certs... 0 added, 0 removed; done. Running hooks in /etc/ca-certificates/update.d....done. Success! Successfully installed a self-signed certificate for domain ostechnix.local! Success! The domain has been created Success! The main domain has been changed --2017-03-15 14:13:08-- https://app.yunohost.org/official.json Resolving app.yunohost.org (app.yunohost.org)... 37.187.18.36 Connecting to app.yunohost.org (app.yunohost.org)|37.187.18.36|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 28122 (27K) [application/json] Saving to: ‘/var/cache/yunohost/repo/yunohost.json.tmp’ /var/cache/yunohost 100%[=====================>] 27.46K 48.2KB/s in 0.6s 2017-03-15 14:13:16 (48.2 KB/s) - ‘/var/cache/yunohost/repo/yunohost.json.tmp’ saved [28122/28122] Success! The app list has been fetched Success! The SSOwat configuration has been generated Success! The administration password has been changed Success! The firewall has been reloaded update-rc.d: error: no runlevel symlinks to modify, aborting! Success! The configuration has been updated for service 'glances' Success! The configuration has been updated for service 'nslcd' Success! The configuration has been updated for service 'metronome' Success! The configuration has been updated for service 'postfix' Success! The configuration has been updated for service 'rspamd' Success! The configuration has been updated for service 'nginx' Success! The configuration has been updated for service 'rmilter' Success! The configuration has been updated for service 'dnsmasq' Success! The configuration has been updated for service 'fail2ban' Success! The configuration has been updated for service 'mysql' Success! The configuration has been updated for service 'avahi-daemon' Success! The configuration has been updated for service 'dovecot' Success! The configuration has been updated for service 'nsswitch' Success! The configuration has been updated for service 'slapd' Success! The configuration has been updated for service 'ssh' Success! YunoHost has been configuredScarica - Ebook gratuito:"Linux® Quick Fix Notebook
Amministrazione di YunoHost dalla riga di comando
YunoHost può essere gestito anche da riga di comando.
Innanzitutto, devi connetterti al server YunoHost tramite SSH. L'accesso root SSH è vietato per impostazione predefinita. Crea un uso normale, connettiti tramite SSH e passa all'utente root.
$ ssh [email protected]
L'utilizzo tipico di Yunohost è:
# yunohost -h -v
Comandi per gestire i domini:
# yunohost domain [-h] {info,add,list,remove}
# Comandi per gestire il monitoraggio:
yunohost monitor [-h] {enable,network,show-stats,update-stats,disk,system,disable}
# Comandi per gestire i servizi:
# yunohost service [-h] {status,start,enable,log,stop,disable}
Comandi per gestire Firewall:
# yunohost firewall [-h]{installupnp,checkupnp,list,stop,disallow,reload,allow,removeupnp}
Comandi per gestire il backup:
# yunohost backup [-h] {init} ...
Comandi per gestire le app:
# yunohost app [-h] {map,ssowatconf,install,checkport,listlists,removelist,info,upgrade,service,fetchlist,checkurl,list,remove,removeaccess,setting,initdb,addaccess}
Comandi per gestire gli utenti:
# yunohost user [-h] {info,create,list,update,delete} ...
Per maggiori dettagli, fare riferimento alla pagina della documentazione fornita alla fine di questa guida.
Lettura consigliata:
- M23 – Sistema di distribuzione e gestione software open source per Linux
E questo è tutto. YunoHost è davvero una soluzione server all-in-one che semplifica molto più facilmente la distribuzione di server e applicazioni web. Questo è adatto per ambienti di test e sviluppo, nonché per amministratori Linux pigri che desiderano distribuire un server in pochissimo tempo.
Ciao!