Avere una installazione “portabile” del mitico trio: Apache + Php + Mysql è sicuramente di interesse, alcune soluzioni come Microweb lo consentono già, con questo strumento infatti si può installare tutto il pacchetto su un cd e far girare da cd il proprio sito dinamico con anche il supporto del database.
Esiste però la possibilità di far lavorare il nostro server anche da un disco rimovibile o da una penna usb, primo vantaggio è quello che l’ambiente consente anche l’upload, la modifica di file etc.,vi spiego come:
Prima di tutto l’articolo di riferimento dove è spiegato (in inglese) il procedimento
http://www.firepages.com.au/php_usb.htm
La procedura è molto semplice; è necessario avere sul proprio pc una installazione corretta del pacchetto (apache, php, mysql)
Nella directory principale della nostra penna USB bisogna creare un file batch che lancerà da linea di comando il file start.php (vedi seguito) naturalmente lo farà utilizzando php.exe come eseguibile, il file batch conterrà questa linea:
/pdrive/php-5.0.3/php.exe -c /pdrive/php.ini -f /pdrive/start.php
Ovvero:
Percorso all’eseguibile php.exe
-c e percorso al nostro file php.ini
-f e percorso al file che verrà eseguito
I percorsi sono quelli dell’esempio, io personalmente ho rinominato la cartella “php-5.0.3” in “php” l’importante che quello che segue corrisponda alle vostre modifiche.
Ora è necessario creare una directory sulla nostra penna usb (nell’esempio “prive”) questa directory conterrà:
- una directory per l’installazione di Apache (nell’esempio Apache 2.0.50, nelle prove che ho fatto io Apache 2.0.52)
- una directory per l’installazione di Php (nell’esempio e nelle mie prove Php 5.0.3)
- Una directory per Mysql
- Una directory per i file di sessione
- Una directory per la root del sito (mettete in questa dir un file di nome info.php con il noto richiamo alla funzione <? phpinfo(); ?>)
A questo scheletro aggiungiamo (allo stesso livello) il file php.ini e il file start.php
Questo il contenuto del file start.php
<?
echo "starting MySQL ....\n";
pclose(popen(start pdrive\\mysql\\bin\\mysqld-nt.exe --basedir=/pdrive/mysql --datadir=/pdrive/mysql/data --port=3307 --console --standalone','r' ));
echo "starting apache....\n";
flush();
pclose(popen('start pdrive\\apache-2.0.50\\bin\\apache.exe','r'));
flush();
sleep(5);
echo 'opening localhost';
exec( 'start http://localhost:85/info.php');
?>
Il file lancia in sequenza mysql e apache, a seguire apre il browser predefinito sul nostro sistema per visualizzare la pagina info.php. Da quello che appare ricaviamo se la nostra installazione è andata a buon fine.
Una nota (non presente nell’articolo linkato) riguarda php4, mi sono accorto che tentando di installare il sistema con php4 avevo problemi con il percorso dei file.
Tipicamente se lavoro su un supporto rimovibile non posso assegnare un percorso assoluto, infatti su sistemi diversi potrei vedere assegnato alla mia penna un drive diverso (F: H: etc.) per questo motivo il file batch fa riferimento a percorsi relativi alla sua posizione sfruttando la proprietà di php.exe nella versione 5 che modifica il path di lavoro con quello dello script. Php.exe nella versione 4 non fa questo….
Per ovviare questo problema è necessario sostituire al file php.exe il file di uguale nome che si trova nella cartella “cli” questa versione infatti ha la proprietà di sostituire la directory di lavoro con quella dello script.
Un saluto a tutti![]()