Se sviluppi applicazioni web o siti internet troverai che possedere un proprio server web per lo sviluppo è di una comodità estrema.
Ti da la possibilità di operare in un ambiente sul quale hai il pieno controllo. Potrai configurarlo per essere il più simile possibile all’ambiente definitivo nel quale finirà il tuo sito/applicazione web o approfittarne per utilizzare estensioni e moduli particolari, solitamente non presenti in un piano hosting base, e valutare basandoti sull’esperienza acquisita quale hosting scegliere e che servizi richiedere una volta pronto per andare “in produzione”.

Dove installare il server
Innanzitutto per creare il server è necessario scegliere una macchina che lo possa ospitare. Un server web, specialmente se ha uno scopo prettamente “sperimentale” (al quale quindi verosimilmente avrai accesso solo tu) non richiede particolari caratteristiche hardware. Va bene quindi il tuo vecchio pc caduto in disuso. In sostanza ti basta una macchina che abbia una scheda madre, un processore, hard disk (anche di pochi gb), ram (considera che con 512 mb farai faville, ma ne bastano meno) e una scheda di rete. Non importa se la scheda video è integrata, senza accelerazione 3d, scadente o comunque obsoleta.
In alternativa, ed è quella che preferisco, puoi utilizzare un ambiente virtuale come Virtual Box.
Scelta della distribuzione
Un server web che si rispetti è un server LAMPP (Linux + Apache + MySql + PHP + Perl). Questo ambiente è sicuramente la migliore condizione possibile per sviluppare un sito web.
Il software in questione è compatibile con qualsiasi distribuzone Linux e pertanto potrai scegliere la distribuzione Linux che più si adatta alle tue esigenze.
Diciamo che le distribuzioni che vanno per la maggiore sono CentOS, Red Hat, Debian e Fedora (probabilmente le prime due soluzioni sono le più gradite in quanto compatibili con cPanel).
Esistono anche distribuzioni già preconfigurate per essere utilizzate come server LAMPP, come ad esempio questa che è basata su Slax (una distribuzione leggerissima).
La mia scelta: Ubuntu Server su macchina virtuale
Sebbene ci siano distribuzioni decisamente più performanti di Ubuntu per l’utilizzo da web server, ho optato ugualmente per Ubuntu Server poichè non mi trovo in una condizione che mi obbliga a cercare il massimo possibile delle prestazioni. Ubuntu inoltre è una distribuzione sulla ho maggiore esperienza, e questo mi fa sentire più a mio agio per quanto riguarda l’installazione dei pacchetti e la risoluzione di eventuali problemi.
Ho utilizzato una macchina virtuale (grazie al software Parallels) che ho dotato di un HD da 4 gb (per le mie esigenze sono più che sufficienti), una ram da 512 e di una scheda video da 32mb senza supporto all’accelerazione 3D. Ovviamente non ho selezionato alcuna scheda audio.
Il link per il download dell’ultima versione di Ubuntu Server è questo. Sorvolerò sulla fase di installazione perchè questa non è molto diversa da una normale installazione Linux ed è inoltre ben documentata sul web.
Durante l’installazione Ubuntu Server chiederà che tipo di attività installare, ti basterà selezionare LAMPP Server e OpenSSH server.
Durante l’installazione verranno chieste minime informazioni (il nome utente e la password e la password dell’utente MySql), mentre tutto il resto delle operazioni sarà svolto automaticamente.
Installazione terminata. E adesso?
Adesso il sistema è pronto all’uso. E si tratterà di un sistema con interfaccia testuale. Potrai decidere di controllarlo dalla schermata della macchina virtuale oppure via ssh dal terminale del tuo sistema operativo “host” (quello principale).
Per testare il funzionamento del server, effettua il login dalla macchina virtuale e digita
ifconfig
questo comando ti restituirà l’elenco delle schede di rete connesse e ti permetterà di identificare l’indirizzo ip del server. Inserisci questo indirizzo ip in un browser. Se visualizzi una pagina con la scritta It Works! vorrà dire che il server è funzionante.
Il server accessibile sulla tua rete
Se vuoi estendere alla tua rete l’accesso al Web Server, dovrai cercare tra le impostazioni di rete della tua macchina virtuale, quella che fa riferimento al Bridge. Questo bridge (ponte per l’appunto) ti permette di immettere il server nella rete alla quale sei connesso. Sarà quindi possibile aprire le pagine, accedervi via ssh o ftp, anche dagli altri pc connessi alla rete.
Anche in questo caso digita sulla macchina virtuale ifconfig per reperire l’indirizzo il che gli è stato assegnato dal router, ed utilizzalo per connetterti al server dagli altri pc della rete oltre che dall’host.
La cartella che conterrà il sito
Negli hosting veri, solitamente, la cartella che contiene il sito si chiama public_html. Creiamo una cartella con questo nome all’interno della nostra cartella utente digitando:
mkdir /home/NOMEUTENTE/public_html
Cartelle web degli utenti
Come avrai capito è possibile creare più utenti e fornire a ciascuno una cartella web (public_html) che sarà accessibile digitando sul browser http://indirizzoipdelserver/~nomeutente/
Per abilitare questa funzione (consigliato anche nel caso di un utente unico) digita sul terminale:
a2enmod userdir
per abilitare il modulo necessario.
Per finire dovrai assegnare i permessi gusti alla cartella public_html, aggiungendo come proprietario il gruppo www-data digitando questa volta:
chgrp www-data /home/NOMEUTENTE/public_html/
Accesso FTP
Per poter caricare i files via FTP sul server dovrai installare un server FTP. La mia scelta, condivisa da molti sysadmin, è ricaduta su PureFTP.
Per installare PureFTP su Ubuntu Server loggati dalla macchina virtuale oppure via ssh e digita:
sudo apt-get install pure-ftpd
Adesso digita (una riga per volta):
sudo groupadd ftpgroup sudo useradd -g ftpgroup -d /dev/null -s /etc ftpuser sudo pure-pw useradd NOMEUTENTE -u ftpuser -d /home/NOMEUTENTE/public_html sudo pure-pw mkdb sudo ln -s /etc/pure-ftpd/pureftpd.passwd /etc/pureftpd.passwd sudo ln -s /etc/pure-ftpd/pureftpd.pdb /etc/pureftpd.pdb sudo ln -s /etc/pure-ftpd/conf/PureDB /etc/pure-ftpd/auth/PureDB
Adesso puoi accedere via FTP utilizzando un client ftp qualsiasi ed il nome utente/password scelti.
Carica un file index.html con un contenuto qualsiasi all’interno della tua cartella public_html e digita http://indirizzoipdelserver/~nomeutente/ per testare definitivamente il funzionamento del tuo web server.
Alla prossima!
Per il momento sei già in grado di accedere al server via ftp ed ssh, di caricare files e creare pagine php ed html visualizzabili all’indirizzo http://indirizzoipdelserver/~nomeutente/. Per raggiungere lo stato dell’arte devi configurare MySql, cosa che che ti permetterà di installare ad esempio dei cms sul tuo web server privato. Per questo il prossimo articolo sarà dedicato a questa importante operazione. Non perderlo!
Se ti è piaciuto questo post
Rimani sempre aggiornato:


Pingback: upnews.it