Matrixbob
12-05-2005, 17:32
Lo scopo di questo prontuario [della serie for Dummies :)] è quello di far diminuire l'ignoranza informatica in Italia, poco importa se qualcuno si limiterà a fare copia/incolla di queste righe od imparerà qualcosa col solo scopo di lucrarci.
Confido nelle "nuove luci" per rischiarare il "nostro" paese dalla oscurità in cui è.
Forza & onore! :cool:
Copyright Matrixbob 2004/2005.
Varie configurazioni potrebbero essere queste:
Apache (o Tomcat) + MySQL (o PostgreSQL) + PHP (o PERL per la CGI) + phpMyAdmin (o phpPgAdmin)
... in sostanza il solito minestrone con licenza GNU Copyleft (http://www.gnu.org/copyleft/copyleft.html) immagino, giusto?! :confused:
Ad esempio con la sigla LAMP si tendi indicare Linux + Apache + MySQL + PHP.
SOFTWARE
Anzitutto, nell'ordine, queste sono le versioni che andrò a tentare d'installare
... che dovrebbero essere le ultime stabili con Winzoz:
[1] apache_2.0.53-win32-x86-no_ssl.msi
(in versione 2 stabilmente già da qualche anno)
[2] php-5.0.4-Win32.zip
(perchè mi pare sia l'ultimo modulo stabile di php)
[3] mysql-4.1.11-win32.zip
(che ha già supporto a transizioni, chiave straniera sulla tabella & vincoli d'integrità referenziali (http://forum.hwupgrade.it/showthread.php?p=8135598): non è maxDB, ma la fusione di MySQL con MySQL max)
[4] MyODBC-3.51.11-1-win.exe
(in modo da evitare l'uso di funzioni native in php verso dbms)
[5] phpMyAdmin-2.6.1-pl3.zip
(per dargli script in pasto e creare basi di dati in fretta)
[6] Un buon tools per progettare basi di dati
(se ne conoscete sprate pure..)
[7] Static DNS for Your Dynamic IP (http://www.no-ip.com/)
INSTALLAZIONE
Ho installato Apache mettendo come network domain: localhost & come server name: localhost.
L'email il mio.
lo ho lasciato in attesa sulla porta 80.
Installazione "tipica" nella cartella di default.
Fine installazione di Apache per ora.
Lo provo digitando localhost nel browser e se tutto è ok compare la pagina di Apache.
Altra documentazione, comprese le direttive, le trovate nella sua cartella /htdocs/manual
Passiamo al PHP.
Scompatto il file ZIP riguardante il PHP5. La documentazione è in install.txt.
Rinomino la cartella creatasi con indicata la versione in semplice cartella php.
Copio php5ts.dll e php5apache2.dll nella cartella system32 di Winzoz.
Rinomino php.ini-dist in php.ini e mi preparo ad aprirlo con un semplice editor di testo standard.
Apro php.ini e setto stando attenti ad usare un path WINDOWS like:
extension_dir "... path della cartella php\extensions"
upload_tmp_dir "... path della cartella Winzoz\Temp"
SMTP "URI del nostro mailer"
sendmail_from "il mittente della email spedita dal nostro mailer"
session.save_path "... path della cartella Winzoz\Temp"
Salvo il file php.ini e lo taglio per incollarlo nella cartella di WINDOWS.
Torniamo alla configurazione di Apache2.
Apriamo l'httpd.conf del webserver precedentemente installato con l'installer ed aggiungiamo al fondo in append, stando attenti ad usare path in formato UNIX like stavolta:
LoadModule php5_module c:/php/php5apache2.dll
AddType application/x-httpd-php .php
Poi cerchiamo e modifichiamo la DocumentRoot path della cartella che voglio rendere “public_html" e sempre 20 righe sotto la stesso path alla voce <Directory>.
Infine a DirectoryIndex aggiungiamo index.php.
Si salva l'httpd.conf e si fa ripartire Apache nel qualcaso fosse stato acceso durante tutta la modifica del suo file di configurazione.
Ora il tipico test in grado di verificare la collaborazione di Apache con il linguaggio lato server php è quella di creare un file.php contenente <?php phpinfo(); ?> salvarlo e richiamarlo da browser con Apache attivo.
ERRORI TIPICI
in caso d’errore all’avvio di Apache controllare che il file php_mysql.dll stia nella cartella ext o extensions perchè io l'avevo chiamata così nel php.ini la cartella contenente le estensioni.
Poi si decommentata (togliendo il ; innanzi) la stringa extension=php_mysql.dll nel file php.ini. Inoltre il file libmysql.dll deve stare nella cartella system32.
Se tutto è andato bene si riveleranno a noi le caratteristiche del webserver appena creato.
Tocca all’installazione di MySQL, faccio l’installazione approfondita e rispondo leggendo attentamente alle domande.
A MySQL installato è meglio provare se tutto è ok mettendo da prompt di winzoz:
> mysql -u root –p
poi inserite la password da voi scelta per root durante l'installazione del DBMS e se tutto è ok, allora compare il wellcome!
(oppure > mysql -help per sapere tutti i comandi)
[N.B.]
Sia Apache che MySQL si settano come servizi in autorun all'avvio, se volete altrimenti settateli come volete, io li setto ad avvio manuale.
Installo l’ODBC che sarà utile nel caso non si interrogasse il DBMS in modo nativo.
Adesso trattiamo PMA che è 1 applicazione scritta in PHP e quindi che per funzionare ha bisogno della corretta installazione di webserver + il linguaggio lato server PHP. All'interno della cartella di PhpMyAdmin#versione c'è Documentation.html che spiega approfonditamente la configurazione di quest'ultimo.
Provo a riassumerla alla buona:
[1]
si apre il file config.inc.php con 1 semplice editor di testo
[2]
setto l'URI della directory di PMA:
$cfg['PmaAbsoluteUri'] = 'http://localhost/phpMyAdmin-2.6.1-pl3/';
[3]
setto l'accesso a MySQL:
$cfg['Servers'][$i]['auth_type'] = 'config';
// Authentication method (config, http or cookie based)?
$cfg['Servers'][$i]['user'] = 'root';
// MySQL user
$cfg['Servers'][$i]['password'] = 'LA TUA PASSWORD MySQL';
// MySQL password (only needed with 'config' auth_type)
Se tutto è ok, allora avete appena finito di configurare le diversi componenti in modo da che queste possano interagire tra loro in una applicazione web.
http://img103.echo.cx/img103/6156/errorepma5ar.gif
ERRORI TIPICI
"l'estensione PHP mbstring non è stata trovata e sembra che si stia utilizzando un set di caratteri multibyte. Senza l'estensione mbstring, phpMyAdmin non è in grado di dividere correttamente le stringhe di caratteri e questo può portare a risultati inaspettati".
Cioè c'è scritto: manca l'estensione mbstring e quindi va decommentata (togliendo il ; innanzi) la stringa extension=php_mbstring.dll nel file php.ini ed il file php_mbstring.dll messo in extensions. Praticamente è la stessa cosa che andava fatta anche col file php_mysql.dll in precedenza.
SICUREZZA
Nel file httpd.conf si va a cercare questa parte di testo:
<Directory "path della mia cartella www pubblica">
#
# Possible values for the Options directive are "None", "All",
# or any combination of:
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
# The Options directive is both complicated and important. Please see
# http://httpd.apache.org/docs-2.0/mod/core.html#options
# for more information.
#
Options Indexes FollowSymLinks
#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# Options FileInfo AuthConfig Limit
#
AllowOverride AuthConfig
#
# Controls who can get stuff from this server.
#
Order allow,deny
Allow from all
</Directory>
Il settaggio corretto di Allow & Deny permettono di controllare l'accesso al nostro web server.
Order è l'ordine di valutazione ovvero prima permetto chi e poi vieto a chi, oppure, prima vieto a chi e poi permetto a chi.
Quindi una configurazione valida potrebbe essere:
Order allow,deny
Allow indirizzoIP indirizzoIP dominio_qualsiasi .... etc etc ....
Deny indirizzoIPcattivo
Quindi l'indirizzoIPcattivo ha il divieto d'accesso al nostro web server Apache.
AllowOverride AutoConfig da il risultato di permettere agli utenti del web server di poter configurare loro stessi in locale alcune direttive di Apache in un file ".htaccess". Un esempio tipico dell'uso di ".htaccess" è quello di gestire le autenticazioni all'accesso.
In caso di questo errore:
[Wed May 11 15:14:03 2005] [alert] [client 127.0.0.1] D:/www/.htaccess: Invalid command 'AuthDigestFile', perhaps mis-spelled or defined by a module not included in the server configuration
Va decommentata, in httpd.conf, questa stringa:
LoadModule auth_digest_module modules/mod_auth_digest.so
Ok il contenuto del mio file .htaccess è:
AuthType Digest
AuthName "nome_gruppo_cui_far_appartenere_l'autentificazione_dell'utente"
AuthDigestFile path_assoluto_unix_like/.htpasswd
Require valid-user
Il file .htpasswd lo create col comando di apache (quindi nella sua cartella bin) lanciato da shell (o si dice prompt dei comandi?! o_O) in questo modo:
> htdigest -c .htpasswd nome_gruppo_cui_far_appartenere_l'autentificazione_dell'utente username
Dopo di che seguite cosa vi chiede il programma.
Require valid-user indica che a poter essere autenticato deve essere un utente presente in .htpasswd.
VIA LIBERA ALLA FANTASIA
A questo punto non rimane che progettare in EER la base di dati e trasformarla in relazionale preferibilmente con qualche tool per non perdere giorni della propria vita a creare il DB manualmente.
http://img223.echo.cx/img223/1542/eerproject5vo.gif
La maggior parte di quei tool permettono una creazione automatica di script in SQL puro che potete mandare in esecuzione in svariati modi (sqlconsole, phpmyadmin, etc …).
Dopo di che s'interroga il DB con PHP in ODBC se si vuole indipendenza dal DBMS installato quindi MySQL piuttosto che PostgreSQL.
Oppure se si vuole + efficienza con funzioni "native" verso il DBMS scelto (quindi qui ci tocca scegliere se efficienza o portabilità):
my_connect(...);
pg_connect(...);
odbc_connect(...);
e + in generale:
X_connect(...);
Altra piccola cosa degna di nota sono i "trigger" che in PostgreSQL sono implementati e vi permettono di agire ad eventi sulle tabelle della base di dati, cose che potrebbero essere molto utili in alcune applicazioni web.
MULTIUTENZA APACHE
Informazioni riguardanti la multiutenza di Apache le trovate QUI (http://httpd.apache.org/docs/mod/mod_userdir.html) per ora.
---
Link inerenti:
[Tutorial] Installazione di Apache+php e IIS+PHP (http://www.hwupgrade.it/forum/showthread.php?t=693350)
Perle di conoscenza:
[PHP] Reindirizzamento (http://www.hwupgrade.it/forum/showthread.php?t=961599)
[MySQL] Come implemento le transazioni in PHP?! (http://www.hwupgrade.it/forum/showthread.php?t=963481&page=1&pp=20)
[PHP] Mandare email con PHP: come setto il php.ini?! (http://www.hwupgrade.it/forum/showthread.php?t=959908)
[MySQL] Voglio memorizzare 1 pathfile ma fallisco .. (http://www.hwupgrade.it/forum/showthread.php?t=970051)
[MySQL-PHP] Confronto tra date: come?! (http://www.hwupgrade.it/forum/showthread.php?p=8974797)
[PHP-MySQL] Cercare sottostringhe nel DB, come fan le Pagine Gialle (http://www.hwupgrade.it/forum/showthread.php?t=985421)
[PHP-MySQL] Rendere NON CASE SENSITIVE una ricerca nel DB è possibile?! (http://www.hwupgrade.it/forum/showthread.php?t=990417)
[MySQL] Consiglio x backup dei dati. (http://www.hwupgrade.it/forum/showthread.php?p=9311641#post9311641)
[WEB] X avere 1 URL così "miocliente.miosito.it" cosa devo fare?! (http://www.hwupgrade.it/forum/showthread.php?t=1064163)
[PHP] Posso "vendere" 1 aplz web fatta da me in PHP?! (http://www.hwupgrade.it/forum/showthread.php?p=11421012)
[Hack] Chi conosce la "SQL injection" e come si evita?! (parte 1) (http://www.hwupgrade.it/forum/showthread.php?t=1142225)
[Hack] Chi conosce la "SQL injection" e come si evita?! (parte 2) (http://www.hwupgrade.it/forum/showthread.php?t=1146175)
[PHP-MySQL] Miglior HW x far girare questi SW?! (http://www.hwupgrade.it/forum/showthread.php?t=1146786)
[Web] URL o URI?! (http://www.hwupgrade.it/forum/showthread.php?t=977121)
date in php e mySQL (http://www.hwupgrade.it/forum/showthread.php?t=948293)
[PHP-Apache] Più sicura l'autenticazione digest d'Apache o la PWD nel codice PHP?! (http://www.hwupgrade.it/forum/showthread.php?t=1031178)
[MySQL] chi usa mysql_free_result() ?! (http://www.hwupgrade.it/forum/showthread.php?t=966056)
Chiarimenti: a che servono le variabili d'ambiente?! (http://www.hwupgrade.it/forum/showthread.php?t=945864)
[W3C] Rendere valida 1 pagina con bottoni flash si può?! (http://www.hwupgrade.it/forum/showthread.php?t=965049)
Che file devo modificare x inserire in Winzoz il path di 1 prg ... (http://www.hwupgrade.it/forum/showthread.php?t=940984)
PHP: Self submission, onclick, onsubmit .. (http://www.hwupgrade.it/forum/showthread.php?t=722647)
config.inc che cosa significa?! (http://www.hwupgrade.it/forum/showthread.php?t=728175)
Che editor web usate?! (http://www.hwupgrade.it/forum/showthread.php?t=693836)
.. il modulo Perl per Apache?! (http://www.hwupgrade.it/forum/showthread.php?t=675442)
E' possibile non mostrare le pagine nel URL?! (http://www.hwupgrade.it/forum/showthread.php?t=692998)
xml, xhtml, dhtml, html, .. ho 1 po di confuzione! (http://www.hwupgrade.it/forum/showthread.php?t=673045)
DTD di tutti i gusti .. ma xkè in alcuni compare xml ad esempio?! (http://www.hwupgrade.it/forum/showthread.php?t=673053)
accedere a mysql da altra macchina (http://www.hwupgrade.it/forum/showthread.php?t=1517131)
[PHP] VC9 x86 Thread Safe: cosa significa? (http://www.hwupgrade.it/forum/showthread.php?t=2128212)
Confido nelle "nuove luci" per rischiarare il "nostro" paese dalla oscurità in cui è.
Forza & onore! :cool:
Copyright Matrixbob 2004/2005.
Varie configurazioni potrebbero essere queste:
Apache (o Tomcat) + MySQL (o PostgreSQL) + PHP (o PERL per la CGI) + phpMyAdmin (o phpPgAdmin)
... in sostanza il solito minestrone con licenza GNU Copyleft (http://www.gnu.org/copyleft/copyleft.html) immagino, giusto?! :confused:
Ad esempio con la sigla LAMP si tendi indicare Linux + Apache + MySQL + PHP.
SOFTWARE
Anzitutto, nell'ordine, queste sono le versioni che andrò a tentare d'installare
... che dovrebbero essere le ultime stabili con Winzoz:
[1] apache_2.0.53-win32-x86-no_ssl.msi
(in versione 2 stabilmente già da qualche anno)
[2] php-5.0.4-Win32.zip
(perchè mi pare sia l'ultimo modulo stabile di php)
[3] mysql-4.1.11-win32.zip
(che ha già supporto a transizioni, chiave straniera sulla tabella & vincoli d'integrità referenziali (http://forum.hwupgrade.it/showthread.php?p=8135598): non è maxDB, ma la fusione di MySQL con MySQL max)
[4] MyODBC-3.51.11-1-win.exe
(in modo da evitare l'uso di funzioni native in php verso dbms)
[5] phpMyAdmin-2.6.1-pl3.zip
(per dargli script in pasto e creare basi di dati in fretta)
[6] Un buon tools per progettare basi di dati
(se ne conoscete sprate pure..)
[7] Static DNS for Your Dynamic IP (http://www.no-ip.com/)
INSTALLAZIONE
Ho installato Apache mettendo come network domain: localhost & come server name: localhost.
L'email il mio.
lo ho lasciato in attesa sulla porta 80.
Installazione "tipica" nella cartella di default.
Fine installazione di Apache per ora.
Lo provo digitando localhost nel browser e se tutto è ok compare la pagina di Apache.
Altra documentazione, comprese le direttive, le trovate nella sua cartella /htdocs/manual
Passiamo al PHP.
Scompatto il file ZIP riguardante il PHP5. La documentazione è in install.txt.
Rinomino la cartella creatasi con indicata la versione in semplice cartella php.
Copio php5ts.dll e php5apache2.dll nella cartella system32 di Winzoz.
Rinomino php.ini-dist in php.ini e mi preparo ad aprirlo con un semplice editor di testo standard.
Apro php.ini e setto stando attenti ad usare un path WINDOWS like:
extension_dir "... path della cartella php\extensions"
upload_tmp_dir "... path della cartella Winzoz\Temp"
SMTP "URI del nostro mailer"
sendmail_from "il mittente della email spedita dal nostro mailer"
session.save_path "... path della cartella Winzoz\Temp"
Salvo il file php.ini e lo taglio per incollarlo nella cartella di WINDOWS.
Torniamo alla configurazione di Apache2.
Apriamo l'httpd.conf del webserver precedentemente installato con l'installer ed aggiungiamo al fondo in append, stando attenti ad usare path in formato UNIX like stavolta:
LoadModule php5_module c:/php/php5apache2.dll
AddType application/x-httpd-php .php
Poi cerchiamo e modifichiamo la DocumentRoot path della cartella che voglio rendere “public_html" e sempre 20 righe sotto la stesso path alla voce <Directory>.
Infine a DirectoryIndex aggiungiamo index.php.
Si salva l'httpd.conf e si fa ripartire Apache nel qualcaso fosse stato acceso durante tutta la modifica del suo file di configurazione.
Ora il tipico test in grado di verificare la collaborazione di Apache con il linguaggio lato server php è quella di creare un file.php contenente <?php phpinfo(); ?> salvarlo e richiamarlo da browser con Apache attivo.
ERRORI TIPICI
in caso d’errore all’avvio di Apache controllare che il file php_mysql.dll stia nella cartella ext o extensions perchè io l'avevo chiamata così nel php.ini la cartella contenente le estensioni.
Poi si decommentata (togliendo il ; innanzi) la stringa extension=php_mysql.dll nel file php.ini. Inoltre il file libmysql.dll deve stare nella cartella system32.
Se tutto è andato bene si riveleranno a noi le caratteristiche del webserver appena creato.
Tocca all’installazione di MySQL, faccio l’installazione approfondita e rispondo leggendo attentamente alle domande.
A MySQL installato è meglio provare se tutto è ok mettendo da prompt di winzoz:
> mysql -u root –p
poi inserite la password da voi scelta per root durante l'installazione del DBMS e se tutto è ok, allora compare il wellcome!
(oppure > mysql -help per sapere tutti i comandi)
[N.B.]
Sia Apache che MySQL si settano come servizi in autorun all'avvio, se volete altrimenti settateli come volete, io li setto ad avvio manuale.
Installo l’ODBC che sarà utile nel caso non si interrogasse il DBMS in modo nativo.
Adesso trattiamo PMA che è 1 applicazione scritta in PHP e quindi che per funzionare ha bisogno della corretta installazione di webserver + il linguaggio lato server PHP. All'interno della cartella di PhpMyAdmin#versione c'è Documentation.html che spiega approfonditamente la configurazione di quest'ultimo.
Provo a riassumerla alla buona:
[1]
si apre il file config.inc.php con 1 semplice editor di testo
[2]
setto l'URI della directory di PMA:
$cfg['PmaAbsoluteUri'] = 'http://localhost/phpMyAdmin-2.6.1-pl3/';
[3]
setto l'accesso a MySQL:
$cfg['Servers'][$i]['auth_type'] = 'config';
// Authentication method (config, http or cookie based)?
$cfg['Servers'][$i]['user'] = 'root';
// MySQL user
$cfg['Servers'][$i]['password'] = 'LA TUA PASSWORD MySQL';
// MySQL password (only needed with 'config' auth_type)
Se tutto è ok, allora avete appena finito di configurare le diversi componenti in modo da che queste possano interagire tra loro in una applicazione web.
http://img103.echo.cx/img103/6156/errorepma5ar.gif
ERRORI TIPICI
"l'estensione PHP mbstring non è stata trovata e sembra che si stia utilizzando un set di caratteri multibyte. Senza l'estensione mbstring, phpMyAdmin non è in grado di dividere correttamente le stringhe di caratteri e questo può portare a risultati inaspettati".
Cioè c'è scritto: manca l'estensione mbstring e quindi va decommentata (togliendo il ; innanzi) la stringa extension=php_mbstring.dll nel file php.ini ed il file php_mbstring.dll messo in extensions. Praticamente è la stessa cosa che andava fatta anche col file php_mysql.dll in precedenza.
SICUREZZA
Nel file httpd.conf si va a cercare questa parte di testo:
<Directory "path della mia cartella www pubblica">
#
# Possible values for the Options directive are "None", "All",
# or any combination of:
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
# The Options directive is both complicated and important. Please see
# http://httpd.apache.org/docs-2.0/mod/core.html#options
# for more information.
#
Options Indexes FollowSymLinks
#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# Options FileInfo AuthConfig Limit
#
AllowOverride AuthConfig
#
# Controls who can get stuff from this server.
#
Order allow,deny
Allow from all
</Directory>
Il settaggio corretto di Allow & Deny permettono di controllare l'accesso al nostro web server.
Order è l'ordine di valutazione ovvero prima permetto chi e poi vieto a chi, oppure, prima vieto a chi e poi permetto a chi.
Quindi una configurazione valida potrebbe essere:
Order allow,deny
Allow indirizzoIP indirizzoIP dominio_qualsiasi .... etc etc ....
Deny indirizzoIPcattivo
Quindi l'indirizzoIPcattivo ha il divieto d'accesso al nostro web server Apache.
AllowOverride AutoConfig da il risultato di permettere agli utenti del web server di poter configurare loro stessi in locale alcune direttive di Apache in un file ".htaccess". Un esempio tipico dell'uso di ".htaccess" è quello di gestire le autenticazioni all'accesso.
In caso di questo errore:
[Wed May 11 15:14:03 2005] [alert] [client 127.0.0.1] D:/www/.htaccess: Invalid command 'AuthDigestFile', perhaps mis-spelled or defined by a module not included in the server configuration
Va decommentata, in httpd.conf, questa stringa:
LoadModule auth_digest_module modules/mod_auth_digest.so
Ok il contenuto del mio file .htaccess è:
AuthType Digest
AuthName "nome_gruppo_cui_far_appartenere_l'autentificazione_dell'utente"
AuthDigestFile path_assoluto_unix_like/.htpasswd
Require valid-user
Il file .htpasswd lo create col comando di apache (quindi nella sua cartella bin) lanciato da shell (o si dice prompt dei comandi?! o_O) in questo modo:
> htdigest -c .htpasswd nome_gruppo_cui_far_appartenere_l'autentificazione_dell'utente username
Dopo di che seguite cosa vi chiede il programma.
Require valid-user indica che a poter essere autenticato deve essere un utente presente in .htpasswd.
VIA LIBERA ALLA FANTASIA
A questo punto non rimane che progettare in EER la base di dati e trasformarla in relazionale preferibilmente con qualche tool per non perdere giorni della propria vita a creare il DB manualmente.
http://img223.echo.cx/img223/1542/eerproject5vo.gif
La maggior parte di quei tool permettono una creazione automatica di script in SQL puro che potete mandare in esecuzione in svariati modi (sqlconsole, phpmyadmin, etc …).
Dopo di che s'interroga il DB con PHP in ODBC se si vuole indipendenza dal DBMS installato quindi MySQL piuttosto che PostgreSQL.
Oppure se si vuole + efficienza con funzioni "native" verso il DBMS scelto (quindi qui ci tocca scegliere se efficienza o portabilità):
my_connect(...);
pg_connect(...);
odbc_connect(...);
e + in generale:
X_connect(...);
Altra piccola cosa degna di nota sono i "trigger" che in PostgreSQL sono implementati e vi permettono di agire ad eventi sulle tabelle della base di dati, cose che potrebbero essere molto utili in alcune applicazioni web.
MULTIUTENZA APACHE
Informazioni riguardanti la multiutenza di Apache le trovate QUI (http://httpd.apache.org/docs/mod/mod_userdir.html) per ora.
---
Link inerenti:
[Tutorial] Installazione di Apache+php e IIS+PHP (http://www.hwupgrade.it/forum/showthread.php?t=693350)
Perle di conoscenza:
[PHP] Reindirizzamento (http://www.hwupgrade.it/forum/showthread.php?t=961599)
[MySQL] Come implemento le transazioni in PHP?! (http://www.hwupgrade.it/forum/showthread.php?t=963481&page=1&pp=20)
[PHP] Mandare email con PHP: come setto il php.ini?! (http://www.hwupgrade.it/forum/showthread.php?t=959908)
[MySQL] Voglio memorizzare 1 pathfile ma fallisco .. (http://www.hwupgrade.it/forum/showthread.php?t=970051)
[MySQL-PHP] Confronto tra date: come?! (http://www.hwupgrade.it/forum/showthread.php?p=8974797)
[PHP-MySQL] Cercare sottostringhe nel DB, come fan le Pagine Gialle (http://www.hwupgrade.it/forum/showthread.php?t=985421)
[PHP-MySQL] Rendere NON CASE SENSITIVE una ricerca nel DB è possibile?! (http://www.hwupgrade.it/forum/showthread.php?t=990417)
[MySQL] Consiglio x backup dei dati. (http://www.hwupgrade.it/forum/showthread.php?p=9311641#post9311641)
[WEB] X avere 1 URL così "miocliente.miosito.it" cosa devo fare?! (http://www.hwupgrade.it/forum/showthread.php?t=1064163)
[PHP] Posso "vendere" 1 aplz web fatta da me in PHP?! (http://www.hwupgrade.it/forum/showthread.php?p=11421012)
[Hack] Chi conosce la "SQL injection" e come si evita?! (parte 1) (http://www.hwupgrade.it/forum/showthread.php?t=1142225)
[Hack] Chi conosce la "SQL injection" e come si evita?! (parte 2) (http://www.hwupgrade.it/forum/showthread.php?t=1146175)
[PHP-MySQL] Miglior HW x far girare questi SW?! (http://www.hwupgrade.it/forum/showthread.php?t=1146786)
[Web] URL o URI?! (http://www.hwupgrade.it/forum/showthread.php?t=977121)
date in php e mySQL (http://www.hwupgrade.it/forum/showthread.php?t=948293)
[PHP-Apache] Più sicura l'autenticazione digest d'Apache o la PWD nel codice PHP?! (http://www.hwupgrade.it/forum/showthread.php?t=1031178)
[MySQL] chi usa mysql_free_result() ?! (http://www.hwupgrade.it/forum/showthread.php?t=966056)
Chiarimenti: a che servono le variabili d'ambiente?! (http://www.hwupgrade.it/forum/showthread.php?t=945864)
[W3C] Rendere valida 1 pagina con bottoni flash si può?! (http://www.hwupgrade.it/forum/showthread.php?t=965049)
Che file devo modificare x inserire in Winzoz il path di 1 prg ... (http://www.hwupgrade.it/forum/showthread.php?t=940984)
PHP: Self submission, onclick, onsubmit .. (http://www.hwupgrade.it/forum/showthread.php?t=722647)
config.inc che cosa significa?! (http://www.hwupgrade.it/forum/showthread.php?t=728175)
Che editor web usate?! (http://www.hwupgrade.it/forum/showthread.php?t=693836)
.. il modulo Perl per Apache?! (http://www.hwupgrade.it/forum/showthread.php?t=675442)
E' possibile non mostrare le pagine nel URL?! (http://www.hwupgrade.it/forum/showthread.php?t=692998)
xml, xhtml, dhtml, html, .. ho 1 po di confuzione! (http://www.hwupgrade.it/forum/showthread.php?t=673045)
DTD di tutti i gusti .. ma xkè in alcuni compare xml ad esempio?! (http://www.hwupgrade.it/forum/showthread.php?t=673053)
accedere a mysql da altra macchina (http://www.hwupgrade.it/forum/showthread.php?t=1517131)
[PHP] VC9 x86 Thread Safe: cosa significa? (http://www.hwupgrade.it/forum/showthread.php?t=2128212)