Come installare Apache, PHP e MySql senza perderci la testa?
Una volta scelto l’editor giusto per le nostre esigenze, dobbiamo preparare il nostro ambiente di sviluppo. Gli strumenti essenziali per la programmazione di applicazioni e siti web sono: un server web, un linguaggio di programmazione e unn sistema di gestione di una Base di Dati (DBMS).
Naturalmente le combinazioni possibili sono tantissime: oggi vedremo come installare e mettere in funzione quella più diffusa, ovvero Apache come server web, PHP come linguaggio di scripting e MySql in qualità di DBMS.
Un singolo pacchetto per tutto: XAMPP
Sebbene sia possibile installare queste tre applicazioni singolarmente, scaricando gli archivi dai rispettivi siti, negli ultimi anni c’è stato un proliferare di pacchetti all-in-one, che riducono l’installazione a pochi clic del mouse. I puristi del web potrebbero storcere il naso, ma per designer e sviluppatori, poco esperti di server e reti, questi pacchetti auto-installanti sono una vera manna dal cielo.
Tra le varie distribuzioni disponibili, la mia scelta è ricaduta su XAMPP, sviluppato da Apache Friends: disponibile per i maggiori sistemi operativi (Windows, OSX, Linux, Solaris) è facile da installare e permette agli utenti più esperti una buona personalizzazione. Vediamo dunque come installare e configurare il nostro ambiente di lavoro! (Nota: gli screenshot seguenti si riferiscono al sistema operativo Windows XP)
Foto-installazione di XAMPP
Il primo passo sarà quello di scaricare il file di installazione dal sito di Apache Friends (Windows – Mac – Linux) ed avviarlo. Il programma di installazione ci chiederà in quale directory estrarre i file: consiglio di lasciare quella di default (ovvero c:\) poiché è facilmente memorizzabile (e semplice da raggiungere in caso di malfunzionamenti).
Una volta terminata l’estrazione, si aprirà un terminale che ti porrà diverse domande, per personalizzare la tua installazione.
Aggiungere collegamenti al desktop e al menu
La prima domanda che ti verrà rivolta è “aggiungere dei collegamenti al menu start e al desktop?”: naturalmente puoi rispondere si/no, secondo le tue preferenze.
Localizzare i file di XAMPP
La seconda domanda sarà “Devo localizzare i file di XAMPP?”: il programma di installazione deve ritrovare i file estratti sul disco, quindi bisogna rispondere affermativamente.
Rendere portabile l’installazione?
Il terzo passo è molto interessante: XAMPP ti permette di rendere l’installazione “portabile”, nel caso in cui avessi estratto i file su una penna USB, per avere il tuo ambiente di sviluppo sempre in tasca. Quindi ti viene chiesto “Devo rendere XAMPP portabile?”: a questa domanda devi rispondere secondo le tue esigenze. Se hai installato XAMPP sul tuo hard disk, rispondi ‘n’, altrimenti ‘y’.
Primo avvio di Apache e MySql
Il programma seguirà localizzando i vari file componenti e dopo aver premuto invio, ti troverai di fronte ad un menu con sette voci: seleziona la ‘1’ per far partire il pannello di controllo di XAMPP: qui potrai gestire tutti i servizi offerti dal pacchetto. Dato che a noi interessano solo Apache e Mysql, facciamo partire i due servizi, cliccando sul pulsante Start relativo alle due voci. Puoi anche selezionare la spunta accanto a questi due: in questo modo verranno installati come servizi di Windows, e avviati insieme al sistema operativo.
Cliccando sul pulsante “Admin” relativo alla voce di Apache, potrai accedere al pannello di controllo generale di XAMPP: al primo accesso ti verrà chiesta la lingua da utilizzare, tra le 13 disponibili (un altro punto di forza del progetto):
Congratulazioni! Hai finalmente installato il tuo primo ambiente di sviluppo!
Prime configurazioni di sicurezza
Le pagine di controllo di XAMPP sono molto intuitive: a sinistra c’è una serie di link che porta alle varie sezioni che possono essere suddivise in “controllo”, dove possiamo dare un’occhiata allo stato dei vari componenti; “demo”, in cui sono presenti varie applicazioni d’esempio e “strumenti”, che contiene alcuni applicazioni utili. Cliccando su “stato” potremo avere una panoramica dei servizi correntemente attivati.
Come aumentare la sicurezza dell’ambiente di lavoro?
Prima di procedere all’esplorazione però è importante aumentare la sicurezza dell’ambiente di lavoro. A tal scopo, clicca sul link “Sicurezza”, che porterà ad una nuova pagina:
Come puoi notare, le prime tre voci sono contrassegnate come “insicure”, poiché le credenziali di accesso non sono state ancora impostate. Procediamo a farlo, cliccando sul link appena sotto la tabella.
I livelli di sicurezza a nostra disposizione sono due: possiamo limitare l’utilizzo dei database MySql inserendo una password per l’utente “root” (parte superiore) e aggiungere nome utente e password al pannello di controllo (parte inferiore). Selezionando le spunte sotto ogni sezione, salveremo le password in un file di testo, per futura memoria. Naturalmente è chiaro che questo è un rischio per la sicurezza, quindi bisogna valutare bene se farlo oppure no.
Una volta applicate le misure di sicurezza, un’occhiata alla tabella precedente ci informa che tutto procede al meglio:
Naturalmente per ritornare al pannello di controllo principale saremo costretti ad inserire il nome utente e la password specificati in precedenza:
Testiamo la nostra installazione
Per verificare il corretto funzionamento di Apache, creeremo un semplice file HTML e lo visualizzeremo nel browser. Ma dove inserire questo file?
Tutte le installazioni di Apache hanno una directory chiamata “htdocs”, in cui vengono inseriti tutti i file accessibili da internet: dato che il nostro web server è appunto Apache dovremo inserire tutti i file dei nostri lavori in questa cartella, che è localizzata in “c:\xampp\htdocs\” (nel caso di sistema operativo Windows). Per accedere dal browser a tale cartella dovremo digitare nella barra apposita l’indirizzo “http://localhost” che è un alias (ovvero un ‘sinonimo’) per l’indirizzo ip del nostro pc.
Ricapitolando, la cartella “c:\xampp\htdocs” corrisponde all’indirizzo “http://localhost/”, dunque la cartella “c:\xampp\htdocs\ilmiosito\” corrisponderà all’indirizzo “http://localhost/ilmiosito/” mentre il file “c:\xampp\htdocs\ilmiosito\pagina.html” avrà l’indirizzo “http://localhost/ilmiosito/pagina.html”
Prova a creare proprio questa cartella e questo file, a cui aggiungerai un semplice titolo:
<h1>Ciao da Your Inspiration Web</h1>
e visualizza il risultato nel tuo browser all’indirizzo “http://localhost/ilmiosito/pagina.html”
Un semplice test per PHP
Per verificare la corretta installazione di PHP utilizzeremo la funzione “phpinfo()” di PHP: questa funzione, in caso di corretto funzionamento del motore del linguaggio, mostra tutti le informazioni relative alla macchina e all’installazione di PHP. Dovrai quindi creare il nostro primo file con estensione “.php”. Come per il file precedente, crea una nuova cartella chiamata “testphp”, e al suo interno crea un nuovo file, chiamato “test.php”. Apriamo il file con il nostro editor preferito ed inseriamo il seguente codice:
<?php phpinfo(); ?>
Salviamo il file: dato che il suo percorso è “c:\xampp\htdocs\testphp\test.php” il suo indirizzo nel browser sarà “http://localhost/testphp/test.php”: se abbiamo eseguito tutti i passi correttamente sarà visualizzata una schermata simile alla seguente:
Hai così ultimato e testato l’installazione del tuo primo webserver: sei pronto per sviluppare il tuo prossimo sito?
47 commenti
Trackback e pingback
-
uberVU - social comments
Social comments and analytics for this post... This post was mentioned on Twitter by yiw: RT @YIW Come installare Apache,…
Intanto complimenti (come sempre) per l’articolo.
Io utilizzo da sempre EasyPHP e mi trovo bene, non dico splendidamente, ma per le cose che faccio va più che bene… se lo conosci, mi puoi fare un brevissimo confronto con XAMPP? (ne ho sentito parlare altre volte, ma non l’ho mai usato)
Qual’è meglio dei due? :)
Ciao Antonio, grazie per i complimenti :)
Intanto EasyPHP è indirizzato esclusivamente all’utenza Windows, e a parte questo, non credo che ci siano molte differenze per un utilizzo “di base”.
C’è da aggiungere, però, che di XAMPP in questo articolo sono stati mostrati solo i moduli relativi ad Apache, PHP e MySql, mentre nell’installazione sono compresi anche Perl, il server mail Mercury, il server FTP Filezilla, viene installato PEAR (il repository di classi PHP)….insomma ce n’è da esplorare :D
quindi mi stai dicendo… togli quella ciofeca e metti XAMPP se vuoi essere serio! :D
PS: per dirla in maniera malvaggia…
PS2: lo proverò.
Ahaha no non mi permetterei mai di esprimere giudizi del genere (anche perché io non sono capace di creare un pacchetto come EasyPHP, quindi come potrei giudicare?) :D
Tutto dipende dalle esigenze che si hanno e dalle esperienze avute: se ti trovi bene con EasyPHP perché cambiare? ;)
scherzavo ovviamente… sto provando XAMPP, vediamo come mi ci trovo ;)
MAMP tutta la vita!
Grazie per la segnalazione Kiko: ha qualche funzione particolare questo pacchetto?
Io appartengo a quella schiera che hai definito “i puristi del web” visto che preferisco installare tutto separatamente, ma devo essere sincero, non ho mai provato nessuno di questi pacchetti all-in-one quindi non conosco effettivamente quali sono i loro limiti.
Naturalmente anche io preferisco installare e configurare ogni pacchetto singolarnente, però devo dirti che le prime volte, quando combinavo casini con i vari file di configurazione, la certezza di poter installare tutto daccapo con pochi clic mi è stata veramente d’aiuto ;)
Comunque sai come la penso: ognuno ha la sua ‘via’, l’importante è che si giunga all’obiettivo ;)
Condivido il pensiero di nando.
Ho provato svariati package webserver (da EasyPHP fino ai portable webserver) ma niente è come installare singolarmente i componenti.
C’è da dire che effettivamente, tra tutti quelli provati, anche io reputo Xampp il migliore. Per quanto riguarda invece chi come me necessita di un webserver su chiavetta o hd portatile consiglio PAMPA di Andrea Gianmarchi, ottimo!
Grazie per la segnalazione, lxn, proverò questo PAMPA. ;)
Io consiglio sempre il pacchetto bitnami con diversi cms preinstallati che semplificano veramente al massimo questa operazione . Xaamp comunque lo trovo piu avanzato non cè dubbio ma per chi è alle prime armi potrebbe trovarlo “ostrico” ;)
Grazie per la segnalazione Gemedj ;)
Personalmente non sono molto d’accordo con la filosofia di questi progetti, ma sicuramente risultano utilissimi per chi è alle prime armi; anche se a questo punto mi chiedo se non sia meglio utilizzare un servizio online (wordpress.com, blogger) oppure rivolgersi a qualcuno più esperto: mica tutti devono saper fare tutto? ;)
Io appartengo alla schiera “faccio fare all’uomo di casa” , secondo la cui teoria per mettere chiodi, appendere mensole e installare/configurare certi programmi occorre una mente lucida, razionale e prettamente maschile.
Io più di installare Photoshop (avanti >> avanti >> accetto >> avanti >> ok) non riesco, sono troppo creativa per cose così tecniche :D
Eccola qua la solita femminista: “il maschio usa il martello, io lavoro di precisione” :D
Scherzi a parte, d’accordissimo con te (ovviamente): meglio far fare a chi sa dove mettere le mani, che pasticciare e poi ritrovarsi nei guai ;)
Quasi come affidare a me il ruolo di direttore creativo di un progetto :D
Io (a casa) utilizzo mamp pro, e devo dire che per quello che faccio va più ch bene.. quando avevo windows utilizzavo appserv:
http://www.appservnetwork.com/
e prima ancora utilizzavo easyphp.. tra i due 1000 volte appserv.. mai avuto nessun tipo di problema.
Sto scoprendo un mondo nuovo di servizi grazie a tutti voi :)
Purtroppo potrò provare tutti questi pacchetti solo in virtuale, dato che uso Linux.
Grazie Nicolas ;)
Io preferisco di gran lunga http://Uniform Server
Specialmente con le versioni non troppo recenti, basta un copia incolla nella cartella desiderata ed è fatta!
Ciao Raspo, e benvenuto su YIW.
Cosa intendi per versioni non troppo recenti? Le ultime causano problemi?
io utilizzo da anni Wamp Server.
In pratica ogni utilizza cioè che gli pare, con xamp ho avuto in passato dei problemi mi pare con l’installazione di magento.
Non credo abbia problemi di instabilità, è che più semplicemente le versioni più vecchie (tipo la 4.3 che uso correntemente) non applicano alcuna trayicon o altri servizi strani in background.
Inoltre sono molto più semplici nell’installazione, come ho già detto basta un copia/incolla e non c’è bisogno di alcuna configurazione, è già tutto predisposto per operazioni semplici tipo installare un cms… per le cose più avanzate non ne ho idea, può essere che ci sia senz’altro da smanettare un po.
Personalmente sono per l’installazione “step by step” (non solo per *AMP): deformazione professionale. Mi permette di conoscere e mettere mano ai vari settaggi e, nel caso di Linux, di esplorare il sistema operativo (sul quale spero un giorno di migrare definitivamente).
Chiamatemi fissato…ma alla fine la mia è solo fame…tanta fame…di sapere. :-)
Dopo aver letto tutti questi commenti espertissimi mi sento un po’ stupido a fare la domanda che sto per porre, ma sono desideroso di imparare wordpress e ho bisogno di installare XAMMP :P
La mia domanda si ferma al primo step: devo scaricare XAMPP o XAMMP lite? perchè in altre guide dicevano xammp lite ma non capisco perchè..
Chideso scusa per l’ignoranza, saluto e ringrazio per la guida, perchè se ce la faccio forse è la volta buona che impare davvero wordpress =D
Ciao Famba, la tua domanda non è stupida, anzi mi scuso con tutti i lettori per non aver puntualizzato questo dettaglio.
Per le cose di base (apache+mysql+php) i due pacchetti si equivalgono, la differenza sta nei componenti aggiuntivi di cui parlavo nell’altro commento che sono presenti solo nella versione normale, e poi nel fatto che la versione lite viene aggiornata meno frequentemente, quindi in caso di bug, questi verrebbero risolti prima nella versione principale.
;)
@JustB: Ho deciso di installare il pacchetto completo ed è andato tutto bene, grazie ancora!
visto che ho casualmente trovato questa comparazione e mi è tornato in mente il vostro articolo… ve lo segnalo, non si sa mai
http://en.wikipedia.org/wiki/Comparison_of_WAMPs
Wow, questa si che è un’analisi comparativa efficace!
Grazie mille SdV :)
Ciao ho letto la scheda che riguarda l’installazione di XAMPP, siccome su internet si trovano tanti tutorial su come installare Apache su windows dove posso trovare lo stesso tutorial ma per mac?
Noi del mac siamo penalizzati da questo punto
Mille grazie.
Ciao Elisa, e benvenuta su YIW.
Purtroppo non ho a disposizione un Mac per effettuare le prove, ma farò tesoro di questo tuo commento, cercando di essere più generale possibile nei prossimi articoli.
Puoi trovare una spiegazione a come installare Xampp su Mac seguendo questo link. Se riscontri dei problemi, magari possiamo cercare di risolverli insieme ;)
A presto
Mi sento tanto Sarah, ma non ho una Nanda che mi installa tutto.
Quindi mi sono cimentato in questa impresa.
Dalle spiegazioni è tutto chiaro e cristallino, sembra semplicissimo. A proposito complimenti Just ottimo articolo.
Però durante tutta la procedura a me i pulsanti Admin rimangono sempre inattivi. Lo sono tutt’ora.
Quindi sono rimasto a questo punto dell’articolo:
“Cliccando sul pulsante “Admin” relativo alla voce di Apache, potrai accedere al pannello di … ecc.”
Ma io non lo posso cliccare.
Che faccio? Naaaandaaa dove sei???
eccomiiiiiiiiiiiii =)
giovanni, seleziona i due servizi interessati con un check (“svc” Apache e MySql), e subito dopo clicca sul pulsante “start” presente accanto a ciascuno dei due servizi. questo serve ad avviare i due servizi selezionati.
dopo averli avviati potrai gestire entrambi i servizi cliccando sul pulsante “admin” che a questo punto dovrebbe essere attivo.
In effetti è quello che ho fatto. Spuntato Svc, cliccato Start, sul display messaggi mi dice Apache started ma il pulsante admin rimane sempre spento.
Ho provato ad avviare anche il pannello di controllo XAMPP come amministratore, sai com’è sVista ha le sue esigenze, ma niente da fare.
Da amministratore il messaggio è diverso, dice: Apache service started.
Tutto uguale anche se provo ad avviare MySql.
Sarà perchè l’ho installato nell’HD esterno? L’opzione di portabilità del terzo passo l’ho messa.
Sistemato tutto.
Apache un bel giorno ha iniziato a funzionare e questo è un mistero.
MySql per farlo andare ho dovuto togliere la spunta dal check svc.
Ora è tutto ok ho installato il necessario e anche il mio primo WordPress in locale.
Grazie ai vostri articoli.
W YIW
Ho letto per caso questo tutorial e i vari commenti. Per quanto riguarda la mia esperienza con xampp (anch’io inizialmente installavo tutto poi per comodità ed esigenze mi sono adeguata), vorrei precisare alcune cose.
Letta così la guida sembra ostica, quando basta scaricare il file zippato, sia esso full o lite, estrarlo ed avviare il programma semplicemente eseguendo “xampp-control. exe”. Si apre la finestra da dove avviare i due servizi che interessano ossia apache e Mysql. Con stop ed exit si chiude tutto e il programma così può essere tranquillamente spostato su chiavette o altri hard disk, comodo quando si ha questa esigenza.
Il file php.info non è necessario crearlo perchè è già presente nella pagina di xampp sul browser.
Non è vero che la lite ha ritardi sui rilasci, ma so che questa affermazione è riportata nella pagina informativa in italiano di xampp.
Senza installazione potete far coesistere diverse versioni per testare, scusate il gioco di parole, le diverse versioni di php. Questo perchè purtroppo da qualche versione non è più possibile eseguire lo switch.
Ciao a tutti, e complimenti sia per l’articolo che per i commenti…molto utili!…ho provato ad installare Xampp(wondows) sulla partizione D e non su C. Copio la cartella con il mio sito locale( per Joomla), cambio il configuration.php, installo il database…(quindi Xampp si avvia, sia apache che Mysql)…ma quando digito:”localhost/nomecartella” mi esce fuori la scritta: “Database Error: Unable to connect to the database:Could not connect to MySQL”…qualcuno ha idea di che cosa dovrei modificare nelle varie impostazioni per riuscire a farlo funzionare?
Grazie mille e…buon anno a tutti!
ciao… ho scaricato xamp per mac… ma non ho tovato come accedere alle impostazioni per la sicurezza… ovvero alle schermate che ho visto qui per windows… cosa dovrei fare???
ciao… ho scaricato xamp per mac… ma non ho tovato come accedere alle impostazioni per la sicurezza… ovvero alle schermate che ho visto qui per windows… cosa dovrei fare???
grazie paolo
Io non ho mai avuto problemi con Xampp
Ciao, sto seguendo la tua guida anche se sono su Mac OSX, l’installazione sembra andata a buon fine, arrivo fino al punto in cui si cambiano i livelli di sicurezza. Poi per testare l’installazione creo una cartella ‘miosito’ sotto alla htdocs, ci metto un file index.html ma se provo a scrivere l’indirizzo http://localhost/miosito/index.html mi esce un errore 404, oggetto non trovato, idem se scrivo solo http://localhost/miosito/
C’è qualcosa che mi sfugge?
Ciao, intanto complimenti per la guida intuitiva e dettagliata in ogni dettaglio, io ho riscontrato un problema durante il settaggio, mi spiego:
ho avviato l’installazione e ho cercato di configurare la sicurezza di XAMPP inserendo password e poi nome utente e password, questo però e quello che dice:
Queste pagine non sono accessibili da chiunque in rete (SICURO)
L’utente admin di MySQL non ha una password (INSICURO)
Qualisasi utente locale su macchine Windows può accedere al database MySQL con diritti di amministratore. Dovresti scegliere una password.
PhpMyAdmin è accessibile dalla rete (INSICURO)
PhpMyAdmin è accessibile dalla rete senza alcuna password. La configurazione ‘httpd’ or ‘cookie’ nel file “config.inc.php” è consigliata.
PHP non è in esecuzione in “safe mode” (INSICURO)
Se desideri che persone esterne eseguano PHP, prendi in considerazione la configurazione “safe mode”. Per gli sviluppatori consigliamo di NON usare la modalità “safe mode”, poiché alcune funzioni importanti non funzioneranno. Maggiori informazioni
Un server FTP non è in esecuzione o è bloccato da un firewall! N.D.
Un server FTP non è in esecuzione o è bloccato da un firewall!
Un server POP3 come Mercury Mail non è in esecuzione o è bloccato da un firewall! N.D.
Un server POP3 come Mercury Mail non è in esecuzione o è bloccato da un firewall!
Come posso risolvere il problema?
Ti ringrazio anticipatamente
con stima Carmelo
Scusami dimentivo che ho fatto i test:
Test html
Object not found!
The requested URL was not found on this server. If you entered the URL manually please check your spelling and try again.
If you think this is a server error, please contact the webmaster.
Error 404
localhost
10/12/11 14:41:10
Apache/2.2.21 (Win32) mod_ssl/2.2.21 OpenSSL/1.0.0e PHP/5.3.8 mod_perl/2.0.4 Perl/v5.10.1
Test php:
Object not found!
The requested URL was not found on this server. If you entered the URL manually please check your spelling and try again.
If you think this is a server error, please contact the webmaster.
Error 404
localhost
10/12/11 14:42:33
Apache/2.2.21 (Win32) mod_ssl/2.2.21 OpenSSL/1.0.0e PHP/5.3.8 mod_perl/2.0.4 Perl/v5.10.1
Sono un grafico e non ho mai avuto a che fare con il web, vorrei conoscere meglio wordpress e quindi fare delle prove in locale però mi sà che son partito male…spero tu mi aiutare…
Saluti
Carmelo
come si configura il 404 con xampp !??
ma non vabene va solo in localhost anche se vai a modificare hosts di windows o altro non va questo vabene solo come sviluppo e non come web server loso la tua risposta deve andare xaamvhost allow e altro ma sempre la risposta e non va come web server online
uso xampp, ho aggioranto da window 7 a window 10 e non funzionava + apache, ho cercato e trovato risposte solo in inglese, quindi posto qui come ho fatto, può essere utile a qualcuno.
Andate su Start, scrivete services.msc
Scorrete la pagina per cercare World Wide Web Publishing Service tradotto in italiano con Servizio pubblicazione web
click destro del mouse e selezionare arresto.
Salve, premetto che non sono un utente espertissimo e io mi sto avvicinando ora a questo “mondo” e quindi sono indirizzato a utilizzare il pacchetto all in one (XAMPP) che vorrei installare sul server del mio ufficio (windows server) in modo che poi tutti i client della rete intranet possano visualizzare il sito aziendale interno. L’aiuto che vi chiedo riguarda: 1) l’installazione del pacchetto sul server aziendale.
2) L’indirizzo a cui i client dovranno puntare per vedere il sito che credo non ossa essere localhost.
Grazie e complimenti per la guida.
Salve ho installato Mamp su un mac con wordpress che funge da server…e fin qui tutto ok. Come posso fare adesso per visualizzare il sito dagli altri mac e pc della mia intranet. Provo a digitare dagli altri pc l’ip del server con percorso relativo ma nulla..bisogna configurare qualcosa in Mamp o nel file di configurazione di Apache per renderlo visibile sugli altri pc e mac. Grazie