FORMAZIONE TECNICA SISTEMISTICA APPLICATIVA · postgresql.conf: È il file di configurazione di...

23
Il software che crea successo FORMAZIONE TECNICA SISTEMISTICA APPLICATIVA Corso di certificazione base

Transcript of FORMAZIONE TECNICA SISTEMISTICA APPLICATIVA · postgresql.conf: È il file di configurazione di...

Page 1: FORMAZIONE TECNICA SISTEMISTICA APPLICATIVA · postgresql.conf: È il file di configurazione di posrgres. All’interno è possi ile definire diversi parametri tra i quali: - percorsi

Il software che crea successo

FORMAZIONE TECNICASISTEMISTICA APPLICATIVA

Corso di certificazione base

Page 2: FORMAZIONE TECNICA SISTEMISTICA APPLICATIVA · postgresql.conf: È il file di configurazione di posrgres. All’interno è possi ile definire diversi parametri tra i quali: - percorsi

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

Page 3: FORMAZIONE TECNICA SISTEMISTICA APPLICATIVA · postgresql.conf: È il file di configurazione di posrgres. All’interno è possi ile definire diversi parametri tra i quali: - percorsi

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

Page 4: FORMAZIONE TECNICA SISTEMISTICA APPLICATIVA · postgresql.conf: È il file di configurazione di posrgres. All’interno è possi ile definire diversi parametri tra i quali: - percorsi

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

Page 5: FORMAZIONE TECNICA SISTEMISTICA APPLICATIVA · postgresql.conf: È il file di configurazione di posrgres. All’interno è possi ile definire diversi parametri tra i quali: - percorsi

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);

Page 6: FORMAZIONE TECNICA SISTEMISTICA APPLICATIVA · postgresql.conf: È il file di configurazione di posrgres. All’interno è possi ile definire diversi parametri tra i quali: - percorsi

6

Confermare l’installazione (Y) ed attendere il completamento dell’installazione.

Page 7: FORMAZIONE TECNICA SISTEMISTICA APPLICATIVA · postgresql.conf: È il file di configurazione di posrgres. All’interno è possi ile definire diversi parametri tra i quali: - percorsi

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

Page 8: FORMAZIONE TECNICA SISTEMISTICA APPLICATIVA · postgresql.conf: È il file di configurazione di posrgres. All’interno è possi ile definire diversi parametri tra i quali: - percorsi

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

Page 9: FORMAZIONE TECNICA SISTEMISTICA APPLICATIVA · postgresql.conf: È il file di configurazione di posrgres. All’interno è possi ile definire diversi parametri tra i quali: - percorsi

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.

Page 10: FORMAZIONE TECNICA SISTEMISTICA APPLICATIVA · postgresql.conf: È il file di configurazione di posrgres. All’interno è possi ile definire diversi parametri tra i quali: - percorsi

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

Page 11: FORMAZIONE TECNICA SISTEMISTICA APPLICATIVA · postgresql.conf: È il file di configurazione di posrgres. All’interno è possi ile definire diversi parametri tra i quali: - percorsi

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.

Page 12: FORMAZIONE TECNICA SISTEMISTICA APPLICATIVA · postgresql.conf: È il file di configurazione di posrgres. All’interno è possi ile definire diversi parametri tra i quali: - percorsi

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

Page 13: FORMAZIONE TECNICA SISTEMISTICA APPLICATIVA · postgresql.conf: È il file di configurazione di posrgres. All’interno è possi ile definire diversi parametri tra i quali: - percorsi

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

Page 14: FORMAZIONE TECNICA SISTEMISTICA APPLICATIVA · postgresql.conf: È il file di configurazione di posrgres. All’interno è possi ile definire diversi parametri tra i quali: - percorsi

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.

Page 15: FORMAZIONE TECNICA SISTEMISTICA APPLICATIVA · postgresql.conf: È il file di configurazione di posrgres. All’interno è possi ile definire diversi parametri tra i quali: - percorsi

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

Page 16: FORMAZIONE TECNICA SISTEMISTICA APPLICATIVA · postgresql.conf: È il file di configurazione di posrgres. All’interno è possi ile definire diversi parametri tra i quali: - percorsi

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

Page 17: FORMAZIONE TECNICA SISTEMISTICA APPLICATIVA · postgresql.conf: È il file di configurazione di posrgres. All’interno è possi ile definire diversi parametri tra i quali: - percorsi

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" />

Page 18: FORMAZIONE TECNICA SISTEMISTICA APPLICATIVA · postgresql.conf: È il file di configurazione di posrgres. All’interno è possi ile definire diversi parametri tra i quali: - percorsi

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

Page 19: FORMAZIONE TECNICA SISTEMISTICA APPLICATIVA · postgresql.conf: È il file di configurazione di posrgres. All’interno è possi ile definire diversi parametri tra i quali: - percorsi

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

Page 20: FORMAZIONE TECNICA SISTEMISTICA APPLICATIVA · postgresql.conf: È il file di configurazione di posrgres. All’interno è possi ile definire diversi parametri tra i quali: - percorsi

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

Page 21: FORMAZIONE TECNICA SISTEMISTICA APPLICATIVA · postgresql.conf: È il file di configurazione di posrgres. All’interno è possi ile definire diversi parametri tra i quali: - percorsi

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

Page 22: FORMAZIONE TECNICA SISTEMISTICA APPLICATIVA · postgresql.conf: È il file di configurazione di posrgres. All’interno è possi ile definire diversi parametri tra i quali: - percorsi

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)

Page 23: FORMAZIONE TECNICA SISTEMISTICA APPLICATIVA · postgresql.conf: È il file di configurazione di posrgres. All’interno è possi ile definire diversi parametri tra i quali: - percorsi

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