Sandbox: differenze tra le versioni

nessun oggetto della modifica
Nessun oggetto della modifica
Nessun oggetto della modifica
Riga 1: Riga 1:
Questa è la Sandbox, cioè la lettiera per i vostri bisognini ;-).
==Introduzione==
Lo scopo di questa guida � quello di guidarvi nella realizzazione di un server web che renda disponibili pagine web agli utenti ed un database server in cui memorizzare i dati di cui gli utenti stessi hanno bisogno. Sul server web verranno installati i software Apache e PHP, mentre sul database server verr� installato Oracle Server 10g XE, una versione free del pi� blasonato DBMS, disponibile anche per il pinguino, seppur con alcune limitazioni di cui parler� in seguito.
La configurazione proposta prevede due macchine distinte, ma nulla vieta, ad esempio, di implementare sia il web server, sia il db server sulla medesima macchina, oppure di servirsi di macchine virtuali.
Come primo argomento affronter� l'installazione e la configurazione di Oracle Server 10g XE, quindi passer� alla spiegazione delle fasi di compilazione dei sorgenti e di configurazione dei software Apache e PHP e degli strumenti per farli interagire con una base di dati Oracle.
Una domanda a questo punto sorge spontanea: perch� utilizzare Oracle quando esistono alternative open source altrettanto valide come MySQL? E' una domanda che mi sono posto anche io e alla quale posso darvi una semplice risposta: curiosit�! Oracle ha fatto un passo in avanti molto importante verso il mondo del software open rilasciando questa versione del suo DBMS anche per noi utenti del pinguino, quindi perch� non tendere una mano a nostra volta?


Usate questa pagina per fare delle prove, potete scrivere quello che volete e provare tutte le formattazioni che vi vengono in mente, ma per favore non cancellate questa pagina, ne siate volgari.
==Installazione di Oracle Server 10g XE==
Sul sito di Oracle Corp., previa procedura di registrazione, sono disponibili i pacchetti per Debian, Ubuntu, Suse e Red Hat/Fedora di Oracle Server 10g XE con una serie di limitazioni rispetto alla versione a pagamento:


Per informazioni sull'editing:
* se Oracle Server 10g XE viene installato su un computer con pi� di una CPU (incluse anche le CPU dual core), esso utilizzer� esclusivamente le risorse di una sola CPU
* su un singolo computer pu� essere effettuata l�installazione di una sola copia di Oracle 10g XE; in aggiunta, gli utenti possono far girare una sola istanza del database Oracle su ciascun computer. Quest�ultima limitazione pu� comunque essere aggirata in quanto, anche sulla stessa installazione di Oracle 10g XE possono convivere pi� schemi, ciascuno dei quali contenente le proprie tabelle. Di fatto, � come se sulla stessa macchina fossero presenti pi� database simultaneamente
* la quantit� massima di dati contenuta in un database Oracle 10g XE non pu� superare i 4 gigabytes di spazio disco, tuttavia se i dati degli utenti dovessero superare tale quota, il sistema invierebbe l�errore ORA-12592
* la quantit� massima di memoria RAM che il server Oracle 10g XE utilizza non pu� eccedere un gigabyte, anche se ne � disponibile una quantit� maggiore. La quantit� di memoria totale utilizzata dal server Oracle viene ricavata come somma della System Global Area (SGA) e della Program Global Area (PGA) aggregata
* il protocollo HTTPS (Secure HTTP) non � supportato nativamente dal listener HTTP presente in Oracle 10g XE, quindi � necessario far uso di un web server, come Apache, che supporti tale protocollo


* [[Help:Editing]]
Limitazioni a parte, Oracle Server 10g XE resta, a mio avviso, un buon prodotto che so essere utilizzato con successo da molte universit� sul territorio italiano.
Una volta effettuato il download del pacchetto, l'installazione di Oracle Server 10g XE si riduce al seguente comando:


<pre>
# dpkg i oracle-xe-10.2.0.1.deb
</pre>


'''Prove:'''
L'installazione di Oracle Server 10g XE richiede la presenza di alcuni pacchetti che vanno installati, se non presenti (sulla mia Debian 4.0 R3 netinst non lo erano, ad esempio), ossia:


Punto moltiplicativo: 2 &middot; 6 = 17
* bc
* libaio1
* libxml2
* libxml2-dev
* libxml2-utils
* python-libxml2


Lettera 'e' maiuscola accentata: &Egrave;
E' possibile aggiungere questi pacchetti con il comando seguente:


{| border="1"
<pre>
|+ ''Lista caratteri speciali HTML 4''
# apt-get install bc libaio1 libxml2 libxml2-dev libxml2-utils python-libxml2
!width="100"|Nome
</pre>
!width="100"|Simbolo
!width="300"|Descrizione
|-
| nbsp || align="center" | "&nbsp;" || no-break space = non-breaking space,
|-
| iexcl || align="center" | "&iexcl;" || inverted exclamation mark, U+00A1 ISOnum
|-
| cent || align="center" | "&cent;" || cent sign, U+00A2 ISOnum
|-
| pound || align="center" | "&pound;" || pound sign, U+00A3 ISOnum
|-
| curren || align="center" | "&curren;" || currency sign, U+00A4 ISOnum
|-
| yen || align="center" | "&yen;" || yen sign = yuan sign, U+00A5 ISOnum
|-
| brvbar || align="center" | "&brvbar;" || broken bar = broken vertical bar,
|-
| sect || align="center" | "&sect;" || section sign, U+00A7 ISOnum
|-
| uml || align="center" | "&uml;" || diaeresis = spacing diaeresis,
|-
| copy || align="center" | "&copy;" || copyright sign, U+00A9 ISOnum
|-
| ordf || align="center" | "&ordf;" || feminine ordinal indicator, U+00AA ISOnum
|-
| laquo || align="center" | "&laquo;" || left-pointing double angle quotation mark
|-
| not || align="center" | "&not;" || not sign, U+00AC ISOnum
|-
| shy || align="center" | "&shy;" || soft hyphen = discretionary hyphen,
|-
| reg || align="center" | "&reg;" || registered sign = registered trade mark sign,
|-
| macr || align="center" | "&macr;" || macron = spacing macron = overline
|-
| deg || align="center" | "&deg;" || degree sign, U+00B0 ISOnum
|-
| plusmn || align="center" | "&plusmn;" || plus-minus sign = plus-or-minus sign,
|-
| sup2 || align="center" | "&sup2;" || superscript two = superscript digit two
|-
| sup3 || align="center" | "&sup3;" || superscript three = superscript digit three
|-
| acute || align="center" | "&acute;" || acute accent = spacing acute,
|-
| micro || align="center" | "&micro;" || micro sign, U+00B5 ISOnum
|-
| para || align="center" | "&para;" || pilcrow sign = paragraph sign,
|-
| middot || align="center" | "&middot;" || middle dot = Georgian comma
|-
| cedil || align="center" | "&cedil;" || cedilla = spacing cedilla, U+00B8 ISOdia
|-
| sup1 || align="center" | "&sup1;" || superscript one = superscript digit one,
|-
| ordm || align="center" | "&ordm;" || masculine ordinal indicator,
|-
| raquo || align="center" | "&raquo;" || right-pointing double angle quotation mark
|-
| frac14 || align="center" | "&frac14;" || vulgar fraction one quarter
|-
| frac12 || align="center" | "&frac12;" || vulgar fraction one half
|-
| frac34 || align="center" | "&frac34;" || vulgar fraction three quarters
|-
| iquest || align="center" | "&iquest;" || inverted question mark
|-
| Agrave || align="center" | "&Agrave;" || latin capital letter A with grave
|-
| Aacute || align="center" | "&Aacute;" || latin capital letter A with acute,
|-
| Acirc || align="center" | "&Acirc;" || latin capital letter A with circumflex,
|-
| Atilde || align="center" | "&Atilde;" || latin capital letter A with tilde,
|-
| Auml || align="center" | "&Auml;" || latin capital letter A with diaeresis,
|-
| Aring || align="center" | "&Aring;" || latin capital letter A with ring above
|-
| AElig || align="center" | "&AElig;" || latin capital letter AE
|-
| Ccedil || align="center" | "&Ccedil;" || latin capital letter C with cedilla,
|-
| Egrave || align="center" | "&Egrave;" || latin capital letter E with grave,
|-
| Eacute || align="center" | "&Eacute;" || latin capital letter E with acute,
|-
| Ecirc || align="center" | "&Ecirc;" || latin capital letter E with circumflex,
|-
| Euml || align="center" | "&Euml;" || latin capital letter E with diaeresis,
|-
| Igrave || align="center" | "&Igrave;" || latin capital letter I with grave,
|-
| Iacute || align="center" | "&Iacute;" || latin capital letter I with acute,
|-
| Icirc || align="center" | "&Icirc;" || latin capital letter I with circumflex,
|-
| Iuml || align="center" | "&Iuml;" || latin capital letter I with diaeresis,
|-
| ETH || align="center" | "&ETH;" || latin capital letter ETH, U+00D0 ISOlat1
|-
| Ntilde || align="center" | "&Ntilde;" || latin capital letter N with tilde,
|-
| Ograve || align="center" | "&Ograve;" || latin capital letter O with grave,
|-
| Oacute || align="center" | "&Oacute;" || latin capital letter O with acute,
|-
| Ocirc || align="center" | "&Ocirc;" || latin capital letter O with circumflex,
|-
| Otilde || align="center" | "&Otilde;" || latin capital letter O with tilde,
|-
| Ouml || align="center" | "&Ouml;" || latin capital letter O with diaeresis,
|-
| times || align="center" | "&times;" || multiplication sign, U+00D7 ISOnum
|-
| Oslash || align="center" | "&Oslash;" || latin capital letter O with stroke
|-
| Ugrave || align="center" | "&Ugrave;" || latin capital letter U with grave,
|-
| Uacute || align="center" | "&Uacute;" || latin capital letter U with acute,
|-
| Ucirc || align="center" | "&Ucirc;" || latin capital letter U with circumflex,
|-
| Uuml || align="center" | "&Uuml;" || latin capital letter U with diaeresis,
|-
| Yacute || align="center" | "&Yacute;" || latin capital letter Y with acute,
|-
| THORN || align="center" | "&THORN;" || latin capital letter THORN,
|-
| szlig || align="center" | "&szlig;" || latin small letter sharp s = ess-zed,
|-
| agrave || align="center" | "&agrave;" || latin small letter a with grave
|-
| aacute || align="center" | "&aacute;" || latin small letter a with acute,
|-
| acirc || align="center" | "&acirc;" || latin small letter a with circumflex,
|-
| atilde || align="center" | "&atilde;" || latin small letter a with tilde,
|-
| auml || align="center" | "&auml;" || latin small letter a with diaeresis,
|-
| aring || align="center" | "&aring;" || latin small letter a with ring above
|-
| aelig || align="center" | "&aelig;" || latin small letter ae
|-
| ccedil || align="center" | "&ccedil;" || latin small letter c with cedilla,
|-
| egrave || align="center" | "&egrave;" || latin small letter e with grave,
|-
| eacute || align="center" | "&eacute;" || latin small letter e with acute,
|-
| ecirc || align="center" | "&ecirc;" || latin small letter e with circumflex,
|-
| euml || align="center" | "&euml;" || latin small letter e with diaeresis,
|-
| igrave || align="center" | "&igrave;" || latin small letter i with grave,
|-
| iacute || align="center" | "&iacute;" || latin small letter i with acute,
|-
| icirc || align="center" | "&icirc;" || latin small letter i with circumflex,
|-
| iuml || align="center" | "&iuml;" || latin small letter i with diaeresis,
|-
| eth || align="center" | "&eth;" || latin small letter eth, U+00F0 ISOlat1
|-
| ntilde || align="center" | "&ntilde;" || latin small letter n with tilde,
|-
| ograve || align="center" | "&ograve;" || latin small letter o with grave,
|-
| oacute || align="center" | "&oacute;" || latin small letter o with acute,
|-
| ocirc || align="center" | "&ocirc;" || latin small letter o with circumflex,
|-
| otilde || align="center" | "&otilde;" || latin small letter o with tilde,
|-
| ouml || align="center" | "&ouml;" || latin small letter o with diaeresis,
|-
| divide || align="center" | "&divide;" || division sign, U+00F7 ISOnum
|-
| oslash || align="center" | "&oslash;" || latin small letter o with stroke,
|-
| ugrave || align="center" | "&ugrave;" || latin small letter u with grave,
|-
| uacute || align="center" | "&uacute;" || latin small letter u with acute,
|-
| ucirc || align="center" | "&ucirc;" || latin small letter u with circumflex,
|-
| uuml || align="center" | "&uuml;" || latin small letter u with diaeresis,
|-
| yacute || align="center" | "&yacute;" || latin small letter y with acute,
|-
| thorn || align="center" | "&thorn;" || latin small letter thorn,
|-
| yuml || align="center" | "&yuml;" || latin small letter y with diaeresis,
|}


Al termine dell'installazione, bisogna configurare opportunamente Oracle Server 10g XE lanciando lo script oracle-xe con l'opzione configure. Tale script si trova nella directory /etc/init.d/ e va eseguito sempre con i privilegi di root.
Lo script in questione richiede interattivamente all'utente di fornire una serie di informazioni per eseguire Oracle Server 10g XE tra cui:


La precedente tabella è stata generata tramite script dalla pagina di riferimento:
* il numero di porta (per default la 8080) tramite cui � possibile raggiungere l�interfaccia web per la configurazione di Oracle all�url http://[hostname o indirizzo IP]:8080/htmldb
* il numero di porta (per default la 1521) su cui si mette in attesa il �listener� di Oracle Server, ossia un demone preposto a ricevere e servire le richieste di connessione al server Oracle, appunto. Se si dispone di un firewall potrebbe essere necessario configurarlo in modo tale da lasciare passare il traffico sulla porta 1521 o, diversamente, � possibile indicare allo script di configurazione di Oracle Server 10g XE di mettere il listener in ascolto su una porta differente da quella proposta di default
* quando far partire l�istanza di Oracle Server 10g XE; si pu� decidere se schedulare la partenza di Oracle al boot del sistema, oppure se eseguirla manualmente di volta in volta (io ho optato per la prima opzione, per comodit�, ma � pur sempre possibile realizzare uno script bash per gestire l'avvio e l'arresto di Oracle a piacere).


* [http://www.w3.org/TR/REC-html40/sgml/entities.html Character entity references in HTML 4]
==Impostazione delle variabili d�ambiente di Oracle Server 10g XE==
Al termine dell'installazione di Oracle Server 10g XE bisogna settare le variabili d'ambiente indispensabili per il funzionamento di tool come, ad esempio, SQL*Plus per le classiche operazioni di gestione del database come inserimenti, modifiche, cancellazioni e consultazioni di dati e cos� via.
Per procedere in questo senso, � sufficiente, secondo la documentazione ufficiale lanciare uno script di configurazione delle variabili d�ambiente di Oracle Server 10g XE, disponibile in due distinte versioni dipendentemente dalla shell in uso. I due script si trovano nella directory /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin/ e sono:


* oracle_env.sh (valido anche per le shell Bourne e Korn)
* oracle_env.csh (valido anche per le shell C e tsh)


''Vedere anche su Wikipedia:''
Lo script oracle_env.sh, si occupa di impostare una serie di variabili d'ambiente tra cui:


* [http://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references List of XML and HTML character entity references]
* ORACLE_HOME: il path dell�installazione di Oracle 10g XE
* ORACLE_SID: il nome del database (XE)
* NLS_LANG: il character set, rilevato in base alle impostazioni in uso sul sistema operativo, che verr� utilizzato per la memorizzazione dei dati nel database
* PATH: il percorso che porta alla directory contenente gli eseguibili di Oracle Server 10g XE
* LD_LIBRARY_PATH: il percorso della directory contenente le librerie principali per Oracle Server 10g XE


{{Warningbox|Va ricordato che riavviando il computer, i settaggi impostati con lo script oracle_env.sh vengono persi, perci buona norma inserire la stringa:


[[XGL e Beryl su KDE con schede ATI]]
/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin/oracle_env.sh
 
all�interno del file .bash_profile; inoltre, per poter mantenere le stesse impostazioni all�apertura di ogni nuova shell durante la sessione corrente, � conveniente aggiungerlo anche all�interno del file .bashrc.}}
 
Bene, l'installazione e la configurazione di Oracle Server 10g XE sono complete!
6

contributi