Questa guida è datata. La versione aggiornata è presente al seguente link: Come installare un ambiente WAMP (Windows, Apache, MySQL, PHP) sul proprio PC (aggiornamento 2014).
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.
Per evitare problemi di permessi che possono emergere sulle ultime versioni di Windows (7) installeremo tutti questi pacchetti sotto C:wamp
.
Apache#
Passi di installazione:
- dal sitohttp://httpd.apache.org/scarichiamo i binari di una release stabile di Apache per Windows. Per esempio http://apache.fastbull.org//httpd/binaries/win32/httpd-2.2.22-win32-x86-no_ssl.msi
- lanciamo l'installer ricordandoci di:
- specificare come directory di installazione
C:wampapache2.2
; - installare Apache come servizio di sistema;
- rifarsi agli esempi dello stesso installer quando viene chiesto un nome di dominio, l'email dell'amministratore ecc. (es. miodominio.com, admin@miodominio.com, ecc.)
- specificare come directory di installazione
Uso:
per avviare, fermare o riavviare il servizio Apache si può usare il menu dell'apposita tray icon di windows o attraverso Pannello di controllo -> Strumenti di amministrazione -> Servizi
.
- Per fermare il servizio di Apache: dalla tray icon -> Apache 2.2 -> Stop
- Per avviare il servizio di Apache: dalla tray icon -> Apache 2.2 -> Start
Test:
- aprire un browser e puntarlo all'indirizzohttp://localhost/: se tutto è andato bene dovrebbe apparire la pagina htmlIt Worksche sul disco si trova sotto
C:wampapache2.2htdocs
.
Troubleshooting:
- Problema: la porta 80 è occupata da un altro programma come ad esempio skype.
- Soluzione: editare il file
C:wampapache2.2confhttpd.conf
e modificare la rigaListen 80
inListen 8080
. Quindi avviare Apache ad esempio dalla tray icon e collegarsi all'indirizzohttp://localhost:8080/(come avrete notato se la porta di ascolto è diversa dalla 80 bisogna specificarla dopo i due punti).
- Problema: Apache non parte (l'icona della tray resta lo stop rosso) ma non è chiaro il motivo.
- Soluzione: da un prompt dei comandi (cmd.exe) spostarsi in
C:wampapache2.2bin
ed eseguirehttpd.exe -e debug
: in questo modo dall'output di Apache si dovrebbe capire cosa c'è che non va.
PHP#
Passi di installazione:
- Dal sitohttp://windows.php.net/downloads/releases/archives/scegliamo una release binaria di PHP per Windows che sia stabile e compatibile con la versione di Apache installata. Per sapere che versione scegliere leggere attentamente la sezioneWhich version do I choose?dal sitohttp://windows.php.net/download/. In questo caso scegliamo la seguente: http://windows.php.net/downloads/releases/archives/php-5.3.3-Win32-VC6-x86.msi
- Lanciamo l'installer ricordandoci di:
- specificare come directory di installazione:
C:wampphp5.3
- far configurare il modulo per apache2.2 scegliendo come directory di configurazione di Apache:
C:wampapache2.2conf
- mantenere le estensioni di default preselezionate nell'installer e non variarle
- specificare come directory di installazione:
- Editiamo il file di configurazione di Apache
C:wampapache2.2confhttpd.conf
Nel tag<Directory "C:wampapache2.2htdocs">
modifichiamoOptions
eAllowOverride
come segue
Options FollowSymLinks
AllowOverride All
Nel tag dir_module modifichiamoDirectoryIndex index.html
inDirectoryIndex index.php
<IfModule dir_module>
DirectoryIndex index.php
</IfModule>
Test:
Creiamo il file
C:wampapache2.2htdocsindex.php
con il seguente contenuto<?php phpinfo(); ?>
fermiamo e riavviamo il servizio Apache;
Apriamo un browser e ci colleghiamo a
http://localhost/index.php
: se funziona dovrebbe apparire una pagina di informazioni sulla configurazione attuale di php.
Troubleshooting:
Diagnosi: Eseguire Apache in modalità debug come descritto prima nella sezione Troubleshooting di Apache. Se appaiono degli errori su dll manacanti vuol dire che è stata richiesta l'installazione di estensioni (es. Oracle) che richiedono dll esterne. Soluzione: Reinstallare PHP mantenendo le estensioni di default.
Verificare che il fileC:wampapache2.2confhttpd.conf
sia stato modificato dall'installer di PHP e che verso il fondo rechi delle direttive simile a quelle seguenti:
#BEGIN PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL
PHPIniDir "C:/wamp/php5.3/"
LoadModule php5_module "C:/wamp/php5.3/php5apache2_2.dll"
#END PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL
MySQL#
Passi di installazione:
- Dal sitohttp://www.mysql.it/downloads/mysql/scarichiamo una versione stabile per Windows di MySQL Community Server (N.B. non è necessario registrarsi c'è un link per saltare la registrazione). Per esempio:http://www.mysql.it/get/Downloads/MySQL-5.5/mysql-5.5.28-win32.msi/from/http://cdn.mysql.com/
- Lanciamo l'installer ricordandoci di:
- scegliere la modalità di installazione custom
- installare mysql sotto:
C:wampmysql
- segnarsi da qualche parte la password dell'utente root che si è scelta
Uso:
anche MySQL viene installato come servizio di sistema che parte in automatico all'avvio. Se si vuole fermare basta andare inPannello di controllo -> Strumenti di amministrazione -> Servizi
phpMyAdmin#
phpMyAdmin è un software che consente di amministrare MySQL (creare utenti di database, creare database, eseguire backup/restore, lanciare query, ispezionare il database, ecc.)
Passi di installazione:
- Dal sitohttp://www.phpmyadmin.net/home_page/downloads.phpscarichiamo l'archivio zip dei sorgenti di una versione stabile di phpMyAdmin compatibile con le versioni di PHP e MySQL che abbiamo installato in precedenza. In questo caso:http://sourceforge.net/projects/phpmyadmin/files/phpMyAdmin/3.5.3/phpMyAdmin-3.5.3-all-languages.zip/download#!md5!4821f1dc472c39d1d83ce5c5609f138d
- estraiamo l'archivio zip in
C:wamp
e rinominiamo la directoryphpMyAdmin-<versione>
inphpMyAdmin
per semplicità. Configurazione:
copiamo
C:wampphpMyAdminconfig.sample.inc.php
inC:wampphpMyAdminconfig.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! */
editiamo il file di configurazione di Apache
C:wampapache2.2confhttpd.conf
aggiungendo<Directory "C:/wamp/phpMyAdmin"> Options FollowSymLinks DirectoryIndex index.php Order allow,deny Allow from all </Directory> # Disallow web access to directories that don't need it <Directory "C:/wamp/phpMyAdmin/libraries"> Order Deny,Allow Deny from All </Directory> <Directory "C:/wamp/phpMyAdmin/setup/lib"> Order Deny,Allow Deny from All </Directory>
E dentro al tag<IfModule alias_module>
aggiungiamo l'alias
<IfModule alias_module>
Alias /phpmyadmin/ "C:/wamp/phpMyAdmin/"
- Riavviamo Apache in modo che le modifiche ai file di configurazione abbiano effetto
Test:
Ci colleghiamo ahttp://localhost/phpmyadmined eseguiamo l'accesso come root utilizzando la password scelta durante l'installazione di MySQL.
Conclusioni#
A questo punto l'ambiente WAMP è installato. Per creare nuovi database si può usare phpMyAdmin. I file php vanno messi nella directoryC:wampapache2.2htdocs<nome file>.php
e richiamati dal browser all'urlhttp://localhost/<nome file>.php
Nei prossimi articoli vedremo come, partendo da questo ambiente WAMP, installare Joomla, WordPress, Drupal e altri software basati sull'architettura LAMP/WAMP.