Di Stefano Salvi
Per prima cosa, fatto login come root, lanceremo dselect, scrivendo dselect dopo il prompt #, e premendo il tasto a capo:
Quindi sceglieremo la selezione pacchetti:
Ci verrà mostrata la schermata di aiuto, dalla quale usciremo premendo la barra spaziatrice:
Raggiungeremo così l'elenco dei pacchetti. Utilizzando la barra (/) entreremo nella ricerca. Cercheremo postgres ed avvieremo la ricerca premendo il tasto a capo:
Il primo pacchetto che verrà trovato non è quello che ci interessa. Passeremo al successivo utilizzando la barra rovesciata (\):
Continueremo la ricerca utilizzando la barra rovesciata (\) fino a che non troveremo postgresql-doc, che selewioneremo con il tasto ins:
Il pacchetto php4 richiede dei pacchetti aggiuntivi, per essere instllato. Ci viene quindi presentata la relativa schermata di aiuto, dalla quale usciremo premendo la barra spaziatrice:
Il sistema ci suggerisce che è anche utile installare i pacchetto doc-linux-html, pgdocs-pdf-a4, pgdocs-pdf, e doc-linux-text, quest'ultimo già installato. Spostandoci con le frecce sulla riga di doc-linux-html ci verà appunto detto ceh il pacchetto è suggerito, e lo selezioneremo con il tasto ins, quindi con il tasto a capo passeremo alla fase successiva:
Dobbiamo anche selezionare il pacchetto postgresql. Lo cercheremo co il tasto \ e lo selezioneremo con ins:
Il pacchetto postgresql richiede dei pacchetti aggiuntivi, per essere instllato. Ci viene quindi presentata la relativa schermata di aiuto, dalla quale usciremo premendo la barra spaziatrice:
Il sistema ci presenta una lista di pacchetti necessari (già slelzionati) e di pacchetti suggeriti. Dovremo selezionare libpgjava e tomcat4-webapps. Ci sposteremo quindi su questa voce con le frecce e le selezioneremo con il tasto ins:
Torneremo così all'elenco dei pacchetti. Utilizzando la barra (/) entreremo nella ricerca. Cercheremo php4-pg ed avvieremo la ricerca premendo il tasto a capo:
Raggiungiamo quindi il pacchetto php4-pgsql, che selezioneremo con il tasto ins. Passeremo quindi alla fase successiva con il tasto a capo:
Siamo di nuovo nel menù principale di dselect, ma la voce selezionata è quella del'installazione. La avvieremo con il tasto a capo:
Il sistema ci indica quanto dovrà essere recuperato dai CD (o dalla rete, se stiamo effettuando un'installazione di rete) e ci chiede se vogliamo procedere. Inseriremo il CD e premeremo il tasto a capo per proseguire:
Il sistema ci chiede quindi di inserire il quarto CD della distribuzione. Con il tasto a capo avviseremo che è inserito e che il sistema lo piò leggere:
Allo stesso modo ci verranno chiesti anche il CD 1 ed il 2, che noi inseiremo nel lettore e faremo leggere premendo il tasto a capo. Alla fine ci verrà chiesto se vogliamo aggiugere una riga che richiami il modulo Postgres alla configurazione di PHP. Con il tasto a capo accetteremo la risposta Y (yes) proseguiremo:
Ci viene poi chiesta la codifica di default per il testo in Postgres. Con il tasto a capo accetteremo la risposta NSQL_ASCII proseguiremo:
Alla fine ci verrà chiesto se vogliamo cancellare i file temporanei eventualmente scaricati se si usa la rete come sorgente. Con il tasto a capo accetteremo la risposta Y (Si) termineremo l'installazione:
Ci viene chiesto ancora di premere il tasto a capo per proseuire:
Premendo il tasto q ed il tasto a capo terminiamo l'installazione:
Ora il software necessario è installato. Non ci resta che collaudarlo. Per fare questo dovremo creare un utente del database per il web server, che usa l'utente www-data. Dovremo quindi entrare nell'utente Postgres e, con il comando createuser creare l'utente www-data:
Adesso dobbiamo entrare nell'utente www-data, creare il database www-data, entrare nell'interattivo psql, creare una tabella prova con due colonne, una chiamata nome di tipo text ed una chiamata numero di tipo integer. Inseriremo poi un paio di righe nella tabella:
A questo punto,con il nostro editor preferito, modifichialo il file public_html/index.php, con il contenuto che segue:
<html> <head> <title>Pagina di prova PHP4</title> </head> <body> <?php $connessione = pg_connect("dbname=www-data"); $risultato = pg_exec ($connessione, "select * from prova;"); print "<table align=center>\n"; print "<tr><th>Nome</th><th>Numero</th></tr>\n"; for ($i=0; $riga=@pg_fetch_object ($risultato,$i); $i++) { print "<tr><td>$riga->nome</td><td>$riga->numero</td></tr>\n"; } ?> </body> </html> |
Per attivare le modifiche, dovremo ricaricare il i moduli di apache, con il comando /etc/init.d/apache reload come nella schermata qui sotto:
Con la configurazione di default, puntando un browser sull'indirizzo IP della macchina/~utente/ (se è in rete) oppure lanciando un browser nella macchina stessa (se è installato X11 ed un browser) e puntandolo all'indirizzo localhost/~utente/, potremo vedere la pagina personale di ogni utente, che è in public_html/index.php nella directory home dell'utente:
Veniamo alla configurazione della driver JDBC per Tomcat. La driver si trova nel file /usr/share/java/postgresql.jar. Per farla vedere a Tomcat, dovremo creare un link alla libreira nella directory /usr/share/tomcat4/lib. Dopo aver fatto login come root, ci sposteremo nella directory destinazione con il comando cd /usr/share/tomcat4/lib e creeremo un soft link alla driver con il comando ln -s /usr/share/java/postgresql-7.2.jar postgresql.jar:
Occorre poi concedere alle applicazioni WEB i diritti di connettersi al port del JDBC, aggiungendo nel file /usr/share/tomcat4/conf/policy.d/04webapps.policy le righe in verde come segue:
// The permission granted to the scrape taglib
// grant codeBase "file:${catalina.home}/webapps/examples/WEB-INF/lib/scrape.jar!/-" {
// permission java.net.SocketPermission "*.noaa.gov:80", "connect";
// };
// The permission granted to your JDBC driver
Grant codeBase "file:${catalina.home}/lib/postgresql.jar!/-" {
permission java.net.SocketPermission "127.0.0.1:5432", "connect";
permission java.net.SocketPermission "127.0.0.1:5432", "resolve";
};
|
Occorre anche consentire connessioni senza controllare l'utente per Postgres, da Localhost, modificando il file /etc/postgresql/pg_hba.conf, modificando la riga in rosso:
# Put your actual configuration here
# ----------------------------------
# This default configuration allows any local user to connect as himself
# without a password, either through a Unix socket or through TCP/IP; users
# on other machines are denied access.
local all ident sameuser
host all 127.0.0.1 255.0.0.0 ident sameuser
host all 0.0.0.0 0.0.0.0 reject
|
come indicato nella riga in blu ed aggiungendo quella in verde:
# Put your actual configuration here # ---------------------------------- # This default configuration allows any local user to connect as himself # without a password, either through a Unix socket or through TCP/IP; users # on other machines are denied access. local all ident sameuser ## host all 127.0.0.1 255.0.0.0 ident sameuser host all 127.0.0.1 255.255.255.255 trust host all 0.0.0.0 0.0.0.0 reject |
Potremo poi creare, con il nostor editor preferito, nella directory /var/lib/tomcat4/webapps/examples/jsp/postgres il file vi postgres.jsp con il seguente contenuto:
<html> <head> <title>Pagina di Prova JSP/Postgres</title> </head> <%@ page language="java" import="java.sql.*" %> <body> <% Class.forName("org.postgresql.Driver"); Connection myConn=DriverManager.getConnection("jdbc:postgresql://127.0.0.1/www-data?user=www-data"); %> <table align=center> <tr><th>Nome</th><th>Numero</th></tr> <% Statement dbst = myConn.createStatement(); ResultSet rs = dbst.executeQuery("select * from prova;"); while(rs.next()) { String nome = rs.getString("nome"); int numero = rs.getInt("numero"); %> <tr><td><%= nome %></td><td><%= numero %></td></tr> <% } rs.close(); // Occorre sempre chiudere quando abbiamo finito %> </table> </body> </html> |
Raggiungeremo la pagina scritta puntando un browser sull'indirizzo IP della macchina:8180//examples/jsp/postgres/postgres.jsp (se è in rete) oppure lanciando un browser nella macchina stessa (se è installato X11 ed un browser) e puntandolo all'indirizzo localhost//examples/jsp/postgres/postgres.jsp: