Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Installiamo Linux, Apache, MySQL e PHP con i pacchetti precompilati

RPM, APT e Pkgtool: come installare Linux, Apache, MySQL e PHP partendo dai pacchetti precompilati per Linux
RPM, APT e Pkgtool: come installare Linux, Apache, MySQL e PHP partendo dai pacchetti precompilati per Linux
Link copiato negli appunti

Dopo aver LAMP: Installare Apache, PHP e MySQL in ambiente Linux (Linux, Apache, MySQL, PHP) scegliendo la via della compilazione dei sorgenti,
affronteremo ora l'installazione tramite pacchetti precompilati. Quando si ha a che fare con software opensource, solitamente
la licenza impone di rendere in qualche modo disponibili i codici sorgenti dei programmi, ma sicuramente non vieta di distribuire
il software stesso anche come archivio già compilato e pronto all'uso, da cui il termine "precompilato". Praticamente tutte le attuali
distribuzioni GNU/Linux utilizzano un qualche strumento per la gestione di questi pacchetti precompilati, rendendo semplice e veloce
l'installazione (ma anche la gestione e la rimozione) dei programmi.

Lo scopo dei primi paragrafi è capire quali siano i differenti vantaggi e svantaggi nella scelta di un tipo di installazione rispetto all'altra, mentre nel resto dell'articolo vedremo come ci si deve muovere a seconda del gestore di pacchetti utilizzato. In particolare, analizzeremo l'argomento dal punto di vista degli utenti

Mandrake,
RedHat /
Fedora o
SuSE che utilizzano RPM, degli utenti
Debian che utilizzano APT e degli utenti
Slackware che utilizzano pkgtool.

Pro e contro dei precompilati

Utilizzare un precompilato significa saltare il processo di compilazione, e questo chiaramente porta con sè vantaggi e svantaggi.
Innanzi tutto, il tempo impiegato per installare un pacchetto precompilato è solitamente inferiore rispetto alla compilazione (che può
impiegare anche parecchi minuti). In secondo luogo, molti degli attuali gestori di pacchetti vanno a risolvere eventuali problemi dovuti
a dipendenze non soddisfatte: alcuni software utilizzano librerie che devono essere presenti per il corretto funzionamento del programma
stesso, per cui la loro eventuale mancanza andrebbe risolta, installando tutto quello che può servire. La compilazione manuale risulta
talvolta addirittura frustrante a causa di questo tipo di problemi.

Sembrerebbe quindi che l'utilizzo dei precompilati ci fornisca una soluzione semplice e veloce, ed in effetti questo è quasi sempre vero.
Sul piatto della bilancia dobbiamo però aggiungere il fatto che l'uso dei precompilati compromette la possibilità di avere
un'installazione personalizzata: per poter utilizzare, ad esempio, un'estensione di PHP particolare, dobbiamo in parte affidarci alla
fortuna e sperare che qualcuno abbia già compilato e reso disponibile in forma adeguata ciò che ci serve. Anche l'eventuale scelta
di percorsi di installazione specifici ci viene concessa solo scegliendo la via della compilazione.

Il succo del discorso risulta quindi essere: personalizzazione o comodità? Nessuno ci vieta di scegliere un approccio "misto" installando,
ad esempio, Apache e MySQL da pacchetti precompilati e PHP da sorgenti, nel caso in cui, per motivi di test, cambiassimo spesso le
opzioni di compilazione. In questo articolo utilizzeremo esclusivamente l'installazione dei precompilati, mentre per la compilazione dei
sorgenti si rimanda al
LAMP: Installare Apache, PHP e MySQL in ambiente Linux.

Dove trovare i pacchetti

Molti software opensource vengono rilasciati dagli stessi sviluppatori sia sotto forma di sorgenti, sia sotto forma di precompilati, per cui il primo luogo in cui cercare è il sito del software in questione. Un'alternativa, apparentemente scontata ma comunque comoda, è il/i cd-rom della propria distribuzione: le attuali distribuzioni GNU/Linux vengono rilasciate con centinaia e centinaia di programmi fornendo quindi tutti gli strumenti che possono servire. Sicuramente Apache, MySQL e PHP si trovano sul cd della nostra distribuzione (a meno che non si abbia scelto una distro minimale o particolarmente esotica).

Altro punto in cui cercare, per scaricare eventualmente le versioni più recenti dei software, è il sito della propria distribuzione, all'interno dell'archivio della release "current". Infine, è bene citare RPM Find, come motore di ricerca per i pacchetti RPM, e
Linux Packages per i pacchetti tgz di Slackware.

Installare LAMP con RPM

RPM, RedHat Packet Manager, è il gestore di pacchetti ideato da RedHat ed utilizzato anche, tra le altre, da Fedora, Mandrake e SuSE. Il suo utilizzo da linea di comando è relativamente semplice e veloce, ad esempio:

rpm -Uvh nome-pacchetto

dove l'opzione U (maiuscolo) indica di installare il pacchetto indicato o eseguirne l'aggiornamento se è già installata una versione più datata, mentre le opzioni vh fanno in modo di ottenere un output "gradevole" e facilmente comprensibile; naturalmente al posto di nome-pacchettoandrà specificato il nome del file rpm (percorso completo) che si vuole installare. Poichè RPM da solo non gestisce le dipendenze (ci mostra eventualmente che un pacchetto dipende da un altro, che andrà installato comunque a mano), diventa importante l'ordine con cui si installano i pacchetti: ad esempio, nelle release recenti di Mandrake, questi saranno i pacchetti che ci interessano:

apache-common

apache-conf

apache-modules

apache

php-common

mod_php

libmysql

libmysqlclient

php-mysql

MySQL-client

MySQL

ed andranno installati, con il comando rpm come indicato sopra, nell'ordine con cui sono stati elencati. Cambiando distribuzione (a volte anche semplicemente cambiando versione della stessa distro!) i nomi dei pacchetti tendono ad essere leggermente diversi, ma non dovrebbero esserci particolari problemi di adattamento. Tipicamente un pacchetto RPM in Mandrake assume un nome del tipo nome-X.Y.Z-mdk-i586.rpm, dove X.Y.Z è la versione del software, mdk indica che si tratta di un pacchetto Mandrake, mentre i586 indica l'architettura hardware per cui il pacchetto è stato compilato (in questo caso, Pentium e compatibili, lo "standard" è i386 per processori 386 e successivi).

Se tutto è andato a buon fine, dovremmo avere la possibilità di avviare Apache con il comando /etc/rc.d/init.d/httpd start, mentre passandogli il parametro "stop" al posto di "start" potremo naturalmente bloccarlo. Allo stesso modo: /etc/rc.d/init.d/mysql start per avviare MySQL.

Sempre facendo riferimento alle release recenti di Mandrake, la DocumentRoot di Apache, ossia la directory in cui inserire le nostre pagine web, sarà /var/www/html, mentre il file di configurazione del webserver, httpd.conf, si trova nella directory /etc/httpd/conf .

Proviamo ora a creare il file /var/www/html/info.php inserendo soltanto il classico phpinfo():
<?php phpinfo(); ?> e, dopo aver avviato httpd, puntiamo il browser all'indirizzo http://localhost/info.php: se otteniamo una pagina informativa di PHP, tutto è andato a buon fine, mentre se ci viene richiesto di effettuare il download della stessa pagina, dobbiamo inserire le seguenti righe in httpd.conf:

LoadModule php4_module libexec/libphp4.so

AddType application/x-httpd-php .php

e riavviare il server (queste righe potrebbero essere già presenti in httpd.conf ma commentate: in questo caso basta togliere il commento, ossia il simbolo "#" all'inizio della riga, e poi riavviare Apache).

Installare LAMP con APT

Gli utenti GNU/Linux che hanno optato per Debian (o una sua derivata) hanno a disposizione uno strumento molto potente per la gestione dei
pacchetti, ossia APT, Advanced Package Tool. Tra le caratteristiche di questo strumento, c'è la possibilità di risolvere automaticamente le
dipendenze tra pacchetti e di scegliere la sorgente da cui reperire il software, ad esempio il cdrom d'installazione o un archivio di pacchetti
accessibile via FTP o HTTP. In fase di installazione del sistema, APT dovrebbe già risultare predisposto per reperire i pacchetti almeno dal
cdrom, e poichè la sua configurazione esula dagli scopi di questo articolo, daremo per scontato che questo strumento sia già correttamente
funzionante.

La procedura di installazione di LAMP risulta estremamente veloce, in quanto è necessario un solo comando:

apt-get install apache php4-mysql mysql-client mysql-server

ed il gioco è fatto. È stato sufficiente lanciare il comando apt-get, componente forse più importante di APT, passandogli come primo parametro
"install", perchè appunto stiamo installando un software, seguito dalla lista dei pacchetti che ci interessano.

APT ci chiederà se vogliamo avviare MySQL al boot: se si tratta della nostra postazione desktop, probabilmente non ne abbiamo bisogno. Inoltre
ci verrà posta la domanda "Remove all databases after "purging" the mysql-server package?", alla quale ci converrà rispondere "N" per
evitare di perdere i database nel caso in cui decidessimo di disinstallare MySQL.

A questo punto per avviare Apache basterà, in maniera analoga a quanto già visto per Mandrake, digitare
/etc/init.d/httpd start utilizzando invece "stop" per bloccare il server. Per MySQL la procedura sarà identica, sostituendo ovviamente "httpd" con "mysql".

Quello che cambia leggermente sono i percordi di installazione: la DocumentRoot di Apache risulta essere /var/www, mentre il file di configurazione httpd.conf si trova in /etc/apache. Possiamo effettuare ora la prova del phpinfo() già analizzata per Mandrake, assicurandoci prima che in httpd.conf siano già decommentate le due stringhe relative a PHP indicate alla fine del paragrafo precedente (il percorso di libphp4.so viene specificato per intero, ma ciò non fa differenza in quanto ci basta togliere il simbolo "#" all'inizio della riga).

Installare LAMP con pkgtool

Anche Slackware, contrariamente a quanto pensano molti utenti disinformati, ha un suo gestore dei pacchetti chiamato pkgtool , che, per quanto elementare possa sembrare, fa comunque il suo lavoro.

I pacchetti precompilati utilizzati da Slackware hanno estensione .tgz e questo tende a confondere
le idee, in quanto la stessa estensione è utilizzata anche per alcuni normali archivi compressi. Normalmente però un pacchetto Slackware precompilato ha all'interno del suo nome anche il riferimento all'architettura hardware per cui è stato predisposto, ad esempio nome-X.Y.Z-i386.tgz. I pacchetti Slackware ufficiali vengono normalmente suddivisi in categorie, che corrispondono ciascuna ad una sottodirectory sia sul cdrom di installazione, sia sui mirror da cui scaricare eventualmente le ultime versioni dei programmi. Per Apache e PHP la categoria è indicata dalla lettera "n", che sta per "net" (applicativi di rete), mentre per MySQL faremo riferimento alla categoria "ap", ossia "application" (applicativi generici). Una volta localizzati i pacchetti che ci interessano, per installarli sarà sufficiente utilizzare il comando installpkg, che fa parte di pkgtool: installpkg nomepacchetto.

La risoluzione delle dipendenze va gestita a mano, valutando eventuali messaggi d'errore ed installando quello che può servire. L'ordine dei pacchetti risulta essere quindi importante, per cui Apache e MySQL andrebbero installati prima di PHP.

Completata la procedura di installazione, potremo avviare il webserver con l'usuale comando: apachectl start mentre utilizzando lo stesso comando con il parametro "stop" il risultato sarà l'arresto di Apache.

Per avviare MySQL invece:
safe_mysqld & mentre per arrestarlo mysqladmin shutdown utilizzando però eventuali parametri che possono servire (tipicamente, il riferimento alla password: vedi l'articolo
sull'LAMP: Installare Apache, PHP e MySQL in ambiente Linux).

È bene controllare che in httpd.conf ci siano le usuali stringhe relative a PHP ("LoadModule" e "AddType", vedi paragrafi precedenti). Il file di configurazione di Apache si troverà in /etc/apache, mentre la DocumentRoot risulta essere /var/www/htdocs: una volta raggiunta questa directory possiamo testare la solita pagina con phpinfo() e valutare il risultato. Slackware utilizza un sistema di avvio in stile BSD, che è diverso da quello in stile SysV utilizzato da Debian e Mandrake: per evitare che Apache
venga avviato al boot del sistema, è sufficiente togliere i permessi di esecuzione sul file /etc/rc.d/rc.httpd: chmod -x /etc/rc.d/rc.httpd.

Considerazioni finali

Talvolta le differenze tra le varie distribuzioni GNU/Linux creano disguidi o incomprensioni tra gli utenti. Con questa guida speriamo di aver chiarito almeno alcuni dei dubbi che ruotano attorno all'installazione di LAMP da precompilati. È caldamente consigliato approfondire meglio il funzionamente dei vari gestori di pacchetti, leggendo le rispettive man pages. Non abbiamo fornito una risposta precisa alla domanda "Meglio sorgenti o precompilati?", ma le informazioni presenti nei due articoli dovrebbero aiutare a capire quale sia la scelta più appropriata a seconda
delle proprie necessità.

Ti consigliamo anche