Corso di certificazione base - FORMAZIONE TECNICA SISTEMISTICA APPLICATIVA - Documentazione ...

Pagina creata da Alessandro Mori
 
CONTINUA A LEGGERE
Corso di certificazione base - FORMAZIONE TECNICA SISTEMISTICA APPLICATIVA - Documentazione ...
FORMAZIONE TECNICA
SISTEMISTICA APPLICATIVA

                    Corso di certificazione base

                      Il software che crea successo
Corso di certificazione base - FORMAZIONE TECNICA SISTEMISTICA APPLICATIVA - Documentazione ...
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
Corso di certificazione base - FORMAZIONE TECNICA SISTEMISTICA APPLICATIVA - Documentazione ...
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
Database – Installazione e configurazione PostgreSQL

Attenzione: PostgreSQL è certificato solo per installazioni con un numero di utenti e anagrafiche
limitato. Per maggiori informazioni contattare il comparto tecnico Zucchetti.

Scaricare il download al seguente link:

https://www.enterprisedb.com/downloads/postgres-postgresql-downloads
Fare 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

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

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

                                                 6
Al termine dell’installazione controllare che il servizio sia avviato e abilitato all’avvio automatico con il
seguente 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

                                                                        7
pg_hba.conf:

È il file di configurazione per l’autenticazione del client.          directory
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.                   DATA
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 log
e altri parametri di sistema.

P arametri di configurazione consigliati:

shared_buffers = Consigliato il 25% della memoria totale
work_mem = Consigliato il 4% della memoria totale
maintenance_work_mem = Consigliato il 10% della memoria totale
max_connections = 100
escape_string_warning = On
standard_conforming_strings = Off
Autovacuum = On (con relativi parametri a default)
synchronous_commit = On
wal_buffers = -1
checkpoint_segments = 16
effective_cache_size = Consigliato il 40% della memoria totale
default_statistics_target = 100
log_destination = 'stderr'
logging_collector = on
log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'
log_rotation_age = 1d
log_rotation_size = 100MB
max_locks_per_transaction = 128

                                                                  8
psql:                                                                       directory
È 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
                                                                             BIN
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.

                                                                        9
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 database
Sia presente quello appena creato:
\l

Uscire dal terminale di postgres:
\q

                                                                            10
./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 specificato
nel 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.

                                                                            11
./pg_restore –U postgres –v –d zucchetti –Fc file.backup
Esegue il restore dal file.backup verso il database zucchetti con le seguenti opzioni:

-Fc
  interpreta il file.backup con il formato custom;

-U postgres
  esegue il comando come utente postgres;

-v
  mostra l’output delle fasi che sta elaborando;

-d zucchetti
  importa il contenuto del dump nel database zucchetti

                                                                   12
JAVA – Reperimento ed installazione

•   Di seguito viene descritta la procedura di installazione della Java di Oracle/SUN versione 1.8 upd
    144 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
    utilizzare
    http://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

                                                          13
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.

    14
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
    utilizzare
    https://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

                                                              15
Scaricare il file tar.gz relativo al Tomcat certificato
     necessario agli applicativi da installare.

     Posizionarsi nella cartella di installazione ed estrarre
     l’archivio del Tomcat con
     tar 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 esempio
     apache-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_a
     ln -s jdk1.8.0_144 java

16
Editare il file /conf/catalina.properties

•   Sostituire tutto il blocco
    tomcat.util.scan.StandardJarScanFilter.jarsToSkip=\
    con la sola riga
    tomcat.util.scan.StandardJarScanFilter.jarsToSkip=*.jar

•   Individuare nello stesso file il parametro
    tomcat.util.scan.StandardJarScanFilter.jarsToScan=\
    log4j-web*.jar,log4j-taglib*.jar,log4javascript*.jar,slf4j-taglib*.jar
    sostituendolo con il seguente
    tomcat.util.scan.StandardJarScanFilter.jarsToScan=\
    log4j-web*.jar,log4j-taglib*.jar,log4javascript*.jar,slf4j-taglib*.jar,standard.jar

Editare il file /conf/logging.properties

•   Aggiungere alla fine del file il seguente parametro
    org.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 /conf/server.xml

•   Individuare la riga del connettore AJP
    
    ed aggiungere alla fine il parametro maxThreads="800"
    
                                                                   17
Tomcat – Utilizzo ed accesso Tomcat Manager

Per accedere al Tomcat Manager è necessario, per ragioni di sicurezza, autorizzare in modo esplicito
quali 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

                                                   18
Introduzione ai Web Server – Apache HTTPD

•   Di seguito viene descritta la procedura di installazione di Apache HTTPD 2.4.x su un S.O. Linux
    CentOS 7.x
Installare il web server httpd e il relativo modulo mod_ssl (nel caso in futuro si debba
configurare 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
Multi-Processing Modules (MPMs)

per Apache 2.4

   StartServers 10
   MinSpareServers 10
   MaxSpareServers 20
   ServerLimit 512
   MaxRequestWorkers 512
   MaxConnectionsPerChild 4000

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 nuove richieste.

MaxSpareServers – Definisce il numero massimo di processi figli che dovranno essere sempre pronti (idle) per gestire le nuove
richieste.

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.
Server Status:

      SetHandler server-status
      Require host example.com
      Require ip 127.0.0.1

Inizio configurazione mod_jk

Sempre nel file httpd.conf aggiungere la seguente riga:       Creare il file /etc/httpd/conf/workers.properties così composto:
Include conf/mod_jk.conf                                      worker.list = tomcat_a
                                                              worker.tomcat1.port = 8009
                                                              worker.tomcat1.host = server1
Creare il file /etc/httpd/conf/mod_jk.conf così composto:     worker.tomcat1.type = ajp13
LoadModule jk_module modules/mod_jk.so
JkWorkersFile conf/workers.properties
JkLogFile logs/mod_jk.log                                     Copiare il file mod_jk.so relativo alla distribuzione e all’architettura
JkLogLevel error                                              in uso nella cartella /etc/httpd/modules e renderlo eseguibile con
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "                    il seguente comando:
Include conf/jk_mount.conf                                    chmod +x /etc/httpd/modules/mod_jk

Creare il file /etc/httpd/conf/jk_mount.conf così composto:   Riavviare Apache HTTPD con il seguente comando:
JkMount /HRPOrtal                  tomcat_a                   systemctl restart httpd
JkMount /HRPortal/*                tomcat_a
Puoi anche leggere