Come installare un ambiente WAMP (Windows, Apache, MySQL, PHP) sul proprio PC (aggiornamento 2014)

[Voti: 80    Media Voto: 4.3/5]

Come installare un ambiente WAMP

La presente guida è la versione aggiornata di quella scritta più di un anno fa Come installare un ambiente WAMP (Windows, Apache, MySQL, PHP) sul proprio PC.

Questa volta però oltre a descrivere il procedimento di installazione dell’ambiente WAMP abbiamo deciso di fornire due archivi già pronti per chi va di fretta.

Perchè un ambiente WAMP ?

La maggior parte dei siti web oggi in circolazione si basa su una soluzione a stack di software open source nota come LAMP: Linux, Apache, MySQL e PHP (Se al posto di Linux c’è Windows si parlerà di WAMP).

  • Apache HTTP Server è il web server più diffuso, infatti più del 60% dei siti web viene servito da questo web server (fonti: W3Techs, BuiltWith)
  • MySQL è il database relazionale più famoso e utilizzato al mondo (fonte: Wikipedia)
  • PHP è il linguaggio server-side più famoso e utilizzato al mondo (fonti: W3Techs, BuiltWith)

Per fare qualche esempio, i seguenti software e di consegunza tutti i siti che ne fanno uso, si basano sulle tecnologie Apache, MySQL e PHP.

  • CMS: WordPress, Drupal, Joomla
  • E-commerce: Magento, Prestashop, osCommerce, VirtueMart
  • Wiki: MediaWiki, DokuWiki
  • CRM: vTiger, sugarcrm

Vediamo allora come installare sul proprio PC Windows una piattaforma WAMP: in questo modo sarà possibile provare in locale uno qualsiasi dei software sopra citati prima di effettuarne il deploy in un ambiente di produzione come può essere un servizio di hosting su internet.

Alcuni casi in cui questa soluzione è particolarmente utile:

  • Vogliamo provare una nuova estensione da aggiungere al nostro sito Joomla;
  • Vogliamo realizzare il nostro sito web in locale per poi pubblicarlo online;
  • Vogliamo imparare ad utilizzare un nuovo CMS/E-Commerce/CRM/…

Sulla rete si trovano dei programmi che automatizzano l’installazione di un ambiente WAMP, ma è meglio imparare a installare le singole parti una alla volta per due motivi:

  • Si vuole poter ricreare esattamente le condizioni del servizio di hosting, intese come versioni dei singoli pacchetti;
  • Si vuole capire dove mettere le mani per risolvere eventuali problemi che si possono presentare in fase di deploy del nostro sito web;

Per questo motivo nel seguito di questo tutorial vedremo come installare e testare in ordine: Apache, PHP, MySQL e la sua interfaccia di amministrazione phpMyAdmin.

Ho fretta, voglio l’archivio WAMP già pronto!

In questa versione della guida abbiamo pensato anche a chi va di fretta e vuole un ambiente wamp pronto da scaricare per fare delle prove.
Abbiamo quindi preparato due archivi seguendo il procedimento descritto in questa guida:

Una volta scelto il pacchetto da scaricare basta seguire i seguenti punti:

  • scaricare uno dei due pacchetti WAMP già pronti ed estrarlo sotto C:;
  • verificare che dopo l’estrazione siano state create le due directory C:\wamp14 e C:\workspace;
    • C:\wamp14 contiene gli eseguibili e lo stack WAMP;
    • C:\workspace contiene il phpmyadmin e tutti i file html o php che si vorranno utilizzare.
  • installare i due eseguibili presenti in C:\wamp14\redist;
  • lanciare apache manualmente in modalità debug avviando il bat C:\wamp14\apache_start.cmd
  • verificare il funzionamento di apache e php collegandosi con un browser a http://localhost:8014/phpinfo.php
  • lanciare mysql manualmente avviando il bat C:\wamp14\mysql_start.cmd
  • verificare il funzionamento di mysql collegandosi all’interfaccia di amministrazione di MySQL: phpMyAdmin http://localhost:8014/phpmyadmin. Le credenziali di accesso sono utente root e senza passaword.
  • se si è scaricato l’archivio contenente anche Joomla e WordPress si possono provare raggiungendoli rispettivamente agli indirizzi seguenti:
  • se tutto funziona si può decidere di avviare automaticamente Apache e MySQL come servizi all’avvio del PC. Per farlo basta eseguire i due bat C:\wamp14\apache_install.cmd e C:\wamp14\mysql_install.cmd. Al prossimo riavvio i due servizi verranno eseguiti in automatico.

Voglio capire tutti i passi di installazione e crearmi la mia installazione WAMP

Per evitare problemi di permessi che possono emergere sulle ultime versioni di Windows (7) installeremo tutti questi pacchetti sotto C:\wamp14.
La directory C:\workspace sarà invece deputata a contenere tutti i nostri file html/php o le varie installazioni di Joomla, WordPress o di qualsiasi applicazione PHP di nostro interesse.

Nel seguito viene descritto come installare Apache, PHP, MySQL e phpMyAdmin.

Apache

Passi di installazione:


< ServerRoot "c:/Apache24"
> ServerRoot "c:/wamp14/apache2.4"

< Listen 80
> Listen 8014

< DocumentRoot "c:/Apache24/htdocs"
> DocumentRoot "c:/workspace"

< <Directory "c:/Apache24/htdocs">
> <Directory "c:/workspace">

<     AllowOverride None
>     AllowOverride All

<     ScriptAlias /cgi-bin/ "c:/Apache24/cgi-bin/"
>     ScriptAlias /cgi-bin/ "c:/wamp14/apache2.4/cgi-bin/"

< <Directory "c:/Apache24/cgi-bin">
> <Directory "c:/wamp14/apache2.4/cgi-bin">

  • se non l’abbiamo ancora fatto creiamo la directory C:\workspace e copiamoci dentro il file di prova C:\wamp14\apache2.4\htdocs\index.html

Uso:

Apache può essere utilizzato in modalità standalone o può essere installato come servizio di sistema.
In entrambi i casi è necessario lanciare le opportune operazioni dalla directory bin di apache.
Per prima cosa aprire il prompt dei comandi cmd.exe e posizionarsi nella directory bin di apache: cd C:\wamp14\apache2.4\bin

A questo punto è possibile eseguire vari comandi:

  • Apache in modalità standalone:
    • avviare apache in modalità debug: httpd.exe -e debug (Ctrl+C per terminarlo);
    • terminare apache: chiudere il prompt dei comandi o terminarlo con Ctrl+C ;
  • Apache come servizio di sistema:
    • Installare apache come servizio di sistema in modo che parta automaticamente all’avvio del computer: httpd.exe -k install
    • Disinstallare il servizio apache: httpd.exe -k uninstall
    • Avvaire apache come servizio: httpd.exe -k start
    • Fermare il servizio apache: httpd.exe -k stop
    • Riavviare il servizio apache: httpd.exe -k restart

Test:

  • avviare apache in una delle modalità sopra descritte;
  • aprire un browser e puntarlo all’indirizzo http://localhost:8014/: se tutto è andato bene dovrebbe apparire la pagina html It Works che sul disco si trova sotto C:\workspace.

Troubleshooting:

  • Problema: Apache non parte, ma non è chiaro il motivo.
  • Soluzione: da un prompt dei comandi (cmd.exe) avviare apache in modalità debug.

PHP

Passi di installazione:


<     Options Indexes FollowSymLinks
>     Options Indexes FollowSymLinks ExecCGI

<     DirectoryIndex index.html
>     DirectoryIndex index.php index.html

> LoadModule fcgid_module modules/mod_fcgid.so
> 
> FcgidInitialEnv PATH "c:/wamp14/php5.3;C:/WINDOWS/system32;C:/WINDOWS;C:/WINDOWS/System32/Wbem"
> FcgidInitialEnv SystemRoot "C:/Windows"
> FcgidInitialEnv SystemDrive "C:"
> FcgidInitialEnv TEMP "C:/WINDOWS/Temp"
> FcgidInitialEnv TMP "C:/WINDOWS/Temp"
> FcgidInitialEnv windir "C:/WINDOWS"
> FcgidBusyTimeout 300
> FcgidIOTimeout 300
> FcgidIdleTimeout 300
> FcgidConnectTimeout 16
> FcgidMaxRequestsPerProcess 1000 
> FcgidMaxProcesses 50 
> FcgidMaxRequestLen 8131072
> # Location php.ini:
> FcgidInitialEnv PHPRC "c:/wamp14/php5.3"
> FcgidInitialEnv PHP_FCGI_MAX_REQUESTS 1000
> 
> AddHandler fcgid-script .php
> FcgidWrapper "c:/wamp14/php5.3/php-cgi.exe" .php  

  • Copiamo il file di configurazione di esempio del php C:\wamp14\php5.3\php.ini-development sul file C:\wamp14\php5.3\php.ini
  • Editiamo il file di configurazione del php C:\wamp14\php5.3\php.ini come segue:

< max_execution_time = 30
> max_execution_time = 120

< display_errors = On
> display_errors = Off

< display_startup_errors = On
> display_startup_errors = Off

< html_errors = On
> html_errors = Off

< ;error_log = php_errors.log
> error_log = "c:\workspace\php-errors.log"

< ; extension_dir = "ext"
> extension_dir = "c:\wamp14\php5.3\ext"

< upload_max_filesize = 2M
> upload_max_filesize = 20M

> upload_tmp_dir="C:\windows\Temp"
> session.save_path="C:\windows\Temp"

< ;extension=php_bz2.dll
> extension=php_bz2.dll

< ;extension=php_curl.dll
> extension=php_curl.dll

< ;extension=php_gd2.dll
> extension=php_gd2.dll

< ;extension=php_gettext.dll
> extension=php_gettext.dll

< ;extension=php_mbstring.dll
> extension=php_mbstring.dll

< ;extension=php_exif.dll      ; Must be after mbstring as it depends on it
> extension=php_exif.dll      ; Must be after mbstring as it depends on it

< ;extension=php_mysql.dll
> extension=php_mysql.dll

< ;extension=php_mysqli.dll
> extension=php_mysqli.dll

< ;extension=php_openssl.dll
> extension=php_openssl.dll

< ;extension=php_pdo_mysql.dll
> extension=php_pdo_mysql.dll

< ;extension=php_pdo_odbc.dll
> extension=php_pdo_odbc.dll

< ;extension=php_soap.dll
> extension=php_soap.dll

< ;extension=php_sockets.dll
> extension=php_sockets.dll

< ;extension=php_sqlite3.dll
> extension=php_sqlite3.dll

< ;extension=php_xmlrpc.dll
> extension=php_xmlrpc.dll

< ;extension=php_zip.dll
> extension=php_zip.dll

< mysqlnd.collect_memory_statistics = On
> mysqlnd.collect_memory_statistics = Off

< session.bug_compat_42 = On
> session.bug_compat_42 = Off

< session.bug_compat_warn = On
> session.bug_compat_warn = Off

Test:

  • Creiamo il file C:\workspace\phpinfo.php con il seguente contenuto

<?php
phpinfo();
?>

  • fermiamo e riavviamo Apache in una delle modalità sopra descritte;
  • apriamo un browser e ci colleghiamo a http://localhost:8014/phpinfo.php : se funziona dovrebbe apparire una pagina di informazioni sulla configurazione attuale di php.

Troubleshooting:

Diagnosi: Eseguire Apache in modalità debug come descritto precedentemente e vedere gli errori riportati.

MySQL

Passi di installazione:

Uso:

Anche MySQL, come Apache, può essere eseguito in modalità standalone o può essere installato come servizio di sistema.
In entrambi i casi è necessario lanciare le opportune operazioni dalla directory bin di MySQL.
Per prima cosa aprire il prompt dei comandi cmd.exe e posizionarsi nella directory bin di MySQL: cd C:\mysql5.6\bin

A questo punto è possibile eseguire vari comandi:

  • MySQL in modalità standalone:
    • avviare MySQL: mysqld.exe --standalone (Ctrl+C per terminarlo);
    • terminare MySQL: mysqladmin.exe -u root -p shutdown;
  • MySQL come servizio di sistema:
    • Installare MySQL come servizio di sistema in modo che parta automaticamente all’avvio del computer: mysqld.exe --install
    • Disinstallare il servizio apache: mysqld.exe --remove

Nota: l’utente amministratore di MySQL è root e non ha password.

phpMyAdmin

phpMyAdmin è un software scritto in php che consente di amministrare dei database MySQL (creare utenti di database, creare database, eseguire backup/restore, lanciare query, ispezionare il database, ecc.)

Passi di installazione:

  • Dal sito http://www.phpmyadmin.net/home_page/downloads.php scarichiamo l’archivio zip dei sorgenti di una versione stabile di phpMyAdmin compatibile con le versioni di PHP e MySQL che abbiamo installato in precedenza. Ad esempio: phpMyAdmin-4.1.7-all-languages.zip;
  • Estraiamo l’archivio zip in C:\workspace\phpmyadmin;
  • Configurazione:
    • copiamo C:\workspace\phpmyadmin\config.sample.inc.php in C:\workspace\phpmyadmin\config.inc.php e lo editiamo assegnando alla variabile $cfg['blowfish_secret'] un valore a caso come nell’esempio seguente.
      $cfg['blowfish_secret'] = 'jasghfsafuiihqwbc87234uiewjhbd37887rgut9b4'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
      e impostiamo la variabile $cfg['Servers'][$i]['AllowNoPassword'] a true per consentire la login senza password.
      $cfg['Servers'][$i]['AllowNoPassword'] = true;

Test:

Ci colleghiamo a http://localhost:8014/phpmyadmin ed eseguiamo l’accesso con l’utente root e senza password.

Garda Informatica

Garda Informatica

Garda Informatica sviluppa software su misura nella forma di Web Application, App Ibride per iOS/Android/Windows Phone, Crawler Web, Gestionali Web o semplici Connettori per l'integrazione tra software di terze parti.
Garda Informatica

12 commenti su “Come installare un ambiente WAMP (Windows, Apache, MySQL, PHP) sul proprio PC (aggiornamento 2014)”

  1. ciao, volevo farti una domanda in merito alla fase di configurazione PHP.
    Nella parte di configurazione del file httpd.conf da “> FcgidInitialEnv PATH” fino “> FcgidWrapper “c:/wamp14/php5.3/php-cgi.exe” .php” dove va inserito?

    1. Puoi inserirla alla fine del file httpd.conf, ma attenzione a non aggiungere il carattere >. Il carattere > serve solo nella guida a far capire cosa va aggiunto.

  2. Finalmente! la magia delle cose semplici. Ottima idea quella di “pacchettizzare” la soluzione con prodotti compatibili e installabili in un unico task. Complimenti anche e soprattutto per le spiegazioni semplici e chiare, anche per i “non proprio specialisti”

  3. Davvero i miei complimenti! è una guida piuttosto completa, sprattutto per chi come me si sta avviando per la prima volta all’impiego di questi strumenti…Purtroppo i vari software si evolvono molto rapidamente, quindi prodotti del 2014 non sono proprio esattamente uguali a quelli di ott 2015, e questo comporta probab leggere differenze, ad esempio nelle impostazioni dei file di configurazione. Comunque, faccio di nuovo i miei complimenti, anche perchè è un buon modo per “iniziare bene”: si viene sì supportati, ma ci si devono mettere un po’ anche “del nostro” … e alla fine si ha soddisfazione!. Ciao!

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Inviando i dati del form accetti le condizioni sulla privacy