Installare un ambiente LAMP: Linux, Apache2, SSL, MySQL, PHP5: differenze tra le versioni

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca
Riga 141: Riga 141:
Scegliete '''solo''' quelli che vi servono e installateli nel solito modo:
Scegliete '''solo''' quelli che vi servono e installateli nel solito modo:
<pre>
<pre>
aptitude install php5-mysql php5-curl php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-mhash php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl php5-json
aptitude install php5-mysql php5-curl php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt
php5-memcache php5-mhash php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy
php5-xmlrpc php5-xsl php5-json
</pre>
</pre>
==Installazione di MySQL==
==Installazione di MySQL==
L'installazione del RDBM MySQL è semplice:
L'installazione del RDBM MySQL è semplice:

Versione delle 22:15, 28 ott 2009

Installare un ambiente LAMP: Linux, Apache2, SSL, MySQL, PHP5

Introduzione

LAMP è un acronimo che indica un ambiente server in cui siano installati Linux, Apache, MySQL e PHP. In questa guida vedremo come installare un server Apache2 su Debian, come configurare il modulo SSL e come fornire supporto per il linguaggio di scripting PHP5 e i database basati su MySQL.
In tutta la guida assumeremo che il nome del server Debian sia demo e il suo indirizzo IP sia 123.45.6.7.890. Questi valori vanno ovviamente sostituiti con quelli del vostro ambiente di lavoro.

Installazione di Apache2

Installare il web server Apache2 su Debian è un'operazione molto semplice:

aptitude install apache2-mpm-prefork apache2-utils libexpat1

Probabilmente noterete, all'avvio del web server, il messaggio di avvertimento

apache2: Could not reliably determine the server's fully qualified domain name,
using 127.0.0.1 for ServerName

Per eliminarlo è sufficiente aprire il file di configurazione di Apache2

nano /etc/apache2/apache2.conf

e aggiungere la direttiva

ServerName demo

Quindi riavviate Apache2 per fargli digerire le modifiche:

apache2ctl graceful

A questo punto aprite il vostro browser preferito e navigate verso l'indirizzo http://123.45.67.890. Sarete accolti dalla pagina di benvenuto del vostro web server: It Works!

Configurazione di SSL

Le connessioni sicure SSL sono vitali per le aree di amministrazione dei nostri siti, poichè assicurano segretezza e protezione alle password che digitiamo. In questa sezione vedremo come configurare un certificato auto-firmato e come creare un virtual host sulla porta https (443) per le nostre connessioni.
NOTA: i certificati auto-firmati, poichè non verificati da un'autorità internazionale, generano nel browser un messaggio di avvertimento. Per questo motivo sono adatti in ambienti intranet o su server dove il traffico https serve solo per amministrazione e non per fornire servizi a utenti esterni.

Installazione

Creiamo inannzitutto una directory dove archiviare i nostri certificati:

mkdir /etc/apache2/ssl

Quindi creiamo i nostri certificati:

openssl req -new -x509 -days 365 -nodes -out /etc/apache2/ssl/apache.pem -keyout /etc/apache2/ssl/apache.pem

L'output iniziale del comando sarà:

Generating a 1024 bit RSA private key
...........++++++
...........++++++
writing new private key to '/etc/apache2/ssl/apache.pem'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----

e poi ci verrà posta una serie di domande:

Country Name (2 letter code) [AU]: IT
State or Province Name (full name) [Some-State]: Lodi
Locality Name (eg, city) []: S. Angelo Lodigiano
Organization Name (eg, company) [Internet Widgits Pty Ltd]: Compagnia di Test
Organizational Unit Name (eg, section) []: Divisione IT
Common Name (eg, YOUR name) []: demo.dominio.local
Email Address []: webmaster@dominio.local

Rispondete ovviamente inserendo i parametri più adatti al vostro caso.
Adesso che abbiamo i certificati piazzati al loro posto non dobbiamo far altro che abilitare Apache mod_ssl:

a2enmod ssl

Configurazione dei Virtual Host

Iniziamo con l'abilitare la porta 443 del nostro default host:

nano /etc/apache2/sites-available/default

All'inizio del file troveremo le voci:

NameVirtualHost *

<VirtualHost *>
...

Modifichiamole in questo modo:

NameVirtualHost *:80
NameVirtualHost *:443

<VirtualHost *:80>
...
...
</VirtualHost>

<VirtualHost *:443>
...
...
</VirtualHost>

e aggiungiamo infine le seguenti due linee:

SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.pem

Un riavvio di Apache2 caricherà la nuova configurazione:

/etc/init.d/apache2 force-reload

Installazione di PHP5

Per avere il supporto a PHP5 è sufficiente installare il linguaggio di scripting e il relativo modulo di supporto ad Apache2:

aptitude install php5 libapache2-mod-php5

A questo punto un riavvio di Apache è sufficiente:

/etc/init.d/apache2 reload

Test della configurazione

Prima di procedere è una buona idea verificare che tutto ciò che abbiamo fatto funzioni realmente. Per questo utilizziamo il metodo phpinfo di PHP5 caricandolo in una pagina di test. Partiamo col creare il file della pagina di test:

nano -w /var/www/test.php

Quindi riempiamolo in questo modo:

<html>
<head>
<title> PHP Test Script </title>
</head>
<body>
<?php
phpinfo( );
?>
</body>
</html>

salviamo il file e richiamiamolo nel nostro browser: http://123.45.67.890/test.php. Se tutto è andato per il verso giusto vi troverete davanti a una schermata di riepilogo delle funzionalità abilitate di PHP5.

Moduli aggiuntivi

Tramite le funzionalità di ricerca di aptitude diamo uno sguardo ai moduli disponibili per PHP5:

aptitude search php5

Scegliete solo quelli che vi servono e installateli nel solito modo:

aptitude install php5-mysql php5-curl php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt
php5-memcache php5-mhash php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy
php5-xmlrpc php5-xsl php5-json

Installazione di MySQL

L'installazione del RDBM MySQL è semplice:

aptitude install mysql-server mysql-client

Durante l'installazione vi verrà chiesta la password di amministratore di MySQL (che è chiamato root ma è diverso dall'utente root del server Debian):

New password for the MySQL "root" user: <-- LAMIAPASSWORD
Repeat password for the MySQL "root" user: <-- LAMIAPASSWORD
<pre>
La password che sceglierete sarà valida sia per l'utente MySQL root@localhost sia per l'utente root@demo.
===L'interfaccia phpMyAdmin===
Per amministrare i nostri database può essere comoda un'interfaccia grafica raggiungibile da browser. A questo scopo installiamo '''phpMyAdmin''':
<pre>
aptitude install phpmyadmin

Durante l'installazione vi verrà chiesto di indicare il web server in esecuzione sulla vostra machina. Indicate apache2:

Web server to reconfigure automatically: <-- apache2

A questo punto lanciate il browser su http://123.45.67.890/phpmyadmin e fate login con le credenziali di root di MySQL inserite poco fa.