TCP Transmission Control Protocol. E' un protocollo condiviso a livello mondiale, serve per reperire informazioni via Internet e trasferire pacchetti di dati chiamati anche segmenti. Questo protocollo non è altro che un insieme di istruzioni per la trasmissione di dati digitali attraverso il meccanismo di richiesta e risposta.
L'IP Internet Protocol noto anche come indirizzo IP. E' anch'esso un protocollo molto importante per Internet per connettere reti eterogene fra di loro e per trasferire pacchetti di dati o datagrammi. Chi volesse approfondire l'argomento rimando all'Encilopedia libera wikipedia
Negli ultimi anni, con l'importante aumento dell'uso della rete Internet è nata l'esigenza di aumentare gli IP. I primi erano lPV4, oggi è IPV6. La versione 6 dell'IP consente un maggiore indirizzamento e gestione dei pacchetti di dati.

HTTP Protocollo di trasferimento di un ipertesto (Hypertext Transfer Protocol) è il principale sistema per trasmettere via Web le informazioni. Non è altro che l'utilizzatissimo http://www.qualsiasisitoweb.org
Tramite il protocollo TCP un server HTTP rimane in ascolto utilizzando la porta 80. Diversa, invece, è la porta di trasmissione in FTP (File Transfer Protocol) dove il server resta in ascolto sulla porta 21 TCP e la trasmissione avviene tramite canali di dati. L'FTP è un sistema di trasmissione abbastanza datato ma molto funzionale sopratutto per i webmaster. Moltissimi trasferimenti di dati, ad esempio i file o le immagini, vengono fatti tramite l'ftp attraverso un apposito software, ad esempio FileZilla.
Esiste anche HTTPS dove S sta per security. Serve a proteggere i dati inviati tramite un sistema di crittografia noto come TSL (Transport Layer Security ). Come funziona? In un sito di e-commerce un utente inserisce i propri dati personali per compilare il modulo di autenticazione e proseguire poi agli acquisti. I dati dell'utente comunicati al sito tramite il modulo compilato vengono protetti dal sistema HTTPS. Un sito con protocollo HTTPS è un sito che ha margini di sicurezza elevati.

Dominio.
Il dominio www.cybercoords.it è associato ad un numero composto da gruppi di 4 cifre 89.46.105.55 . Questi numeri sono l'IP del mio sito web. Per raggiungere un sito web che risiede su un server sarebbe sufficiente digitare i numeri IP. Ma non è il caso pensare di ricordare questi numeri per ogni singolo dominio. Pertanto, la registrazione di un dominio e la relativa associazione delle lettere ai numeri IP rende molto più facile ricordare il nome di un determinato dominio.
Chi usa Windows e vuole conoscere l'IP di un dominio è sufficiente aprire il Prompt dei comandi e digitare ping www.ilnomedeltuositoweb.it vedi foto 1.

Foto 1.

In un precedente tutorial avevo già accennato che i siti web generici e non sono installati su un computer server remoto e possono essere raggiunti da altri computer client. Il client interroga il server ed il server risponde all'interrogazione. Questo scambio avviene tramite il protocollo HTTP o HTTPS TCP/IP.
Chi decide di aprire un dominio ed il relativo server hosting per la prima volta e non ha le idee chiare di come sceglierlo si trova davanti a una decisione che potrebbe rivelarsi importante.
Pertanto in questo tutorial, in riferimento ai servizi di hosting, spiego la differenza che c'è tra server dedicato, condiviso e semidedicato.
Un web hosting o hosting provider è una società che ha a disposizione molti computer-server. Affittano servizi su internet e quindi mettono a disposizione spazi web dove è possibile installare un sito.

DEDICATO.

Un server dedicato è un computer dove, nella maggior parte dei casi, vi è installato un software di sistema Windows o Linux e predisposto per contenere siti web. Nel caso di un hosting Linux vengono installati il web server Apache, il database MySql e il linguaggio-interprete PHP. In parte, questa configurazione vale anche per server condivisi.
L'aspetto più importante del server dedicato sono le risorse della macchina che vengono messe a disposizione per un solo utente. La CPU (Central Processing Unit) serve a soddisfare le operazioni e quindi le richieste provenienti da vari client contemporaneamente. La RAM (Random Acces Memory) serve a velocizzare tutte le operazioni richieste. L'HD (Hard Disk) non è altro che il magazzino del server, molto importante soprattutto se si vuole costruire un sito web per gestire tantissime foto, videoclip o altri file che pesano molti MB (Mega byte).
Ma è importante anche la larghezza di banda, cioè la quantità di dati digitali che possono essere scambiati in un determinato periodo, generalmente un mese.

CONDIVISO.

In un server hosting condiviso lo spazio fisico e le relative risorse del server vengono suddivise in centinaia di parti. Ogni parte è dedicata ad un solo sito web. Pertanto, usando un server condiviso occorre sapere già da prima che il server oltre al nostro sito web ospita altre centinaia di siti web. In realtà, la condivisione rappresenta la scelta più economica per il cliente.
Tra un server condiviso e uno dedicato la parte più importante è la larghezza di banda che il server mette a disposizione. La larghezza di banda, come ho già anticipato, è la capacità di trasmissione dei dati digitali espressi in bit per secondo. Maggiore è la larghezza più veloce sarà la trasmissione, quindi la velocità di scambio delle informazioni tra client e server.
Si intuisce subito che le prestazioni del server condiviso sono inferiori rispetto al dedicato. I motivi sono diversi: la larghezza di banda che si ha a disposizione. Quello dedicato è più sicuro perchè ha l'indirizzo IP dedicato e non condiviso. Nel sistema condiviso il programmatore che vuole lavorare direttamente sul web server ha dei limiti, per agire su alcune direttive del web-server deve sempre contattare i provider e non è detto che quest'ultimo possa soddisfare le richieste del programmatore.
Personalmente ho sempre usato server condivisi e si sono rivelati affidabili. Solo una volta ho avuto problemi con un LCMS che richiedeva molte risorse server, in questo caso sarebbe stato opportuno acquistare almeno un server semi-dedicato o comunque con una larghezza di banda più ampia. Il sito web si bloccava nelle ore in cui il server aveva i picchi di accesso più alti.
Da questa esperienza capii che l'hosting condiviso non va bene con siti web che richiedono molte risorse oppure con alto traffico che si aggira approssimativamente tra 2500-3500 utenti al giorno.

SEMIDEDICATO.

Nell'hosting semidedicato il provider installa sullo stesso server un numero molto limitato di domini. Ovviamente, minore saranno i domini installati sul server maggiori saranno i costi per ogni singolo dominio. Il minor numero di domini permette di suddividere meglio le risorse hardware del server. Una delle caratteristiche del semidedicato rispetto al dedicato e che non necessita di avere conoscenze tecniche per la sua gestione. Come il server condiviso, quello semidedicato mette a disposizione un pannello di controllo semplice per gestire il proprio server ed il sito web o i siti web se ve ne sono installati più di uno.
E' opportuno avere un server semidedicato nel momento in cui un sito web raggiunge visite giornaliere che vanno dalle 2.500 alle 3.500 al giorno circa.

Prima di parlare di Web application è il caso di chiarire con poche parole la differenza tra Internet ed il Web (WWW). Internet è la grande rete a livello mondiale. Il Web è parte integrante di Internet come lo sono il sistema FTP (File Trasfer Protocol) e la posta elettronica.

Tramite Internet i personal computer possono essere collegati tra di loro. Questi collegamenti permettono di raggiungere i web server. In un web server possono essere installati non solo normali siti web ma anche vere e proprie Web application. 
Una Web Application funziona sul web ed è un insieme di pagine html, php o asp corredate da altri linguaggi integrativi. Le pagine web  appositamente programmate per comporre l'applicazione possono funzionare in remoto su server web o su una rete LAN (Local Area Network) in modalità localhost.

La Web application è specialistica e permette di fare determinate cose, ad esempio la gestione del personale di un'azienda, gestione dei turni di lavoro, gestione delle ferie, gestione curriculum dei lavoratori, ecc. Nella stragrande maggioranza dei casi è un'area riservata, si accede tramite password.

I vantaggi di una web application sono tanti ma il primo e che può essere utilizzata via web e senza limiti geografici. Il funzionamento è sempre lo stesso: Client--->Server--->Interprete--->Data base--->..... Client.

Le Web application possono essere freeware, oppure il loro uso può essere regolato da una licenza o uno specifico accordo tra chi l'ha programmata ed il cliente finale.

Un CMS è composto da cartelle, sotto cartelle con dentro un certo numero di file.
Può capitare agli installatori di imbattersi nei permessi di file e cartelle.
Trovarsi in una situazione del genere occorre eseguire il tutto con molta cautela, o meglio bisogna sapere bene quello che si fà.
Questi permessi, noti anche come chmod (cambia modalità), sono presenti nei sistemi Linux e UNIX. Hanno il compito di indicare al sistema stesso l'accesso a determinate cartelle o file. In altre parole, sono la guida al sistema in merito agli accessi o ai non accessi ad una determinata cartella o file.

I permessi di cui stiamo parlando sono:
-Permessi proprietario
-Permessi di gruppo
-Permessi pubblici

Individuati nei seguenti numeri di lettura e scrittura di file o cartelle: 666-775-777

L'argomento è particolare in quando sbagliando la configurazione dei permessi si può compromettere il corretto funzionamento del server e del CMS.
Nella maggior parte dei casi gli hosting consentono di ripristinare i permessi tramite il pannello di controllo che risulta una cosa molto utile.
Comunque sia, la procedura di modifica dei permessi è più semplice farla usando un software ftp per la connessione al server.
Vediamo come funzionano i chmod usando Filezilla ftp.
Per chi non ha il software la prima cosa da fare è il download di Filezilla da qui https://filezilla-project.org.
Effettuato il download occorre installare il programma sul proprio computer. Terminata l'installazione avviate Filezilla.
Aperto il software noterete subito la barra sopra in alto riferita alla foto 1.
Foto 1.

Per fare la connessione al server seguite i seguenti passaggi:
Host: scrivete il nome del dominio es. ftp.ilvostronuovositoweb.it
Inserite il Nome utente e la Password
Porta: lasciatela vuota, il software la trova automaticamente.
Cliccate su Connessione rapida.

Se avete digitato tutto correttamente noterete che nell'ultima finestra a destra si aprono le cartelle e i file del CMS (dell'esempio) installato sul server riferito alla foto 2
Foto 2.

Adesso siete dentro il server, quindi attenzione, qualsiasi cosa farete influirà sul sito web.
Cliccate con il tasto destro del mouse su una cartella, si apre un menù, alla fine del menù trovate la voce Permessi file... riferita alla foto 3.
Foto 3.

Cliccate su Permessi file... con il tasto sinistro, si apre la finestra con tutti i permessi già impostati a 775 riferita alla foto 4.
Foto 4.

Cosa significano Lettura, Scrittura, Esecuzione.
-Lettura: consenti l'accesso al file
-Scrittura: consenti le modifiche al file soprattutto da parte di un utente del sito
-Esecuzione: consenti di eseguire uno script
Numericamente avremo 4-2-1 per un totale 7
Ad esempio, il chmod 755 lo si può ottenere flaggando sulle singole voci della finestra in questa modalità:

Proprietario
Lettura Si = 4
Scrittura Si = 2
Esecuzione Si = 1
Il totale è = 7
Gruppo
Lettura Si = 4
Scrittura No = 0
Esecuzione Si = 1
Il totale è = 5
Utenti
Lettura Si = 4
Scrittura No = 0
Esecuzione Si = 1
Il totale è = 5

 

La modalità per ottenere il chmod 666 è simile alla procedura appena illustrata, cambia solo l'Esecuzione.

Proprietario
Lettura Si = 4
Scrittura Si = 2
Esecuzione No = 0
Il totale è = 6
Gruppo
Lettura Si = 4
Scrittura Si = 2
Esecuzione No = 0
Il totale è = 6
Utenti
Lettura Si = 4
Scrittura Si = 2
Esecuzione No = 0
Il totale è = 6

 

Attenzione il chmod 777 è molto pericoloso.
Impostare una cartella o un file a 777 significa aprire il sito web a tutta la rete Internet. Un file 777 ha il permesso di scrittura. Quindi, un esperto o pinco pallino qualsiasi potrebbe individuare il file o la cartella e inserire codice o eventuali file e compromettere altri file se non il funzionamento dell'intero sistema.
E' consigliabile usare una directory impostata a 777 con moltissima attenzione, ma è meglio non impostarla mai con questo chmod sopratutto quando abbiamo a che fare con pagine di script.