====== Apache, PostgreSQL e Tomcat ======
Generalmente con l'acronimo **[[wp>LAMP_(software_bundle)|LAMP]]** si intende una piattaforma per lo sviluppo di applicazioni web basata su GNU/Linux, Apache, MySQL, Perl, PHP o Python.
In questa pagina parliamo di PostgreSQL invece di MySQL, per evidenti motivi di superiorità del primo.
===== Apache =====
Vedere anche **[[..:sa:apache]]**.
* Installazione su Debian
* Consigliato il pacchetto **apache2-mpm-prefork**, l'unico compatibile con PHP. In teoria meno performante di **apache2-mpm-worker**.
* Il PHP è fornito dal pacchetto **libapache2-mod-php5** installato come dipendaza dal metapacchetto **php5**. Configurazione: **''/etc/php5/apache2/php.ini''**
* Attivazione moduli: directory **''/etc/apache2/mods-enabled''**
* VirtualHost, si crea un file di configurazione **''%%/etc/apache2/sites-available/www.prova.it%%''**:
ServerName www.prova.it
#SSLEngine off
DocumentRoot /var/www/www.prova.it
ServerAdmin webmaster@prova.it
ErrorLog /var/log/apache2/www.prova.it/error.log
CustomLog /var/log/apache2/www.prova.it/access.log combined
Si devono creare anche i file di log vuoti e con i **permessi giusti**.
* Autenticazione Base HTTP, si deve creare un file **''.htaccess''** e un file con le password **''.htpasswd''**:
AuthType Basic
AuthName "Area protetta"
AuthUserFile /var/www/www.prova.it/privata/.htpasswd
Require valid-user
Per creare il file con le password si utilizza il comando **''htpasswd''**. Verificare che:
* Il meccanismo di autenticazione funzioni (la password viene chiesta davvero)
* I file .htaccess e .htpasswd siano protetti e non sia possibile leggerli da remoto.
===== PostgreSQL =====
* Connessione tramite client
* Controllo accesso **''/etc/postgresql/8.3/main/pg_hba.conf''**
host all all 192.168.2.0/24 md5
* Logging **''/etc/postgresql/8.3/main/postgresql.conf''**
log_statement = 'all' # none, ddl, mod, all
* Dump e restore con formato -Fc
Creazione di un dump in formato custom (-Fc), creazione di una lista degli oggetti contenuti nel dump, editing della lista, restore selettivo dei soli oggetti indicati nella lista:
pg_dump -h 127.0.0.1 -U dbuser -W -d dbname -Fc > dbname.dump
pg_restore --list dbname.dump > bd_list
vi db_list
pg_restore --use-list db_list -U dbuser -W -h 127.0.0.1 -d dbname dbname.dump
===== Tomcat =====
Vedere: **[[..:sa:tomcat_mod_jk]]**.
* Installazione su Debian
* Mod_JK