6 999
contributi
S3v (discussione | contributi) (inserita nella categoria "Debian Pure Blends") |
S3v (discussione | contributi) (minimalia) |
||
Riga 1: | Riga 1: | ||
In questa guida verranno descritte le sequenze di installazione e configurazione di '''Debian edu 7 (Wheezy)''', che sono state seguite per la creazione di un ambiente LTSP in un laboratorio di informatica scolastico (triennio ITI Informatica) principalmente dedicato allo sviluppo di pagine web (HTML,PHP/MySQL,CGI C) e applicazioni in C/C++/Java. | |||
{{Versioni_compatibili}} | {{Versioni_compatibili}} | ||
__TOC__ | |||
= Prerequisiti = | = Prerequisiti = | ||
[[Image:debianedu_combi_net.jpg|right|thumb|350px|Topologia della soluzione "combined server" con router WAN/LAN.]] La tipologia di installazione più comune di una Debian Edu 7 è quella "combined server", che installa, su un'unica macchina, due profili server: | [[Image:debianedu_combi_net.jpg|right|thumb|350px|Topologia della soluzione "combined server" con router WAN/LAN.]] La tipologia di installazione più comune di una Debian Edu 7 è quella "combined server", che installa, su un'unica macchina, due profili server: | ||
Riga 51: | Riga 51: | ||
È disponibile una seconda subnet (<code>subnet01.intern</code>), nel caso il numero di client sia elevato (per assicurare buone prestazioni, un uplink da 1Gbps dovrebbe servire al massimo 12...15 client) | |||
Debian edu, quindi, esce "dalla scatola" con una configurazione di rete, che non si può, almeno facilmente, modificare. Essa è, infatti, "LDAP-centrica" ovvero gran parte della configurazione dei servizi di rete è messa sotto LDAP. Con l'installazione viene fornito uno script (<code>/usr/share/debian-edu-config/tools/subnet-change</code>) che dovrebbe rendere automatiche queste modifiche, ma ci sono testimonianze discordanti sul suo effettivo "funzionamento" (personalmente non ha funzionato). <br /> | Debian edu, quindi, esce "dalla scatola" con una configurazione di rete, che non si può, almeno facilmente, modificare. Essa è, infatti, "LDAP-centrica" ovvero gran parte della configurazione dei servizi di rete è messa sotto LDAP. Con l'installazione viene fornito uno [[script]] (<code>/usr/share/debian-edu-config/tools/subnet-change</code>) che dovrebbe rendere automatiche queste modifiche, ma ci sono testimonianze discordanti sul suo effettivo "funzionamento" (personalmente non ha funzionato). <br /> | ||
<br />[[Image:PorteWANLAN.jpg|left|frame|thumb|Un router/AP domestico ha una porta WAN e generalmente quattro porte LAN]]Nel caso la rete della propria azienda non sia una classe A e quindi non abbia una configurazione di rete che collimi con quella di Debian edu, la soluzione più semplice è quella di interporre un router fra questa e il server, basta un router/AP domestico (che abbia una porta WAN, diversamente non è idoneo allo scopo) come il [http://www.tp-link.it/products/details/?model=TL-WR841N TP-LINK TL-WR841N (ND)] (dal costo di 20-30 Euro) oppure un modello cablato come il [http://www.tp-link.it/products/details/?model=TL-R402M TL-R402M] della stessa Casa. | <br />[[Image:PorteWANLAN.jpg|left|frame|thumb|Un router/AP domestico ha una porta WAN e generalmente quattro porte LAN]]Nel caso la rete della propria azienda non sia una classe A e quindi non abbia una configurazione di rete che collimi con quella di Debian edu, la soluzione più semplice è quella di interporre un router fra questa e il server, basta un router/AP domestico (che abbia una porta WAN, diversamente non è idoneo allo scopo) come il [http://www.tp-link.it/products/details/?model=TL-WR841N TP-LINK TL-WR841N (ND)] (dal costo di 20-30 Euro) oppure un modello cablato come il [http://www.tp-link.it/products/details/?model=TL-R402M TL-R402M] della stessa Casa. | ||
Riga 66: | Riga 66: | ||
* LAN, rete locale del server alla quale è collegata anche l'interfaccia eth0 del server | * LAN, rete locale del server alla quale è collegata anche l'interfaccia eth0 del server | ||
La prima configurazione è accessibile tramite un browser all'indirizzo: http://192.168.0.1 ,inserendo le credenziali di default: admin/admin | La prima configurazione è accessibile tramite un browser all'indirizzo: '''<nowiki>http://192.168.0.1</nowiki>''' ,inserendo le credenziali di default: admin/admin | ||
<br /> | <br /> | ||
Riga 103: | Riga 103: | ||
|} | |} | ||
N.B. '''Dopo questa modifica l'indirizzo IP 10.0.0.1 costituirà quindi il nuovo IP del router''' e quindi le successive configurazioni tramite il pannello web saranno possibili aprendo l'indirizzo: http://10.0.0.1 | N.B. '''Dopo questa modifica l'indirizzo IP 10.0.0.1 costituirà quindi il nuovo IP del router''' e quindi le successive configurazioni tramite il pannello web saranno possibili aprendo l'indirizzo: '''<nowiki>http://10.0.0.1</nowiki>''' | ||
== Disabilitazione del server DHCP == | == Disabilitazione del server DHCP == | ||
Riga 119: | Riga 119: | ||
* CD: [http://ftp.skolelinux.org/skolelinux-cd/debian-edu-7.1+edu0-CD.iso debian-edu-7.1+edu0-CD.iso] (655MB): l'installazione viene avviata da un CD, quindi vengono scaricati i pacchetti necessari dalla rete (richiede molte ore usando una connessione ADSL tipica da 7Mbps). | * CD: [http://ftp.skolelinux.org/skolelinux-cd/debian-edu-7.1+edu0-CD.iso debian-edu-7.1+edu0-CD.iso] (655MB): l'installazione viene avviata da un CD, quindi vengono scaricati i pacchetti necessari dalla rete (richiede molte ore usando una connessione ADSL tipica da 7Mbps). | ||
* USB: [http://ftp.skolelinux.org/skolelinux-cd/debian-edu-7.1+edu0-USB.iso debian-edu-7.1+edu0-USB.iso] (5,4GB): l'installazione viene avviata da un pendrive USB che contiene gran parte dei pacchetti richiesti. | * USB: [http://ftp.skolelinux.org/skolelinux-cd/debian-edu-7.1+edu0-USB.iso debian-edu-7.1+edu0-USB.iso] (5,4GB): l'installazione viene avviata da un pendrive USB che contiene gran parte dei pacchetti richiesti. È comunque necessario il collegamento alla rete in quanto viene scaricato qualche aggiornamento o pacchetto aggiuntivo (richiede meno tempo della installazione da CD). | ||
Qualunque sia l'immagine scelta è necessario scaricare anche due file per il successivo controllo integrità con MD5, che andranno salvati sempre nella stessa directory di download dell'ISO: | Qualunque sia l'immagine scelta è necessario scaricare anche due file per il successivo controllo integrità con [[MD5]], che andranno salvati sempre nella stessa directory di download dell'ISO: | ||
*http://ftp.skolelinux.org/skolelinux-cd/wheezy/MD5SUMS | *http://ftp.skolelinux.org/skolelinux-cd/wheezy/MD5SUMS | ||
Riga 130: | Riga 130: | ||
Prima della creazione è necessario fare il checksum dell'ISO scaricata. Nella directory dove sono stati salvati il file .ISO e il file MD5SUMS eseguire: | Prima della creazione è necessario fare il checksum dell'ISO scaricata. Nella directory dove sono stati salvati il file .ISO e il file MD5SUMS eseguire: | ||
<pre>$ md5sum -c MD5SUMS</pre> | |||
In caso di risultato "non riuscito" relativo all'immagine scaricata (ignorare i warning delle altre ISO) occorrerà cancellare la stessa immagine e provvedere a un nuovo download. Per la masterizzazione CD fare riferimento alla [https://www.debian.org/CD/faq/#record-unix FAQ Debian] | In caso di risultato "non riuscito" relativo all'immagine scaricata (ignorare i warning delle altre ISO) occorrerà cancellare la stessa immagine e provvedere a un nuovo download. Per la masterizzazione CD fare riferimento alla [https://www.debian.org/CD/faq/#record-unix FAQ Debian] | ||
Per la creazione del pendrive USB avviabile occorrerà innanzitutto identificare il device name del pendrive (es. <code>/dev/sdb</code>). Portarsi, quindi, nella directory dove è stata salvata la ISO e lanciare i seguenti comandi: | |||
<pre> | |||
# umount /dev/sdb | |||
# cat debian-edu-7.1+edu0-USB.iso > /dev/sdb ; sync | |||
</pre> | |||
== Creazione del supporto di installazione (Windows) == | == Creazione del supporto di installazione (Windows) == | ||
Riga 145: | Riga 146: | ||
Mentre uno dei pochi software gratuiti in grado di creare un pendrive USB effettivamente funzionante è PowerISO (per inciso UNetbootbin non va bene). Si consiglia la [http://www.oldapps.com/poweriso.php?old_poweriso=6849 vecchia versione 4.9] che non installa adware. Lanciato il programma, dal menù "Strumenti > Create Bootable USB driver" sarà possibile creare il proprio pendrive avviabile con l'installer Debian edu. | Mentre uno dei pochi software gratuiti in grado di creare un pendrive USB effettivamente funzionante è PowerISO (per inciso UNetbootbin non va bene). Si consiglia la [http://www.oldapps.com/poweriso.php?old_poweriso=6849 vecchia versione 4.9] che non installa adware. Lanciato il programma, dal menù "Strumenti > Create Bootable USB driver" sarà possibile creare il proprio pendrive avviabile con l'installer Debian edu. | ||
== Fase di installazione == | == Fase di installazione == | ||
La fase di installazione, anche se fatta da supporto CD/USB, richiede una connessione internet funzionante. In questa fase, anche se non necessario, è comunque preferibile avere già interposto e configurato correttamente il router come descritto sopra, così da testare la funzionalità del router stesso. <br /> | La fase di installazione, anche se fatta da supporto CD/USB, richiede una connessione internet funzionante. In questa fase, anche se non necessario, è comunque preferibile avere già interposto e configurato correttamente il router come descritto sopra, così da testare la funzionalità del router stesso. <br /> | ||
La procedura di seguito descritta fa riferimento a una '''CPU server a 64-bit, CPU client a 32-bit e a una singola unità disco''' (ovvero un array di dischi in RAID gestiti da un controller hardware). Per un'eventuale configurazione RAID software fare riferimento alle Guide: [ | La procedura di seguito descritta fa riferimento a una '''CPU server a 64-bit, CPU client a 32-bit e a una singola unità disco''' (ovvero un array di dischi in RAID gestiti da un controller hardware). Per un'eventuale configurazione RAID software fare riferimento alle Guide: [[Installare Debian: configurazione LVM| 1]],[[Installare Debian: configurazione RAID| 2]] e [[Installare Debian con Raid1 software e LVM| 3]]; quindi '''non a questa procedura'''. | ||
Riga 159: | Riga 159: | ||
=== Scelta di xfce come desktop per i client === | === Scelta di xfce come desktop per i client === | ||
Al boot di installazione, selezionare con i tasti freccia “'''64 bit install'''”, quindi premere il tasto '''Tab''' e modificare il seguente parametro: '''desktop=xfce'''. In questo modo i client avranno come desktop predefinito xfce4, che è notoriamente più leggero di | Al boot di installazione, selezionare con i tasti freccia “'''64 bit install'''”, quindi premere il tasto '''Tab''' e modificare il seguente parametro: '''desktop=xfce'''. In questo modo i client avranno come desktop predefinito xfce4, che è notoriamente più leggero di GNOME e KDE. | ||
[[Image:debianedu_install_001.jpg|center|thumb|350px|Prima schermata di installazione]] | [[Image:debianedu_install_001.jpg|center|thumb|350px|Prima schermata di installazione]] | ||
Alcune note su questo step: | Alcune note su questo step: | ||
* Non modificando il parametro desktop verrà installato '''KDE anche per i client; opzione al momento sconsigliata''' in quanto c'è un bug non | * Non modificando il parametro desktop verrà installato '''KDE anche per i client; opzione al momento sconsigliata''' in quanto c'è un [[bug]] non risolto che provoca un elevato tempo di avvio dei client. | ||
* | * È possibile installare LXDE invece di Xfce, specificando come parametro '''desktop=lxde'''. LXDE occupa meno di risorse di Xfce (circa 80MB di RAM in meno) e ha un'interfaccia utente simile a quella classica Windows con menù start. N.B. il parametro 'lxde' sembra non funzionare con l'installazione da USB. | ||
* Le installazioni fatte mediante CD/USB, pur impostando desktop=xfce, installeranno comunque anche | * Le installazioni fatte mediante CD/USB, pur impostando "desktop=xfce", installeranno comunque anche GNOME, che costituirà la sessione predefinita per gli accessi locali (sui client invece ci sarà comunque Xfce). L'installazione fatta mediante ISO netinstall, invece, installa solo il desktop richiesto. | ||
* È possibile selezionare anche la modalità "Expert install", ma solo se effettivamente si sa bene cosa selezionare; diversamente ci si può ritrovare, dopo ore di lavoro, con un'installazione incompleta o non funzionante. | |||
Successivamente l'installazione chiederà l'impostazione della lingua, della tastiera e configurerà la rete per lo scaricamento dei pacchetti. | Successivamente l'installazione chiederà l'impostazione della lingua, della tastiera e configurerà la rete per lo scaricamento dei pacchetti. | ||
Riga 180: | Riga 180: | ||
=== Richiesta di partizionamento guidato con LVM === | === Richiesta di partizionamento guidato con LVM === | ||
Selezionare " | Selezionare "Sì" alla successiva richiesta: ''“Sicuri di usare il partizionamento guidato?”''. In questo modo l'installer configurerà automaticamente il disco con LVM secondo la particolare struttura della Debian edu (es. un volume logico verrà assegnato al punto di mount <code>/skole/tjener/home0</code> che rappresenta la directory radice delle home directory degli utenti) | ||
[[Image:debianedu_install_partizionamentoguidato.png|center|thumb|350px|Richiesta di partizionamento guidato]] | [[Image:debianedu_install_partizionamentoguidato.png|center|thumb|350px|Richiesta di partizionamento guidato]] | ||
=== Monitoraggio dello stato di installazione con la console virtuale === | === Monitoraggio dello stato di installazione con la console virtuale === | ||
Durante l'intero processo di installazione è possibile attivare delle console virtuali in particolare: | Durante l'intero processo di installazione è possibile attivare delle console virtuali in particolare: | ||
*<code>Alt+F4: </code>console syslog (stato download pacchetti, estrazione, configurazione ecc.) | * <code>Alt+F4: </code>console syslog (stato download pacchetti, estrazione, configurazione ecc.) | ||
*<code>Alt+F1: </code> ritorna all'installer | * <code>Alt+F1: </code> ritorna all'installer | ||
=== Creazione del primo utente === | === Creazione del primo utente === | ||
Dopo la richiesta di partecipare all'indagine sull'uso dei pacchetti (va bene lasciare il NO predefinito), si arriverà alla creazione del primo utente, che costituirà l'utente amministratore, abilitato al sudo e all'uso di GOsa, lo strumento di amministrazione usato da Debian edu. '''Si consiglia di non scegliere la password uguale al nome utente''', non solo per ovvi motivi di sicurezza, ma anche perché è capitato che non venisse creato effettivamente l'utente. | Dopo la richiesta di partecipare all'indagine sull'uso dei pacchetti (va bene lasciare il NO predefinito), si arriverà alla creazione del primo utente, che costituirà l'utente amministratore, abilitato al [[sudo]] e all'uso di GOsa, lo strumento di amministrazione usato da Debian edu. '''Si consiglia di non scegliere la password uguale al nome utente''', non solo per ovvi motivi di sicurezza, ma anche perché è capitato che non venisse creato effettivamente l'utente. | ||
[[Image:debianedu_install_creautente.png|center|thumb|350px|Creazione del primo utente]] | [[Image:debianedu_install_creautente.png|center|thumb|350px|Creazione del primo utente]] | ||
Riga 201: | Riga 201: | ||
== Primo avvio == | == Primo avvio == | ||
Al boot comparirà il classico | Al boot comparirà il classico Grub menù in stile Debian-edu 7: | ||
[[Image:Debianedu_run_grub.jpg|center|thumb|350px|Boot menu]] | [[Image:Debianedu_run_grub.jpg|center|thumb|350px|Boot menu]] | ||
e quindi la schermata di login, in cui si consiglia di selezionare la sessione | e quindi la schermata di login, in cui si consiglia di selezionare la sessione Xfce, potrebbe essere avviato di default GNOME (nel post-install verrà definito Xfce come [[Desktop Environment|DE]] predefinito) | ||
[[Image:debian_edu_run_xfce_session.jpg|center|thumb|350px|LDM]] | [[Image:debian_edu_run_xfce_session.jpg|center|thumb|350px|LDM]] | ||
Dopo la scelta predefinita del pannello | Dopo la scelta predefinita del pannello Xfce, il primo desktop in tutta la sua semplicità ed efficienza (provare per credere ;-). | ||
[[Image:debianedu_run_xfce_desktopavvio.jpg|center|thumb|350px|xfce desktop]] | [[Image:debianedu_run_xfce_desktopavvio.jpg|center|thumb|350px|xfce desktop]] | ||
= Post-installazione = | = Post-installazione = | ||
Di seguito la sequenza di passi che è stata seguita per la fase di post-installazione. | Di seguito la sequenza di passi che è stata seguita per la fase di post-installazione. | ||
N.B. I comandi elencati di seguito vanno eseguiti dall'utente iniziale (o da qualsiasi altro utente abilitato a sudo) e nell'ordine in cui sono descritti | |||
N.B. I comandi elencati di seguito vanno eseguiti dall'utente iniziale (o da qualsiasi altro utente abilitato a sudo) e nell'ordine in cui sono descritti. | |||
=== Sincronizzare la lista dei pacchetti disponibili === | === Sincronizzare la lista dei pacchetti disponibili === | ||
Fra versione installata e versione corrente ci potrebbero essere delle differenze nella lista dei pacchetti. Questi comandi si sono resi necessari dopo l'installazione (effettuata con l'immagine USB.iso) al fine di evitare errori e warning nell'uso di apt e dpkg: | Fra versione installata e versione corrente ci potrebbero essere delle differenze nella lista dei pacchetti. Questi comandi si sono resi necessari dopo l'installazione (effettuata con l'immagine USB.iso) al fine di evitare errori e warning nell'uso di [[APT|apt]] e [[dpkg]]: | ||
<pre> | |||
$ wget http://http.debian.net/debian/dists/wheezy/main/binary-amd64/Packages.gz | |||
$ gunzip Packages.gz | |||
$ sudo dpkg --update-avail Packages | |||
$ mv Packages /opt/ltsp/i386/tmp | |||
$ sudo ltsp-chroot dpkg --update-avail /tmp/Packages | |||
$ sudo ltsp-chroot rm /tmp/Packages | |||
</pre> | |||
=== Aggiornamenti necessari === | === Aggiornamenti necessari === | ||
Alcuni pacchetti vanno necessariamente aggiornati perché correggono malfunzionamenti, senza ricorrere | Alcuni pacchetti vanno necessariamente aggiornati perché correggono malfunzionamenti, senza ricorrere al [[pinning]] o ad aggiornamenti alla versione [[testing]]: | ||
<pre> | |||
$ wget http://http.debian.net/debian/pool/main/e/etckeeper/etckeeper_1.13_all.deb | |||
$ wget http://http.debian.net/debian/pool/main/d/debian-edu-config/debian-edu-config_1.719_all.deb | |||
$ sudo dpkg -i etckeeper_1.13_all.deb | |||
$ sudo dpkg -i debian-edu-config_1.719_all.deb | |||
$ rm etckeeper_1.13_all.deb | |||
$ rm debian-edu-config_1.719_all.deb | |||
</pre> | |||
=== Aggiornare os del server === | === Aggiornare os del server === | ||
<pre> | |||
$ sudo apt-get update | |||
$ sudo apt-get -y upgrade | |||
</pre> | |||
=== Aggiornare os dei fat client === | === Aggiornare os dei fat client === | ||
<pre> | |||
$ sudo ltsp-chroot -m apt-get update | |||
$ sudo ltsp-chroot -m apt-get -y upgrade | |||
$ sudo ltsp-update-kernels | |||
</pre> | |||
=== Installare script e applicazioni utili === | === Installare script e applicazioni utili === | ||
Cron ogni ora lancia lo script killer, il quale individua processi server di utenti che non sono collegati al sistema e li killa. gksu/gksudo sono gli equivalenti | [[Cron]] ogni ora lancia lo script killer, il quale individua processi server di utenti che non sono collegati al sistema e li killa. <code>gksu/gksudo</code> sono gli equivalenti GTK di <code>su</code> e <code>sudo</code>. <code>epdfview</code> è un leggero PDF viewer. <code>xarchiver</code> un gestore di file compressi. | ||
<pre>$ sudo apt-get -y install killer gksu gksudo epdfview xarchiver</pre> | |||
=== Installare localizzazioni/stili === | === Installare localizzazioni/stili === | ||
Installare lo stile | Installare lo stile GTK per la GUI di <code>Openoffice</code> e la lingua italiana, anche per <code>chromium</code> ed <code>epdfview</code>: | ||
<pre> | |||
$ sudo ltsp-chroot -m apt-get -y install libreoffice-gtk libreoffice-l10n-it chromium-l10n epdfview xarchiver | |||
$ sudo apt-get -y install libreoffice-gtk libreoffice-l10n-it chromium-l10n epdfview xarchiver | |||
</pre> | |||
=== Installare OpenJDK 7 === | === Installare OpenJDK 7 === | ||
Sul server e per i fat client risulta già installato il JRE 6, che conviene | Sul server e per i fat client risulta già installato il JRE 6, che conviene lasciare; anche se si vuole usare il JRE/JDK 7 è bene installare anche il JRE/JDK 6 (richiesto da alcuni programmi) per poi impostare di default le versioni 7. Invece il plugin <code>icedtea</code> versione 6 va tolto perché va in conflitto con l'omologo della 7. | ||
<pre> | |||
$ sudo apt-get -y remove icedtea-6-plugin | |||
$ sudo apt-get -y install default-jdk icedtea-7-plugin openjdk-7-jdk | |||
</pre> | |||
Configurare quindi il JRE predefinito: | Configurare quindi il JRE predefinito: | ||
<pre>$ sudo update-alternatives --config java</pre> | |||
scegliendo: <code>/usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java</code> | scegliendo: <code>/usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java</code> , e il JDK predefinito: | ||
e il JDK predefinito: | |||
<pre>$ sudo update-alternatives --config javac</pre> | |||
scegliendo: <code>/usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java</code> | scegliendo: <code>/usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java</code> | ||
Riga 278: | Riga 285: | ||
'''Ripetere la stessa installazione per i fat client:''' | '''Ripetere la stessa installazione per i fat client:''' | ||
<pre> | |||
$ sudo ltsp-chroot -m apt-get -y remove icedtea-6-plugin | |||
$ sudo ltsp-chroot -m apt-get -y install openjdk-7-jdk icedtea-7-plugin | |||
</pre> | |||
Configurare quindi il JRE predefinito sui client: | Configurare quindi il JRE predefinito sui client: | ||
<pre>$ sudo ltsp-chroot -m update-alternatives --config java</pre> | |||
scegliendo: <code>/usr/lib/jvm/java-7-openjdk-i386/jre/bin/java</code> | scegliendo: <code>/usr/lib/jvm/java-7-openjdk-i386/jre/bin/java</code> , e il JDK predefinito: | ||
e il JDK predefinito: | |||
<pre>$ sudo ltsp-chroot -m update-alternatives --config javac</pre> | |||
scegliendo: <code>/usr/lib/jvm/java-7-openjdk-i386/bin/javac</code> | scegliendo: <code>/usr/lib/jvm/java-7-openjdk-i386/bin/javac</code> | ||
=== Installare strumenti di sviluppo per C/C++ === | === Installare strumenti di sviluppo per C/C++ === | ||
Installazione di g++, gcc e geany | Installazione di g++, gcc e geany : | ||
<pre> | |||
$ sudo ltsp-chroot -m apt-get -y install build-essential geany | |||
$ sudo apt-get -y install build-essential geany | |||
</pre> | |||
=== Installare Infinality font === | === Installare Infinality font === | ||
Infinality font migliora notevolmente l'antialiasing dei caratteri, sia sul server che sui client: | Infinality font migliora notevolmente l'antialiasing dei caratteri, sia sul server che sui client: | ||
<pre> | |||
$ sudo echo "deb http://ppa.launchpad.net/no1wantdthisname/ppa/ubuntu trusty main" | sudo tee /etc/apt/sources.list.d/infinality.list | |||
$ sudo echo "deb-src http://ppa.launchpad.net/no1wantdthisname/ppa/ubuntu trusty main" | sudo tee -a /etc/apt/sources.list.d/infinality.list | |||
$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E985B27B | |||
$ sudo apt-get update | |||
$ sudo apt-get -y install fontconfig-infinality | |||
$ sudo echo 4 | bash /etc/fonts/infinality/infctl.sh setstyle | |||
$ sudo sed -i '712s/.*/USE_STYLE="OSX"/' /etc/profile.d/infinality-settings.sh | |||
$ sudo ltsp-chroot -m apt-get -y install fontconfig-infinality | |||
$ sudo ltsp-chroot -m echo 4 | bash /etc/fonts/infinality/infctl.sh setstyle | |||
$ sudo ltsp-chroot -m sed -i '712s/.*/USE_STYLE="OSX"/' /etc/profile.d/infinality-settings.sh | |||
</pre> | |||
=== Installare LAMP === | === Installare LAMP === | ||
Occorre installare solo MySQL server e client (PHP e già installato e Apache già preconfigurato per lo sviluppo PHP/mysqli). Al termine dell'installazione di mysql-server verrà richiesta la creazione di una password per l'utente root di mysql. | Occorre installare solo MySQL server e client (PHP e già installato e Apache già preconfigurato per lo sviluppo PHP/mysqli). Al termine dell'installazione di <code>mysql-server</code> verrà richiesta la creazione di una password per l'utente [[root]] di mysql. | ||
<pre> | |||
$ sudo ltsp-chroot -m apt-get -y install mysql-client | |||
$ sudo apt-get -y install mysql-server mysql-client | |||
</pre> | |||
=== Impostare | === Impostare Xfce di default anche per le sessioni locali === | ||
L'installazione da CD/USB installa anche | L'installazione da CD/USB installa anche GNOME (pur avendo richiesto Xfce); mentre la [[netinst|netinstall]] scarica e installa solo Xfce. Per consentire di usare Xfce in modalità predefinita (e non GNOME) anche in sessione locale: | ||
<pre>$ sudo update-alternatives --config x-session-manager</pre> | |||
quindi selezionare il numero associato a: <code>/usr/bin/xfce4-session</code> | quindi selezionare il numero associato a: <code>/usr/bin/xfce4-session</code> . | ||
=== Installare un controllore di aula === | === Installare un controllore di aula === | ||
Un controllore di aula è un utile strumento che consente all'insegnante di interagire con le sessioni client. [http://www.epoptes.org/ Epoptes] è un ottimo programma, facile da installare e con una GUI intuitiva: | Un controllore di aula è un utile strumento che consente all'insegnante di interagire con le sessioni client. [http://www.epoptes.org/ Epoptes] è un ottimo programma, facile da installare e con una GUI intuitiva: | ||
<pre> | |||
$ sudo apt-get install epoptes | |||
$ sudo ltsp-chroot -m apt-get install epoptes-client | |||
$ sudo ltsp-chroot -m epoptes-client -c | |||
$ sudo update-rc.d -f epoptes remove | |||
$ sudo update-rc.d epoptes default 30 70 | |||
$ echo 'SOCKET_GROUP=teachers' | sudo tee --append /etc/default/epoptes | |||
$ sudo service epoptes restart | |||
</pre> | |||
Eseguire il controllore dal Menù delle applicazioni > Internet > Epoptes oppure da [[shell]] (senza permessi di root) con: | |||
<pre>$ epoptes</pre> | |||
Per operare su tutti i client (es. inviare messaggio a tutti i client), non selezionare nessuna miniatura desktop oppure premere <code>Ctrl+A</code> . | |||
Per operare su tutti i client (es. inviare messaggio a tutti i client), non selezionare nessuna miniatura desktop oppure premere <code>Ctrl+A</code> | |||
'''N.B.''' | '''N.B.''' | ||
# Solo gli utenti del gruppo teachers sono autorizzati ad avviare epoptes e quindi controllare in remoto i client. | # Solo gli utenti del gruppo "teachers" sono autorizzati ad avviare <code>epoptes</code> e quindi controllare in remoto i client. | ||
# Il controllore può essere invocato sul server o su thin client ma non su un fat client. | # Il controllore può essere invocato sul server o su thin client ma non su un fat client. | ||
=== Creare la struttura di directory per il web degli utenti === | === Creare la struttura di directory per il web degli utenti === | ||
Con la creazione di un nuovo utente verranno anche create le directory per lo spazio web personale. Questo step può essere saltato se nel laboratorio non si fa sviluppo di pagine web e CGI | Con la creazione di un nuovo utente verranno anche create le directory per lo spazio web personale. Questo step può essere saltato se nel laboratorio non si fa sviluppo di pagine web e CGI | ||
<pre> | |||
$ sudo mkdir /etc/skel/public_html | |||
$ sudo mkdir /etc/skel/public_html/cgi-bin | |||
</pre> | |||
=== Abilitare home page utenti (web e CGI) === | === Abilitare home page utenti (web e CGI) === | ||
Riga 361: | Riga 371: | ||
Per il '''solo utente iniziale''' (creato durante l'installazione), occorrerà creare le directory <code>~/public_html</code> e <code>~/public_html/cgi-bin</code> e impostare i permessi: | Per il '''solo utente iniziale''' (creato durante l'installazione), occorrerà creare le directory <code>~/public_html</code> e <code>~/public_html/cgi-bin</code> e impostare i permessi: | ||
<pre> | |||
$ cd | |||
$ mkdir public_html | |||
$ chmod 755 public_html | |||
$ mkdir public_html/cgi-bin | |||
$ chmod 755 public_html/cgi-bin | |||
$ chmod o+x ~ | |||
</pre> | |||
Passare quindi a root: | Passare quindi a root: | ||
<pre>$ su -</pre> | |||
Ed eseguire: | Ed eseguire: | ||
<pre> | |||
# cd /etc/apache2/mods-enabled/ | |||
# cp userdir.conf userdir.orig.conf | |||
# nano userdir.conf | |||
</pre> | |||
Nell'editor sostituire la riga: | Nell'editor sostituire la riga: | ||
<pre><Directory /home/*/public_html/></pre> | |||
con | con: | ||
<pre><Directory /skole/tjener/home*/*/public_html/></pre> | |||
Inoltre aggiungere in coda allo stesso file file la seguente direttiva: | Inoltre aggiungere in coda allo stesso file file la seguente direttiva: | ||
<pre> | |||
<Directory /skole/tjener/home*/*/public_html/cgi-bin/> | <Directory /skole/tjener/home*/*/public_html/cgi-bin/> | ||
Options ExecCGI | Options ExecCGI | ||
SetHandler cgi-script | SetHandler cgi-script | ||
</Directory> | </Directory> | ||
</pre> | |||
Riavviare quindi il demone httpd: | Riavviare quindi il [[demone]] httpd: | ||
<pre># service apache2 restart</pre> | |||
=== Test spazio web e CGI utenti === | === Test spazio web e CGI utenti === | ||
'''Test web''' | '''Test web''' | ||
Creare una pagina indice di prova: | Creare una pagina indice di prova: | ||
<pre> | |||
$ cd ~/public_html/ | |||
$ nano index.html | |||
</pre> | |||
<pre> | |||
<HTML> | <HTML> | ||
<BODY> | <BODY> | ||
Riga 413: | Riga 426: | ||
</BODY> | </BODY> | ||
</HTML> | </HTML> | ||
</pre> | |||
Aprire la pagina sul sito: | Aprire la pagina sul sito: | ||
<pre>http://www/~userid/index.html</pre> | |||
'''Test CGI''' | '''Test CGI''' | ||
Creare un nuovo file di prova <code>hello.c</code> | Creare un nuovo file di prova <code>hello.c</code> : | ||
<pre> | |||
$ cd ~/public_html/cgi-bin/ | |||
$ nano hello.c | |||
</pre> | |||
<pre> | |||
#include <stdio.h> | #include <stdio.h> | ||
Riga 435: | Riga 449: | ||
return 0; | return 0; | ||
} | } | ||
</pre> | |||
Compilarlo: | Compilarlo: | ||
<pre>$ gcc -o hello.cgi hello.c</pre> | |||
Eseguirlo sul server web: | Eseguirlo sul server web: | ||
<pre>http://www/~userid/cgi-bin/hello.cgi</pre> | |||
= Amministrazione di sistema = | = Amministrazione di sistema = | ||
Gran parte dei task amministrativi, vengono svolti in Debian edu tramite lo strumento Gosa che facilita le operazioni grazie a un'interfaccia utente semplice e intuitiva. Gosa è accessibile dal Menu delle applicazioni > Sistema > Gosa | Gran parte dei task amministrativi, vengono svolti in Debian edu tramite lo strumento Gosa che facilita le operazioni grazie a un'interfaccia utente semplice e intuitiva. Gosa è accessibile dal Menu delle applicazioni > Sistema > Gosa oppure aprendo con un browser l'URL: '''<nowiki>https://www/gosa</nowiki>''' | ||
La login è quella dell'utente creato durante l'installazione. | La login è quella dell'utente creato durante l'installazione. È possibile aggiungere altri utenti Gosa aggiungendoli al gruppo gosa-admins . | ||
== Modificare i modelli "newteacher" e "newstudent" == | == Modificare i modelli "newteacher" e "newstudent" == | ||
Per la creazione di un nuovo utente “studente” e “insegnante”, Gosa eredita le proprietà di due | Per la creazione di un nuovo utente “studente” e “insegnante”, Gosa eredita le proprietà di due utenti predefiniti, rispettivamente, “newstudent” e “newteacher”. È preferibile che ogni utente venga aggiunto a un solo gruppo primario: students o teachers (di default, invece, il modello utente prevede la creazione di un gruppo primario dello stesso nome dell'utente: tanti utenti, tanti gruppi). | ||
default, invece, il modello utente prevede la creazione di un gruppo primario dello stesso nome | |||
dell'utente: tanti utenti, tanti gruppi). | |||
Gosa > '''Users > Students > newstudent > POSIX''' e cambiare il primary group da | Gosa > '''Users > Students > newstudent > POSIX''' e cambiare il primary group da “Newstudent” a “Students” : | ||
[[File:Debianedu_gosa_modificatemplate.png|center]] | [[File:Debianedu_gosa_modificatemplate.png|center]] | ||
Analogamente cambiare il primary group in “teachers” per l'utente newteacher, accedendo al menù | Analogamente cambiare il primary group in “teachers” per l'utente newteacher, accedendo al menù : | ||
Gosa >''' Users > Teachers > newteacher > POSIX''' | Gosa >''' Users > Teachers > newteacher > POSIX''' | ||
N.B. Ogni utente del modello “newteacher” oltre che al gruppo “teachers” viene aggiunto anche al gruppo “students” | N.B. Ogni utente del modello “newteacher” oltre che al gruppo “teachers” viene aggiunto anche al gruppo “students”. | ||
== Scegliere un userid diverso da quelli proposti == | == Scegliere un userid diverso da quelli proposti == | ||
Riga 471: | Riga 483: | ||
Per la creazione di un nuovo utente, Gosa propone un limitato numero di userid formati da lettere del nome e del cognome e dell'utente, ma non consente di definire un userid a piacere (es. "nome.cognome"). Per aggirare questo limite: | Per la creazione di un nuovo utente, Gosa propone un limitato numero di userid formati da lettere del nome e del cognome e dell'utente, ma non consente di definire un userid a piacere (es. "nome.cognome"). Per aggirare questo limite: | ||
<pre># nano /etc/gosa/gosa.conf </pre> | |||
cercare il tag: '''<location name="Debian Edu">''' e modificarlo, nel modo seguente, prima della parentesi di chiusura “>” : | cercare il tag: '''<location name="Debian Edu">''' e modificarlo, nel modo seguente, prima della parentesi di chiusura “>” : | ||
<pre>...dc=skolelinux,dc=no" '''allowUIDProposalModification = "true"''' ></pre> | |||
A destra degli userid proposti da Gosa comparirà un'icona: cliccando su di essa, sarà ora possibile immettere un qualsiasi | A destra degli userid proposti da Gosa comparirà un'icona: cliccando su di essa, sarà ora possibile immettere un qualsiasi [[UID]] valido. | ||
== Creare un nuovo utente == | == Creare un nuovo utente == | ||
Riga 483: | Riga 495: | ||
Gosa > '''Menù Users > [ Actions ] > Create > User''' | Gosa > '''Menù Users > [ Actions ] > Create > User''' | ||
Selezionare quindi il template: newstudent o newteacher, rispettivamente se si tratta di uno studente o di un docente. Scegliere dalla list-box, l'userid proposto. Se si è apportata la modifica al punto precedente, sarà possibile definire un userid | Selezionare quindi il template: newstudent o newteacher, rispettivamente se si tratta di uno studente o di un docente. Scegliere dalla list-box, l'userid proposto. Se si è apportata la modifica al punto precedente, sarà possibile definire un userid diverso da quello proposto. | ||
N.B. La home | N.B. La home directory dell'utente creato è: <code>/skole/tjener/home0/userid</code> . | ||
Si consiglia di creare due utenti iniziali: 'studente' e 'docente', che serviranno per i test, ma anche per quota | Si consiglia di creare due utenti iniziali: 'studente' e 'docente', che serviranno per i test, ma anche per quota. | ||
== Importare una lista di nuovi utenti (es. classe) == | == Importare una lista di nuovi utenti (es. classe) == | ||
È possibile importare massivamente un elenco di utenti definito in un foglio di calcolo. | |||
[[File:debianedu_gosa_importadacalc.png | center]] | [[File:debianedu_gosa_importadacalc.png | center]] | ||
Riga 511: | Riga 523: | ||
== Cambiare la password utente == | == Cambiare la password utente == | ||
L'utente al primo accesso sarà invitato a cambiare la password accedendo a Gosa mediante le | L'utente al primo accesso sarà invitato a cambiare la password accedendo a Gosa mediante le proprie credenziali; un utente - non amministratore - in Gosa visualizza solo le sue proprietà, di cui può modificare solo la password. | ||
== Abilitare un utente al sudo == | == Abilitare un utente al sudo == | ||
Riga 517: | Riga 529: | ||
Gosa > '''Menù Administration > Sudo rules''' | Gosa > '''Menù Administration > Sudo rules''' | ||
Selezionare dalla lista, la regola del primo utente (quello creato con l'installazione). Nel riquadro “Users and groups”, click sul pulsante “Add from list” e selezionare l'utente al quale si vogliono applicare le stesse regole sudo del primo utente (nell'esempio il I utente è: frank) | Selezionare dalla lista, la regola del primo utente (quello creato con l'installazione). Nel riquadro “Users and groups”, click sul pulsante “Add from list” e selezionare l'utente al quale si vogliono applicare le stesse regole sudo del primo utente (nell'esempio il I utente è: frank). | ||
[[File:Debianedu_gosa_sudo.png|center]] | [[File:Debianedu_gosa_sudo.png|center]] | ||
Riga 523: | Riga 535: | ||
== Assegnare a un client IP e nome univoci == | == Assegnare a un client IP e nome univoci == | ||
I client non richiedono l'autorizzazione in Gosa (a differenza delle workstation): Debian Edu automaticamente assegna a un client che si collega al LTSP server, un IP e un nome. | I client non richiedono l'autorizzazione in Gosa (a differenza delle workstation): Debian Edu automaticamente assegna a un client che si collega al LTSP server, un IP e un nome. È consigliabile, però, far assegnare a un client sempre uno stesso IP e uno stesso nome: | ||
* Far collegare unicamente il client che si desidera configurare e aspettare la schermata LTSP login | * Far collegare unicamente il client che si desidera configurare e aspettare la schermata LTSP login | ||
* Lanciare sul server lo script : | * Lanciare sul server lo script : <pre># sitesummary2ldapdhcp -a -d </pre> dare la password di LDAP (coincide con quella di root) quando richiesto. | ||
dare la | |||
* In Gosa > System, click sull'icona di "reload list": apparirà il client collegato, con il nome generico: <code>auto-mac-xx:xx:xx:xx:xx:xx</code>. Editare il client cambiandogli il nome da <code>auto-mac-...</code> secondo un tema a scelta (es. tc001, client001, ws001, ecc.) | * In Gosa > System, click sull'icona di "reload list": apparirà il client collegato, con il nome generico: <code>auto-mac-xx:xx:xx:xx:xx:xx</code>. Editare il client cambiandogli il nome da <code>auto-mac-...</code> secondo un tema a scelta (es. tc001, client001, ws001, ecc.) | ||
* Impostare un IP non utilizzato da <code>192.168.x.'''21'''</code> a <code>192.168.x.'''253'''</code> | * Impostare un IP non utilizzato da <code>192.168.x.'''21'''</code> a <code>192.168.x.'''253'''</code> | ||
Riga 539: | Riga 549: | ||
== Forzare un client in modalità thin == | == Forzare un client in modalità thin == | ||
La modalità di funzionamento fat/thin di LTSP Debian edu (sulla subnet 192.168.0.0/24) è predefinita: se il client ha una RAM > 320MB la modalità è la fat , viceversa è thin. Se si vuole forzare uno o più client a lavorare come thin, indipendentemente dalla quantità di RAM | La modalità di funzionamento fat/thin di LTSP Debian edu (sulla subnet 192.168.0.0/24) è predefinita: se il client ha una RAM > 320MB la modalità è la fat , viceversa è thin. Se si vuole forzare uno o più client a lavorare come thin, indipendentemente dalla quantità di RAM, occorre modificare il file lts.conf: | ||
occorre modificare il file lts.conf: | |||
<pre># nano /opt/ltsp/i386/etc/lts.conf</pre> | |||
Supponendo che si voglia modificare un solo client, il cui MAC è: <code>08:00:27:b8:96:68</code>, si scriverà: | |||
<pre> | |||
[08:00:27:b8:96:68] | [08:00:27:b8:96:68] | ||
LTSP_FATCLIENT=false | LTSP_FATCLIENT=false | ||
</pre> | |||
'''N.B'''. Il client utilizzato dal docente/amministratore è consigliabile che sia impostato come thin (deve operare sul server). | |||
'''N.B'''. Il client utilizzato dal docente/amministratore è consigliabile che sia impostato come thin (deve operare sul server) | |||
== Bloccare l'accesso a internet dai fat client == | == Bloccare l'accesso a internet dai fat client == | ||
È possibile, all'occorrenza, disabilitare temporaneamente l'accesso internet a tutti i fat client della subnet 192.168.0.0/24 : | |||
<pre># nano /etc/init.d/enable-nat</pre> | |||
Modificare il corpo della funzione <code>is_enabled()</code> come segue (in grassetto le aggiunte): | Modificare il corpo della funzione <code>is_enabled()</code> come segue (in grassetto le aggiunte): | ||
<pre> | |||
is_enabled() { | is_enabled() { | ||
if (do_status | grep -q "$NETWORK_TO_NAT") '''|| (do_status | grep -q "thinclientnet/24'''") ; then | if (do_status | grep -q "$NETWORK_TO_NAT") '''|| (do_status | grep -q "thinclientnet/24'''") ; then | ||
Riga 569: | Riga 576: | ||
fi | fi | ||
} | } | ||
</pre> | |||
Per disabilitare l'accesso internet ai fat client: | Per disabilitare l'accesso internet ai fat client: | ||
<pre># service enable-nat stop</pre> | |||
Per riabilitarlo: | Per riabilitarlo: | ||
<pre># service enable-nat start</pre> | |||
== Aprire una sessione di root nel chroot /opt/ltsp/i386 == | == Aprire una sessione di root nel chroot /opt/ltsp/i386 == | ||
<pre> | |||
$ su -p | |||
# ltsp-chroot -m | |||
</pre> | |||
<code>Ctrl+D</code> oppure <code>exit</code> per ritornare al sistema | <code>Ctrl+D</code> oppure <code>exit</code> per ritornare al sistema. | ||
== Aggiornare | == Aggiornare OS del server == | ||
<pre> | |||
$ sudo apt-get update | |||
$ sudo apt-get -y upgrade | |||
</pre> | |||
== Aggiornare os dei fat client == | == Aggiornare os dei fat client == | ||
<pre> | |||
$ sudo ltsp-chroot -m apt-get update | |||
$ sudo ltsp-chroot -m apt-get -y upgrade | |||
$ sudo ltsp-update-kernels | |||
</pre> | |||
== Impostare una quota disco per gli studenti == | == Impostare una quota disco per gli studenti == | ||
È consigliabile limitare lo spazio disco per tutti gli utenti del gruppo "students", impostando quindi una quota sui blocchi. Fare riferimento anche alla [[Attivare le quote su un filesystem | Guida su quota]]. | |||
'''N.B. Eseguire questa procedura quando è collegato al sistema solo l'utente root''' | '''N.B. Eseguire questa procedura quando è collegato al sistema solo l'utente root''' | ||
Installare quota e quotatool: | Installare <code>quota</code> e <code>quotatool</code>: | ||
<pre># apt-get install quota quotatool</pre> | |||
Aprire il fstab: | Aprire il file <code>fstab</code>: | ||
<pre># nano /etc/fstab</pre> | |||
Individuare la riga | Individuare la riga: | ||
<pre>/dev/mapper/vg_system-skole+tjener+home0 /skole/tjener/home0 ext4 nosuid 0 2</pre> | |||
e accodare a “nosuid” (senza nessun spazio) la stringa | e accodare a “nosuid” (senza nessun spazio) la stringa: | ||
<pre>,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0</pre> | |||
prestando attenzione a mettere tutto su una sola riga, che deve quindi apparire come (in grassetto la stringa aggiunta): | prestando attenzione a mettere tutto su una sola riga, che deve quindi apparire come (in grassetto la stringa aggiunta): | ||
<pre>/dev/mapper/vg_system-skole+tjener+home0 /skole/tjener/home0 ext4 nosuid''',usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0''' 0 2</pre> | |||
Quindi dare in sequenza i comandi (ignorare eventuali warning): | Quindi dare in sequenza i comandi (ignorare eventuali warning): | ||
<pre> | |||
# quotaoff -avug | |||
# touch /skole/tjener/home0/aquota.user | |||
# touch /skole/tjener/home0/aquota.group | |||
# chmod 600 /skole/tjener/home0/aquota.user | |||
# chmod 600 /skole/tjener/home0/aquota.group | |||
# mount -o remount /skole/tjener/home0 | |||
# quotacheck -avugcmf | |||
# quotaon -avug | |||
</pre> | |||
Applicare i limiti di quota blocchi (es. 80MB/100MB) a un utente studente qualsiasi (es. mrossi): | |||
<pre># quotatool -v -u mrossi -b -q 80M -l 100M /skole/tjener/home0/</pre> | |||
E il periodo di grazia (es. 7 giorni): | E il periodo di grazia (es. 7 giorni): | ||
<pre># quotatool -u -b -t "1 week" /skole/tjener/home0/</pre> | |||
Assicurarsi che all'utente mrossi sia stata applicata la giusta quota, dal report delle quote: | Assicurarsi che all'utente mrossi sia stata applicata la giusta quota, dal report delle quote: | ||
<pre># repquota -agus</pre> | |||
Copiare le impostazioni di quota di mrossi a tutti gli utenti del gruppo studenti (GID=10004): | Copiare le impostazioni di quota di mrossi a tutti gli utenti del gruppo studenti (GID=10004): | ||
<pre># edquota -p mrossi `getent passwd | awk -v X=10004 -F ':' '{if ( $4 == X ) print $1 }'`</pre> | |||
Per disattivare tutte le quote utente/gruppo: | Per disattivare tutte le quote utente/gruppo: | ||
<pre># quotaoff -avug</pre> | |||
N.B. Nell'assegnazione dei limiti, tenere conto che lo spazio home occupato da un utente appena creato su Skolelinux è di circa 55MB | N.B. Nell'assegnazione dei limiti, tenere conto che lo spazio home occupato da un utente appena creato su Skolelinux è di circa 55MB. | ||
== Installare un pacchetto per i fat client == | == Installare un pacchetto per i fat client == | ||
<pre>$ sudo ltsp-chroot -m apt-get install nomepacchetto</pre> | |||
== Installare un pacchetto sul server (e quindi anche per i thin client) == | == Installare un pacchetto sul server (e quindi anche per i thin client) == | ||
<pre># apt-get install nomepacchetto</pre> | |||
== Gestire in remoto il server con un tunnel reverse SSH == | == Gestire in remoto il server con un tunnel reverse SSH == | ||
Un tunnel SSH inverso consente di avere una shell sul server Debian edu (senza conoscerne la password), anche se esso si trova dietro un NAT, come un firewall o un modem/router ADSL. Per fare questo, occorre avere un accesso a un server SSH remoto, visibile da internet, che magari si può implementare sulla propria | Un tunnel SSH inverso consente di avere una shell sul server Debian edu (senza conoscerne la password), anche se esso si trova dietro un NAT, come un firewall o un modem/router ADSL. Per fare questo, occorre avere un accesso a un server [[SSH]] remoto, visibile da internet, che magari si può implementare sulla propria Linux box mediante <code>openssh</code>, il router domestico e un DDNS. | ||
Ogni qualvolta si accederà al server SSH, automaticamente, si avrà un re-indirizzamento alla shell sul server Debian Edu. | Ogni qualvolta si accederà al server SSH, automaticamente, si avrà un re-indirizzamento alla shell sul server Debian Edu. | ||
Sul server Debian-edu verrà quindi installato un servizio backdoor, il cui script init.d è preso da questo sito: [https://wiki.debian.org/DebianEdu/FAQ/Maintenance/OpenSSHBackDoor/script OpenSSHBackDoor Debian edu], il quale andrà scritto su un file <code>open-backdoor</code>, copiato e chmoddato nel modo seguente: | Sul server Debian-edu verrà quindi installato un servizio backdoor, il cui script <code>init.d</code> è preso da questo sito: [https://wiki.debian.org/DebianEdu/FAQ/Maintenance/OpenSSHBackDoor/script OpenSSHBackDoor Debian edu], il quale andrà scritto su un file <code>open-backdoor</code>, copiato e chmoddato nel modo seguente: | ||
<pre> | |||
# cp open-backdoor /etc/init.d | |||
# chown root.root /etc/init.d/open-backdoor | |||
# chmod 755 /etc/init.d/open-backdoor | |||
# update-rc.d open-backdoor defaults | |||
</pre> | |||
Quindi creare il file di configurazione: | Quindi creare il file di configurazione: | ||
<pre># nano /etc/default/open-backdoor</pre> | |||
In cui si andranno a definire i valori di tre variabili: | In cui si andranno a definire i valori di tre variabili: | ||
<pre> | |||
RPORT porta del server SSH remoto (compresa nel range: 1025...32767) | |||
RHOST nome/IP pubblico del server SSH remoto | |||
RUSER userid del server SSH remoto | |||
</pre> | |||
Esempio di file <code>/etc/default/open-backdoor</code> : | |||
<pre> | |||
RPORT=12345 | |||
RHOST=myserver.ddns.net | |||
Esempio di file <code>/etc/default/open-backdoor</code> | RUSER=root | ||
</pre> | |||
Riavviando il server oppure mediante il comando: | Riavviando il server oppure mediante il comando: | ||
<pre># service open-backdoor start</pre> | |||
Verrà avviata la backdoor. | Verrà avviata la backdoor. | ||
Riga 697: | Riga 715: | ||
Mediante ssh da qualsiasi computer: | Mediante ssh da qualsiasi computer: | ||
<pre>$ ssh p 12345 l root myserver.ddns.net</pre> | |||
avremo così una shell di root sul server Debian-edu | avremo così una shell di root sul server Debian-edu. | ||
= Conclusioni ed esperienza d'uso = | = Conclusioni ed esperienza d'uso = | ||
Riga 708: | Riga 726: | ||
# Stabilità | # Stabilità | ||
# Sensibilmente lenta nel caricamento dell' | # Sensibilmente lenta nel caricamento dell'OS e nel funzionamento "thin" rispetto Ubuntu 12.04LTS (forse perché Skole usa NFS invece di NBD) | ||
# Comodità nell'amministrazione: 1) GOsa semplifica i compiti 2) non occorre aggiornare alcuna immagine dopo le modifiche sull' | # Comodità nell'amministrazione: 1) GOsa semplifica i compiti 2) non occorre aggiornare alcuna immagine dopo le modifiche sull'OS "fat" | ||
# Poco amata dagli studenti, per via dell'interfaccia grafica minimale e la qualità dei font, sinceramente inferiore rispetto a Ubuntu 12.04LTS. | # Poco amata dagli studenti, per via dell'interfaccia grafica minimale e la qualità dei font, sinceramente inferiore rispetto a Ubuntu 12.04LTS. | ||
contributi