bglug.it/content/posts/2008-03-22-un-server-in-un-minipc.md
2024-04-09 23:12:57 +02:00

178 lines
14 KiB
Markdown

---
title: Un server in un miniPC
author: jimmi
type: post
date: 2008-03-22T06:22:09+00:00
url: /2008/03/22/un-server-in-un-minipc/
categories:
- Documentazione
- Hardware
- News
- Software
---
Da diverso tempo stavo meditando sulla sostituzione del mio server casalingo, a cui mancavano due requisiti per me molto importanti: un _RAID1_ che mi salvi dalla morte improvvisa di un disco e consumi ridotti. Qualche mese fa ho finalmente avviato il progetto, la cui esperienza voglio ora condividere con voi.
<p style="text-align: center">
<a href="http://bglug.it/wp-content/uploads/2008/03/01esterno.jpg" title="Fronte"><img decoding="async" src="http://bglug.it/wp-content/uploads/2008/03/01esterno.thumbnail.jpg" alt="Fronte" /></a>
</p>
<!--more-->
### <a title="acquisti" name="acquisti"></a>Acquisti
Dopo alcune ricerche in rete mi sono deciso per la seguente configurazione:
* **Scheda madre**: Intel [D201GLY2A][1]
* **Case**: Mini-Box [M300][2]
* **RAM**: Kingston [1GB 533MHz DDR2][3]
* **Hard Disks**: n. 2 Samsung [M5S HM160HI][4]
* **Alimentazione**: Mini-Box [picoPSU 120][5] + Sintel [8500mA 12Vcc][6]
Per recuperare i materiali necessari ho dovuto farmi un ampio giro tra i negozi on-line, con risultati discordanti. Se non altro l&#8217;esperienza mi ha permesso di stilare una mini classifica che riporto di seguito:
#### Super, compro ancora!
* [CarTFT.com][7]
* [Totalmodding][8]
* [Sintel][9]
#### Onesto
* [SmartPrice][10]
#### Inaffidabile
* [Mini-ITX][11]
#### Da scampare come la peste
* [Wireshop][12]
### <a title="hardware" name="hardware"></a>Assemblare l&#8217;hardware
Dopo tre giorni ricevo dal sito tedesco il case, la mobo e l&#8217;alimentatore _PicoPSU_, la qual cosa mi fa sperare in una rapida conclusione. In realtà gli ultimi componenti mi arriveranno dopo quasi quattro settimane, durante le quali ho il tempo di pentirmi di alcune scelte:
* Il _case_ _M300_, che ho scelto per le ridotte dimensioni, permette di alloggiare solo ventole da 40 mm, spesso rumorose. _Case_ leggermente più alti permettono di alloggiare ventole da 80 mm, molto più silenziose e facili da reperire.
* La _PicoPSU_ che ho scelto richiede un alimentatore con tensione fissa da 12V, mentre la maggior parte degli alimentatori per portatili in commercio partono da un minimo di 15V. Per pochi euro in più potevo avere [il modello][13] che accetta tensioni fino a 25V
* La mobo della Intel è buona ed economica, ma consuma leggermente di più rispetto alle [VIA][14], circa 10W, e richiede una seconda alimentazione tramite uno spinotto tipo _ATX4P_. Questo causa maggior calore da dissipare e la necessità attaccare al _PicoPSU_ uno sdoppiatore con [un adattatore][15] di non facile reperimento.
A parte queste note l&#8217;assemblaggio non ha riservato grosse sorprese. Il _case_, anche se di dimensioni ridotte, si è rivelato adatto allo scopo. Dopo aver cercato inutilmente di avere da [Wireshop][16] l&#8217;adattatore per _ATX4P_, mi sono deciso a costruirmelo in casa recuperando la spinetta da un vecchio alimentatore _ATX_. Ho inoltre scoperto che in [molti adattatori][17] in commercio le spine di alimentazione _SATA_ agganciano i cavi in comodissimi attacchi a baionetta che rendono semplice la sostituzione di spine _MOLEX_ eventualmente esistenti.
Dopo alcune settimane di ricerca infruttuosa di un alimentatore per portatili con uscita 12VCC mi sono deciso a comprarne uno dalla [Sintel][18], che mi ha servito in maniera impeccabile. Peccato che il mattino dopo abbia trovato ben due alimentatori equivalenti alla metà del prezzo: la legge di Murphy non lascia scampo.
L&#8217;ulltimo scoglio che ho dovuto superare è stata la rumorosità: purtroppo la ventolina della _CPU_ montata dalla Intel è discretamente rumorosa, e la dimensione di 40 mm non lascia molte chances. [Totalmodding][19] offre diverse ventole adatte, ma purtroppo il primo tentativo con quella più lenta e silenziosa porta la temperatura della _CPU_ sopra i settanta gradi. Installo quindi il modello più veloce e la temperatura si assesta intorno ai sessanta gradi, anche se l&#8217;apparecchio non è silenzioso come speravo.
<p style="text-align: center">
<a href="http://bglug.it/wp-content/uploads/2008/03/04interno.jpg" title="Interno"><img loading="lazy" decoding="async" src="http://bglug.it/wp-content/uploads/2008/03/04interno.thumbnail.jpg" alt="Interno" height="136" width="136" /></a>
</p>
### <a title="software" name="software"></a>Installare il software
Il mio gioiellino è ora pronto. I servizi che ho intenzione di attivare sono:
* _RAID1_ e backup incrementale
* Accesso remoto via _SSH_ e _VNC_
* Server stampa e scansione
* Server di posta con _imap_ e _webmail_
* _Disk sharing_ con _[Samba][20]_
* Server _LAMP_
* Client <a href="http://mldonkey.org/" title="MLDonkey" target="_blank"><em>MLDonkey</em></a>
Ovviamente il tutto eseguito con software libero disponibile tramite [GNU/Linux][21], e la scelta della distribuzione casca senza ripensamenti su [Debian stable][22], che offre da diversi anni gli stessi servizi sul predecessore. Le maggiori fonti di ispirazione per tutte le configurazioni sono stati il [wiki di Debianizzati][23] e [Debian Administration Resources][24].
#### Kernel e RAID1
Dopo l&#8217;installazione dei soli pacchetti di base e l&#8217;aggiornamento con un repository internet, la prima operazione che ho eseguito è stata la compilazione di un kernel monolitico, ovviamente alla [maniera Debian][25]. [Qui][26] potete trovare il _.config_ da me utilizzato per la bisogna.
Purtroppo mi sono accorto che i sensori di temperatura di questa scheda, relativamente nuova, non sono supportati dal kernel della stable, quindi ho dovuto scaricare il sorgente del kernel 2.6.22 dai [backports][27] e [applicare una patch][28] per poter visualizzare le temperature con [lm-sensors][29].
L&#8217;operazione successiva è stata la creazione del _RAID1_: anche in questo caso Debianizzati mi è venuto in aiuto con [una guida][30] semplice e dettagliata. ed in poco tempo il sistema è funzionante.
#### Servizi interni
Solo a questo punto ho iniziato l&#8217;installazione dei programmi aggiuntivi che mi servivano, badando bene ad evitare l&#8217;installazione di pacchetti inutili.
Per prima cosa ho installato _[OpenSSH][31]_ e abilitato una [console seriale][32]. Questo mi ha permesso di eliminare definitivamente tastiera e monitor e proseguire l&#8217;installazione comodamente collegato dal mio portatile, o anche dal lavoro durante la pausa pranzo. La console seriale mi permette inoltre di intercettare ed eventualmente correggere eventuali problemi in fase di boot senza ricollegare le periferiche.
Modificando gli script di [Mike][33] è molto semplice abilitare un backup incrementale giornaliero o settimanale. Calibrando opportunamente la frequenza e le directory interessate riesco a far stare in 5 GB un backup delle cose importanti (SO, configurazioni, Mail e sito web) fino ad un mese indietro.
La configurazione di un server mail con _fetchmail_, _postfix_, _procmail_ e _uw-imaps_ è banale seguendo uno qualsiasi dei molti howto che si possono trovare in rete. Il [Quick&Easy Configuration HOWTO][34] di Antonio Fragola, nonostante sia datato, rimane uno dei documenti più adatti allo scopo. L&#8217;obiettivo è scaricare la posta dai vari account internet distribuendola nelle varie caselle degli utenti, i quali possono accedere ad esse sul server con qualunque client vogliano usare.
Le note particolari della mia installazione sono l&#8217;utilizzo di _Freepops_ per accedere alle mail di inwind e libero, la cui versione aggiornata deve essere scaricata dai repository dei [backports][27], e l&#8217;utilizzo di _Clamav_ dai repository &#8216;_volatile_&#8216;, come suggerito da [Debian Administration][35].
Installando _[CUPS][36]_ e _[SANE][37]_ posso [avere][38] sia la stampante che lo scanner funzionanti e disponibili anche per i client in rete. Ovviamente devo [spiegare][39] ai [demoni][40] quale rete servire, e ai [client][41] da quale server ascoltare.
Configurando [_Samba_ con _LDAP_][42] la gestione degli utenti del dominio viene molto semplificata, ed anche gli eventuali client Windows si sentono come a casa loro.
#### Servizi sul web
Posso ora passare ai servizi aperti sul web. A pochi minuti dall&#8217;installazione _[MLDonkey][43]_ comincia allegramente a scaricare e condividere con altri _peer_ le mie cartelle condivise. Devo avere l&#8217;accortezza di aprire sul router le porte corrispondenti ai protocolli che intendo usare: _eDonkey_, _Gnutella_, _FastTrack_, _Bittorrent_ e quant&#8217;altro.
L&#8217;installazione dei server _LAMP_ e la relativa configurazione è cosa veloce seguendo i [consigli di Debianizzati][44]; una volta concluso mi basta copiare gli archivi di _WordPress_, eseguire un ripristino del database, [abilitare il sito][45] su apache ed [il mio blog][46] fa bella mostra di se su internet.
Anche l&#8217;installazione e la configurazione di _OpenVPN_ si è rivelata abbastanza semplice, seguendo la [guida di Debian Administration][47]. In questo modo da qualunque parte mi trovo posso accedere in modo sicuro ai servizi della mia rete, inclusa l&#8217;interfaccia web di _MLDonkey_.
La ciliegina finale è stata l&#8217;abilitazione di una webmail con _[Squirrelmail][48]_ accessibile su una connessione sicura dal web, sulla cui configurazione ho scritto un&#8217;altro [manualetto][49] disponibile sul blog del _[BGLug VS][50]_.
<p style="text-align: center">
<a href="http://bglug.it/wp-content/uploads/2008/03/02esterno.jpg" title="Retro"><img decoding="async" src="http://bglug.it/wp-content/uploads/2008/03/02esterno.thumbnail.jpg" alt="Retro" /></a>
</p>
### <a title="conclusioni" name="conclusioni"></a>Conclusioni
Dieci anni fa non avrei preso sul serio chiunque mi avesse detto che con poco più di trenta watt e una scatoletta grande come un&#8217;autoradio si potesse realizzare tutto questo. Oggi questo l&#8217;ho fatto io, con il supporto di molti sconosciuti che scrivono [software libero][51] ed aiutano gli utenti con manuali e mailing lists.
Mio padre, tra i tanti buoni consigli che mi ha dato, mi ripeteva sempre _&#8220;Nessuno fa niente per niente&#8221;_. Ora posso dire: _&#8220;Papà ti sbagli!&#8221;_. C&#8217;è un sacco di gente là fuori che fa delle cose per il solo gusto di farle bene, ed è felice di condividerle con chiunque condivida la loro passione. Voglio ringraziare quindi tutte queste persone, e spero che queste mie pagine possano dare un piccolo contributo a tutto ciò.
[1]: http://www.intel.com/products/motherboard/d201gly2/ "Intel"
[2]: http://www.mini-box.com/Mini-Box-M300
[3]: http://www.valueram.com/datasheets/KVR533D2N4_1G.pdf
[4]: http://www.samsung.com/global/business/hdd/productmodel.do?group=72&type=62&subtype=67&model_cd=298
[5]: http://www.mini-box.com/s.nl/it.A/id.417/.f?sc=8
[6]: http://http://www.shopelectronic.it/product.asp?Id=14507
[7]: http://cartft.de/ "CarTFT"
[8]: http://www.totalmodding.com/ "Totalmodding"
[9]: http://www.shopelectronic.it/ "Shopelectronic"
[10]: http://www.smartprice.it/ "SmartPrice"
[11]: http://mini-itx.it/ "Mini-ITX"
[12]: http://www.wireshop.it/ "Wireshop"
[13]: http://www.mini-box.com/PicoPSU-120-WI-25-12-25V-DC-DC-ATX-power-supply;jsessionid=0a0002421f431b0ea872fe58402c9c32ba901a2b6f18.e3eSc38LcheTe34Pa38Ta38Qbxf0?sc=8&category=13 "Mini-box"
[14]: http://www.via.com.tw/en/products/mainboards/motherboards.jsp?motherboard_id=21 "VIA EPIA-Series"
[15]: http://wireshop.it/img_prod/Supplier_1/Big/6826_1b.jpg
[16]: http://wireshop.it/prodotti/cd_73040 "Wireshop"
[17]: http://www.endpcnoise.com/e/images/items/sata_power_adapter.jpg
[18]: http://www.shopelectronic.it/product.asp?Id=14507 "Shopelectronic.it"
[19]: http://www.totalmodding.com/index.php?cPath=191_644 "Totalmodding"
[20]: http://us1.samba.org/
[21]: http://it.wikipedia.org/wiki/GNU_Linux "Wikipedia"
[22]: http://www.us.debian.org/releases/stable/ "Debian"
[23]: http://guide.debianizzati.org/
[24]: http://www.debian-administration.org/
[25]: http://guide.debianizzati.org/index.php/Debian_Kernel_Howto "Debianizzati"
[26]: http://bglug.it/wp-content/uploads/2008/03/config.txt ".config"
[27]: http://backports.org/ "Debian Backports"
[28]: http://lists.lm-sensors.org/pipermail/lm-sensors/2007-December/022232.html "lm-sensors"
[29]: http://lm-sensors.org/ "lm-sensors"
[30]: http://guide.debianizzati.org/index.php/Software_Raid_1:_configurazione_e_verifiche "Debianizzati"
[31]: http://guide.debianizzati.org/index.php/Ssh_e_autenticazione_tramite_chiavi "Debianizzati"
[32]: http://tldp.org/HOWTO/Remote-Serial-Console-HOWTO/index.html "Remote Serial Console Howto"
[33]: http://www.mikerubel.org/computers/rsync_snapshots/ "Mike's place"
[34]: http://www.mrshark.it/qechowto/index.html "MrShark"
[35]: http://www.debian-administration.org/articles/259 "Debian Administration"
[36]: http://guide.debianizzati.org/index.php/Installare_stampanti_con_porta_USB_utilizzando_CUPS "Debianizzati"
[37]: http://www.sane-project.org/ "SANE"
[38]: http://www.cups.org/doc-1.1/sam.html#CLIENT_AUTO
[39]: http://penguin-breeder.org/sane/saned/ "SANE Network Daemon"
[40]: http://www.linux-foundation.org/~till/printing-tutorial/tut.html#1_3 "CUPS Printing Setup"
[41]: http://www.cups.org/doc-1.1/sam.html#6_1 "CUPS Administrators manual"
[42]: http://www.pictux.org/forum/viewtopic.php?t=5 "PicTux"
[43]: http://mldonkey.org/ "MLDonkey"
[44]: http://guide.debianizzati.org/index.php/LAMP:_Linux%2C_Apache%2C_MySQL_e_PHP "Debianizzati"
[45]: http://guide.debianizzati.org/index.php/LAMP:_Linux%2C_Apache%2C_MySQL_e_PHP#Siti "Debianizzati"
[46]: http://7girello.net/ "Il Blog di Jimmi"
[47]: http://www.debian-administration.org/articles/489 "Debian Administration"
[48]: http://squirrelmail.org/
[49]: http://bglugvs.web3king.com/?p=93
[50]: http://bglugvs.web3king.com/
[51]: http://it.wikipedia.org/wiki/Software_libero "Wikipedia"