quick-install.rst 15.3 KB
Newer Older
Paolo Dongilli's avatar
Paolo Dongilli committed
1 2 3
******************************
Guida rapida all'installazione
******************************
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

Questo capitolo è dedicato a chi vuole vedere velocemente come installare un server FUSS ed un client.

Topologia di una tipica rete didattica
========================================

Prima di mostrare come installare server e client, vediamo nella seguente figura la tipica topologia di rete dove FUSS può trovare applicazione.

.. figure:: images/fuss-network-architecture-cur.png
    :alt: Topologia di una rete FUSS

    Tipica topologia di una rete FUSS

Un server FUSS deve avere almeno 2 interfacce di rete. La prima serve per la connessione alla WAN (Wide Area Network) mentre la seconda è collegata alla rete locale (LAN-1) della scuola. La presenza di una terza porta ethernet sul server e di una seconda LAN nella scuola alla quale sono connessi degli access point WiFi sono i presupposti per poter installare sul server FUSS un captive-portal che offre la possibilità a dispositivi satellite di accedere ad internet previa autenticazione.

19 20
.. _installazione-fuss-server:

21
Installazione di FUSS server
22 23
=============================

24
Nell'ipotesi che si voglia installare FUSS Server su di una macchina fisica, come prima cosa è necessario scaricare l'ultima versione dell'immagine ISO di FUSS Server. Ad oggi (giugno 2018) l'ultima versione stabile è `fuss-server-8.0-amd64-201708221233.iso <http://iso.fuss.bz.it/fuss8/server/fuss-server-8.0-amd64-201708221233.iso>`_ ed è possibile reperirla da `<http://iso.fuss.bz.it/fuss8/server>`_.
25 26

E` necessaria una chiavetta USB della capacità minima di 1 GB sulla quale va copiata l'immagine ISO scaricata. In GNU/Linux si può usare il comando ``dd``. Dopo aver inserito la chiavetta nel PC ove è disponibile l'immagine, verificare con il comando ``lsscsi`` quale device è stato assegnato alla chiavetta. Nell'esempio usiamo ``/dev/sdX`` dove X può essere una delle lettere ``a``, ``b``, ``c`` ecc.
Simone Piccardi's avatar
Simone Piccardi committed
27
Come root, dare il comando:
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82

.. code-block:: console

   dd if=/PERCORSO_IMMAGINE/fuss-server-8.0-amd64-201708221233.iso of=/dev/sdX bs=4M status=progress

Preparata la chiavetta USB, inserirla nel server e dopo averlo avviato premurarsi di scegliere come dispositivo di boot la chiavetta stessa.

La gran parte delle opzioni di installazione del fuss-server sono già preimpostate nell'immagine ISO, la sola scelta significativa da fare in fase di installazione è il partizionamento del disco assegnato allo stesso. 

.. figure:: images/fuss-server_selezione-disco.png

Nella scelta predefinita dopo aver selezionato il disco viene proposto direttamente il suo partizionamento. La scelta più sicura, per evitare problemi di riempimento della radice, è usare filesystem separati per ``/home``, ``/var``, ``/tmp``. Questo però con il partizionamento diretto rende meno flessibile la eventuale riallocazione dello spazio disco. 

.. figure:: images/fuss-server_selezione-partizioni.png

Si tenga presente infatti che anche avendo disponibile spazio disco per poter allargare le partizioni, l'allargamento avverrebbe sul "fondo" pertanto sarebbe facile ridimensionare soltanto l'ultima partizione (nel caso la ``/home``, che pur essendo quella più probabile, non è detto sia davvero quella che ha bisogno dello spazio disco aggiuntivo).

Per questo si suggerisce, per avere maggiore flessibilità, al costo di una leggera perdita di prestazioni in I/O, di installare usando LVM. Questo però significa che una volta eseguita la scelta precedente, occorrerà "tornare indietro" riselezionando "partizionamento guidato":

.. figure:: images/fuss-server_scegli-partiz-guidato.png

e poi selezionando "guidato, usa l'intero disco e imposta LVM":

.. figure:: images/fuss-server_scelta-guidato.png

ed a questo punto si dovrà ripetere la scelta del disco e dell'uso dei filesystem separati, e confermare la configurazione di LVM:

.. figure:: images/fuss-server_conferma-scelta.png

ed infine confermare prima le modifiche del disco:

.. figure:: images/fuss-server_scelta-con-lvm.png
	    
e poi la formattazione finale:

.. figure:: images/fuss-server_scelta-finale.png

Trascorso il tempo necessario all'installazione, al termine occorrerà riavviare il server.
Dopo il riavvio vanno eseguiti i seguenti passi:

1. autenticarsi come root (password: ``fuss``);

2. aggiornare il sistema con i seguenti comandi:

   .. code-block:: console

      apt update
      apt dist-upgrade

   dando il consenso agli aggiornamenti;

3. riavviare il server con il comando ``reboot``;

4. dopo il riavvio, autenticarsi nuovamente come root.

83 84
A questo punto procedere con la :ref:`configurazione-fuss-server`

85
.. _installazione-fuss-client:
86
   
87
Installazione di FUSS Client
88 89
===============================

90 91 92 93 94
Si passa ora all'installazione del primo client.

Preparazione chiavetta USB
--------------------------

95
Come prima cosa è necessario scaricare l'ultima versione dell'immagine ISO di FUSS Client. Ad oggi (agosto 2018) l'ultima versione stabile è la 9.5.1 ed è possibile reperirla da `<http://iso.fuss.bz.it/fuss9/client>`_ per architetture i386 o amd64:
96

97 98
- amd64: `fuss-client-9.5.1-amd64-xfce.iso <http://iso.fuss.bz.it/fuss9/client/fuss-client-9.5.1-amd64-xfce.iso>`_
- i386: `fuss-client-9.5.1-i386-xfce.iso <http://iso.fuss.bz.it/fuss9/client/fuss-client-9.5.1-i386-xfce.iso>`_
99 100 101 102 103 104

E` necessaria una chiavetta USB con taglia  minima di 8 GB sulla quale va copiata l'immagine ISO scaricata. Come detto anche sopra, in GNU/Linux si può usare il comando ``dd``. Dopo aver inserito la chiavetta nel PC ove è disponibile l'immagine, verificare con il comando ``lsscsi`` quale device è stato assegnato alla chiavetta. Nell'esempio usiamo ``/dev/sdX`` dove X può essere una delle lettere ``a``, ``b``, ``c`` ecc.
Nel'ipotesi che la ISO scaricata si per architettura amd64, come root, dare il comando

.. code-block:: console

105
   dd if=/PERCORSO_IMMAGINE/fuss-client-9.5.1-amd64-xfce.iso of=/dev/sdX bs=4M status=progress
106 107 108 109 110 111 112 113

Preparata la chiavetta USB, inserirla nel PC/notebook e dopo averlo avviato premurarsi di scegliere come dispositivo di boot la chiavetta stessa.

Procedura di installazione guidata
-----------------------------------

Per immagini viene mostrata di seguito la procedura di installazione del primo client. Si è scelto l'installer da console (Debian Installer). In alternativa si può optare per l'installer grafico (Graphical Debian Installer).

114 115
.. note:: Se si vuole utilizzare FUSS in modalità `LIVE`, si scelga la prima opzione. Le credenziali dell'utente di default sono ``user`` - ``live``.

116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227
.. figure:: images/fuss-client_01.png

Scelta di lingua e tastiera.
	    
.. figure:: images/fuss-client_02.png

.. figure:: images/fuss-client_03.png

.. figure:: images/fuss-client_04.png

Inserire il nome del host.	    
	    
.. figure:: images/fuss-client_05.png

Il dominio interno nel quale si colloca il host, come definito durante l'installazione del server. 
	    
.. figure:: images/fuss-client_06.png

Impostazione della password di root.
	    
.. figure:: images/fuss-client_07.png

.. figure:: images/fuss-client_09.png

Creazione di un utente locale.
	    
.. figure:: images/fuss-client_10.png

.. figure:: images/fuss-client_11.png

.. figure:: images/fuss-client_12.png

.. figure:: images/fuss-client_13.png

Partizionamento dei dischi. Si scelga il partizionamento manuale impostando una partizione di swap ed una per la radice (/ o root) del filesystem.	    

.. figure:: images/fuss-client_14.png

.. figure:: images/fuss-client_15.png

.. figure:: images/fuss-client_16.png

.. figure:: images/fuss-client_17.png

.. figure:: images/fuss-client_18.png

.. figure:: images/fuss-client_19.png

.. figure:: images/fuss-client_20.png

.. figure:: images/fuss-client_21.png

.. figure:: images/fuss-client_22.png

.. figure:: images/fuss-client_23.png

.. figure:: images/fuss-client_24.png

.. figure:: images/fuss-client_25.png

.. figure:: images/fuss-client_26.png

Al termine scrivere le modifiche sul disco.
	    
.. figure:: images/fuss-client_27.png

Inizia l'installazione del sistema.
	    
.. figure:: images/fuss-client_28.png

L'installer cerca i pacchetti nel CD-ROM di installazione che non esiste. Semplicemente ignorare l'errore e proseguire premendo :guilabel:`Continua`.
	    
.. figure:: images/fuss-client_29.png

Scegliere un mirror di rete.
	    
.. figure:: images/fuss-client_30.png

.. figure:: images/fuss-client_31.png

.. figure:: images/fuss-client_32.png

Impostare il proxy a ``http://proxy:8080`` dove ``proxy`` risponde al FUSS Server.
	    
.. figure:: images/fuss-client_33.png

.. figure:: images/fuss-client_34.png

Installare il boot loader GRUB nel master boot record del disco sul quale si sta installando il sistema.
	    
.. figure:: images/fuss-client_35.png

.. figure:: images/fuss-client_36.png

.. figure:: images/fuss-client_37.png

.. figure:: images/fuss-client_38.png

Al termine la macchina va riavviata.

Configurazione FUSS Client
--------------------------

Dopo il riavvio si acceda come root. La password preimpostata è ``fuss`` e si consiglia di cambarla con il comando ``passwd``.

E` necessario configurare i repository FUSS. Abilitare pertanto sia i repository FUSS che `stretch-backports` in ``/etc/apt/source.list``:

.. code-block:: html

    deb http://archive.fuss.bz.it/ stretch main 
    deb http://httpredir.debian.org/debian stretch-backports main

228 229
Aggiungere la chiave di firma del repository, aggiornare apt ed i pacchetti,
se si è dietro un Fuss server perché sia possibile scaricare la chiave di
230
firma di APT, occorre prima definire  ``export https_proxy=http://proxy:8080``:
231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255

.. code-block:: console

    wget -qO - https://archive.fuss.bz.it/apt.key | apt-key add -
    apt update
    apt dist-upgrade

All'occorrenza aggiungere i pacchetti Debian necessari a seconda del contesto in cui viene installato il FUSS Client.    

Creazione di un'immagine del client con Clonezilla
--------------------------------------------------

Al fine di velocizzare l'installazione del FUSS Client sui PC/notebook rimanenti, si consiglia di creare con Clonezilla un'immagine del primo FUSS Client. Il FUSS Server monta un'istanza di Clonezilla, eseguibile da qualsiasi macchina presente nella LAN via PXE Boot (network boot). Pertanto, riavviando il FUSS CLient appena creato e scegliendo l'opzione di boot "PXE Boot", verrà caricato Clonezilla dal server e sarà possibile creare un'immagine del primo client che verrà salvata nella cartella ``/var/clonezilla`` sul server. Clonezilla chiederà la password dell'utente clonezilla, che è memorizzata sul server nel file ``/root/clonezilla_cred.txt``.

Al termine della procedura di salvataggio del clone sul server, sarà possibile installare agevolmente nuovi client lanciando parimenti Clonezilla via network boot e scegliendo di fare il restore di un'immagine.

Ad ogni client va attribuito un nome di host diverso. E` necessario intervenire, pertanto, sui file ``/etc/hostname`` ed ``/etc/host`` riavviando al termine il client..

Join del client al server
-------------------------

Infine va effettuato il join del client al server lanciando da terminale il comando ``fuss-client`` come segue:

.. code-block:: console
		
256
    fuss-client -a
257 258 259 260 261 262 263

Come unica interazione viene chiesto, qualora configurato, a quale cluster associare il host (es: `aula-01`, `aula-insegnanti`, ecc.). Inoltre va inserita per tre volte la password di root del server.

Accesso all'interfaccia  di amministrazione OctoNet
---------------------------------------------------

Aprendo il browser da un qualsiasi PC/notebook della LAN all'indirizzo `<https://proxy:13402>`_, è possibile accedere all'interfaccia OctoNet di configurazione della rete didattica e da questa, tra le altre funzioni, si possono creare le utenze della rete didattica. L'amministratore è l'utente `root` e la password è la Master Password impostata durante l'esecuzione di fuss-server.
264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346

Captive Portal
==============

L’installazione del captive portal deve essere effettuata una volta che
si sia correttamente installato il *Fuss Server* (secondo le istruzioni
di :ref:`installazione-fuss-server`). In particolare si suppone che
siano già correttamente configurate le interfacce di rete per la rete
interna (quella rivolta verso le macchine dell’aula) ed esterna (quella
da cui si accede ad internet).

Per poter utilizzare il *Captive Portal* è necessario disporre di una
terza interfaccia di rete che deve essere lasciata **non configurata**.
Questa interfaccia sarà quella che dovrà essere collegata fisicamente al
tratto di rete (che deve essere fisicamente separata dalla rete interna
del server) che verrà gestita dal *Captive Portal* (ad esempio vi si
potrà attaccare un access point senza autenticazione). Negli esempi
successivi assumeremo che si tratti di ``eth2``.

Si tenga presente che l’interfaccia fisica (``eth2``) viene gestita
direttamente dal software di gestione del *Captive Portal* (Coova
Chilli) che poi fa passare i pacchetti autorizzati creando una
interfaccia tunnel (di default ``tun0``). Gli indirizzi di rete fanno
riferimento a quest’ultima, ad ``eth2`` non deve essere assegnato alcun
indirizzo IP.

Per questo si abbia cura di verificare che sul *Fuss Server* non sia
stato attivato network manager in caso di installazione dell’interfaccia
grafica (il default comunque non lo prevede). Qualora risultasse
presente si abbia cura di bloccare ogni possibile tentativo di
autoconfigurazione dell’interfaccia dedicata al *Captive Portal*
inserendo in ``/etc/network/interfaces`` una voce del tipo::

   iface eth2 inet manual

Per installare il *Fuss Captive Portal* occorre eseguire il comando::

   fuss-server cp

che provvederà a richiedere, qualora non siano già definiti, i dati
necessari alla configurazione. Come per gli altri questi vengono
mantenuti nel file ``/etc/fuss-server/fuss-server.yaml`` In particolare
saranno richiesti:

-  interfaccia di rete su cui attestare la rete del *Captive Portal* (ad
   esempio ``eth2``)
-  indirizzo della rete del *Captive Portal* (ad esempio
   ``10.1.0.0/24``)

Un esempio di sessione di installazione è il seguente::

   root@fuss-server-iso:~# fuss-server cp
   ################################################################################
   Please insert Hot Spot Interface

   The Hotspot interface of the server, ex. 'eth3'
   Your choice? eth2
   ################################################################################
   Please insert Hot Spot Network (CIDR)

   The Hotspot network of the server, ex. '10.1.0.0/24'
   Your choice? 10.1.0.0/24
   ...

Il software del *Captive Portal* autentica gli utenti su LDAP (occorre
quindi avere un utente definito per poterlo provare), e consente solo
agli utenti autenticati di uscire, passando attraverso un secondo proxy,
sulle porte 80 e 443

Per il funzionamento del *Captive Portal* viene creato dal comando di
installazione anche il file ``fuss-captive-portal.conf`` che contiene le
variabili necessarie allo script di firewall per gestire gli accessi
relativi al *Captive Portal*, questo file non deve essere modificato né
cancellato, altrimenti il riavvio del firewall non aprirà gli accessi
necessari al funzionamento del *Captive Portal*.

.. note::
   ’installazione del captive portal aggiunge il gruppo ``wifi`` (si
   vedano a tal proposito i due file ``/etc/group`` ed
   ``/etc/octofuss/octofuss.conf``). Di default gli utenti di una rete
   scolastica non appartengono al gruppo ``wifi`` e pertanto non hanno
   l’autorizzazione per accedere al captive portal; devono essere
   esplicitamente autorizzate in OctoNet.