FORMAZIONE TECNICA SISTEMISTICA APPLICATIVA · postgresql.conf: È il file di configurazione di...
Transcript of FORMAZIONE TECNICA SISTEMISTICA APPLICATIVA · postgresql.conf: È il file di configurazione di...
Il software che crea successo
FORMAZIONE TECNICASISTEMISTICA APPLICATIVA
Corso di certificazione base
Prima giornata
• Introduzione alle tecnologie
• Requisiti HW/SW applicazioni HR/AGO
• Database: installazione e manutenzione SQL Server
• JVM: reperimento, tecnologia e installazione su Windows
• Tomcat: reperimento, tecnologia a installazione su Windows
• Analisi ed utilizzo Tomcat Manager e log di Tomcat
• JDBC Driver e configurazione DBConfig
• Installazione e configurazione MIPHR/PagheW
• Parametrizzazioni applicative: DMS, Percorsi, HR Abilitazioni, Live Update, Gadget aggiornamenti, Licenza applicativa
• Introduzione ai Web Server: installazione e configurazione Microsoft IIS
2
Seconda giornata
• Database: installazione e manutenzione PostgreSQL
• JVM: reperimento, tecnologia e installazione su Linux
• Tomcat: reperimento, tecnologia a installazione su Linux
• JDBC Driver e configurazione DBConfig
• Installazione e configurazione MIPHR/AGO
• Parametrizzazioni applicative: DMS, Percorsi, HR Abilitazioni, Live Update, Gadget aggiornamenti, Licenza applicativa
• Introduzione ai Web Server: installazione e configurazione Apache HTTPD
3
4
Database – Installazione e configurazione PostgreSQL
Attenzione: PostgreSQL è certificato solo per installazioni con un numero di utenti e anagrafichelimitato. Per maggiori informazioni contattare il comparto tecnico Zucchetti.
Scaricare il download al seguente link:
https://www.enterprisedb.com/downloads/postgres-postgresql-downloadsFare riferimento ai requisiti tecnici HR Zucchetti per assicurarsi di scaricare le versioni certificate.
Se desiderato, scaricare pgAdmin per la gestione del DB:
https://www.pgadmin.org/download/
Per i riferimenti dettagliati di installazione consultare il link:https://corso.zucchettilab.it/index.html
5
Rendere eseguibile il file di installazione con il seguente comando:
chmod +x postgresql-version-linux-arch.run
Eseguibile il file di installazione con il seguente comando:
./postgresql-version-linux-arch.run
Durante l’installazione scegliere i seguenti parametri:
- percorso di installazione;- percorso directory dati;- password utente postgres;- porta utilizzata da postgres;- encoding utilizzato (utf8);
6
Confermare l’installazione (Y) ed attendere il completamento dell’installazione.
7
Al termine dell’installazione controllare che il servizio sia avviato e abilitato all’avvio automatico con ilseguente comando:systemctl status postgres-version
Se il servizio non è avviato avviarlo con il seguente comando:systemctl start postgres-version
Se il servizio non è abilitato all’avvio automatico abilitarlo con il seguente comando:systemctl enable postgres-version
8
pg_hba.conf:
È il file di configurazione per l’autenticazione del client.All’interno di questo file è necessario aggiungere le entry per consentire l’accesso all’istanza dai vari client.Per default è possibile accedere solo da localhost.
postgresql.conf:
È il file di configurazione di posrgres.All’interno è possibile definire diversi parametri tra i quali:- percorsi dei file e delle directory di configurazione- parametri di connessione e autenticazione;- parametri di memoria ed altre risorse- parametri dei loge altri parametri di sistema.
Parametri di configurazione consigliati:
shared_buffers = Consigliato il 25% della memoria totalework_mem = Consigliato il 4% della memoria totalemaintenance_work_mem = Consigliato il 10% della memoria totalemax_connections = 100escape_string_warning = Onstandard_conforming_strings = OffAutovacuum = On (con relativi parametri a default)synchronous_commit = Onwal_buffers = -1checkpoint_segments = 16effective_cache_size = Consigliato il 40% della memoria totaledefault_statistics_target = 100log_destination = 'stderr'logging_collector = onlog_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'log_rotation_age = 1dlog_rotation_size = 100MBmax_locks_per_transaction = 128
directory
DATA
9
directory
BINpsql:
È un front-end basato su terminale di PostgreSQL. Ti consente di digitare le query in modo interattivo, di inviarle a PostgreSQL e di vedere i risultati della query. In alternativa, l'input può provenire da un file o da argomenti della riga di comando.
pg_dump:
È un’utilità per il backup di un database PostgreSQL. Effettua backup coerenti anche mentre il database è in uso.pg_dump esegue solo il dump di un singolo database. Per eseguire il backup di oggetti globali comuni a tutti i database utilizzare pg_dumpall.
pg_restore:
È un’utilità per ripristinare un database PostgreSQL da un archivio creato da pg_dump. Possiede i comandi necessari per ricostruire il database allo stato in cui si trovava al momento del salvataggio. I file di archivio consentono inoltre a pg_restore di essere selettivo su ciò che si vuole ripristinare e anche di riordinare gli elementi prima di essere ripristinati.
dropdb:
dropdb distrugge un database PostgreSQL esistente. L'utente che esegue questo comando deve essere un superuser del database o il proprietario del database.dropdb è un wrapper del comando SQL DROP DATABASE.
10
Collegarsi a postgres con utente superuser (postgres):./psql –U postgres
oppure/opt/PostgreSQL/9.6/bin/psql –U postgres
Creare un nuovo utente che servirà a collegarsi al database degli applicativi:create user zucchetti password ‘zucchetti’;
Creare un nuovo database per gli applicativi e associargli l’utente appena creato:Create database zucchetti owner zucchetti;
Verificare che nella lista dei databaseSia presente quello appena creato:\l
Uscire dal terminale di postgres:\q
11
./pg_dump -Fc –U postgres zucchetti > file.backup
Esegue il dump del database zucchetti nel file.backup, usa il formato custom (-Fc) ed esegue l’operazione con l’utente postgres (-U postgres)
Pg_restore non sovrascrive interamente il database di destinazione, ma importa gli oggetti del file specificatonel database indicato. Per questo motivo è necessario prima eliminare e ricreare il database di destinazione.
./dropdb –U postgres zucchetti
Elimina il database zucchetti.
./psql –U postgres –c ‘create database zucchetti owner zucchetti;’
Crea il nuovo database zucchetti ed imposta il relativo proprietario zucchetti.
12
./pg_restore –U postgres –v –d zucchetti –Fc file.backup
Esegue il restore dal file.backup verso il database zucchetti con le seguenti opzioni:
-Fcinterpreta il file.backup con il formato custom;
-U postgresesegue il comando come utente postgres;
-vmostra l’output delle fasi che sta elaborando;
-d zucchettiimporta il contenuto del dump nel database zucchetti
13
JAVA – Reperimento ed installazione
• Di seguito viene descritta la procedura di installazione della Java di Oracle/SUN versione 1.8 upd144 con Modulo JDK su un S.O. Linux CentOS 7.x.
• Prelevare il file dal sito della Oracle/SUN regolandosi sulla versione certificata con gli applicativi da utilizzarehttp://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
• Per i riferimenti dettagliati di installazione consultare il link: https://corso.zucchettilab.it/index.html
14
Scaricare il file tar.gz relativo alla JDK certificata necessaria agli applicativi da installare.
Creare una cartella per l’installazione (ad es. /opt/zucchetti) valutando l’eventuale presenza di dischi secondari:cd /opt
mkdir zucchetti
Estrarre l’archivio della Java con tar xvfz jdk-versione-linux-arch.tar.gz, ad esempio:tar xvfz jdk-8u144-linux-x64.tar.gz
Al termine la JDK si troverà all’interno della cartella jdkVersione, ad esempio jdk1.8.0_144.
15
Apache Tomcat – Reperimento ed installazione
• Di seguito viene descritta la procedura di installazione di Apache Tomcat versione 8.5.16 su un S.O.Linux CentOS 7.x.
• Prelevare il file dal sito dell’Apache Org. regolandosi sulla versione certificata con gli applicativi da utilizzarehttps://archive.apache.org/dist/tomcat/tomcat-8/v8.5.16/bin/
• Per i riferimenti dettagliati di installazione consultare il link:https://corso.zucchettilab.it/index.html
16
Scaricare il file tar.gz relativo al Tomcat certificatonecessario agli applicativi da installare.
Posizionarsi nella cartella di installazione ed estrarre l’archivio del Tomcat contar xvfz apache-tomcat-versione.tar.gz, ad esempio:cd /opt/zucchetti
tar xvfz jdk-8u144-linux-x64.tar.gz
Al termine il Tomcat si troverà all’interno della cartella apache-tomcat-versione, ad esempioapache-tomcat-8.5.16.
Per comodità si consiglia di creare i link simbolici delle cartelle di JDK e Tomcat:ln -s apache-tomcat-8.5.16 tomcat_aln -s jdk1.8.0_144 java
17
Editare il file <tomcat>/conf/catalina.properties
• Sostituire tutto il bloccotomcat.util.scan.StandardJarScanFilter.jarsToSkip=\
con la sola riga tomcat.util.scan.StandardJarScanFilter.jarsToSkip=*.jar
• Individuare nello stesso file il parametrotomcat.util.scan.StandardJarScanFilter.jarsToScan=\
log4j-web*.jar,log4j-taglib*.jar,log4javascript*.jar,slf4j-taglib*.jar
sostituendolo con il seguentetomcat.util.scan.StandardJarScanFilter.jarsToScan=\
log4j-web*.jar,log4j-taglib*.jar,log4javascript*.jar,slf4j-taglib*.jar,standard.jar
Editare il file <tomcat>/conf/logging.properties
• Aggiungere alla fine del file il seguente parametroorg.apache.catalina.webresources.Cache.level = SEVERE
al fine di non registrare tutti i messaggi informativi di Apache Tomcat nelle fasi di avvio del servizio
Editare il file <tomcat>/conf/server.xml
• Individuare la riga del connettore AJP<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
ed aggiungere alla fine il parametro maxThreads="800" <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" maxThreads="800" />
18
Tomcat– Utilizzo ed accesso Tomcat Manager
Per accedere al Tomcat Manager è necessario, per ragioni di sicurezza, autorizzare in modo esplicitoquali IP abilitare modificando il file TomcatA/webapps/manager/META-INF/context.xml
Gli IP localhost sono già abilitati
Aggiungere l’IP desiderato nel parametro “allow” come evidenziato
allow="192\.\168\.\1\.\110|127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
in alternativa usare
allow=".*" />
oppure
allow="\d+\.\d+\.\d+\.\d+|127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
per consentire l’accesso al Tomcat Manager da qualsiasi IP
Introduzione ai Web Server – Apache HTTPD
• Di seguito viene descritta la procedura di installazione di Apache HTTPD 2.4.x su un S.O. LinuxCentOS 7.x
Installare il web server httpd e il relativo modulo mod_ssl (nel caso in futuro si debbaconfigurare un certificato ssl) con il seguente comando:yum install httpd mod_ssl
Al termine dell’installazione abilitare il servizio all’avvio automatico con il seguente comando:Systemctl enable httpd
Editare il file /etc/httpd/conf/httpd.conf aggiungendo in fondo le seguenti righe:
Timeout 1800
KeepAlive On
MaxKeepAliveRequests 0
KeepAliveTimeout 100
Timeout– Quantità di tempo in cui il server attenderà per alcuni tipi di eventi prima di fallire una richiesta. Valore di default: 60
KeepAlive - Consentono l’invio di più richieste sulla stessa connessione TCP. In alcuni casi è stato dimostrato che questo ha comportato un aumento del 50% dei tempi di latenza per i documenti HTML. Valore di default: On
MaxKeepAliveRequests - Limita il numero di richieste consentite per connessione quando KeepAlive è attivo. Se è impostato su 0, saranno consentite richieste illimitate. Si consiglia di impostare un valore elevato per le ottenere prestazioni migliori. Valore di default: 100
KeepAliveTimeout - Il numero di secondi che Apache httpd attenderà per una richiesta successiva prima di chiudere la connessione. Una volta ricevuta una richiesta, si applica il valore di timeout specificato dalla direttiva Timeout.Impostare un valore elevato può causare problemi di prestazioni nei server con carichi elevati. Maggiore è il timeout, maggiore sarà il numero di processi del server occupati in attesa di connessioni con i client inattivi. Valore di default: 5
Compressione dei dati trasmessi:BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE\s7 !no-gzip !gzip-only-text/html
BrowserMatch \bMSIE\s8 !no-gzip !gzip-only-text/html
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/js text/jsp
text/javascript text/css application/x-javascript text/javascript text/x-js
application/json application/xml application/javascript
StartServers –Definisce il numero di processi figli che vengono create all’avvio del servizio.
MinSpareServers –Definisce il numero minimo di processi figli che dovranno essere sempre pronti (idle) per gestire le nuoverichieste.
MaxSpareServers –Definisce il numero massimo di processi figli che dovranno essere sempre pronti (idle) per gestire le nuoverichieste.
MaxClients e MaxRequestWorkers –Questa è la direttiva più importante del modulo prefork: questo parametro definisce il numero massimo di richieste che può essere gestito dal server Apache. Se il numero massimo di richieste supera questo valore, tutte le richieste aggiuntive devono attendere in coda.
MaxRequestsPerChild e MaxConnectionsPerChild –Questo è il numero massimo di richieste che possono essere elaborate da un processo figlio nella sua vita. Ad esempio, se si imposta questo valore su 100. Qualsiasi nuovo processo figlio servirà fino a 100 richieste e quindi verrà ucciso dal processo padre. A questo punto Apache avvierà un nuovo processo figlio.
per Apache 2.4
<IfModule mpm_prefork_module>
StartServers 10
MinSpareServers 10
MaxSpareServers 20
ServerLimit 512
MaxRequestWorkers 512
MaxConnectionsPerChild 4000
</IfModule>
Multi-Processing Modules (MPMs)
Server Status:<Location "/server-status">
SetHandler server-status
Require host example.com
Require ip 127.0.0.1
</Location>
Inizio configurazione mod_jk
Sempre nel file httpd.conf aggiungere la seguente riga:Include conf/mod_jk.conf
Creare il file /etc/httpd/conf/mod_jk.conf così composto:LoadModule jk_module modules/mod_jk.so
JkWorkersFile conf/workers.properties
JkLogFile logs/mod_jk.log
JkLogLevel error
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
Include conf/jk_mount.conf
Creare il file /etc/httpd/conf/jk_mount.conf così composto:JkMount /HRPOrtal tomcat_a
JkMount /HRPortal/* tomcat_a
Creare il file /etc/httpd/conf/workers.properties così composto:worker.list = tomcat_a
worker.tomcat1.port = 8009
worker.tomcat1.host = server1
worker.tomcat1.type = ajp13
Copiare il file mod_jk.so relativo alla distribuzione e all’architettura in uso nella cartella /etc/httpd/modules e renderlo eseguibile con il seguente comando:chmod +x /etc/httpd/modules/mod_jk
Riavviare Apache HTTPD con il seguente comando:systemctl restart httpd