Se nel mondo desktop il sistema operativo Windows rimane il più utilizzato lasciando i suoi inseguitori ben distaccati, in ambito server le cose sono ben diverse. Già da qualche anno infatti sugli ambienti server, Linux ha superato il sistema operativo di casa Microsoft. Che si ricerchi il miglioramento delle prestazioni, una maggiore stabilità o il contenimento dei costi - infatti - la tendenza nelle aziende è sempre quella di adottare un sistema server basato su Linux. La maggior parte dei siti internet che incontrate navigando sul web quotidianamente si appoggiano su web server Linux. Ma ovviamente questo importante sistema operativo non si limita soltato ai web server, vedremo infatti sia in questa guida che in altri tutorial, quanti altri servizi possono essere gestiti in modo stabile ed efficiente grazie a questo potente O.S. open-source!
Possiamo riassumere i vantaggi di Linux in ambiente server attraverso 4 punti principali:
Stabilità: Chiunque abbia avuto modo di lavorare con Linux ne avrà sicuramente apprezzato la stabilità offerta anche nelle operazioni più delicate. Ovviamente l'assenza di crash è apprezzabile in ogni ambito, ma nel mondo server diventa una necessità per non bloccare il lavoro di più utenti. Ricordiamo anche che Windows server spesso chiede il riavvio dopo gli aggiornamenti, cosa che su Linux invece non avviene.
Sicurezza: Per la natura della sua struttura Linux è più sicuro di Windows come sistema operativo. Oltre a ciò anche gli attacchi di virus e malware sono meno frequenti.
Hardware: Le risorse impegnate da Linux sono inferiori rispetto a quelle richieste da Windows ed è inoltre possibile configurarlo affinché includa solamente i servizi necessari, riducendo così ulteriormente i requisiti di memoria, CPU e disco.
Costi: Nessun costo di licenza per il sistema operativo può essere un risparmio economico notevole, soprattutto per il fatto che Microsoft, oltre alla licenza Windows Server, richiede costi aggiuntivi (tramite licenze dette CAL) per ogni client ad esso collegato. Oltre a questo, consideriamo che la maggior parte del software che gira sul Linux possiamo trovarlo gratuito o addirittura open source.
Perchè Ubuntu server?
La versione server di Ubuntu è ad oggi la più diffusa distribuzione Linux per server. Sicuramente parte di questo successo gli viene portata dalla versione desktop, da sempre in prima linea tra i gusti degli utenti domestici e non, ma stabilità e continuo aggiornamento sono stati i veri artefici di questo risultato in ambito Server. E' bene ricordare, infine, che Ubuntu si basa su Debian prelevando da esso la stragrande maggioranza dei pacchetti e apportando personalizzazioni ad alcuni essi.
Entriamo nel vivo della guida con l'installazione del sistema operativo. Attualmente l'ultima versione di Ubuntu Server disponibile è la 15.10 ma in questa guida abbiamo deciso di installare la versione 14.04 LTS. La versione LTS (long-term support) è sempre consigliabile per chi deve ottenere un server stabile nel tempo poiché essa riceve aggiornamenti per 5 anni, mentre le...
Andare su internet per tutti noi ormai è un gesto naturale: apriamo il browser, lo indirizziamo sui contenuti che ci interessano e dopo pochi secondi tutto ci compare a video: semplice! Se ci poniamo come semplici utilizzatori finali, tutto sembra facile e immediato, ma vediamo di analizzare cosa succede quando, attraverso il nostro browser, interroghiamo un sito. Prima di...
Nella precedente lezione abbiamo visto, in estrema sintesi, cos'è un web-server e come funziona. A partire da questa lezione vedremo, in modo estremamente pratico, come installare Apache (cioè il web-server open-source che abbiamo scelto per la nostra macchina) ed, in seguito, come completare la nostra configurazione LAMP installando anche PHP e MySQL.
Installare Apache
Colleghiamoci al nostro server Ubuntu e diamo...
Nella precedente lezione abbiamo visto come installare e configurare Apache. In questa lezione vediamo come è gestita, dal web server, la configurazione dei singoli siti web, partendo - ovviamente - da quello di default.
Il sito web di default
Dopo aver terminato l'installazione avevamo visto come, digitando l'ip del server all'interno del browser, fosse già presente una pagina web, che ci...
Abbiamo visto in una precedente lezione come la comunicazione tra web server e client avvenga tramite protocollo HTTP. Navigando su internet però spesso ci si imbatte in siti che al posto del classico HTTP mostrano la dicitura HTTPS. Di cosa si tratta?
HTTPS (HyperText Transfer Protocol over Secure Socket Layer) aggiunge al protocollo di trasferimento HTTP, un protocollo di crittografia...
Come già più volte detto nelle precedenti lezioni, un web server deve poter processare non solamente pagine statiche (cioè composte da "puro" HTML) ma anche pagine dinamiche (cioè generate al volo mediante istruzioni scritte in diversi linguaggi di programmazione).
Ci sono vari linguaggi di programmazione dedicati alla composizione di pagine dinamiche, noi andremo ad installare quello più diffuso su Linux,...
Dopo aver visto come installare e configurare PHP, ora è il turno di MySQL server, un Relational Database Management System (RDBMS) tra i più diffusi e performanti. Installiamolo sul nostro Ubuntu Server assieme ai pacchetti di integrazione per PHP, digitando il seguente comando:
sudo apt-get install mysql-server php5-mysql
Durante l'installazione ci verrà chiesto di indicare la password dell'utente amministrativo root e di...
Dovendo dare una definizione generale possiamo descrivere un mailserver come un server in grado di smistare messaggi di posta elettronica all'interno di una rete di computer.
Il software principale è il mail transfer agent (o MTA) che si occupa di ricevere le email in arrivo e di spedire i messaggi in uscita. Sono gli MTA sparsi per il mondo a...
Sono tanti i software che dovremo installare per mettere in piedi un mail server completo. Iniziamo con i pacchetti principali partendo da Postfix:
sudo apt-get install postfix
Ci verrà chiesto il tipo di configurazione da assegnare a postfix, selezioniamo Sito internet.
La richiesta successiva riguarda il mail name che deve essere anche il fully qualified domain name (FQDN). Come avvisato nelle note...
Nella panoramica fatta ad inizio guida abbiamo detto che avremmo installato Dovecot come MDA (Mail Delivery Agent). Un MDA è un software con il compito di accettare messaggi email in entrata per distribuirli alle varie mailbox degli utenti destinatari se l'indirizzo è locale, o ad un altro server SMTP se il destinatario è remoto.
Dovecot è uno dei più diffusi...
Anche se non rientra strettamente nel funzionamento di un mailserver, non possiamo pensare di metterne in piedi uno senza prevedere qualche strumento di antispam/antivirus. Si stima che la percentuale di spam superi il 50% dei messaggi email ricevuti, pertanto se non vogliamo che i nostri utenti si trovino più spam che mail legittime dobbiamo prendere le opportune contromisure.
Esistono...
Vediamo in questa lezione come concludere il processo di installazione del nostro mailserver. Nello specifico vedremo come creare domini e mailbox attraverso Postfix Admin nonché, per finire, come configurare l'accesso ad Internet attraverso il corretto settaggio di Firewall e DNS.
Aggiunta domini e mailbox tramite Postfix Admin
Le configurazione dei vari software che formano il nostro mailserver sono terminate, possiamo finalmente...
Tra le funzioni più comuni richieste ad un server c'è sicuramente quella di trasferire file da e verso i propri client. Il protocollo principale per il trasferimento di file è FTP (File Transfer Protocol), nel quale sicuramente tutti noi ci siamo imbattuti almeno una volta.
All'interno della nostra guida alla configurazione di un server Linux, ovviamente, non potevano mancarte delle...
Come abbiamo detto gli utenti che usufruiranno del servizio FTP saranno virtuali, ma ovviamente avremo bisogno anche di un utente di sistema che si occupi di interagire materialmente con il filesystem del nostro server. Questo utente "reale" sarà poi utilizzato in comune da tutti gli utenti virtuali.
Andiamo quindi a creare utente e gruppo esplicitando uid e gid (userID e...
Per creare gli utenti virtuali dobbiamo tornare sul nostro MySQL e andare a popolare il database. Colleghiamoci alla console:
mysql -u root -p
ed entriamo nel nostro database:
USE ftp;
Per prima cosa andiamo a creare un gruppo al quale associeremo tutti gli utenti. Per farlo lanciamo questa query di inserimento sulla tabella ftpgroup:
INSERT INTO `ftpgroup` (`groupname`, `gid`, `members`) VALUES ('ftpgroup', 1500,...
Abbiamo a cuore la tua privacy
Noi e i nostri partner archiviamo e/o accediamo a informazioni su un dispositivo. Cookie, identificatori del dispositivo o analoghi identificatori online (ad es. identificatori basati sull’accesso, identificatori assegnati casualmente, identificatori basati sulla rete) insieme ad altre informazioni (ad es. tipo di browser e informazioni sul browser, lingua, dimensioni dello schermo, tecnologie supportate, ecc.) possono essere archiviati sul o letti dal dispositivo dell’utente per riconoscerlo ogni volta che l’utente si connette a un’app o a un sito web, per una o più finalità qui presentate.
Con il tuo consenso, i tuoi dati possono essere utilizzati per quanto segue: Pubblicità e contenuti personalizzati, misurazione delle prestazioni dei contenuti e degli annunci, ricerche sul pubblico, sviluppo di servizi; Dati di geolocalizzazione precisi e identificazione attraverso la scansione del dispositivo.
I tuoi dati personali verranno trattati e le informazioni dal tuo dispositivo (cookie, identificatori univoci e altri dati del dispositivo) possono essere memorizzate, consultate e condivise con 181 partner, o utilizzate specificamente da questo sito o questa app. Alcuni fornitori potrebbero trattare i tuoi dati personali sulla base dell'interesse legittimo, al quale puoi opporti gestendo le tue opzioni qui sotto. Puoi revocare il tuo consenso in qualsiasi momento facendo clic sul link delle impostazioni sulla privacy situato in fondo alla pagina.
Alcuni partner non chiedono il tuo consenso al trattamento dei tuoi dati, ma fanno affidamento sul loro legittimo interesse commerciale. Guarda il nostro elenco di partner per conoscere gli scopi per cui credono di avere un interesse legittimo e come puoi opporti.
Questi sono i nostri partner pubblicitari che partecipano al Framework di trasparenza e consenso dello IAB, creato per garantire un uso trasparente e corretto dei dati.
Questi fornitori sono registrati su Google, ma non nel Transparency & Consent Framework di IAB Europe.
{"b_dec":{"def":"Rifiuta e chiudi","res":"Rifiuta e chiudi"},"priclt":"\u003Cdiv class=\u0022cl-consent-settings cl-consent-settings--is-hidden\u0022\u003E\u003Cstyle\u003E.cl-consent-settings{position:fixed;left:16px;bottom:calc(28px + var(--__lxG___css_var_privacy_icon_auto, 0px));z-index:100;transition:all 0.15s ease-in-out;transform:translateY(0)}.cl-consent-settings--is-hidden{transform:translateY(70px);opacity:0}.cl-consent-settings__hint{border-radius:4px;background:#282A3C;box-shadow:0 4px 24px 0 rgba(0,0,0,.15);color:#FFFCF2;position:absolute;right:-195px;top:0;bottom:0;margin:auto;height:40px;width:175px;display:flex;align-items:center;justify-content:center;padding:4px 12px;font-size:12px;font-weight:400;line-height:16px;cursor:default;user-select:none;transition:transform 0.3s ease,opacity 0.3s ease;transform:translateX(-22px);opacity:0;pointer-events:none;z-index:-1}.cl-consent-settings__hint::after{content:\u0022\u0022;position:absolute;left:-16px;top:0;bottom:0;margin:auto;width:0;height:0;border:0 solid transparent;border-top-width:12px;border-bottom-width:12px;border-right:16px solid #282A3C}.cl-consent-settings__btn{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;padding:0;border:none;background-color:#4b81e8!important;background-position:center center;background-size:30px 30px;background-repeat:no-repeat;box-shadow:0 0 20px 0 rgba(0,0,0,.35);z-index:70;position:relative;text-decoration:none;cursor:pointer}.cl-consent-settings__btn::before{content:\u0022\u0022;-webkit-mask-image:url(\u0022data:image\/svg+xml,%3Csvg xmlns=\u0027http:\/\/www.w3.org\/2000\/svg\u0027 width=\u002730\u0027 height=\u002730\u0027 viewBox=\u00270 0 30 30\u0027 fill=\u0027none\u0027%3E%3Cpath fill=\u0027%23fff\u0027 d=\u0027M15 2.813C8.28 2.813 2.812 8.28 2.812 15S8.28 27.188 15 27.188c6.72 0 12.188-5.468 12.188-12.188C27.188 8.28 21.72 2.812 15 2.812Zm0 1.874c5.686 0 10.313 4.627 10.313 10.313 0 5.686-4.627 10.313-10.313 10.313-5.686 0-10.313-4.627-10.313-10.313C4.688 9.314 9.314 4.687 15 4.687Zm-1.875 3.75a.937.937 0 1 0 0 1.875.937.937 0 0 0 0-1.874Zm5.156.938a1.406 1.406 0 1 0 0 2.812 1.406 1.406 0 0 0 0-2.812Zm-7.968 2.813a1.875 1.875 0 1 0 0 3.749 1.875 1.875 0 0 0 0-3.75Zm5.624 1.874a.938.938 0 1 0 0 1.876.938.938 0 0 0 0-1.876Zm4.688.938a.938.938 0 1 0 0 1.875.938.938 0 0 0 0-1.875Zm-8.906 2.813a1.406 1.406 0 1 0 0 2.812 1.406 1.406 0 0 0 0-2.813Zm6.562.937a1.406 1.406 0 1 0 0 2.813 1.406 1.406 0 0 0 0-2.813Z\u0027\/%3E%3C\/svg%3E\u0022);mask-image:url(\u0022data:image\/svg+xml,%3Csvg xmlns=\u0027http:\/\/www.w3.org\/2000\/svg\u0027 width=\u002730\u0027 height=\u002730\u0027 viewBox=\u00270 0 30 30\u0027 fill=\u0027none\u0027%3E%3Cpath fill=\u0027%23fff\u0027 d=\u0027M15 2.813C8.28 2.813 2.812 8.28 2.812 15S8.28 27.188 15 27.188c6.72 0 12.188-5.468 12.188-12.188C27.188 8.28 21.72 2.812 15 2.812Zm0 1.874c5.686 0 10.313 4.627 10.313 10.313 0 5.686-4.627 10.313-10.313 10.313-5.686 0-10.313-4.627-10.313-10.313C4.688 9.314 9.314 4.687 15 4.687Zm-1.875 3.75a.937.937 0 1 0 0 1.875.937.937 0 0 0 0-1.874Zm5.156.938a1.406 1.406 0 1 0 0 2.812 1.406 1.406 0 0 0 0-2.812Zm-7.968 2.813a1.875 1.875 0 1 0 0 3.749 1.875 1.875 0 0 0 0-3.75Zm5.624 1.874a.938.938 0 1 0 0 1.876.938.938 0 0 0 0-1.876Zm4.688.938a.938.938 0 1 0 0 1.875.938.938 0 0 0 0-1.875Zm-8.906 2.813a1.406 1.406 0 1 0 0 2.812 1.406 1.406 0 0 0 0-2.813Zm6.562.937a1.406 1.406 0 1 0 0 2.813 1.406 1.406 0 0 0 0-2.813Z\u0027\/%3E%3C\/svg%3E\u0022);background-color:#ffffff!important;mask-repeat:no-repeat;width:30px;height:30px}.cl-consent-settings__btn:hover+.cl-consent-settings__hint{transform:translateX(0);pointer-events:all;opacity:1}.cl-consent-settings__user{width:18px;height:18px;border-radius:50%;padding:0;border:1px solid #fff;background-color:#00AD98;background-image:url(\u0022data:image\/svg+xml,%3Csvg xmlns=\u0027http:\/\/www.w3.org\/2000\/svg\u0027 viewBox=\u00270 0 10 11\u0027 width=\u002710\u0027 height=\u002711\u0027 fill=\u0027none\u0027%3E%3Cpath fill=\u0027%23fff\u0027 stroke=\u0027%23fff\u0027 stroke-width=\u0027.1\u0027 d=\u0027M6.858 6.262A3.3 3.3 0 0 0 8.2 3.597C8.2 1.796 6.764.325 5 .325s-3.2 1.47-3.2 3.272c0 1.094.53 2.07 1.342 2.665A4.67 4.67 0 0 0 .45 10.5v.05h1v-.05c0-2.012 1.585-3.632 3.55-3.632s3.55 1.62 3.55 3.632v.05h1v-.05a4.67 4.67 0 0 0-2.692-4.238ZM5 1.345c1.22 0 2.2 1.002 2.2 2.252s-.98 2.25-2.2 2.25-2.2-1-2.2-2.25.98-2.252 2.2-2.252Z\u0027\/%3E%3C\/svg%3E\u0022);background-position:center center;background-size:9px 10px;background-repeat:no-repeat;z-index:75;position:absolute;top:-2px;right:-8px;text-decoration:none;visibility:hidden}\u003C\/style\u003E\u003Cbutton type=\u0022button\u0022 class=\u0022cl-consent-settings__btn\u0022 onclick=\u0022if(window.__lxG__consent__ !== undefined) {window.__lxG__consent__.showConsent()} else {alert(\u0027This function only for users from European Economic Area (EEA)\u0027)} return false\u0022\u003E\u003Cspan class=\u0022cl-consent-settings__user\u0022\u003E\u003C\/span\u003E\u003C\/button\u003E\u003Cdiv class=\u0022cl-consent-settings__hint\u0022\u003EPrivacy and cookie settings\u003C\/div\u003E\u003C\/div\u003E","pricds":"show_in_the_footer","pricaa":1,"vcnt":181,"_t":{"titles":"Purposes|Purposes (Legitimate Interest)|Features|Special Features|Special Purposes|Scopi|Scopi (Interesse Legittimo)|Caratteristiche|Caratteristiche Speciali|Scopi Speciali","sp3_ret":"Le scelte che fai riguardo agli scopi e alle entità elencati in questo avviso sono salvate per un massimo di %sp3_retention% nei seguenti cookie e variabili di archiviazione locale","ill_pp_ttl":"Esempi di Utilizzo","vndr_dtls_con":"Trattamento dei dati basato sul tuo consenso","vndr_dtls_li":"Trattamento dei dati basato sul legittimo interesse","vndr_dtls_fi":"Trattamento dei dati basato sul tuo consenso o interesse legittimo","cks_strg_dur":"dura %DURATION%","cks_strg_ses":"per la sessione attuale","cks_strg_not_used":"non utilizzato","cks_strg_dur_s":"sec","cks_strg_dur_i":"min","cks_strg_dur_h":"ora(e)","cks_strg_dur_d":"giorno(i)","cks_strg_dur_m":"mese(i)","cks_strg_dur_y":"anno(i)","vr_dts_purl":"URL della politica sulla privacy","vr_dts_dsurl":"URL di divulgazione dell\u0027archiviazione del dispositivo","vr_dts_dsurl_h":"Informazioni aggiuntive su archiviazione e operazioni","vr_dts_clmurl":"URL della richiesta di interessi legittimi","vr_dts_datac":"Categorie di dati","vr_dts_datac_h":"Categorie di dati raccolti in relazione agli scopi","vr_dts_stdret":"Conservazione dei dati standard (giorni)","vr_dts_stdret_h":"Il periodo standard è utilizzato a meno che non sia dichiarato un altro periodo per scopi specifici.","vr_dts_ret":"Conservazione dei dati (giorni)","vr_dts_usecks":"Usa i cookie","vr_dts_usecks_h":"Indica se il fornitore utilizza l\u0027archiviazione dei cookie (sessione o altro). SÌ indica che l\u0027archiviazione dei cookie è utilizzata. NO - l\u0027archiviazione dei cookie non è utilizzata.","vr_dts_usecksy":"Sì","vr_dts_usecksn":"No","vr_dts_cksage":"Età massima del cookie","vr_dts_cksage_h":"Il numero di secondi che rappresenta la durata potenziale più lunga per l\u0027archiviazione dei cookie su un dispositivo. Se un fornitore utilizza più cookie con durate diverse, rappresenta il cookie con la durata più lunga. Un numero negativo o 0 indica l\u0027archiviazione della sessione simile alla specifica Set-Cookie.","vr_dts_cksref":"Aggiornamento cookie","vr_dts_cksref_h":"Indica se i cookie vengono aggiornati dopo essere stati inizialmente impostati. SÌ - indica che il fornitore può aggiornare i cookie. NO - indica che il fornitore non aggiorna i cookie ogni volta che il browser viene ricaricato.","vr_dts_noncks":"Utilizza l\u0027accesso senza cookie","vr_dts_noncks_h":"Indica l\u0027uso da parte del fornitore di archiviazione non-cookie e accesso alle informazioni già memorizzate sul dispositivo di un utente. SÌ - indica che l\u0027accesso senza cookie è utilizzato. NO - indica che l\u0027archiviazione e l\u0027accesso senza cookie alle informazioni già memorizzate sul dispositivo di un utente non vengono utilizzati.","vr_dts_hgetl":"Limite della lunghezza della richiesta HTTP GET (Kbyte)","vr_dts_hgetl_h":"Dimensione massima della richiesta GET in kilobyte per aiutare a diagnosticare i problemi con il passaggio della stringa TC e limitare le stringhe di dimensioni eccessive.","vr_dts_addtnl":"Dati aggiuntivi","vr_dts_legaddr":"Indirizzo completo dell\u0027entità legale","vr_dts_b2bcont":"Dettagli di contatto B2B","vr_dts_terscp":"Ambito territoriale","vr_dts_terscp_h":"Indica le giurisdizioni UE\/SEE\/UK in cui il fornitore opera con TCF. Nota che questo è diverso dalla sede del fornitore.","vr_dts_env":"Ambiente","vr_dts_env_h":"Indica gli ambienti in cui il venditore opera","vr_dts_tserv":"Tipo di servizi","vr_dts_tserv_h":"Indica il tipo di servizi offerti dal venditore","vr_dts_trnsfout":"Trasferimenti internazionali fuori dall\u0027UE\/SEE","vr_dts_trnsfout_h":"Indica le giurisdizioni UE\/SEE\/UK in cui il fornitore opera con TCF. Nota che questo è diverso dalla sede del fornitore.","vr_dts_trnsfmch":"Meccanismi di trasferimento internazionale"}}