TPSIT: verifica servizi attivi su Linux

George Corominas

Per verificare che un servizio sia attivo è necessario digitare il comando:

service nome-del-servizio status

Per visualizzare tutti i servizi attivi:

$ service --status-all

Per vedere i processi attivi

ps -ax |more

Per vedere altre informazione quali anche lo spazio di memoria usato usare:

ps -aux |more

Pubblicato in Senza categoria | Lascia un commento

TPSIT: la posta elettronica

Il servizio di posta elettronica è indispensabile nel momento in cui si debba configurare un server.

Per l'invio dei messaggi si utilizza il protocollo SMTP (Simple Mail Transfer Protocol)

Per la ricezione il protocollo POP (Post Office Protocol) chiamato anche POP3 oppure il protocollo IMAP (Internet Message Access Protocol)

Il protocollo IMAP consente di mantenere i messaggi sul server con il protocollo POP invece essi vengono scaricati sul client.

I server più usati chiamati MTA (Mail Transfer Agent) sono:

sendmail, postfix.

Per smistare la posta in arrivo si usa normalmente il servizio LDA (Local Delivery Agent)

Per essere certi della conoscenza dei campi che possono essere usati durante la spedizione di un'email, preferisco elencarli:

To indica il destinatario: è possibile inserire solamente l’indirizzo di posta nella forma nome@server oppure aggiungere anche un nominativo completo nella forma “nome cognome” <nome@server>.
Cc significa Carbon copy (copia carbone) e permette di inviare un messaggio in copia a più utenti contemporaneamente.
Bcc indica la Blind carbon copy (copia carbone nascosta), cioè ai singoli destinatari non vengono fatte conoscere le destinazioni delle altre copie.
From indica il nome del mittente.
Reply-to è l’indirizzo utilizzato per la risposta.
Subject è il campo che contiene l’oggetto o il titolo del messaggio.

Il contenuto del messaggio che non fa parte dell’intestazione si chiama body.

SENDMAIL

Per installare il pacchetto sendmail usare i  comandi

sudo apt-get install sendmail

far girare il file di configurazione con il comando

sudo sendmailconfig

rispondere sempre YES a tutte le domande poste.

far ripartire il servizio apache2 con il comando

sudo service apache2 restart

per usare i comandi presenti nel servizio sendmail si usa il comando

cat | /usr/sbin/sendmail destinatario@server

ad ogni invio corrisponde una linea ad esempio

From: mittente@server.it

Subject: titolo

contenuto della email

Ctrl+D

MAIL

Per usare il comando mail si deve installare il pacchetto mail con il comando

sudo apt-get install mailutils

a questo punto per inviare un'email si usa il comando:

mail mittente@server

Subject: titolo

contenuto

Ctrl+D

I messaggi letti vengono messi in /home/utente/mbox

Pubblicato in Senza categoria | Lascia un commento

TPSIT: il server Web - LAMP

Il server web è un software che gira su un server con porte dedicate che permette di comunicare con i client ad essi connessi.

Un server web, per poter comunicare usa un protocollo http.

Ogni volta che si scrive un indirizzo Internet, il browser traduce la richiesta in una richiesta http e la consegna al server indicato. Riceve poi da questo una risposta http e un file HTML che viene tradotto (rendering) sotto forma di testo e immagini per mostrarlo a video.

Il protocollo più utilizzato a tal fine è l’HTTP ( HyperText Transfer Protocol).

Il server  http può essere utilizzato come servizio  in una qualunque rete, installando un server web.

Per il servizio http si utilizza la porta 80 oppure 8080.

Il server web multipiattaforma, più diffuso nei sistemi Linux è APACHE (leggi apaci).

Per installare un server Apache

digitare il seguente comando

sudo apt-get install apache2 oppure apache oppure httpd

(si consiglia di disinstallare, precedentemente all’installazione di Apache, il server thttpd, che è un server web) con il seguente comando

sudo apt-get remove thttpd

Il programma di installazione crea la directory

/etc/apache2                                   

(qui si trovano i files di configurazione ed il file principale è apache2.conf)

e scrive

il file apache2 nella directory /etc/init.d

Crea inoltre la directory /var/www

In www verranno memorizzate le pagine web, e a installazione avvenuta risulta creata la pagina  index.html.

Al termine dell’installazione, per verificare il corretto funzionamento del server, si può provare a digitare nella barra di un browser

http://localhost

Al termine dell’installazione, il server viene avviato automaticamente, se ciò non avviene utilizzare il seguente comando con le opzioni

start restart stop

sudo  /etc/init.d/apache2 start

Pagine statiche e pagine dinamiche

Le pagine statiche sono scritte solamente con codice HTML ed al loro interno contengono già tutti i dati che verranno poi mostrati all'utente finale.

Le pagine dinamiche, invece, oltre ad HTML, usano altri linguaggi (PHP, ASP, ecc. ) attraverso i quali si crea un'iterazione tra la richiesta del client e il server che elabora la richiesta stessa.

In generale quindi l'ambiente che si predispone è non solo un server web Apache ma anche Mysql e PHP.

In questo caso si parla di configurazione LAMP= Linux Apache MySQL PHP

PHP

Con il comando:

sudo apt install php7.0-cli 

installo php7.

con il comando:

php -r 'echo "\n\nInstallazione avvenuta con successo\n\n\n";'

verifico a terminale che l'installazione è avvenuta con successo.

avendo installato la versione 7 di php è necessario che sia presente il modulo che permetta l'interfacciamento con Apache2

con il seguente comando si crea il modulo opportuno:

sudo apt install libapache2-mod-php7.0

a questo punto fare il restart del server

Per verificare che tutto funzioni creare il file test.php nella libreria  /var/www/html

con il seguente comando:

sudo nano /var/www/html/test.php

all'interno del file editare le seguenti righe di codice:

<html>

<head>

<title>Test PHP</title>

</head>

<body>

<?php

phpinfo();

?>

</body>

</html>

(nano è un ulteriore editor presente in linux)

per usarlo e salvare un file usare CTRL e il relativo comando suggerito nell'editor.

Per richiamarlo basta digitare nano dal terminale e si avrà:

infine per verificare che funzioni, si va sul browser e si digita:

http://localhost/test.php

e comparirà la seguente schermata:

Mysql - MariaDB

Ultimo passo per gestire completare la LAMP è installare un database, nel caso specifico un database relazionale RDBMS.

Con la versione Debian 9.4.0 chiamata Stretch non si utilizza più Mysql ma MariaDB

Le differenze sono poche ma esso è un'evoluzione del Mysql:

https://mariadb.com/kb/it/mariadb-vs-mysql-compatibilita/

Con il seguente comando installo mysql e l'interfaccia con php

sudo apt-get install mysql-server php7.0-mysql

durante la fase di installazione si chiede di impostare la password di amministratore del server mysql.

Operare in mysql - mariaDB

con il comando

mysql -u root -p

si chiede la password di amministratore e si connessi con la console del server mysql.

Si avrà la seguente schermata:

digitando poi il comando

show database

ho come output:

con il comando quit esco dalla console del database

Per gestire il database si può usare sempre la console ma rimane molto più pratico usare una console dedicata

phpMyAdmin

Con il comando

sudo apt-get install phpmyadmin 

installo il pacchetto di amministrazione

durante l'installazione si chiede con quale webserver si vuole collegare phpadmin e si seleziona apache2

Si lascia che il pacchetto configuri il database necessario digitando la password precedente.

A questo punto aprire come root il file:

sudo nano /etc/apache2/apache2.conf

ed inserire la riga alla fine del file di configurazione:

Include /etc/phpmyadmin/apache.conf

si deve far ripartire  il server apache

con il comando

sudo /etc/init.d/apache2 restart

o

sudo service apache2 restart

adesso digitando sul browser:

http://localhost/phpmyadmin si avrà la seguente schermata:

Come nome utente se non è stato modificato in fase d'installazione è root e password quella precedentemente immessa.

Oppure su Debian 9 se non si è cambiato il login si ha:

login phpmyadmin

pwd quella_opportuna

Se dovesse dare come errore:

SQLSTATE[HY000] [1698] Access denied for user 'root'@'localhost'

si devono seguire i seguenti passi:

  1. log into MYSQL as root
    mysql -u root
  2. Grant privileges. To a new user execute:
    CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
    GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'localhost';
    FLUSH PRIVILEGES;
  3. bind to all addresses:

    The easiest way is to comment out the line in your /etc/mysql/mariadb.conf.d/50-server.cnf or /etc/mysql/mysql.conf.d/mysqld.cnf file, depending on what system you are running:

    #bind-address = 127.0.0.1 
  4. exit mysql and restart mysql
    exit
    service mysql restart

N.B. Per conoscere il nome della versione  del sistema operativo usato si deve dare il comando 

cat /proc/version

cat /etc/issue

Alla fine avremo al seguente schermata:

 

Pubblicato in Senza categoria | Lascia un commento

GPOI: Earned value

Earned Value è un metodo che tiene conto della misura degli scostamenti in funzione dei maggiori costi o minori costi per la produzione del prodotto.

Esso utilizza una grandezza:

BCWP (Budget Cost of Work Performed) esso è definito come il prodotto tra la quantità/lavoro effettivamente eseguito ed i costi che si sono in fase di preventivo:

BCWP (oppure EV) = Budget cost * Work Performed

Anche in questo caso si ha una curva ad essa che è l'estrapolazione dei costi affrontati mese per mese in forma di istogramma.

Tale curva deve essere sovrapposta alle altre due curve per avere una vera analisi dell'andamento del progetto.

In altre parole, il confronto tra il budget value, l’actual value e l’earned value ci dice se si
sta spendendo di più per svolgere il lavoro effettivamente realizzato e se si sta eseguendo
meno lavoro e, quindi, si sta procedendo in ritardo.

Pubblicato in Senza categoria | Lascia un commento

GPOI: Budget value e actual value

I costi si possono catalogare in:

  • preventivati: quelli messi a budget
  • consuntivati (effettivi)

Entrambi seguono in andamento ad "S".

Seguono il seguente andamento:

 

Il budged value  BV o anche detto BCWS (costo preventivato del lavoro programmato) è un costo preventivato in sede di preventivo.

BCWS = ore uomo programmate al tempo corrente * costo unitario preventivato

Actual Value (AV)  oppure ACWP (costo effettivo del lavoro eseguito) rappresenta il costo effettivamente sostenuto

ACWP = ore uomo spese al tempo corrente * costo unitario sostenuto

La differenza tra i due costi rappresenta una prima analisi

LIMITI

Essa non mette in relazione la quantità prodotta ossia è vero che i costi sostenuti risultino minori, ma non è specificato se questo è andato a discapito della qualità prodotta, della quantità prodotta o di altri fattori.

Pubblicato in Senza categoria | Lascia un commento

GPOI: gestione e controllo dei costi

George Corominas

Tre parole sono significative:

  • costo
  • ricavo
  • guadagno

Sono alla base di un progetto.

Il Ricavo è il prezzo concordato con il cliente

Costi

Si suddividono tra costi fissi e costi variabili; i costi fissi sono indipendenti dalla quantità di bene prodotto, i costi variabili sono legati alla quantità che si produce, nel caso dell'ICT è il costo legato al numero di persone che seguono un progetto informatico.

Alla fine vige la relazione

G=R-C

Guadagno = Ricavi - Costi

Per verificare e controllare i costi vi sono tre tecniche:

  • Analisi del budget value e dell’actual value
  • Metodo dell’earned value
  • Analisi degli scostamenti
  • Performance Analysis
Pubblicato in Senza categoria | Lascia un commento

GPOI: monitoraggio e controllo del processo

George Corominas

Normalmente intercorre un consistente intervallo temporale nel corso del quale l’iter realizzativo, prefigurato in fase di pianificazione iniziale, subisce numerose modifiche, a
seguito dei continui imprevisti che fatalmente si presentano nella realtà lavorativa.

Monitoraggio

L’attività di monitoraggio può risultare di tipo:
• Osservazione del fenomeno
• Misurazione del fenomeno
• Rapporto sul fenomeno
• Analisi del fenomeno

Controllo

Il controllo, invece, è un processo ciclico che permette di anticipare le conseguenze per
poter intraprendere le azioni correttive prima che tali conseguenze si verifichino, al fine di
garantire il successo del progetto.

Esso è riferito unicamente al lavoro ancora da eseguire, in quanto il lavoro già eseguito può essere solo registrato.

Il monitoraggio e il controllo di progetto non vanno visti, dunque, come interventi di natura meramente fiscale, tesi a individuare i responsabili di ritardi nelle consegne o di costi che hanno superato i valori di budget, quanto, piuttosto, come delle azioni rivolte alla ricerca di quanto si potrà fare nel periodo di tempo rimanente alla conclusione dell’iter realizzativo, al fine di fare rientrare il progetto entro i limiti temporali ed economici prefissati.

Tre tipi di attività di controllo:

  • on/off: viene condotta mediante verifiche delle singole attività e potrebbe portare anche alla sospensione definitiva del progetto
  • feed back : Consiste nella ricerca delle cause che hanno determinato l’eventuale scostamento dei risultati rispetto alle stime e trova una naturale applicazione soprattutto nel controllo degli aspetti economico-finanziari;
  • feed-forword: Essa mira a “correggere la rotta” durante la realizzazione dell’attività oggetto del controllo, senza necessariamente attenderne il compimento.

Il Project Manger dovrà pertanto effettuare:

• analisi degli scostamenti e delle criticità rispetto al piano di riferimento corrente;
• individuazione delle cause che hanno determinato tali scostamenti;
• valutazione di azioni correttive e dell’impatto sul progetto di possibili varianti;
• riprogrammazione a finire con l’inclusione delle soluzioni approvate.

Pubblicato in Senza categoria | Lascia un commento

GPOI: gestione delle risorse

Marcia Marostega

Per risorse si intendono

  • persone--> qualifica, quantità di tempo disponibile, costo
  • beni--> nome, quantità, costo unitario

ulteriore classificazione delle risorse

  • a disponibilità limitata si indica 100% la piena disponibilità, tra 0 e 100% disponibilità parziale, maggiore del 100% disponibilità superiore al normale (lavoro straordinario)
  • a disponibilità illimitata, senza limite e vengono descritte da un costo unitario

2 tipi di situazione:

  • Time Limited: progetto deve terminare entro una certa data
  • Resource Limited: il progetto deve terminare entro i tempi prefissati ma utilizzando le risorse imposte dai vincoli. Un aumento di risorse può causare un ritardo del progetto stesso.

Si possono trovare delle situazioni in cui vi sono:

  • dei sovraccarichi di risorse ossia si richiede troppo rispetto alla disponibilità
  • dei sottocarichi di risorse e quindi aumentando i costi stessi.

Vi sono due approcci per evitare tali situazioni:

approccio euristico: si guarda di volta in volta la risorsa sottodimensionata o sovradimensionata e la si sposta in tempo reale verso progetti o si fornisce in outsourcing la gestione

approccio matematico o di ottimizzazione: mediante opportuni algoritmi normalmente inseriti in ricerca operativa, si evitano le situazioni precedentemente menzionate.

Allocazione delle risorse

Si hanno le attività:

 

Si hanno le risorse:

Per abbinare le attività alle risorse si utilizza il diagramma di Gantt:

Le risorse vengono catalogate in quattro modalità in funzione dei loro costi:

  • Start
  • Rate
  • Even
  • Finish

Start

la risorsa viene richiesta il primo giorno ed usata per tutto il progetto. Ad esempio per sviluppare un programma è necessario richiedere il PC il primo giorno ed il costo è solo il primo giorno.

Rate

lo sviluppatore di un progetto viene pagato ogni giorno e se dovesse sforare i tempi lo si deve pagare un girono in più.

Even

il responsabile del progetto è dedicato per un certo tempo al progetto e quindi il suo costo è suddiviso per le giornate di sviluppo

Finish

Colui che testa il programma viene impiegato solo alla fine.

Pubblicato in Senza categoria | Lascia un commento

TPSIT: il trasferimento dei file

Il protocollo che consente il trasferimento dei file, attraverso una rete, si chiama FTP (File Transfer Protocol).

Il download è l'operazione di scaricamento dei file

L'Upload è l'operazione di caricamento.

Si può effettuare tale operazione anche tramite browser.

Per installare il server usare il comando:

sudo apt-get install vsftpd

alla fine il servizio si attiva automaticamente.

comunque il servizio può essere avviato mediante i comandi

sudo /etc/init.d/vsftpd start oppure stop o restat

Per verificare che il server è attivo si digita sul browser:

ftp://localhost

comparirà la schermata di login e password.

Oppure dalla linea comandi

ftp indirizzoip o

ftp localhost.

Ad esempio mi posso connettere al sito www.whymatematica.com tramite ftp con il comando:

ftp www.whymatematic.com

mi comparirà una schermata del tipo:

Una volta che si è fornita la login e la password avrò una situazione di questo genere:

Il file di configurazione è in /etc/vsftpd.conf

Per consentire agli utenti locali di poter accedere al sistema si deve togliere il carattere # all'inizio della riga

#local_enables=YES

Se consentire l'accesso anonymous al servizio FTP, occorre modificare la riga:

anonymous enable=YES

con questa modifica si può accedere con nome utente anonymous e nessuna password.

Per default l'accesso anonimo è disabilitato.

Il file /etc/ftpusers contiene la lista degli utenti ai quali non è consentito accedere al servizio FTP

Comando per scaricare un file è:

get nomedelfile

Comando per caricare un file è:

put nome_del file

se devo avere la lista dei file è

ls

con cd mi muovo tra le directory.

Pubblicato in Senza categoria | Lascia un commento

TPSIT: assegnazione dinamica di indirizzi IP

Kay Sage

Ogni computer che si identifica alla rete deve aver assegnato un indirizzo IP univoco.

Tale indirizzo può essere assegnato in maniera statica o dinamica.

Il protocollo per l'assegnazione dinamica degli indirizzi IP si chiama DHCP (Dynamic Host Configuration Protocol)

Esso fornisce:

  • indirizzo IP
  • maschera di rete
  • indirizzo brodcast
  • il nome dell'host
  • il dominio
  • indirizzo del gateway predefinito
  • indirizzo IP del server DNS

Il servizio o demone per il protocollo DHCP si chiama dhcp-server

Per installarlo si usa il comando:

apt-get install isc-dhcp-server

 

il file di configurazione è nel percorso etc/dhcp e si chiama:

dhcpd.conf

per far partire il servizio si usa il comando

sudo /etc/init.d/isc-dhcp-server start

NB.

Per far partire un particolare servizio si deve sempre entrare nel percorso etc/init.d e scegliere il nome del demone che si vuol far partire poi utilizzare il comando precedente.

Pubblicato in Senza categoria | Lascia un commento