HOME - ERRIKO.IT

Erriko dot IT

Creare un server web in pochi passi con Ubuntu Server

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

Mostra il tuo apprezzamento, condividi!

Rimani sempre aggiornato:

  • Pingback: upnews.it

  • giacomo

    Per installare mysql devo installare phpmyadmin? aiuto non so come fare sono rimasto a metà dell’opera, voglio installare joomla sul server che ho appena creto.

    • http://erriko.it/?fbconnect_action=myhome&userid=29 Erriko

      No MySQL è già presente sul sistema, lo hai installato scegliendo come attività LAMPP. Devi soltanto configurarlo.
      Certo, installare phpmyadmin è utile perchè ti fornisce un’interfaccia web per gestire mysql anzicchè obbligarti a ricorrere all’interfaccia mysql da terminale (con tutti i disagi di dover dare a mano le query sql).

      Il prossimo articolo riguarderà proprio questi due aspetti della configurazione del server. Lo sto ultimando e lo pubblicherò presumibilmente dopodomani in mattinata.

  • giacomo

    Grazie! Allora attendo con impazienza il nuovo articolo! buon lavoro

  • Alessio

    Ho installato ubuntu server e lampp, ho fatto le prove e funziona tutto, se metto nell’url l’indirizzo della mia pagina index.php la vedo.
    Solo vorrei sapere come fare a vederlo da altri pc, cioè poter mettere il sito definitivamente in rete..

    • http://erriko.it/?fbconnect_action=myhome&userid=29 Erriko

      Come accennato nel corso degli articoli, il server è pensato principalmente per lo sviluppo. Metterlo in produzione vuol dire installarlo su una macchina fisica, dotarlo di ip fisso ed adottare maggiori accorgimenti per quanto riguarda la sicurezza.

      Detto ciò, se vuoi semplicemente “vederlo”, cioè accedendovi immettendo l’indirizzo ip della tua connessione dall’esterno, devi semplicemente connettere il server alla rete del tuo router e settare il firewall in modo che direzioni le connessioni esterne sulla porta 80 del server. Alcuni router hanno anche la DMZ (zona demilitarizzata) che puoi configurare per il server.

      Utilizzarlo “sul serio” associandolo ad un dominio e quant’altro non è oggetto di questi articoli, e anche se sicuramente possibile, nella stragrande maggioranza dei casi comporta un costo in termini economici e di tempo che tuttosommato fanno preferire un hosting low cost (quando compri un hosting a 20 euro l’anno sicuramente spendi meno di quanto spenderesti soltanto di consumi elettrici per il server, no?)

  • mary

    Vi segnalo questo widget semplicissimo che integra 10.000 radio in qualsiasi sito o blog http://www.findradio.net/findradio-widget

  • Sergio

    Salve, trovo le sue guide molto ben fatte e grazie a queste ho rispolverato un vecchio pc sul quale ho installato la versione lamp di ubuntu seguendo la guida.
    Ho poi letto gli altri articoli ed installato webadmin e phpmyadmin.
    Se carico nella cartellapublic_htmldei file .html funziona tutto, appena carico un file .php (premetto che non sono molto ferrato) firefox mi chiede con quale applicazione aprire il file. Come posso risolvere il problema? Grazie e continui con il suo lavoro che è molto utlie per chi vuole (come me) muovere i primi passi.

    • Max

      Stesso problema anche per me! se faccio un file con phpinfo e lo metto sulla cartella var/www funziona, se lo metto sulla cartella dell’utente non va…

  • Marco

    Ciao, complimenti per questa stupenda guida.
    Aimè non riesco a visionare, dopo l’installazione del FTP, il mio sito. il nome utente è maniaweb, e quando digito IP/maniaweb o IP/home/maniaweb non mi esce assolutamente nulla, anche se nella cartella public_html esiste il file index.html.
    Dove sbaglio?

    Saluti
    Marco

  • pino

    Guida ben fatta! Riesco ad accedervi, ma anche io ho lo stesso problema di un altro utente. Come devo configurare il router affinchè possa accedere al server tramite computer esterni alla rete?

  • Gianni

    Complimenti per la guida, se ci sono riuscito io vuol dire che é fatta molto bene…

    • http://erriko.it/?fbconnect_action=myhome&userid=29 Enrico Deleo

      Grazie mille :)

  • http://www.paskuale.it paskuale

    Ciao ho installato Ubuntu Server ma a fine installazione (dopo il riavvio) mi appare il prompt ? E’ normale ? Non esiste un desktop x questa versione di ubuntu ?

    grazie :)