Commit 4682030c authored by Simone Piccardi's avatar Simone Piccardi
Browse files

Merge branch 'master' of gitlab.fuss.bz.it:fuss/fuss-dev-guide

parents 13689295 19fcbdd5
......@@ -17,16 +17,14 @@ Creazione macchina virtuale
Si crei una nuova macchina virtuale (VM) su Proxmox, in fase iniziale è
sufficiente l'interfaccia di rete singola creata dal wizard, si usi il bridge
associato alla rete esterna: la seconda interfaccia per la rete esterna, e la
eventuale terza per il captive portal possono essere aggiunte in un secondo
tempo.
associato alla rete esterna.
Sulla macchina virtuale si deve fare una installazione ordinaria di Debian con
*netinstall* (ci si procuri l'ultima versione della ISO e la si carichi dentro
``/var/lib/vz/template/iso``)::
cd /var/lib/vz/template/iso/
wget https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-10.3.0-amd64-netinst.iso
# cd /var/lib/vz/template/iso/
# wget https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-10.3.0-amd64-netinst.iso
Nella creazione si utilizzi la precedente immagine come CDROM e per il resto
si usino i valori di default per tutto, compresi i 32 G di dimensione del
......@@ -35,6 +33,13 @@ disco, avendo però cura di fare installare quest'ultimo sullo storage
direttamente il file che si otterrà come immagine del disco per l'uso da parte
di altre piattaforme).
Una volta completato il wizard, aggiungere la seconda interfaccia per la
rete interna, e la eventuale terza per il captive portal, ed assicurarsi
che sia queste che la prima interfaccia non abbiano spunta per l'uso del
firewall.
Inoltre, modificare il disco ed attivare la spunta di Discard.
Installare Debian
=================
......@@ -82,15 +87,22 @@ impostate in qualunque momento successivo tramite ``cloud-init``.
Si rimuova poi l'utente creato in fase di installazione con::
userdel -r fuss
# userdel -r fuss
Occorrerà anzitutto installare ``cloud-init`` ed alcuni programmi:
Occorrerà anzitutto installare ``cloud-init``, servono inoltre ``gnupg`` per
poter importare le chiavi di APT di FUSS, ``resolvconf`` per poter gestire la
configurazione del DNS attraverso ``cloud-init`` e ``bind9`` per poter
configurare da subito la macchina in modalità compatibile con la
configurazione che verrà impostata da ``fuss-server``::
* ``gnupg`` per poter importare le chiavi di APT di FUSS;
* ``resolvconf`` per poter gestire la configurazione del DNS attraverso
``cloud-init``;
* ``bind9`` per poter configurare da subito la macchina in modalità
compatibile con la configurazione che verrà impostata da
``fuss-server``
* ``quotatool`` per attivare le quote nel caso si aggiunga un disco
separato per le home;
apt install cloud-init gnupg resolvconf bind9
::
# apt install cloud-init gnupg resolvconf bind9 quotatool
Per evitare i problemi di risoluzione con indirizzi IPv6 che si sono
verificati in alcuni casi, è opportuno che Bind sia configurato da subito per
......@@ -120,7 +132,7 @@ repository di fuss, si utilizzi un contenuto analogo al seguente::
(in genere basta aggiungere le ultime due righe), inoltre si deve importare la
chiave GPG di firma dei pacchetti, con::
wget -qO - https://archive.fuss.bz.it/apt.key | sudo apt-key add -
# wget -qO - https://archive.fuss.bz.it/apt.key | sudo apt-key add -
Infine per evitare che la voce di configurazione per ``lo`` presente in
``/etc/network/interfaces`` sovrascriva la stessa voce che ``cloud-init``
......@@ -160,15 +172,15 @@ La configurazione di default installata da ``cloud-init`` prevede la creazione
di un utente di default ed il blocco dell'accesso come ``root``. La scelta del
progetto è di fornire un accesso diretto a ``root`` a chiavi, con la
possibilità di usare una password, per questo vanno fatte alcune modifiche in
``/etc/cloud/cloud.cfg``. Anzitutto si devono commentare in le due righe
``/etc/cloud/cloud.cfg``. Anzitutto si devono cambiare le due righe
relative alla gestione degli utenti locali creati di default come nell'esempio
seguente::
# A set of users which may be applied and/or used by various modules
# when a 'default' entry is found it will reference the 'default_user'
# from the distro configuration specified below
#users:
# - default
users:
- name: root
e poi bisogna evitare che venga applicata la configurazione che disabilita
l'uso dell'utente ``root``, configurando ``disable_root`` a ``false`` come
......@@ -199,52 +211,56 @@ Una volte effettuate le configurazioni precedenti si proceda a ripulire
l'immagine da tutti i dati spuri, ci si sconnetta e ci si riconnetta eseguendo
il comando::
set +o history
e si eseguano poi i comandi::
> .bash_history
apt clean
find /etc -name "*~" -delete
cd /var/log/
> syslog
> auth.log
> cloud-init.log
> cloud-init-output.log
> debug
> dpkg.log
> messages
> kern.log
> user.log
> daemon.log
# set +o history
per disabilitare la history.
Se si è lasciato la configurazione dell'interfaccia di rete principale usata
in fase di installazione dentro ``/etc/network/interfaces`` la si rimuova.
Si eseguano poi i comandi::
# > .bash_history
# apt clean
# find /etc -name "*~" -delete
# cd /var/log/
# > syslog
# > auth.log
# > cloud-init.log
# > cloud-init-output.log
# > debug
# > dpkg.log
# > messages
# > kern.log
# > user.log
# > daemon.log
per fare una pulizia finale, compreso ricreare vuoti i file modificati
dal sistema mentre era in uso.
Generazione dell'immagine
=========================
Una volte effettuate le configurazioni precedenti, si fermi la macchina
virtuale e se ne esegua un backup, chiedendo la compressione. Si troverà il
file del backup sotto ``/var/lib/vz/dump`` (o nella directory che si è
configurato come storage di backup) nella forma::
virtuale e se ne esegua un backup, chiedendo la compressione (coi valori
predefiniti). Si troverà il file del backup sotto ``/var/lib/vz/dump``
(o nella directory che si è configurato come storage di backup) nella
forma::
vzdump-qemu-VMID-ANNO_ME_GI-OR_MI_SE.vma.lzo
e questo potrà essere caricato sul repository per il download da parte degli
utilizzatori, con qualcosa del tipo::
scp /var/lib/vz/dump/vzdump-qemu-103-2020_04_02-20_32_20.vma.lzo \
root@iso.fuss.bz.it:/var/www/iso/cloud-init/
$ scp /var/lib/vz/dump/vzdump-qemu-103-2020_04_02-20_32_20.vma.lzo \
root@iso.fuss.bz.it:/var/www/iso/cloud-init/
ci si colleghi poi su ``iso.fuss.bz.it`` e si aggiorni il link simbolico che
punta all'immagine con::
cd /var/www/iso/cloud-init/
ln -s vzdump-qemu-VMID-ANNO_ME_GI-OR_MI_SE.vma.lzo \
vzdump-qemu-fuss-server-10.0-latest.vma.lzo
$ cd /var/www/iso/cloud-init/
$ ln -s vzdump-qemu-VMID-ANNO_ME_GI-OR_MI_SE.vma.lzo \
vzdump-qemu-fuss-server-10.0-latest.vma.lzo
.. LocalWords: cloud init FUSS Buster dump Proxmox fuss tech VM wizard wget
.. LocalWords: portal netinstall CDROM storage local qcow DHCP deploy root
......
......@@ -42,14 +42,11 @@ scrivere il file di configurazione e passarlo al comando ``virsh
net-define``
Per la rete nattata, creare il file ``natted.xml`` con i seguenti
contenuti, sostituendo a ``eth0`` il nome della propria scheda di rete e
a ``8.8.8.8`` quello di un server dns opportuno::
contenuti, sostituendo a ``8.8.8.8`` l'indirizzo di un server dns opportuno::
<network>
<name>natted</name>
<forward dev='eth0' mode='nat'>
<interface dev='eth0'/>
</forward>
<forward mode='nat' />
<bridge name='virbr7' stp='on' delay='0'/>
<dns>
<forwarder addr='8.8.8.8'/>
......@@ -61,6 +58,15 @@ a ``8.8.8.8`` quello di un server dns opportuno::
</ip>
</network>
.. tip:: Con questa configurazione sull'host verrà configurata
un'interfaccia di rete ``virbr7`` con assegnato l'indirizzo
``192.168.7.1``.
Le macchine virtuali avranno invece a disposizione un dchp che
assegnerà loro indirizzi nel range da ``192.168.7.128`` a
``192.168.7.254``, e le richieste DNS verranno inoltrate al server
``8.8.8.8.``.
quindi lanciare, come root::
# virsh net-define natted.xml
......
......@@ -618,6 +618,17 @@ attuale della working directory (anziché dello stato all'ultimo commit)
oppure ``--git-ignore-new`` per fare una build corrispondente all'ultimo
commit, ignorando le modifiche eventualmente presenti.
Configurazioni standard e nuovi pacchetti
=========================================
Maintainer
----------
Il campo ``Maintainer`` di ``debian/control`` deve avere come valore
``FUSS team <packages@fuss.bz.it>``, in modo da indicare che il
pacchetto è manutenuto da un team.
Pacchetti particolari
=====================
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment