Apache è probabilmente il più diffuso server HTTP, se siete curiosi potrete trovare in rete tantissima documentazione (partite comunque dal sito ufficiale ).
Per installarlo è sufficiente aprire un terminale e, dando per scontato che siete abilitati all'uso di sudo
, digitare:
$ sudo apt-get install apache2 apache2-mpm-prefork
Vi verrà chiesto di inserire la password del vostro account, quindi di confermare la scelta di voler installare i pacchetti selezionati.
Se non potete usare sudo
, dovrete diventare utente root digitando solo su
, quindi inserire la password di root e successivamente dare il comando per installare Apache2.
Come già detto, uno dei vantaggi di apt
è che le eventuali dipendenze verranno risolte automaticamente: quando cercheremo di installare un programma, apt
andrà ad installare anche tutti quei pacchetti che sono necessari al corretto funzionamento del software da noi voluto. Verranno inoltre elencati dei pacchetti "opzionali" che potreste volere a corredo, ma che non sono indispensabili.
Completata l'installazione, Apache2 sarà già perfettamente funzionante con la configurazione di base.
Potrete personalizzare molti aspetti del web server, dalla cartella in cui saranno depositati i files dei vostri siti fino ai Virtual Hosts ecc. ma al momento vi basti sapere che:
- I files di configurazione sono contenuti nella cartella /etc/apache2/
- La cartella usara come webroot è /var/www/
Fatte queste precisazioni, possiamo testare il web server appena installato aprendo il browser e visitando l'indirizzo http://localhost/ o l'indirizzo della rete locale (es. http://192.168.0.27) o ancora all'indirizzo http://127.0.0.1 (indirizzo di loopback). Questi sono tutti indirizzi che normalmente puntano al webserver appena installato.
Se l'installazione è andata a buon fine, dovreste poter visualizzare la pagina di default che contiene semplicemente la scritta It works!. Adesso siamo certi che Apache funziona correttamente sulla nostra Debian.
Installazione di PHP su Linux e configurazione di Apache
Passiamo ora all'installazione di PHP e di alcuni componenti aggiuntivi che ritengo utili da citare in questa guida. Digitate sul terminale:
$ sudo apt-get install php5 libapache2-mod-php5 php5-cgi php5-gd
Al termine dell'installazione, PHP è già funzionante e pronto all'uso. Nel caso si verifichino dei problemi, controllate che esista il file php.ini nella cartella /etc/php5/apache2/ e nel caso mancasse copiatelo da /usr/share/doc/php5-common/examples/ con il comando:
$ sudo cp /usr/share/doc/php5-common/examples/php.ini-recommended /etc/php5/apache2/php.ini
Aprite quindi il file appena copiato e abilitate il supporto per MySQL e per le librerie GD decommentando le linee:
;extension=mysql.so
;extension=gd.so
che potrete trovare nella sezione Dynamic Extensions. Per decommentarle, basta rimuovere il segno ;. Se per qualche strana ragione non dovessero esserci quelle righe, potete aggiungerle (senza il punto-e-virgola, ovviamente).
Abilitare PHP in Apache
Avere installato entrambi i programmi non è sufficiente per farli interagire: bisogna che Apache riconosca e sia in grado di "usare" PHP.
Ci viene incontro a2enmod
, un tool di Apache usato per abilitare i vari moduli aggiuntivi del nostro web server. La sua sintassi è:
$ sudo a2enmod php5
Una volta abilitato è necessario riavviare il server. Per farlo potete usare il seguente comando:
$ sudo /etc/init.d/apache2 restart
Per verificare che tutto funzioni correttamente, creiamo il nostro primo script in PHP e posizioniamolo nella webroot del webserver. Creiamo il file phpinfo.php che contiene:
<?php phpinfo(); ?>
Andremo a leggerlo all'indirizzo http://localhost/phpinfo.php: il risultato della funzione appena utilizzata è una schermata che contiene molte informazioni utili sul web server e sul PHP.
Installazione di MySQL su Linux Debian
Per installare il server MySQL, digitate da terminale:
$ sudo apt-get install mysql-server-5.0 php5-mysql
E come per le precedenti installazioni, il database server sarà pronto all'uso. Inoltre il pacchetto aggiuntivo php5-mysql permetterà al PHP precedentemente installato di poter interagire con il database.
Creazione della password di root per MySQL
Una precisazione molto importante: l'installazione predefinita di MySQL installa e configura un server ma senza password per l'utente root! Se il server è connesso ad internet, questo può rappresentare una gravissima falla per la sicurezza dei vostri dati.
La prima cosa da fare, quindi, è l'impostazione della password di root usando la seguente sintassi:
$ mysqladmin -u root password "vostrapassword"
Sostituendo ovviamente vostrapassword, con una password da voi scelta.
Installazione di phpMyAdmin e test del database
Uno strumento che troverete di sicura utilità è il phpMyAdmin, un'applicazione sviluppata in PHP che permette la gestione di molte funzionalità di MySQL attraverso delle comode ed intuitive interfacce web. Il phpMyAdmin permette inoltre di gestire i database e testare le query SQL.
Per installare phpMyAdmin è sufficiente digitare sul terminale:
$ sudo apt-get install phpmyadmin
Tramite phpMyAdmin possiamo testare il corretto funzionamento di MySQL: apriamo l'indirizzo http://localhost/phpmyadmin/. Se l'installazione di phpMyAdmin è andata a buon fine, si aprirà la pagina dove dovrete fare il login.
Digitare come nome utente root e come password la stessa che avete impostato durante capitolo precedente.
Premesso che MySQL memorizza le password all'interno dello stesso database, il semplice fatto di poter accedere con le credenziali su descritte è una prima garanzia di funzionamento.
Provate comunque a creare un database di prova: se la creazione viene portata a termine con successo, MySQL è stato correttamente installato.
Se avete installato phpmyadmin e all'indirizzo locale
http://localhost/phpmyadmin/
ottenete questo messaggio
Not Found
The requested URL /phpMyAdmin was not found on this server.
Apache/2.2.12 (Ubuntu) Server at localhost Port 80
è probabile che durante l'installazione ci sia stato un mancato controllo di 'Apache 2'.
Per ripetere l'installazione:
# sudo dpkg-reconfigure -plow phpmyadmin# sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf.d/phpmyadmin.conf# sudo /etc/init.d/apache2 reload