Diario delle Revisioni | ||
---|---|---|
Revisione 1.9.18 | 2003-02-09 | |
Aggiunto il supporto XML e Sablotron a PHP, eliminato il supporto per mod_jserv, aggiunto il supporto mod_jk, migliorato il supporto per Tomcat, aggiornato il software menzionato nell'HOWTO, minori miglioramenti al codice SGML. | ||
Revisione 1.9.17 | 2002-10-16 | |
Aggiornato il software menzionato. Ulteriori miglioramenti e riordini al codice SGML, quali metadata, chiamate e altro. | ||
Revisione 1.9.16 | 2002-07-04 | |
Aggiornato il software menzionato, aggiunta la configurazione LogFormat per mod_gzip. Aggiunto gdbm ai prerequisiti. Molti miglioramenti al codice SGML, come maggiori metadata e una sezione FAQ revisionata. | ||
Revisione 1.9.15 | 2002-06-19 | |
Aggiornato a mod_ssl-2.8.9-1.3.26 e rimossa la patch temporanea. | ||
Revisione 1.9.14 | 2002-06-19 | |
Aggiornato ad Apache 1.3.26 per correggere il buco di sicurezza CERT CA-2002-17 è fortemente raccomandato che gli utenti aggiornino immediatamente. Aggiunta (temporaneamente) la patch per ottenere che mod_ssl 2.8.8 funzioni con 1.3.26, Aggiunto --without-debug al configure di MySQL. | ||
Revisione 1.9.13 | 2002-06-15 | |
Aggiornamenti dei software menzionati, aggiunto come associare MySQL ad un IP specifico, alcuni piccoli cambiamenti e correzioni. | ||
Revisione 1.9.12 | 2002-04-22 | |
Aggiunti mod_gzip e mod_gunzip. Corretti alcuni errori, aggiornamenti dei software menzionati, separati i moduli addizionali in una propria sezione. | ||
Revisione 1.9.11 | 2002-04-07 | |
Corretti molti errori (non tecnici), aggiornamenti dei software menzionati. | ||
Revisione 1.9.11-pre1 | 2002-03-15 | |
Corretti alcuni errori di grammatica, aggiornamenti dei software menzionati. | ||
Revisione 1.9.10 | 2002-03-09 | |
Corretti alcuni errori di grammatica, aggiornamenti dei software menzionati. | ||
Revisione 1.9.9 | 2002-02-11 | |
Risolto un bug importante nel config di openssl, ristrutturato il documento, aggiunte fonti per ulteriori informazioni. | ||
Revisione 1.9.8 | 2002-02-08 | |
Aggiornamenti dei software menzionati e corretti alcuni errori. | ||
Revisione 1.9.7 | 2001-12-26 | |
Aggiornamenti dei software menzionati, provate le procedure dell'HOWTO con Linux in esecuzione su macchine IBM S/390 (zSeries) (Si veda "piattaforme" per maggiori informazioni). Aggiunto del supporto di base per Tomcat (solo Binari). | ||
Revisione 1.9.6 | 2001-10-27 | |
Aggiornamenti dei software menzionati e corretti alcuni errori. | ||
Revisione 1.9.5 | 2001-08-27 | |
Ancora un'altra riscrittura in DocBook 3.1. | ||
Revisione 1.9.4 | 2001-08-26 | |
Aggiornate le versioni dei software menzionati nel documento, corretti alcuni errori di battitura. | ||
Revisione 1.9.3 | 2001-06-23 | |
Attuale versione 2.0.0-pre3 nel formato Linux DocBook. | ||
Revisione 1.0.0 | 2000-08-05 | |
Prima pubblicazione del documento basato su html. |
Questo documento descrive come compilare il Webserver Apache con i moduli più importanti come mod_perl, mod_dav, mod_auth_ldap, mod_dynvhost, mod_roaming, mod_jserv e mod_php.
Traduzione a cura di Michele Ferritto (m.ferritto@toglimi.virgilio.it), revisione a cura di Giuseppe Briotti (g.briotti@toglimi.mclink.it).
Falla di Sicurezza in Apache inferiore alla versione 1.3.26 | |
---|---|
NON usare nessuna versione di Apache più vecchia della 1.3.26. Si veda http://www.cert.org/advisories/CA-2002-17.html per maggiori informazioni |
Innanzitutto voglio ringraziare tutte quelle persone che hanno inviato domande e suggerimenti rendendo possibile l'ulteriore sviluppo di questo documento. Mi ha dimostrato che la condivisione del sapere è la strada giusta.
Vi incoraggio a mandarmi maggiori suggerimenti, semplicemente scrivetemi un e-mail <luc at delouw.ch>
.
Tutte le distribuzioni Linux che ho testato, hanno una configurazione predefinita per Apache non ottimale. Inoltre, le maggiori distribuzioni non hanno versioni aggiornate di Apache.
Infine, la maggior parte degli Unix commerciali vengono consegnati senza Apache preinstallato, oppure utilizzano una configurazione molto insolita.
Poiché installo un gran numero di server web personalizzati su Unix differenti, ho scritto un documento in formato testo e l'ho messo sul mio sito web affinché potessi accederci al lavoro. In seguito un amico postò l'URL su di una mailing list e arrivò la prima domanda. Per questo decisi di aggiungere informazioni alla pagina.
Dopo che molte persone richiesero il documento come HOWTO »ufficiale« scritto in SGML, ho deciso di prepararlo per farcelo diventare.
Compilare tutti gli elementi descritti più avanti necessita di molte opzioni di configurazione che nessuno può imparare a memoria. Si suppone che sia un testo da copia-e-incolla per compilare Apache e i suoi compari.
Inoltre, si dovrebbe imparare come costruire da se un server web Apache completo, per rimanere indipendente da qualsiasi distributore Linux.
È semplicemente un documento, non uno script che fa il lavoro al proprio posto. Si devono eseguire tutti i passi da soli.
Il documento originale era valido per tutte le piattaforme Unix più conosciute. Attualmente gli HOWTO sono separati per ciascuna piattaforma. Si può trovare lo stesso documento addattato per:
Linux (Questo Documento)
IBM AIX 4.3 e 5.1L
Sun Solaris 6/7/8
Hewlett-Packard HP-UX 11
{Free|Net|Open}-BSD
Nota importante per gli utenti che eseguono Linux su IBM S/390 (zSeries): PostgreSQL e Jserv non si compilano su questo sistema. Tutti gli altri programmi e moduli menzionati nell'HOWTO funzionano perfettamente
Altre piattaforme Unix: Sentitevi liberi di creare un account ospite per me sulla vostra piattaforma Unix, così che possa dare uno sguardo alle differenze.
Utenti Windows: Mi dispiace, sono troppo giovane per un infarto, avete bisogno di aggiornare la vostra macchina con un »vero« sistema operativo ;-)
This document is copyrighted (c) 2000, 2001, 2002, 2003 Luc de Louw and is distributed under the terms of the Linux Documentation Project (LDP) license, stated below.
Unless otherwise stated, Linux HOWTO documents are copyrighted by their respective authors. Linux HOWTO documents may be reproduced and distributed in whole or in part, in any medium physical or electronic, as long as this copyright notice is retained on all copies. Commercial redistribution is allowed and encouraged; however, the author would like to be notified of any such distributions.
All translations, derivative works, or aggregate works incorporating any Linux HOWTO documents must be covered under this copyright notice. That is, you may not produce a derivative work from a HOWTO and impose additional restrictions on its distribution. Exceptions to these rules may be granted under certain conditions; please contact the Linux HOWTO coordinator at the address given below.
In short, we wish to promote dissemination of this information through as many channels as possible. However, we do wish to retain copyright on the HOWTO documents, and would like to be notified of any plans to redistribute the HOWTOs.
If you have any questions, please contact
<linux-howto at metalab.unc.edu>
Non può essere accettata nessuna responsabilità per il contenuto di questo documento. Si usino i concetti, gli esempi e altri contenuti, a proprio rischio e pericolo. Essendo questo documento una nuova edizione, potrebbero esserci errori ed inaccuratezze che potrebbero danneggiare il proprio sistema. Si proceda con cautela e, sebbene sia altamente sgradevole, l'autore(i) non si prende nessuna responsabilità.
Tutti i copyright appartengono ai rispettivi proprietari, se non diversamente specificato. L'uso di un termine in questo documento non dovrebbe interessare la validità di alcun marchio registrato o di servizio.
La nomina di particolari prodotti o marchi non deve essere vista come un sostegno.
Si raccomanda fortemente di effettuare il backup del proprio sistema prima di effettuare installazioni importanti e continuare a farlo ad intervalli regolari.
Questa è la 15ma Versione
Nuove versioni di questo documento saranno annunciate presso http://freshmeat.net/projects/apache-compile-howto/?topic_id=905
L'ultima versione di questo documento si può trovare presso http://www.delouw.ch/linux
Voglio ringraziare tutte le simpatiche persone presso <discuss at linuxdoc.org>
per
avermi supportato nella stesura degli HOWTO
Le indicazioni sono sicuramente benvenute per questo documento. Senza
i vostri contributi e suggerimenti, non esisterebbe. Per favore
inviate le vostre aggiunte, commenti e critiche al seguente
indirizzo email: <luc at delouw.ch>
.
Al momento esistono traduzioni in:
Le traduzioni in altre lingue sono sempre benvenute. Se si traduce questo documento, per favore me lo si faccia sapere, così che possa inserire un link qui.
Luc (in inglese Luke) ha 29 anni e traffica con i computer da 20. Attualmente lavora come Unix System Engineer per una società IT a Kloten (Zurigo), Svizzera. L'obiettivo principale è sviluppare tutte le varietà di Sistemi innovativi che girano su Linux (e altri Un*x) . Inoltre, tutti i lavori “impossibili” per le più importanti piattaforme Un*x finiscono sulla sua scrivania (si, è divertente e lui lo adora!)
Segue...
Tutte le più importanti distribuzioni dovrebbero includere questi prerequisiti generali.
Il progetto OpenSSL è uno sforzo collaborativo per sviluppare un insieme di strumenti robusto, di qualità commerciale, completo e Open Source che implementi i Secure Socket Layer (SSL v2/v3) e i protocolli Transport Layer Security (TLS v1) così pure una libreria per la crittografia per usi generici assolutamente robusta. Il progetto viene gestito da una comunità di volontari sparsa per il mondo, che usa Internet per trasmettere, pianificare e sviluppare l'insieme di strumenti OpenSSL e la documentazione relativa. OpenSSL si basa sulla eccellente libreria SSLeay sviluppata da Eric A. Young e Tim J. Hudson. L'insieme di strumenti OpenSSL viene rilasciato sotto una licenza stile Apache, che fondamentalmente significa che si è liberi di ottenerli e utilizzarli per usi commerciali e non commerciali assoggetandosi ad alcune semplici condizioni di licenza. Dal punto di vista degli autori, è la base per costruire un server Unix sicuro con software Open Source, è necessario per tutti i più importanti prodotti come mod_ssl, OpenSSH e molta altra roba che fornisce l'elaborazione dei dati crittografata | ||
--www.openssl.org |
OpenSSL fornisce le librerie e i file include necessari ai prodotti menzionati precedentemente e fornisce inoltre una Applicazione per creare Certificati Server e client.
cd /usr/local tar -xvzf openssl-0.9.7.tar.gz cd openssl-0.9.7 ./config shared make make test make install echo "/usr/local/ssl/lib" >> /etc/ld.so.conf ldconfig |
Selezionare la propria CPU per migliorare la velocità | |
---|---|
Di default il Makefile genera il codice per la CPU i486. Si può cambiare ciò editando il Makefile dopo aver eseguito config shared. Si cerchi -m486 e lo si sostituisca, per esempio, con -march=athlon |
GNU dbm è un set di routine di database, che usa l'hashing estensibile. Funziona in modo simile alle routine standard Unix dbm. | ||
--www.gnu.org/software/gdbm |
GNU dbm è una applicazione molto importante utilizzata da quasi tutte le distribuzioni. Perciò viene installata per convenzione su tutte le distribuzioni che ho provato.
Con tutta probabilità i necessari file header, vincolanti per compilare Apache con mod_rewrite e PHP, normalmente non sono installati. Per favore si consultino i CD/DVD della distribuzione e si installi il relativo pacchetto devel (La versione può variare):
rpm -i gdbm-devel-1.8.0-546 |
Questa procedura è stata verificata per SuSE e Redhat. Per favore si confermi per altri sistemi basati su RPM come Mandrake. Debian seguirà prima possibile.
Gli utenti di sistemi basati su Debian possono installare gdbm con il seguente:
apt-get install libgdbmg1-dev |
Nell'improbabile caso che la propria distribuzione non contenga gdbm qui ci sono le istruzioni per compilarlo.
./configure make make install ldconfig |
MySQL è un Database molto veloce, potente e piacevole da maneggiare.
Specialmente per applicazioni web dove la maggior parte degli accessi sono in lettura e pochi in scrittura, MySQL è la scelta migliore. La versione più recente è anche in grado di gestire le transazioni. Se si pianifica una applicazione web che deve scrivere parecchi Dati nel database, forse PostgreSQL è più adatto, si veda la Sezione 6.2.4 per i suggerimenti sull'installazione
Si necessita della C-API da MySQL per compilare PHP se si desidera il supporto a MySQL in PHP. È anche necessaria se si vuole utilizzare mod_authmysql, si veda la Sezione 4.3 per maggiori informazioni
cd /usr/local tar -xvzf mysql-3.23.55.tar.gz cd mysql-3.23.55 ./configure \ --prefix=/usr/local/mysql \ --enable-assembler \ --with-innodb \ --without-debug make make install /usr/local/mysql/bin/mysql_install_db echo /usr/local/mysql/lib/mysql >> /etc/ld.so.conf ldconfig |
Per migliorare la sicurezza, si aggiunga un utente MySQL sul proprio sistema ad es. »mysql«.
chown -R mysql /usr/local/mysql/var |
Si potrebbe desiderare di lanciare automaticamente MySQL all'avvio, si copi /usr/local/mysql/share/mysql/mysql.server dentro /etc/init.d/ (o dovunque si trovino i propri script rc) e si crei il corrispondente link simbolico nelle directory runlevel.
cp /usr/local/mysql/share/mysql/mysql.server /etc/init.d/ ln -s /etc/init.d/mysql.server /etc/init.d/rc3.d/S20mysql ln -s /etc/init.d/mysql.server /etc/init.d/rc3.d/K20mysql |
Questa parte è opzionale e descrive come associare il demone MySQL all'IP localhost
Suggerisco semplicemente di associare MySQL all'interfaccia di loopback 127.0.0.1. Ciò assicura che nessuno possa connettersi al Demone MySQL tramite la rete. Ma naturalmente, questo ha senso solo se MySQL gira sulla stessa macchina del server web.
si modifichi la linea 107 del file /etc/init.d/mysql.server come mostrato di seguito:
Linea originale:
$bindir/safe_mysqld --datadir=$datadir --pid-file=$pid_file& |
Linea modificata:
$bindir/safe_mysqld --datadir=$datadir --pid-file=$pid_file \ --bind-address=127.0.0.1& |
In alternativa, si può completamente disabilitare la funzionalità di rete di MySQL.
$bindir/safe_mysqld --datadir=$datadir --pid-file=$pid_file \ --skip-networking & |
MM è una libreria di astrazione di livello 2 che semplifica l'utilizzo della memoria condivisa tra i processi biforcati (e in questo modo fortemente collegati) sulle piattaforme Unix. Sul primo strato nasconde tutti i dettagli di implementazione dipendenti dalla piattaforma (allocazione e locking), mentre negozia con i segmenti di memoria condivisa, e sul secondo strato fornisce una API di alto livello stile malloc(3) per un conveniente e ben noto modo di lavorare con le strutture dati contenute all'interno di questi segmenti di memoria condivisa. | ||
--www.engelschall.com |
È una libreria comune che permette ai programmatori Unix di semplificare gli accessi shm (Memoria condivisa). Viene utilizzata in molti prodotti, ad es. PHP e mod_ssl
cd /usr/local tar -xvzf mm-1.2.2.tar.gz cd mm-1.2.2 ./configure make make test make install ldconfig |
Il progetto Apache è uno sforzo collaborativo di sviluppo software che aspira a creare una implementazione robusta, di livello commerciale, completa e con il codice sorgente liberamente disponibile, di un server (Web) HTTP. Il progetto è gestito congiuntamente da un gruppo di volontari in giro per il mondo, che usano Internet e il Web per trasmettere, pianificare e sviluppare il server e la documentazione relativa. Questi volontari sono conosciuti come Gruppo Apache. In aggiunta, centinaia di utenti hanno contribuito al progetto con idee, codice e documentazione. Questo file è volto a descrivere brevemente la storia del Gruppo Apache e riconoscerne i vari collaboratori. | ||
--www.apache.org |
È semplicemente il miglior software per Server Web, molto flessibile da configurare per sopperire alle proprie necessità, ed è E-S-T-R-E-M-A-M-E-N-T-E stabile. Personalmente non ho mai avuto esperienze di crash in un ambiente di produzione (=materiale non sperimentale)
Sito di origine http://www.apache.org/dist/httpd/
cd /usr/local/ tar -xvzf apache_1.3.27.tar.gz |
Se il proprio server web deve rispondere a molte richieste contemporaneamente e la macchina è sufficientemente robusta per fare questo, si può modificare il limite massimo di processi in esecuzione
Si faccia il download della patch da: http://www.delouw.ch/linux/apache-patch_HARD_SERVER_LIMIT.txt
--- httpd.h Thu Mar 21 18:07:34 2002 +++ httpd.h-new Sun Apr 7 13:34:11 2002 @@ -320,7 +320,7 @@ #elif defined(NETWARE) #define HARD_SERVER_LIMIT 2048 #else -#define HARD_SERVER_LIMIT 256 +#define HARD_SERVER_LIMIT 512 #endif #endif |
Questa patch aumenta il numero massimo di client concorrenti a 512. Ci si senta liberi di aumentarlo ulteriormente, se si è riusciti a modificare il proprio kernel ed il file /etc/security/limits.conf
Evitare di esaurire i task | |
---|---|
Con le impostazioni sbagliate ciò potrebbe portare ad un »self-denial-of-service-attack«. Ci si assicuri di aver lasciato sufficienti processi per root |
Si applichi la patch con:
cd /usr/local/apache_1.3.27/src/include patch -p0 < apache-patch_HARD_SERVER_LIMIT.txt |
Questo modulo fornisce la crittografia forte per il server web Apache 1.3 tramite i Secure Socket Layer (SSL v2/v3) e i protocolli Transport Layer Security (TLS v1) con l'aiuto dell'insieme di strumenti Open Source SSL/TLS OpenSSL, il quale si basa su SSLeay di Eric A. Young e Tim J. Hudson. | ||
--www.modssl.org |
Questo modulo è necessario per abilitare Apache per le richieste SSL (https). Applica una patch al codice sorgente ed estende le sue API (Application Programming Interface). Il risultato viene chiamato EAPI (Extended Application Programming Interface).
Uso delle opzioni del compilatore durante la compilazione dei moduli | |
---|---|
Ci si assicuri che ogni modulo per il proprio server Apache sia compilato con l'opzione -DEAPI, altrimenti il Server web potrebbe bloccarsi o non avviarsi affatto. |
Quasi tutti i moduli che conosco aggiungono l'opzione -DEAPI da soli, eccettuati mod_jserv e mod_jk
cd /usr/local/ tar -xvzf mod_ssl-2.8.12-1.3.27.tar.gz cd mod_ssl-2.8.12-1.3.27/ ./configure --with-apache=../apache_1.3.27 |
Con mod_perl è possibile scrivere moduli Apache interamente in Perl. In aggiunta, l'interprete persistente, incorporato nel server, evita il sovraccarico di lanciare un interprete esterno e la penalizzazione del tempo di avvio del Perl. | ||
--perl.apache.org |
mod_perl è una alternativa ai cgi-bin. I cgi tipicamente generano un nuovo processo per ogni richiesta e producono sovraccarico. Con mod_perl, l'interprete perl viene caricato in modo persistente nel server Apache e non ha bisogno di generare i processi per ogni richiesta.
cd /usr/local tar -xvzf mod_perl-1.27.tar.gz cd mod_perl-1.27 perl Makefile.PL \ EVERYTHING=1 \ APACHE_SRC=../apache_1.3.27/src \ USE_APACI=1 \ PREP_HTTPD=1 \ DO_HTTPD=1 make make install |
Mod_perl non può essere compilato come DSO | |
---|---|
Non si compili mod_perl come DSO (Dynamic Shared Object)! Secondo varie fonti, Apache potrebbe bloccarsi (non ho mai provato). |
Ora che i due moduli statici mod_ssl e mod_perl sono configurati ed ai sorgenti di Apache è stata applicata la patch, possiamo procedere con la compilazione di Apache.
EAPI_MM="/usr/local/mm-1.2.2" SSL_BASE="/usr/local/ssl" \ ./configure \ --enable-module=unique_id \ --enable-module=rewrite \ --enable-module=speling \ --enable-module=expires \ --enable-module=info \ --enable-module=log_agent \ --enable-module=log_referer \ --enable-module=usertrack \ --enable-module=proxy \ --enable-module=userdir \ --enable-module=so \ --enable-shared=ssl \ --enable-module=ssl \ --activate-module=src/modules/perl/libperl.a \ --enable-module=perl make make install |
cd /usr/local/ssl/bin ./openssl req -new > new.cert.csr ./openssl rsa -in privkey.pem -out new.cert.key ./openssl x509 -in new.cert.csr -out new.cert.cert \ -req -signkey new.cert.key -days 999 cp new.cert.key /usr/local/apache/conf/ssl.key/server.key cp new.cert.cert /usr/local/apache/conf/ssl.crt/server.crt |
Nome comune | |
---|---|
OpenSSL chiede diverse cose. Un errore comune è quello di inserire un "nome comune" sbagliato. Questo deve essere lo FQHN (Fully Qualified HostName) del proprio Server, ad es. www.foo.org |
mod_dav è un modulo Apache per fornire capacità DAV (RFC 2518) al proprio server web Apache. È un modulo Open Source, fornito sotto una licenza stile Apache. | ||
--www.webdav.org |
Dal punto di vista degli autori:
DAV significa: »Distributed authoring and Versioning«. Permette di gestire il proprio sito web in modo simile a un filesystem. È pensato per rimpiazzare l'upload tramite ftp al server web.
DAV è supportato da tutti gli strumenti per lo sviluppo web (le versioni più recenti) e sta per diventare uno standard largamente accettato per il web publishing.
cd /usr/local tar -xvzf mod_dav-1.0.3-1.3.6.tar.gz cd mod_dav-1.0.3-1.3.6 ./configure --with-apxs=/usr/local/apache/bin/apxs make make install |
Nome del file che disorienta | |
---|---|
Il nome del file mod_dav-1.0.3-1.3.6 suggerisce che possa funzionare solo con Apache 1.3.6 ma attualmente funziona con tutti gli Apache >= 1.3.6 |
auth_ldap è un modulo di autenticazione LDAP per Apache, il server web più conosciuto del mondo. auth_ldap ha prestazioni eccellenti e supporta Apache sia su Unix che su Windows NT. Ha inoltre il supporto per LDAP su SSL ed una modalità che permette ai client Frontpage di gestire i permessi web utilizzando LDAP per l'autenticazione. | ||
--www.rudedog.org |
Dal punto di vista degli autori:
Se si vogliono unificare le proprie infrastrutture di login in una unica base comune di utenti/password, LDAP (Lightweight Directory Access Protocol) è il modo giusto per farlo. LDAP è uno standard aperto e largamente supportato.
Infrastrutture di login per LDAP:
Come gli Unix-Login per Linux, Solaris (altri?), l'FTP-Login (alcuni demoni ftp), l'autenticazione di base http, l'autenticazione e amministrazione di ruolo per Tarantella, l'autenticazione Samba (2.2.x dovrebbe supportarlo), anche LDAP è basato sul ruolo. Questo significa, per esempio, che si può definire un ruolo »manager« e assegnargli un utente come membro cosicché questo utente possa collegarsi ovunque sia permesso il collegamento ad un manager.
cd /usr/local tar -xvzf auth_ldap-1.6.0.tar.gz cd auth_ldap-1.6.0 ./configure --with-apxs=/usr/local/apache/bin/apxs \ --with-sdk=openldap make make install |
È un modulo di autenticazione http di base. Permette di mantenere agevolmente il proprio utente in un Database MySQL
gunzip mod_auth_mysql.c.gz /usr/local/apache/bin/apxs \ -c -I/usr/local/mysql/include \ -L/usr/local/mysql/lib/mysql \ -lmysqlclient -lm mod_auth_mysql.c cp mod_auth_mysql.so /usr/local/apache/libexec/ |
Si aggiunga questa linea al proprio httpd.conf:
LoadModule mysql_auth_module libexec/mod_auth_mysql.so |
E dove vengono aggiunti gli altri moduli:
AddModule mod_auth_mysql.c |
Ci si assicuri che il percorso delle librerie e degli include di MySQL sia corretto.
Percorso della libreria | |
---|---|
Ci si assicuri che il percorso /usr/local/mysql/lib/mysql sia inserito nel file /etc/ld.so.conf prima della compilazione |
Esempio 1. /usr/local/apache/conf/httpd.conf
<location /manual/> AuthType Basic AuthUserfile /dev/null AuthName Testing AuthGroupFile /dev/null AuthMySQLHost localhost AuthMySQLCryptedPasswords Off AuthMySQLUser root AuthMySQLDB users AuthMySQLUserTable user_info <Limit GET POST> require valid-user </limit> </location> |
si digiti semplicemente:
mysql < authmysql.sql |
Il File authmysql.sql contiene:
È un modulo che permette di definire nuovi Host Virtuali "al volo". Semplicemente si crei una nuova directory nel proprio percorso vhost, è tutto. Non è necessario far ripartire il server web
È una buona soluzione di hosting virtuale di massa per gli ISP
Sito di origine: http://funkcity.com/0101/projects/dynvhost/mod_dynvhost.tar.gz
cd /usr/local tar -xvzf mod_dynvhost.tar.gz cd dynvhost/ /usr/local/apache/bin/apxs -i -a -c mod_dynvhost.c |
Verificare httpd.conf | ||
---|---|---|
Nota: Si guardi nel file httpd.conf per verificare che mod_dynvhost.so sia caricato all'avvio:
|
Esempio 3. /usr/local/apache/conf/httpd.conf
<DynamicVirtualHost /usr/local/apache/htdocs/vhosts/> HomeDir / </DynamicVirtualHost> |
Ora si crei una directory per ciascun host virtuale in /usr/local/apache/htdocs/vhosts/
ad es.
/usr/local/apache/htdocs/vhosts/foo.bar.org
Non è necessario far ripartire il server web
Con mod_roaming si può usare il proprio server web Apache come un Access Server Roaming di Netscape. Questo permette di conservare le preferenze, i bookmark, gli indirizzi, i cookie ecc. di Netscape Comunicator 4.5 sul server, così da poter utilizzare (e aggiornare) le stesse impostazioni, da qualsiasi Netscape Communicator 4.5 che può accedere al server. | ||
--www.klomp.org/mod_roaming/ |
Dal punto di vista degli autori:
Mod_roaming è certamente di grande utilità. Sfortunatamente non funziona sulle connessioni tramite proxy. Si possono mantenere sincronizzati i propri bookmark di Netscape 4.x su differenti macchine. Non è supportato da nessun altro browser, inclusi Mozilla e Netscape 6.x.
cd /usr/local tar -xvzf mod_roaming-1.0.2.tar.gz cd mod_roaming-1.0.2 /usr/local/apache/bin/apxs -i -a -c mod_roaming.c |
Verificare httpd.conf | ||
---|---|---|
Si controlli httpd.conf perché mod_roaming venga caricato all'avvio:
|
Fondamentalmente, ci sono due moduli disponibili per la compressione dell'otuput: mod_gzip e mod_gunzip. Utilizzano approcci differenti per raggiungere l'obiettivo della riduzione di banda.
Mod_gunzip si aspetta il file compresso sul filesystem e lo decomprime se il browser non può manipolare dati compressi. Il beneficio consiste nell'utilizzo minimo della cpu, poiché la maggior parte dei browser può maneggiare contenuto compresso. Per contro, la maggior parte degli attuali contenuti viene fornita dinamicamente, ad es. PHP, e questi vengono forniti non compressi.
Mod_gzip non necessita dei file compressi sul sistema, tutto il contenuto definito viene compresso prima della consegna. Il beneficio consiste nell'avere compresso anche il contenuto generato dinamicamente, il rovescio della medaglia è un elevato utilizzo della cpu, poiché ogni richiesta deve essere compressa al volo. Mod_gzip può maneggiare dati già compressi, ad es. index.html.gz, e inviarli così come sono.
In conclusione: si deve decidere attentamente quale dei due moduli ha più senso. Se si deve pagare per ogni GB fornito e la potenza della CPU non è importante, allora mod_gzip è la scelta giusta. Se conta il tempo di risposta (ritardo tra la richiesta e la consegna) e la larghezza di banda è economica o illimitata, mod_gunzip corrisponde meglio alle proprie necessità.
Una buona pagina che può aiutare a prendere questa decisone, è il documento su mod_gunzip di Martin Kiff http://www.innerjoin.org/apache-compression/howto.html
Sito di origine: http://prdownloads.sourceforge.net/mod-gzip/mod_gzip-1.3.26.1a.tgz?download
Per compilare con successo mod_gzip è necessario modificare il Makefile e fornire il percorso corretto per apxs
make make install |
Si metta il seguente contenuto nel proprio /usr/local/apache/conf/httpd.conf:
Esempio 5. /usr/local/apache/conf/httpd.conf
mod_gzip_on Yes mod_gzip_can_negotiate Yes mod_gzip_dechunk Yes mod_gzip_minimum_file_size 600 mod_gzip_maximum_file_size 0 mod_gzip_maximum_inmem_size 100000 mod_gzip_keep_workfiles No mod_gzip_temp_dir /usr/local/apache/gzip mod_gzip_item_include file \.html$ mod_gzip_item_include file \.txt$ mod_gzip_item_include file \.jsp$ mod_gzip_item_include file \.php$ mod_gzip_item_include file \.pl$ mod_gzip_item_include mime ^text/.* mod_gzip_item_include mime ^application/x-httpd-php mod_gzip_item_include mime ^httpd/unix-directory$ mod_gzip_item_include handler ^perl-script$ mod_gzip_item_include handler ^server-status$ mod_gzip_item_include handler ^server-info$ mod_gzip_item_exclude file \.css$ mod_gzip_item_exclude file \.js$ mod_gzip_item_exclude mime ^image/.* |
Si potrebbe voler loggare il risultato della compressione nell'access log. Questo può essere ottenuto cambiando la direttiva LogFormat su /usr/local/apache/conf/httpd.conf
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" mod_gzip: %{mod_gzip_compression_ratio}npct." combined |
Sito di origine: http://www.oldach.net/mod_gunzip.tar.gz
tar -xvzf mod_gunzip.tar.gz cd mod_gunzip-2 /usr/local/apache/bin/apxs -i -a -c -lz mod_gunzip.c |
Inserire il seguente contenuto nel proprio /usr/local/apache/conf/httpd.conf:
Ora si possono comprimere i propri file html e rinominarli ad es. in:
gzip index.html mv index.html.gz index.htmz |
Naturalmente bisogna modificare tutti i link a htmz, ad es. <a href="pagina.htmz">Qualche pagina</a>
PHP è un linguaggio di scripting lato server, indipendente dalla piattaforma con HTML incorporato. All'inizio era un semplice processore di guestbook, ed è cresciuto sempre di più. Dalla Versione 3 è veramente un linguaggio per lo sviluppo Web | ||
--www.php.net |
Dalla Versione 4, PHP è sufficientemente robusto e adatto per applicazioni web enterprise. È potente, supporta in maniera nativa pressoché tutti i più importanti database e gli altri tramite ODBC (Open DataBase Connectivity). È leggermente più veloce di ASP su sistemi Windows a parità di Hardware.
Sono disponibili altre estensioni come APC (Alternative PHP Cache), che accelerano l'elaborazione di circa il 50-400% (dipende dal codice php che si scrive)
A seconda delle necessità, ci sono alcuni software da installare prima. Un software già installato, in accordo a questo documento, è MySQL poiché è richiesto da mod_auth_mysql.
IMAP significa »Internet Mail Application Protocol« ed è un sostituto del protocollo POP (Post Office Protocol). Permette di tenere tutte le e-mail in differenti cartelle sul server che viene (dovrebbe essere) sottoposto a backup - Mai più e-mail importanti perse a causa del blocco del proprio hard disk locale
cd /usr/local tar -xvfz imap.tar.Z cd imap make slx SSLTYPE=nopwd |
Nome del file per il download | |
---|---|
imap.tar.Z di solito è un link simbolico all'ultima release, attualmente è linkato a imap-2001a.tar.Z |
PostgreSQL è un Database molto potente e veloce
Come MySQL è magnifico per le applicazioni Web. Dal mio punto di vista, non così agevole da maneggiare come MySQL. Se la propria applicazione web deve più che altro scrivere dati, o si necessita di capacità di transazioni robuste, PostgreSQL è il vostro amico
Sito di origine: http://www.postgresql.org (Selezionare il mirror più vicino)
cd /usr/local tar -xvzf postgresql-7.3.2.tar.gz cd postgresql-7.3.2 ./configure \ --with-perl \ --enable-odbc \ --with-unixodbc \ --with-pam \ --with-openssl \ make make install echo /usr/local/pgsql/lib >> /etc/ld.so.conf ldconfig |
Sablotron è un insieme di strumenti XML veloce, portatile e compatto, che implementa XSLT 1.0, DOM Level2 e XPath 1.0. Sablotron è un progetto aperto; altri utenti e sviluppatori sono incoraggiati ad usarlo o ad aiutarci, provandolo o migliorandolo. L'obiettivo di questo progetto è di creare un processore di libreria XML leggero, affidabile e veloce, conforme alle specifiche W3C, che sia disponibile per il pubblico e possa essere usato come base per applicazioni XML multi piattaforma. | ||
--http://www.gingerall.com/charlie/ga/xml/p_sab.xml |
Sito di origine: http://download-2.gingerall.cz/download/sablot/Sablot-0.97.tar.gz
tar -xvzf Sablot-0.97.tar.gz cd Sablot-0.97 ./configure make make install ldconfig |
PDFlib: è una libreria per generare al volo PDF. PDFlib è il componente software principale se si vogliono generare PDF sul proprio server, convertire testo e grafici o implementare l'output PDF nei propri prodotti. | ||
--www.pdflib.com |
Dal punto di vista degli autori:
È un prodotto commmerciale | |
---|---|
PDFLIB è un Prodotto Commerciale. Si legga attentamente la licenza, per vedere se si ha bisogno di una licenza commerciale o meno |
Sito di origine: http://www.pdflib.com/pdflib/download/pdflib-4.0.3.tar.gz
cd /usr/local/ tar -xvzf pdflib-4.0.3.tar.gz cd pdflib-4.0.3 ./configure --enable-shared-pdflib --enable-cxx make make install ldconfig |
gettext è una libreria per l'i18n del software (Internazionalizzazione, "I", 18 caratteri e "n") ed è richiesta da php
Sito di origine: ftp://ftp.gnu.org/gnu/gettext (scegliere un mirror vicino)
cd /usr/local tar -xvzf gettext-0.11.2.tar.gz cd gettext-0.11.2 ./configure make make check make install ldconfig |
zlib è una libreria di compressione dati senza perdita di informazioni, per l'uso su virtualmente ogni tipo di hardware e sistema operativo
Sito di origine: ftp://ftp.info-zip.org/pub/infozip/zlib/zlib-1.1.4.tar.gz (scegliere un mirror vicino)
cd /usr/local tar -xvzf zlib-1.1.4.tar.gz cd zlib-1.1.4/ ./configure make make test make install ldconfig |
cd /usr/local tar -xvzf php-4.3.0.tar.gz cd php-4.3.0 export LDFLAGS=-lstdc++ ./configure \ --with-apxs=/usr/local/apache/bin/apxs \ --with-mysql=/usr/local/mysql \ --with-pgsql=/usr/local/pgsql \ --enable-track-vars \ --with-openssl=/usr/local/ssl \ --with-imap=/usr/local/imap \ --with-gd --with-ldap \ --enable-ftp \ --enable-sysvsem \ --enable-sysvshm \ --enable-sockets \ --with-pdflib=/usr/local \ --with-gettext \ --with-mm=/usr/local/mm-1.1.3 \ --with-jpeg-dir=/usr/lib \ --with-zlib-dir=/usr/local \ --enable-wddx \ --with-mcrypt \ --with-mhash \ --with-mcal=/usr \ --enable-exif \ --enable-xslt \ --with-xslt-sablot=/usr/local \ --with-dom \ --with-dom-xslt \ |
Modificare il Makefile e aggiungere -lstdc++ alla variabile EXTRA_LIBS. Attualmente è necessario solo quando si usa Sablotron versione 0.9.7
make make install |
Dopo l'installazione l'httpd.conf viene modificato da apxs. Ora dovrebbe risultare come segue:
<IfDefine SSL> LoadModule ssl_module libexec/libssl.so LoadModule php4_module libexec/libphp4.so </IfDefine> |
Se si è compilato Apache con mod_ssl allora il modulo php verrà caricato quando si lancerà Apache con ssl (apachectl startssl). Se si avvia Apache senza il supporto ssl (ma compilato come descritto in questo documento) è necessario modificare quanto segue:
<IfDefine SSL> LoadModule ssl_module libexec/libssl.so </IfDefine> LoadModule php4_module libexec/libphp4.so |
Copiare il file di esempio php.ini-dist su /usr/local/lib/php.ini
cp /usr/local/php-4.3.0/php.ini-dist /usr/local/lib/php.ini |
decommentare (rimuovere il # all'inizio della linea) le seguenti linee in /usr/local/apache/conf/httpd.conf
l'httpd.conf predefinito di Apache 1.3.27 manca di queste voci. Si devono aggiungere invece di decommentare
AddType application/x-httpd-php .php AddType application/x-httpd-php .phtml AddType application/x-httpd-php .php3 # Se si vuole mostrare il sorgente PHP AddType application/x-httpd-php-source .phps |
register_globals | ||
---|---|---|
Dalla Versione 4.2.1. di PHP, »register_globals« è impostata su OFF. Ciò può comportare dei problemi se si esegue del codice PHP senza usare i metodi $HTTP_GET_VARS. Per abilitare register_globals si modifichi la seguente linea nel proprio /usr/local/lib/php.ini:
Ci si assicuri, se si scrive nuovo software, di utilizzare i nuovi metodi. Il supporto ai vecchi verrà, prima o poi, abbandonato. |
Riavviare Apache dando il seguente comando:
/usr/local/apache/bin/apachectl restart |
Esistono numerose estensioni disponibili per php, le quali possono essere aggiunte a php.ini
APC è la Alternative PHP Cache. È stata concepita per fornire una struttura libera, aperta e robusta per la compilazione e il caching degli script php. APC è stata pensata per fornire un modo per aumentare le performance di PHP su siti pesantemente caricati fornendo un sistema per la memorizzazione degli script compilati, in modo che il sovraccarico dovuto all'analisi e alla compilazione sia quasi del tutto eliminato. Esistono prodotti commerciali che forniscono questa funzionalità, ma non sono né open-source né gratuiti. Il nostro obiettivo è stato livellare il campo di utilizzo fornendo una implementazione che permettesse grande flessibilità e fosse universalmente accessibile. Abbiamo anche voluto che la cache fornisse visibilità nei suoi stessi funzionamenti e su quelli di PHP, cosicché il tempo è stato investito nel fornire strumenti diagnostici interni che permettesseero la manutenzione e la diagnosi della cache. In questo modo si è giunti ad APC. Poiché ci è stato commissionato lo sviluppo di un prodotto che potesse facilmente crescere con le nuove versioni di PHP, l'abbiamo implementata come una estensione di zend, permettendogli sia di essere compilata in PHP che aggiunta post facto come un modulo drop in. Così come PHP, è disponibile completamente gratis per usi commerciali o non comerciali, sotto gli stessi termini di PHP stesso. APC è stato testato con PHP 4.0.3, 4.0.3pl1 e 4.0.4. Attualmente si compila su Linux e FreeBSD. Sono benvenute le patch per i port ad altri sistemi operativi/versioni di PHP. | ||
--www.apc.communityconnect.com/ |
L'autore ha effettuato alcuni test di performance con APC, ed è stata una vera sorpresa. Una pagina Web PHP con un loop di query MySQL (per un totale di 10 query) è risultata essere più veloce del 50%
Lato negativo di APC: se si hanno altri utenti sul sistema che scrivono php, potrebbero non trovarlo agevole, poiché le modifiche sono del tutto ignorate a meno che non si svuoti la cache o si riavvii Apache. D'altra parte, fare si che APC faccia ogni volta un controllo per nuove versioni degli script, comporta un consistente decadimento delle prestazioni.
cd /usr/local tar -xvzf apc-cvs.tar.gz cd apc ./configure --enable-apc --with-php-config=/usr/local/bin/php-config make make install cp modules/php_apc.so /usr/local/lib/php/extensions echo 'zend_extension="/usr/local/lib/php/extensions/php_apc.so"' \ >> /usr/local/lib/php.ini echo “apc.mode = shm” >> \ apc.mode = shm |
Riavviare il Server Web Apache. Per provarlo, si crei un file php con il seguente contenuto:
Lo Zend Optimizer va oltre il codice intermedio generato dal compilatore Zend standard posto nel motore Zend e quindi lo ottimizza per un esecuzione più veloce. | ||
--www.zend.com |
Zend-Optimizer è un prodotto freeware closed source. Con lo stesso codice di test usato per APC, c'è stata una diminuzione di velocità di circa il 5% comparato con il PHP senza APC.
È necessario fare da se i propri test, per vedere se ci sono dei miglioramenti con il proprio codice. Ci si assicuri di NON usare Zend Optimizer insieme con APC, altrimenti l'intera configurazione non funzionerà.
Sito di origine: https://www.zend.com/store/free_download.php?pid=13
Registrarsi presso zend.com | |
---|---|
È necessario registrarsi presso zend.com per avere accesso alla pagina di download |
Non c'è niente da compilare, questo prodotto è closed source ed è disponibile solo in formato binario per differenti piattaforme. Il nome del file varia in accordo con la propria piattaforma, l'esempio è per Linux su IA32.
cd /usr/local tar -xvzf ZendOptimizer-2.1.0-Linux_glibc21-i386.tar.gz cd ZendOptimizer-2.1.0-Linux_glibc21-i386 ./install.sh |
Lo script di installazione è auto esplicativo, se si sono compilati Apache e PHP come descritto in questo documento, si può semplicemente premere INVIO a tutte le domande sui nomi dei percorsi.
Tomcat è il contenitore di servlet che viene utilizzato nell'Implementazione ufficiale di Riferimento per il Java Servlet e le tecnologie JavaServer Page. Le specifiche Java Servlet e JavaServer Page sono sviluppate da Sun sotto il Java Community Process. | ||
--jakarta.apache.org |
Dal punto di vista degli autori:
Tomcat è il successore di jserv il quale non viene più sviluppato da tempo. Tomcat supporta le ultime API jsp e servlet definite da Sun. Sfortunatamente Tomcat è molto difficile da compilare dal sorgente, poiché utilizza un proprio sistema di compilazione chiamato "ant". Inoltre c'è una lista molto lunga di prerequisiti nel caso si voglia compilare dal sorgente. Si veda http://jakarta.apache.org/tomcat/tomcat-4.0-doc/BUILDING.txt per maggiori dettagli - Buona fortuna e inviate qualche indicazione all'autore.
Nel frattempo l'HOWTO fornisce qualche supporto di base per Tomcat installato dai binari.
L'autore è in cerca di qualche volontario che provi a compilare Tomcat dai sorgenti e dica quali passi sono necessari
Per favore si veda java.sun.com
È troppo per questo HOWTO, per favore si veda http://java.sun.com/j2se/1.3/docs/relnotes/features.html
Si vada a http://java.sun.com/j2se/1.3/ [3]si scelga la propria piattaforma e si seguano i passi indicati sul sito.
Eseguire il binario:
chmod +x j2sdk-1_3_1_02-linux-i386.bin ./j2sdk-1_3_1_02-linux-i386.bin |
Dopo aver accettato la licenza, spacchettare il materiale, spostare la directory risultante in /usr/lib e creare un link simbolico appropriato
Sito di origine: http://jakarta.apache.org/builds/jakarta-tomcat-4.0/release/v4.1.18/src/jakarta-tomcat-4.1.18-src.tar.gz
cd /usr/local tar -xvzf jakarta-tomcat-4.1.8.tar.gz cd jakarta-tomcat-4.1.8 cd bin rm *.bat echo export JAVA_HOME=/usr/lib/java/ >> /etc/profile . /etc/profile |
Per attivare il manager di Tomcat, è necessario modificare /usr/local/jakarta-tomcat-4.1.8/conf/tomcat-users.xml aggiugendo un utente »admin« o con il ruolo »manager«. Il risultato dovrebbe essere qualcosa tipo questo:
<?xml version='1.0' encoding='utf-8'?> <tomcat-users> <role rolename="manager"/> <role rolename="tomcat"/> <role rolename="role1"/> <user username="admin" password="secret" roles="manager"/> <user username="tomcat" password="tomcat" roles="tomcat"/> <user username="role1" password="tomcat" roles="role1"/> <user username="both" password="tomcat" roles="tomcat,role1"/> </tomcat-users> |
Ora dovrebbe essere possibile lanciare tomcat:
/usr/local/apache/jakarta-tomcat-4.1.8/bin/startup.sh |
Dovrebbe essere possibile connettersi a: http://localhost:8080/index.jsp
Se si vuole avere una interfaccia nativa nel proprio Server Web Apache, è necessario compilare mod_jk il quale deve essere scaricato separatamente da qui: http://jakarta.apache.org/builds/jakarta-tomcat-4.0/release/v4.1.18/src/jakarta-tomcat-connectors-4.1.18-src.tar.gz.
tar -xvzf jakarta-tomcat-connectors-4.1.18-src.tar.gz cd jakarta-tomcat-connectors-4.1.18-src/jk/native ./buildconf ./configure --with-apxs=/usr/local/apache/bin/apxs make make install |
Ora segue la parte noiosa, la personalizzazione dei file di configurazione. Prima si modifichi /usr/local/jakarta-tomcat-connectors-4.1.18-src/jk/conf/workers.properties, e si copi il file in /usr/local/apache/conf
Ho creato un workers.properties di esempio che funziona con le JSP e i servlet di prova che vengono forniti con la distribuzione di Tomcat. Si basa sul workers.properties di esempio di Tomcat
Esempio 8. workers.properties
workers.tomcat_home=/usr/local/jakarta-tomcat-4.1.18 # workers.java_home deve puntare alla cartella della propria installazione di Java. Normalmente # in essa si dovrebbero avere le directory bin e lib. # workers.java_home=/usr/lib/java2 # Si dovrebbe configurare il proprio separatore di ambiente... ps=\ su NT e / su UNIX # e potrebbe essere differente in altri ambienti. # ps=/ # Gli operatori che dovrebbero creare e lavorare con i vostri plugin # worker.list=worker1 #------ DEFINIZIONE DELL'OPERATORE DEFAULT ajp13 ------------------------------ #--------------------------------------------------------------------- # Definizione di un operatore chiamato ajp13 e di tipo ajp13 # Si noti che il nome e il tipo non devono coincindere. # worker.worker1.port=8009 worker.worker1.host=localhost worker.worker1.type=ajp13 #------ DEFINIZIONE CLASSPATH ----------------------------------------- #--------------------------------------------------------------------- # Componenti class path addizionali. # worker.inprocess.class_path=$(workers.tomcat_home)$(ps)lib$(ps)tomcat.jar # La JVM che abbiamo in uso # # Unix - Sun VM o blackdown worker.inprocess.jvm_lib=$(workers.java_home)$(ps)jre$(ps)lib$(ps)i386$(ps)classic$(ps)libjvm.so # Impostazione della posizione di stdout e stderr di tomcat # worker.inprocess.stdout=$(workers.tomcat_home)$(ps)logs$(ps)inprocess.stdout worker.inprocess.stderr=$(workers.tomcat_home)$(ps)logs$(ps)inprocess.stderr |
Di seguito, è necessario configurare il proprio file httpd.conf. Il seguente esempio coincide con quelli forniti da Tomcat.
LoadModule jk_module libexec/mod_jk.so AddModule mod_jk.c JkWorkersFile /usr/local/apache/conf/workers.properties JkLogFile /var/log/httpd/mod_jk.log JkLogLevel info JkLogStampFormat "[%a %b %d %H:%M:%S %Y] " JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories JkRequestLogFormat "%w %V %T" JkMount /examples/servlet/* worker1 JkMount /examples/*.jsp worker1 |
Dopo il riavvio di Apache, dovrebbe essere possibile connettersi alle proprie pagine JSP tramite Apache. Ad es.: http://localhost/examples/jsp/num/numguess.jsp
Per gli ulteriori passi, come l'installazione dei propri servlet e file jsp, sta a voi stessi...
Variabili d'ambiente | |
---|---|
Se Tomcat non si avvia e/o le proprie servlet non possono essere avviate, l'errore più comune è non avere tutte le classi necessarie nella variabile CLASSPATH. |
Qui ci sono altre risorse disponibili su Internet
Alcuni dei gruppi più interessanti sono:
Si controllino anche i gruppi di discussione del proprio paese, ad es. it.comp.os.linux
La maggior parte dei gruppi di discussione hanno le loro FAQ che sono pensate per rispondere alle domande più frequenti, come il nome Frequently Asked Questions indica. Le versioni più recenti dovrebbero essere postate regolarmente nei gruppi pertinenti. Se non si riescono a trovare nella propria coda news, si può andare direttamente al sito FTP archivio primario delle FAQ. La versione WWW può essere sfogliata presso il sito WWW archivio primario.
<users@httpd.apache.org>
Inviare una e-mail vuota a <users-subscribe@httpd.apache.org>
Prima di scrivere alla lista, controllare l'archivio: http://marc.theaimsgroup.com/?l=apache-httpd-users
<modperl@apache.org>
Inviare un e-mail a <modperl@apache.org>
con il contenuto (non l'oggetto):
subscribe modperl |
Prima di scrivere alla lista, controllare l'archivio: http://outside.organic.com/mail-archives/modperl/
<openssl-users@openssl.org>
Inviare un e-mail a <majordomo@openssl.org>
con il contenuto (non l'oggetto):
subscribe openssl-users |
Prima di scrivere alla lista, controllare l'archivio: http://www.mail-archive.com/openssl-users@openssl.org/
<modssl-users@modssl.org>
Inviare un e-mail a <majordomo@modssl.org>
con il contenuto (non l'oggetto):
subscribe modssl-users |
Prima di scrivere alla lista, controllare l'archivio: http://www.mail-archive.com/modssl-users@modssl.org/
<mysql@lists.mysql.com>
Inviare un e-mail vuota a <mysql-subscribe@lists.mysql.com>
Prima di scrivere alla lista, controllare l'archivio: http://lists.mysql.com/cgi-ez/ezmlm-cgi/
<pgsql-general@postgres.org>
Riempire la scheda di iscrizione presso http://developer.postgresql.org/mailsub.php
Prima di scrivere alla lista, controllare l'archivio: http://archives.postgresql.org/pgsql-general/
Riempire la scheda di iscrizione presso http://www.php.net/mailing-lists.php.
Ci sono diverse mailing list relative a php a cui iscriversi, alcune sono disponibili anche sul server news di php.net.
Prima di scrivere alla lista, controllare l'archivio che è linkato anche sulla pagina di iscrizione.
Sono intesi come principali punti di partenza per ottenere informazioni di base. Mostrano inoltre come risolvere un problema specifico. Alcuni HOWTO inerenti sono
Apache-Overview-HOWTO , Apache-WebDAV-LDAP-HOWTO , LDAP-HOWTO , LDAP-Implementation-HOWTO and the PHP-HOWTO
Il sito principale per questi documenti è l'archivio LDP [NdT: ora http://tldp.org].
Di solito le distribuzioni installano della documentazione sul sistema. Solitamente si trovano in /usr/share/doc/packages o /usr/local/share/doc
I prodotti software menzionati, forniscono molta documentazione nelle directory sorgente. Apache installa la sua documentazione nella directory di predefinita DocumentRoot /usr/local/apache/htdocs/manual
Esiste un gran numero disponibile di siti web informativi. Per loro natura cambiano rapidamente, per cui non ci si sorprenda se questi link diventano velocemente obsoleti.
Un buon punto d'inizio naturalmente è la home page del Linux Documentation Project [NdT: ora http://tldp.org], un importante archivio di informazioni per la documentazione, pagine di progetto e molto di più.
Per ottenere maggiori informazioni sui software menzionati in questo documento, i seguenti siti sono ottimi punti di partenza.
Per favore mi si faccia sapere se si hanno altre indicazioni che potrebbero essere di interesse.
Ancora no. La ragione è che PHP 4.2.1 supporta l'API Apache 2.0 solo sperimentalmente e la velocità di PHP è molto
scarsa con Apache 2.0. Come il nuovo Apache avrà nuove funzioni e massicci miglioramenti di velocità,
scriverò siffatto HOWTO non appena il supporto PHP sarà stabile e maggiormente prestante. Sto raccogliendo
idee e desideri dagli utenti su cosa vorrebbero vedere in un Apache 2.0 HOWTO. Sentitevi liberi di scrivere una e-mail a <luc at delouw dot ch>
.
Perché nessuno l'ha ancora richiesto e neanche io so niente del mod_xyz, o non l'ho trovato utile. Sentitevi liberi di scrivermi qualche suggerimento da aggiungere all'HOWTO. Se c'è più di una richiesta e ha senso, potrebbe essere aggiunta in versioni successive.
10.1.3. Se i miei client tentano di connettersi a https://myserver.org appare un messaggio d'errore simile a questo "Certificato non valido".
Il certificato creato come descritto in questo HOWTO è solo un certificato auto-firmato. Questo significa che la CA (Certification Authority) siete voi. La vostra CA non è riconosciuta come valida dai browser degli utenti. Potete anche installare il certificato sulle macchine dei vostri utenti (Ha senso in piccoli ambienti Intranet) o acquistare un certificato da una CA che viene riconosciuta dai browser più diffusi. Un esempio di siffatta CA è Verisign http://www.verisign.com. Questo certificato costa approssimativamente 300 USD all'anno, a seconda della robustezza della chiave (56 o 128 Bit).
Hai dimenticato di dire ad Apache cosa fare con i file php. Così questi non vengono processati dal motore php. Per farglielo fare, aggiungere il tipo di applicazione come descritto in la Sezione 6.3
Se si hanno domande, sarò lieto di rispondere e pubblicare le più importanti qui (in anonimato)
[1] | Questo RPM contiene i file header necessari per php |
[2] | Necessario solo nel caso in cui PHP viene costruto dall'albero CVS |
[3] | C'è anche disponibile la versione 1.4.1 di Java, ma Tomcat sembra non girare con questa. |