Premessa.
Nella precedente puntata ho dichiarato che avrei parlato della costruzione di un database relazionale, fase fondamentale per la realizzazione di un sito a pagine dinamiche.
Che cosa è un server?
Server in inglese significa ’servo’ e deriva dal latino servus.
Un server è una applicazione dedicata esclusivamente allo svolgimento di determinati compiti.
Apache è un webserver per il protocollo HTTP, dedicato a raccogliere le richieste dei browser e a reperire le pagine che esso stesso ospita.
Apache, sia sotto Windows che sotto Linux, mette a disposizione dell’utente una cartella unica, denominata ‘htdocs’, in cui vanno messi tutti file che si intende pubblicare.
MySql e’ un RDBMS (Relational Data Base Management System), cioè un Sistema Relazionale per la gestione di basi di dati.
Anche MySQL può essere considerato un server, dedicato però alla gestione dei dati su database. MySQL riceve istruzioni tramite il linguaggio di programmazione PHP; è compito di php gestire le richieste a MySQL e a trattare i dati così ottenuti.
Per connettersi a MySql serve un “programma client”. Ce ne sono parecchi, ma quelli in dotazione del PHP sono due estensioni denominate mysql e mysqli che, in collaborazione con la libreria LIBMYSQL.DLL e ODBC, funzionano da “client di connessione” al server MySql.
E’ importante notare che Apache, MySql e PHP sono strettamente collegati tra loro , e lavorano assieme producendo come risultato la pagina web dinamica, completa di tutti dati necessari; di conseguenza, alcuni parametri di configurazione devono mantenere una stessa linea logica.
Utilizzare AMP (Apache+MySql+Php) rappresenta un percorso più difficile e lungo, ma in compenso si possono fare cose migliori, con un maggior controllo ed un maggior grado di approfondimento.
Utilizzare invece una interfaccia grafica è più comodo e veloce, ma pone maggiori limitazioni.
Io ho usato PhpMyAdmin, scritto appunto in php, e che consente di creare e gestire database.
Anche la cartella contenente i db creati con PhpMyAdmin, e che possiamo chiamare appunto phpmyadmin, deve essere “inserita sotto “htdocs”; ad essa si accede digitando nella barra degli indirizzi del browser: http://localhost/phpmyadmin.
Ho seguito entrambe le strade.
Per di più, applicando le direttive contenute nell’ottima “pillola” di piero.mac, dal titolo Caratteristiche aggiuntive di PhpMyAdmin, posso creare anche db relazionali (cosa non possibile nella versione standard).
Infine, avendo l’accortezza di dare lo stesso nome sia al database creato con PhpMyAdmin che a quello creato utilizzando i connettori di Php al server MySql, e cioè mysql e mysqli, mi sono avvalso di entrambe le risorse, le cui potenzialità sono per me ancora per la maggior parte inesplorate! Mi chiedo: cosa non si può fare creando le fondamenta con PhpMyAdmin ed i piani alti con script php?
Il successivo paragrafo può interessare solo qualche neofita interessato alla realizzazione di un ambiente per la creazione e gestione di un database.
Chi non lo è, salti direttamente al Web 2.0, parte 2.3.
Installazione e configurazione di Apache 2.2, PHP 5.0 e MySQL 5.0 su XP.
Apache 2.2
1. Download: apache_2.2.10-win32-x86-no_ssl.msi
2. Installazione. Lanciare l’installer scaricato e seguire le istruzioni (Accetto; Read; Server information: localhost (NetworkDomain), localhost.local (ServerName), nome.cognomei@mioHost.it (e-mail Admin), for all Users, porta 80; Typical; cartella di installazione: C:\Programmi\Apache Software Foundation\Apache 2.2; Backup di sicurezza del file httpd.conf, che sta nella sotto-cartella conf di Apache 2.2
3. TEST
TEST n. 1: facendo clic_destro sull’icona di Apache (piuma con estremità verde), esce la finestra di Apache Service Monitor, che consente di avviare o arrestare il Web Server;
TEST n. 2: Facendo clic su: Start / Tutti i programmi / Apache HTTP Server 2.0.55, sono possibili le seguenti azioni: editare hpttd.conf, eseguire il Test configuration, controllare il server Apache (Start, Stop, Restart), Review Access Log, Review Error Log, Apache Online Documentation).
TEST N. 3 – “Digitare nella finestra degli indirizzi del browser: http://localhost. Se tutto è OK!,compare la scritta: It works!
MySQL 5.0
1. Download:
2. Lanciare l’installer e seguire le istruzioni a video: Typical; cartella di destinazione C:\Programmi\MySQL\MySQL Server 5.0\; Install; SI a Configura MySQL ora.
3. Alla fine dell’installazione scegliere di configurare il server
3.1. Scegliamo l’opzione “Detailed Configuration”
3.2. Impostare la tipologia come “Developer Machine” (uso principale in locale)
3.3. Al passaggio successivo selezionare “Multifunctinal Database”
3.4. Lasciare invariato il passaggio successivo (InnoDb)
3.5. N° connessioni server approssimativo: 20
3.6. Poi, selez. entrambe le opzioni, e porta di connessione al database = 3306
3.7. Impostazione caratteri: “Best Support for Multilinguism”
3.8. Selezionare: “Install as Windows Service” e “Launch the MySQL server automatically”
3.9. Password: **********; creazione utente anonimo: SI, anche se non è molto prudente.
4. Test: Start/Programmi/MySQL/MySQL Server 5.0/MySQL Command Line Client; inserire la password digitata all’atto della configurazione; dopo Invio, esce il messaggio di benvenuto, assieme ad alcune informazioni utili, ed il prompt di mysql (provare per primo il comando help, e poi status, ecc.)
PHP 5.0
1. Download di PHP 5.0
2. Installazione: Estrarre i files in C:/php
3. Rendere Php disponibile nel sistema:
3.1. Pannello di Controllo / Sistema / Avanzate / Variabili d’ambiente / Variabili di Sistema, cliccando due volte sulla variabile Path e una volta su Modifica, in fondo alla stringa contenuta nella variabile Path aggiungiamo ;C:\php, facendo attenzione a separare il valore dal precedente con un punto e virgola e a non lasciare spazi prima di ;C:\php.
3.2. Riavviare il pc.
4. TEST: Dopo aver riavviato il pc, fare in successione clic su : Start / Esegui e lanciare il comando cmd. Nella finestra DOS, digitare dopo il prompt: php –v. Il messaggio che esce assicura che il sistema ha tutte le informazioni necessarie su come raggiungere l’interprete Php.
5. Integrazione di Php come modulo di Apache:
5.1. Aprire httpd.conf con Blocco Note, e inserire alla fine della lista dei “LoadModule” questo codice:
5.1.1. LoadModule php5_module c:/php/php5apache2_2.dll
5.1.2. AddType application/x-httpd-php .php
5.1.3. PhpIniDir “C:/php”
5.2. Aggiungere index.php alla DirectoryIndex, modificandola come segue: DirectoryIndex index.html index.php
5.3. Salvare tutte le modifiche
6. Personalizzazione del file Php.ini
6.1. Tornare alla directory C:\php, rinominare il file php.ini-recommended in php.ini, e salvarne una copia.
6.2. Aprire con Blocco Note php.ini, e applicare le seguenti tre modifiche:
6.2.1. Per prima cosa, occorre trovare la direttiva extension_dir e cambiarla come segue: extension_dir = “C:/php/ext”
6.2.2. display_errors = Off, va cambiato così: display_errors = On
6.2.3. decommentare ;session.save_path = /tmp, e modificare così: session.save_path = C:/php/sessionfiles (sessionfiles è una directory vuota che occorre subito creare sotto C:\Php)
6.3. RESTART di Apache
6.3.1. Test finale con phpinfo: Creare il seguente script: , e salvarlo in htdocs con il nome “test.php”, e poi lanciarlo con il browser con il seguente indirizzo: http://localhost/test.php. Se qualcosa fosse andato storto, eliminiamo i file httpd.conf e php.ini modificati, ripristiniamo quelli di backup e ripetiamo tutte le operazioni dall’inizio.
1. Download
2. Estrarre I files appena scaricati nella cartella /ext di php (dove ci sono le estensioni sovrascrivendo le precedenti)
3. Ora, nel file php.ini aperto in precedenza decommentare le estensioni di mysql e di mysqli come segue:
3.1. extension=php_mbstring.dll
3.2. extension=php_mcrypt.dll
3.3. extension=php_mysql.dll
3.4. extension=php_mysqli.dll
3.5. php_gd2.dll (per le immagini, già decommentata precedentemente)
4. Salvare.
Installazione e configurazione di PhpMyAdmin.
1. Download
1.1. Scegliere all-languages.zip (kb 4.402): http://prdownloads.sourceforge.net/phpmyadmin/phpMyAdmin-3.0.0-alpha-all-languages.zip?download (download in atto; se problemi, seguire le indicazioni della pagina SourceForge.net)
2. Scompattare in C:/Programmi/Apache Software Foundation/Apache 2.2/htdocs. Rinominare la cartella creata con lo scompattamento con il nome di phpmyadmin
3. Aprire con WordPad (Blocco Note non va bene!) il file config.default.php, che sta in libraries; questo è il file di configurazione di PhpMyAdmin.
4. Configurazione di PhpMyAdmin (modifiche al file config.default.php):
4.1. $cfg['PmaAbsoluteUri'] = ‘http://localhost/phpmyadmin/’;
4.2. $cfg['PmaNoRelation_DisableWarning'] = true;
4.3. $cfg['Servers'][$i]['host'] = ‘localhost’;
4.4. $cfg['Servers'][$i]['port'] = ”;
4.5. $cfg['Servers'][$i]['socket'] = ”;
4.6. $cfg['Servers'][$i]['connect_type'] = ’socket’;
4.7. $cfg['Servers'][$i]['extension'] = ‘mysql’;
4.8. $cfg['Servers'][$i]['compress'] = false;
4.9. $cfg['Servers'][$i]['controluser'] = ”;
4.10. $cfg['Servers'][$i]['controlpass'] = ”;
4.11. $cfg['Servers'][$i]['auth_type'] = ‘config’;
4.12. $cfg['Servers'][$i]['user'] = ‘root’;
4.13. $cfg['Servers'][$i]['password'] = ‘**********’;
4.14. $cfg['Servers'][$i]['only_db'] = ”;
5. Salvare (ma si perde la formattazione), e riavviare il sistema.
6. Test finale: http://localhost/phpmyadmin/index.php
7. Leggere la documentazione ufficiale: http://www.phpmyadmin.net/documentation/
8. Implementare la configurazione per accedere alle funzionalità avanzate.