GNU/LINUX LAMP Linux Apache Mysql Php V1.1 del 18/02/2013
|
|
|
- Ernesto Carboni
- 10 anni fa
- Visualizzazioni
Transcript
1 GNU/LINUX LAMP Linux Apache Mysql Php V1.1 del 18/02/2013 1/45
2 Copyright 2013 Dott.Ing. Ivan Ferrazzi Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. 2/45
3 Indice generale INTRODUZIONE AL Il World Wide Web (WWW)...5 Il protocollo HTTP (Hyper Text Transfer Protocol)...5 I metodi del protocollo HTTP...6 Gli header del protocollo HTTP...8 L'INSTALLAZIONE...11 Introduzione...11 Installazione di Apache Installazione di Php Installazione di MySql Test per verificare l'installazione...15 LA CONFIGURAZIONE...17 La struttura della cartella base...17 Sintassi e direttive del file di configurazione...18 Le direttive di configurazione generale...20 Le direttive di identificazione...21 Le direttive per il comportamento delle connessioni...21 Le direttive di limitazione...22 Le direttive per la configurazione dei processi...23 I moduli e la loro gestione...24 La sequenza di elaborazione delle direttive...25 Attivare/disattivare le opzioni...27 Diritti di accesso...29 Personalizzare i logfile...30 HOST VIRTUALI...32 Introduzione...32 Virtual Host su indirizzi IP...32 Virtual Host utilizzando i nomi di dominio...33 Cartelle protette da username e password...33 SECURE SOCKETS LAYER (SSL)...35 Introduzione...35 Chiave e certificato SSL...35 Configurazione del server...36 WEBALIZER...38 Introduzione...38 Configurazione di Webalizer...38 Webmail con Squirrelmail...40 Introduzione...40 Installazione...40 Configurazione di Squirrelmail...41 Modulo mod_rewrite...42 Introduzione...42 Configurazione del server...42 Le regole...43 Le opzioni...44 Le variabili /45
4 Le condizioni /45
5 INTRODUZIONE AL WWW Il World Wide Web (WWW) Il World Wide Web è il servizio presente su Internet per l'invio di pagine ipertestuali (con tutti i loro contenuti) da un computer che mette a disposizione il servizio (detto Webserver) ad un computer che ne richiede l'utilizzo (detto client). Per poter richiamare, e quindi visualizzare, il contenuto di pagine presenti nel World Wide Web abbiamo bisogno di un apposito programma chiamato Webbrowser, o semplicemente Browser. Per l'invio dei contenuti di queste pagine il WWW si basa sul protocollo HTTP (Hyper Text Transfer Protocol) che mette a disposizione uno standard non dipendente dal sistema operativo utilizzato. Questo garantisce la corretta visualizzazione del contenuto delle pagine indipendentemente dal sistema operativo installato sul nostro computer. Il protocollo HTTP (Hyper Text Transfer Protocol) Come precedentemente accennato il protocollo HTTP mette a disposizione delle direttive che permette il trasferimento (e la corretta visualizzazione) di pagine internet (pagine di ipertesto scritte con il linguaggio HTML) su un qualsiasi sistema operativo. La prima versione del protocollo è la 0.9, identificata all'interno delle richieste al server con la sigla HTTP/0.9. Questa versione era stata concepita per effettuare un semplice trasferimento di un file dal server al client. Alla fine del trasferimento del file la connessione veniva terminata. 5/45
6 Pagine internet, come le conosciamo oggi giorno, hanno come contenuto un numero molto alto di tanti piccoli file che devono essere scaricati per visualizzare la pagina correttamente. Basta pensare alle varie immagini utilizzate per la creazione dell'interfacciamento grafico con l'utente all'interno del Browser. Ben presto si dovette, quindi, cercare nuove soluzione. Si arrivò quindi alla versione 1.0, ossia HTTP/1.0, che aggiunse al protocollo precedente la possibilità di utilizzare degli standard di riconoscimento per i file da scaricare (MIME) e la possibilità di inviare solamente l'intestazione della pagina con relative informazioni. Il problema legato alla gestione dei Proxy e alle cache rese necessaria la standardizzazione della nuova versione 1.1, ossia HTTP/1.1. Le principali funzionalità della nuova versione sono: Persistent connections: La connessione non viene chiusa subito dopo il trasferimento del file, ma rimane aperta per permettere l'invio di eventuali altre richieste. Chunked transfers: Nelle versioni precedenti era indispensabile conoscere inizialmente la dimensione del file da trasmettere per ottimizzare il traffico sulla rete. Questo divenne problematico con l'invio di pagine dinamiche per le quali non era possibile definire la dimensione prima dell'elaborazione. Per questo motivo si passò alla possibilità di inviare una pagina mediante più pacchetti spezzati per evitare di tenere occupata la rete per troppo tempo. Byte ranges: Il file non deve più essere trasferito per intero, ma si può trasferire anche solo una parte del file. Con questo sistema è, infatti, possibile definire l'intervallo di byte (da qui il nome byte ranges) da trasferire. Questo permette di iniziare il trasferimento (precedentemente interrotto) di un file da dove si era interrotto. Hostname identification: Questo permette di inviare all'interno della richiesta al Webserver anche il nome del dominio che ci interessa. Il Webserver può quindi gestire più nomi di dominio (chiamati dominio virtuali) su un'unica interfaccia di rete con il medesimo indirizzo IP. Proxy support: Vengono messe a disposizione delle informazioni all'interno dell'intestazione che permettono ai sistemi proxy e cache di verificare l'attualità delle pagine memorizzate per sincronizzare eventuali aggiornamenti delle medesime. Content negotiation: Questo permette di gestire più versioni della medesima pagina o del medesimo documento. Il browser (oppure il cliente stesso) può mettere a disposizione una piuttosto che un'altra versione (ad esempio sui siti multilingua) della pagina richiesta. I metodi del protocollo HTTP Prima di iniziare a spiegare i metodi della versione HTTP/1.1 vediamo 6/45
7 l'utilizzo in base alla versione HTTP/1.0. Per effettuare una richiesta ad un webserver utilizziamo una URL (Uniform Resource Location) come la seguente: La URL in questione è composta da protocollo ( indirizzo di dominio ( e URI (/index.html) che sta per Uniform Resource Indicator. La prima operazione che viene eseguita dal browser quando confermiamo la richiesta alla specifica URL è la risoluzione dell'indirizzo di dominio mediante server DNS (Domain Name System), che ha il compito di restituire l'indirizzo IP del nome di dominio desiderato. Il browser tenta poi di effettuare la connessione al webserver inviando, a connessione stabilita, una riga di comando composta da METODO URI PROTOCOLLO spazi vuoti Possiamo provare ad effettuare una connessione ad un webserver utilizzando il programma telnet come segue: telnet 80 Il webserver risponderà con le seguenti righe: Trying Connected to Escape character is '^]'. A questo punto il webserver rimane in attesa della nostra richiesta. Possiamo quindi digitare HEAD /index.php HTTP/1.0 e confermare premendo due volte il tasto INVIO, per richiedere il trasferimento delle informazioni relative alla risorsa inserita. Il risultato sarà il seguente: Date: Mon, 12 Jan :40:16 GMT Server: Apache/2.2 Connection: close Content-Type: text/html Connection closed by foreign host. Il metodo HTTP permette di definire il tipo di richiesta da effettuare al webserver. Il protocollo HTTP/1.0 mette a disposizione i seguenti metodi: HEAD: per ricevere informazioni relative alla pagina desiderata. 7/45
8 GET: per ricevere il contenuto della pagina desiderata. POST: per inviare informazioni (definite nel corpo della richiesta stessa) al server, come utilizzato per l'invio da pagine HTML mediante form. Per quanto riguarda il protocollo HTTP/1.1 la richiesta diventa un po' più complessa. Il nuovo protocollo mette a disposizione dei metodi in più e diventa indispensabile fornire al server informazioni aggiuntive sotto forma di intestazioni. I nuovi metodi che si aggiungono a quelli della versione precedente sono: PUT: per permettere al client di inviare file sul server. DELETE: per eliminare risorse dal server. OPTIONS: permette di determinare le opzioni di comunicazione da parte del client per determinare le capacità del server. CONNECT: per i proxy che possono essere trasformati in maniera dinamica in tunnel. TRACE: permette al client di effettuare un controllo delle informazioni ricevute sul server durante la transazione. Gli header del protocollo HTTP Per poter usufruire delle funzionalità aggiuntive del protocollo HTTP/1.1 è necessario l'invio di informazioni aggiuntive al webserver sotto forma di header. Gli header hanno la struttura nome header: valore header Gli header vengono raggruppati in quattro categorie: general, request, response e entity. La categoria general contiene gli header utilizzati sia per le richieste che le risposte. Fanno parte di questa categoria tutti gli header legati all'utilizzo della cache, delle date, oppure della modalità di utilizzo del protocollo stesso. I principali header di questa categoria sono: Connection: con la quale si chiude immediatamente (close) o si tiene aperta (keep-alive) una connessione. Date: per definire la data e l'ora di quando è stato generato il codice Cache-Control: per definire le modalità di utilizzo della cache delle pagine La categoria request contiene gli header utilizzati per le richieste al webserver. Questi vengono utilizzati per inviare informazioni relative al client che effettua la richiesta, come la lingua desiderata, la codifica delle pagine e i tipi di file accettati. Gli header principali di questa categoria 8/45
9 sono: Accept: per definire l'elenco dei tipi di documenti accettati dal client Accept-Encoding: per definire l'elenco delle codifiche utilizzate per i file compressi accettati dal client Accept-Language: per definire l'elenco delle lingue accettate dal client Host: per definire l'indirizzo internet con eventuale porta del webserver al quale si effettua la richiesta (obbligatorio per HTTP/1.1) If-Modified-Since: la pagina richiesta viene inviata solamente se è stata modificata dopo la data indicata, altrimenti viene inviata solamente una conferma Range: per definire la parte della pagina che si vuole ricevere (indicato come intervallo in byte) User-Agent: per definire il client (o meglio il browser del client) che ha generato la richiesta La categoria response contiene gli header utilizzati per le risposte. Questi header vengono utilizzati per inviare informazioni relative al webserver. Gli header principali sono: Age: stima da parte del server dell'età della transazione, ossia il tempo trascorso dalla creazione della risposta Location: per inviare al cliente un'eventuale posizione alternativa delle informazioni richieste Retry-After: per indicare dopo quanto tempo il client dovrà tentare una nuova richiesta (in caso di indisponibilità del servizio) Server: per inviare informazioni relative al software del server ETag: una sorta di identificatore ai fini di gestione cache La categoria entity contiene gli header utilizzati sia per le risposte che per le richieste. Questi vengono utilizzati per inviare informazioni relative all'entità in questione (ossia la pagina stessa), come la lingua della pagina, la codifica del testo, la lunghezza oppure il tipo di formato utilizzato. Gli header principali sono: Content-Encoding: indica il tipo di codifica utilizzata per file compressi Content-Language: indica le lingue supportate Content-Length: indica la lunghezza del file Content-Type: indica il formato del file Expires: indica il termine di validità della risposta (utilizzato per la gestione della cache) Last-Modified: indica la data dell'ultima modifica 9/45
10 A questo punto possiamo ripetere il precedente esempio utilizzando la versione di protocollo HTTP/1.1. Effettuiamo la connessione al webserver con il comando telnet e digitiamo la seguente riga HEAD /index.php HTTP/1.1 Host: Vediamo apparire sullo schermo le nuove informazioni relative al protocollo HTTP/1.1. Nella prima riga della risposta riusciamo ad identificare il codice 200 con la scritta OK che indicano l'esito positivo della richiesta. I codici che restituiscono lo stato della transazione si dividono in cinque categorie identificate dal primo numero del codice stesso: 1xx: codici informativi 2xx: codici di successo 3xx: codici di redirezione 4xx: codici per errore del client 5xx: codici per errori del server 10/45
11 L'INSTALLAZIONE Introduzione Apache2, Php5 e MySql5 rappresentano probabilmente le migliori alternative OpenSource nei rispettivi campi. Installati poi su una Debian, si ottiene un sistema decisamente stabile e adatto a qualsiasi applicazione, dal webserver professionale all'os da casa su cui testare i propri siti web. La versione 2.0 di Apache ha introdotto il sistema MPM (Multi-Processing Modules), che consiste nella modularizzazione del sistema fino alle funzionalità più elementari. Il vantaggio di questo sistema è la possibilità di ottimizzazione delle funzionalità del server in base all'utilizzo o al sistema operativo desiderato. A differenza dei moduli delle estensioni gli MPM vanno definiti alla compilazione di Apache. Dobbiamo quindi già inizialmente sapere per che cosa, e come dovrà funzionare il nostro webserver. I moduli MPM disponibili per Apache2.0 sono: prefork: realizza il modello classico di Apache1.3 basato sull'uso dei processi worker: nuovo modulo basato sui thread che permettono di ottimizzare le prestazioni perchild: per assegnare a utenti diversi vari processi del server threadpool: variante sperimentale del modulo worker leader: altra variante sperimentale del modulo worker mpm_winnt: modulo ottimizzato per WindowsNT 11/45
12 Se non specificato diversamente verrà utilizzato prefork, che realizza il modello classico di Apache1.3. In questa sezione del manuale vedremo quindi come installare il cosiddetto LAMP server su Debian. Come suggerisce l'acronimo LAMP (Linux Apache MySql Php), verrà descritta una procedura molto semplice per una perfetta installazione di Apache2, Php5 e MySql5. La configurazione di ogni singolo componente del LAMP server che andremo ad installare sulla vostra Debian, sarà quella minima richiesta per rendere il sistema perfettamente funzionante, lasciando quindi ogni personalizzazione alle particolari esigenze di ognuno di voi. N.B. Prima di partire con l'installazione, assicuratevi che la vostra linuxbox sia aggiornata e sistemate le repository ufficiali della vostra Debian. Installazione di Apache2 Installare Apache 2 con il supporto per Php su Debian è molto semplice. Loggatevi da terminal e digitate: apt-get install apache2 apache2-mpm-prefork Digitato questo comando, vi verrà chiesto di confermare l'operazione. Rispondete sì (Yes), ed installate tutte le dipendenze necessarie che vi verranno suggerite da apt. Completata l'installazione, il vostro webserver Apache sarà già perfettamente funzionante con le impostazioni di default, e pronto per ogni vostra personalizzazione. In questo momento non ci interessa vedere come configurare ogni singolo aspetto di Apache, i virtual hosts e tutto il resto, ma soltanto installare il sistema base. E' comunque utile indicare quali sono le cartelle e i files di configurazione principali di Apache. In particolare: /var/www/ è la root folder del vostro webserver, ossia la cartella in cui verranno inseriti tutti i vostri siti web e i files che li compongono; /etc/apache2/ è la cartella in cui troverete tutti i files di configurazione relativi ad Apache; /etc/apache2/mods-available/ è la cartella in cui vengono inseriti i files di configurazione di tutti i moduli installati; /etc/apache2/mods-enabled/ è la cartella che contiene dei link simbolici ad ogni file presente nella cartella /etc/apache2/modsavailable/. Ognuno di questi link simbolici, ha la facoltà di abilitare ognuno dei moduli presenti nella cartella mods-available; 12/45
13 /etc/apache2/sites-available/ è la cartella in cui inserire il file di configurazione per ogni virtual host che verrà creato. Di predefinito, è presente unicamente il file default; /etc/apache2/sites-enabled/ è la cartella che contiene dei link simbolici ad ogni file presente nella cartella /etc/apache2/sitesavailable/. Come si può facilmente dedurre da questa struttura, ognuno di questi link simbolici, ha la facoltà di abilitare ognuno dei virtual host definiti nella cartella sites-available. Fatte queste semplici precisazioni, potete già testare il funzionamento del vostro webserver, digitando nel vostro browser l'indirizzo di rete della macchina su cui avete installato Apache (es. oppure se siete in locale digitando nel vostro browser. Se tutto funziona correttamente, visualizzerete la scritta It Works che vi confermerà l'avvenuta installazione di Apache sulla vostra Debian. A questo punto, osservando l'url nel vostro browser, potete subito notare che la "cartella" principale del webserver è apache2-default. Ciò è definito nel file default di cui si è parlato brevemente in precedenza. Dategli un'occhiata per prendere un pò di confidenza su come Apache2 gestisce la configurazioni. Per ora è sufficiente sapere che se nel browser viene visualizzata correttamente la scritta It Works, Apache2 è installato correttamente e potete proseguire. Installazione di Php5 Installato Apache, è ora il momento di installare Php 5 e alcune delle sue componenti fondamentali. Per fare ciò, da terminal digitate molto semplicemente: apt-get install php5 libapache2-mod-php5 php5-cgi php5-gd php5-cli Dopo aver completato l'installazione, troverete il file di configurazione php.ini di php5 in /etc/php5/apache2/: nano /etc/php5/apache2/php.ini Abilitate sin da subito il supporto per MySql e per le gd libraries decommentando queste due linee nella sezione Dynamic Extensions: ;extension=mysql.so ;extension=gd.so Togliete i punti e virgola davanti di modo che risultino così (se non dovessero essere presenti, aggiungetele senza problemi): 13/45
14 extension=mysql.so extension=gd.so Assicuratevi che il modulo per php5 sia abilitato utilizzando il programma a2enmod di apache che permette di verificare (o di attivare) moduli per apache: a2enmod php5 Ora riavviate la configurazione di Apache: /etc/init.d/apache2 reload Dopo questi piccoli accorgimenti, php5 è correttamente installato sulla vostra Debian, ma prima di testarne il funzionamento, sarà preferibile riavviare il sistema (poi non lo farete mai più) per rendere effettive le configurazioni fatte. Provvederemo a riavviare la macchina tra pochissimo, non appena verrà installato e configurato anche MySql5. Installazione di MySql5 Per installare il server MySql 5.0, digitate da terminal: apt-get install mysql-server-5.0 php5-mysql Completata l'installazione, ricordate che di default MySql viene installato senza password per l'utente root. Ovviamente questo non è un bene per la sicurezza del vostro sistema, ed è opportuno settare subito una password per l'utente root. Per fare ciò, entrate in MySql da linea di comando digitando: mysql -u root ed eseguite i "comandi" seguenti: DELETE FROM mysql.user WHERE User = ''; e FLUSH PRIVILEGES; per eliminare eventuali account anonimi da MySql. Infine, settate la password per l'utente root digitando: SET PASSWORD FOR 'root'@'localhost' = PASSWORD('tuapassword'); e 14/45
15 SET PASSWORD FOR = PASSWORD('tuapassword'); sostituendo ovviamente tuapassword, con la password che avete scelto e HOSTNAME con l'hostname della vostra Debian. Utile inoltre ricordare che sarà preferibile impostare un utente non-root per ogni altra operazione che richiederà l'interazione tra webserver e sqlserver. Per ogni altra particolare configurazione di cui necessitate, il file su cui operare è: /etc/mysql/my.cnf Come ultima cosa, se lo desiderate, installate anche phpmyadmin, molto ultile per amministrare via browser i vostri databases. Per installare phpmyadmin, da terminal digitate: apt-get install phpmyadmin Dopo l'installazione potete trovare l'intero sistema nella cartella /usr/share/phpmyadmin. Per renderlo attivo entrate nella cartella del vostro dominio, ad esempio direttamente in /var/www/ e create un link simbolico come segue ln -s /usr/share/phpmyadmin phpmyadmin Test per verificare l'installazione A questo punto, tutto il necessario per un corretto funzionamento del nostro LAMP Server su Debian è stato installato, e per sicurezza riavviate la vostra macchina (facoltativo). Digitate: shutdown -r now e una volta riavviato il sistema, effettuate il login e testiamo le installazioni e le configurazioni fatte. Per testare Apache2, come è stato detto anche in precedenza, digitate nel vostro browser l'indirizzo di rete della macchina su cui avete installato Apache (es. oppure se siete in locale digitando nel vostro browser. Se tutto funziona correttamente, visualizzerete la scritta It Works che vi confermerà l'avvenuta installazione del vostro webserver Apache. Per testare php5, da terminal create un file che chiameremo test.php nella root folder del vostro webserver. Muovetevi quindi nella cartella principale di Apache digitando: cd /var/www/ create il file test.php digitando: 15/45
16 nano test.php e inserite quanto segue nel suddetto file: <?php phpinfo();?> Salvate, chiudete il file, e richiamatelo con il vostro browser (es. oppure Fatto ciò, se l'installazione è avvenuta con successo, visualizzerete tutte le informazioni relative alla versione di php appena installata. Per testare MySql5 e phpmyadmin, il metodo più semplice è quello di utilizzare phpmyadmin per creare un database e confermare dunque il corretto funzionamento di entrambi. Per fare ciò, digitate nel vostro browser oppure Vi troverete di fronte la schermata di login di phpmyadmin, inserite root come utente e la password che avete settato prima, ed effettuate il login. A questo punto create un database di prova chiamandolo come volete, e se tale operazione va a buon fine, anche MySql è stato correttamente installato. 16/45
17 LA CONFIGURAZIONE La struttura della cartella base La cartella base di configurazione per apache2 che viene creata dopo l'installazione è /etc/apache2. Qui troviamo le seguenti parti: apache2.conf Questo è il file di configurazione standard del sistema. Nei sistemi più datati troviamo il file httpd.conf. Qui è presente, ma solamente per questioni di compatibilità con i sistemi più vecchi. ports.conf Questo file contiene la configurazione delle porte da utilizzare per il sistema di webserver. mods-available Questa cartella contiene i moduli presenti all'interno del sistema di apache2. mods-enabled Questa cartella contiene un link ai moduli presenti in modsavailable per attivare i moduli da utilizzare con apache2. Questo permette di attivare o disattivare dei moduli senza doverli per forza eliminare dal sistema. sites-available Questa cartella contiene i file di configurazione per ogni sito che viene creato all'interno del nostro sistema web. sites-enabled Questa cartella permette di attivare i siti creando un link simbolico ai file presenti nella cartella sites-available. Questo permette di 17/45
18 spegnere momentaneamente dei siti senza doverli per forza eliminare dal sistema. Dopo ogni modifica a questi file è consigliabile mandare un segnale di HUP al processo di apache2. Questo si ottiene con il seguente comando apache2ctl reload Sintassi e direttive del file di configurazione Il file di configurazione di apache2 permette di definire due tipi di direttive, quelle semplici e i cosiddetti container. Le direttive semplici hanno la forma direttiva1 valore1 direttiva2 valore1 valore2 mentre i container hanno una forma simile ai tag del linguaggio HTML <NomeContainer argomento> direttiva1 valore1 direttiva2 valore1 valore2 </NomeContainer> Inoltre utilizziamo il # all'inizio delle righe per inserire eventuali commenti. Le direttive semplici possono essere suddivise nuovamente in tre categorie: locali, globali e locali e globali. Le direttive locali permettono di definire il comportamento del server stesso e non possono essere utilizzate all'interno dei container. Quelle globali vengono utilizzate solamente all'interno dei container, perché ne modificano il comportamento. Le direttive locali e globali permettono di modificare il comportamento del server se utilizzate localmente, definiscono invece il comportamento di una rispettiva direttiva container se specificate all'interno di essa. Per quanto riguarda i container le direttive standard che si possono utilizzare sono le seguenti: Directory: Per definire una cartella e le relative sottocartelle alle quali applicare le direttive di questo container. All'interno del nome della cartella possono essere utilizzati anche i caratteri jolly (filename globbing). DirectoryMatch: Questa è identica alla precedente, ma permette di definire il nome della cartella utilizzando le espressioni regolari (regular expression). 18/45
19 Files: Questa è simile a Directory solo che permette di indicare il nome di un file (o di un gruppo di file utilizzando i caratteri jolly) al quale verranno applicate le direttive. FilesMatch: Questa è identica alla precedente, ma permette di definire il nome del file utilizzando le espressioni regolari. Location: Questa è simile a Directory solo che permette di indicare la URL (o parte di essa) presente nella richiesta del client alla quale verranno applicate le direttive indicate. LocationMatch: Questa è identica alla precedente, ma permette di definire il nome del file utilizzando le espressioni regolari. VirtualHost: Questa viene utilizzata per definire un dominio virtuale (trattato in seguito). Limit: Questa permette di definire le restrizioni da utilizzare su determinati metodi HTTP come GET, PUT, POST, DELETE, ecc. LimitExcept: Questa permette di definire le restrizioni da utilizzare per tutti i metodi HTTP non elencati come argomento. Oltre ai container appena elencati che permettono di definire il lavoro continuo del nostro webserver abbiamo a disposizione anche delle direttive che vengono lette solamente all'avvio del server stesso. Il primo container in questione è IfModule che permette di verificare la presenza di un'eventuale modulo attivo e di reagire in tal caso con una adeguata configurazione alternativa. In caso di modulo inattivo l'avvio del webserver non restituirà degli errori. Questa direttiva viene utilizzata come segue: <IfModule mod_status.c> ExtendedStatus On </IfModule> Il secondo container in questione è IfDefine che permette di interagire con l'eventuale valore definito con il parametro -D passato al server da riga di comando. Passando al server il parametro -D DEBUG possiamo utilizzare nel file di configurazione: <IfDefine DEBUG> LogLevel debug </IfDefine> Questa direttiva può quindi essere utilizzata per definire comportamenti alternativi in caso di necessità. Infine abbiamo la direttiva Include che permette, con l'utilizzo di caratteri jolly, di definire i file di configurazione secondari da includere all'interno del file di configurazione principale, ad esempio Include /etc/apache2/mods-enabled/*.load 19/45
20 Include /etc/apache2/mods-enabled/*.conf Le direttive di configurazione generale Come accennato precedentemente abbiamo delle direttive locali che consentono di effettuare una configurazione a livello server. La configurazione base di un webserver comprende le direttive Listen indirizzo:porta Permette di identificare a quale indirizzo (nel caso in cui ci fossere più indirizzi IP disponibili) e su quale porta del relativo indirizzo rimanere in ascolto per eventuali richieste. Questa direttiva (nel caso di Debian) si trova nel file /etc/apache2/ports.conf incluso poi nel file di configurazione generale. User username Direttiva che permette di definire l'utente con il quale verranno effettuate le varie operazioni. Apache viene inizialmente inizializzato e fatto partire da root, ma tutte le operazioni successive verranno eseguite dall'utente definito all'interno di questa direttiva. Group groupname Analoga alla precedente, ma definisce il gruppo proprietario delle varie operazioni. ServerRoot directory Questa direttiva permette di definire la cartella di lavoro del server, ossia la cartella all'interno della quale si trovano tutti i file di configurazione. Nel caso di Debian per Apache2.0 la cartella di lavoro è /etc/apache2. Tutte i percorsi relativi (quindi quelli che non iniziano con / ) utilizzati all'interno del file di configurazione si relazionano in base a questa cartella. LockFile filename Questa direttiva permette di definire il nome del file (completo di percorso) utilizzato come file di lock del server. Debian utilizza il file /var/lock/apache2/apache.lock come definito dal Filesystem Hyrarchy Standard che stabilisce l'utilizzo della cartella /var/lock. PidFile filename Questa direttiva permette di definire il file all'interno del quale verrà memorizzato il PID del processo principale di Apache. Debian ha preimpostato nel file di configurazione il file /var/run/apache.pid. 20/45
21 Le direttive di identificazione Le seguenti direttive possono essere utilizzate sia a livello globale che all'interno dei domini virtuali di cui parleremo più avanti. Le direttive sono: ServerName domainname Questa direttiva permette di impostare il nome di dominio per il quale viene messo a disposizione il relativo servizio. Il nome di dominio è quello presente all'interno della URL di richiesta e inviato mediante header HTTP Host. Questa direttiva può trovarsi anche all'interno di un container VirtualHost e permette di identificare la giusta allocazione nonostante venga utilizzato sempre lo stesso indirizzo IP. ServerAdmin address Questa direttiva permette di impostare l'indirizzo dell'amministratore responsabile. L'indirizzo verrà visualizzato all'interno delle varie pagine di errore del webserver. Anche questa direttiva può essere inserita all'interno di un container VirtualHost per differenziare i vari amministratori responsabili. Le direttive per il comportamento delle connessioni Le principali direttive che possono essere utilizzate per definire il comportamento delle connessioni del server sono le seguenti. KeepAlive On Off Questa direttiva permette di mantenere attive o meno le connessioni TCP con il server. Mantenere attiva la connessione può aumentare notevolmente le prestazioni, soprattutto per pagine che al loro interno hanno molte immagini. Questo è il motivo per il quale questa direttiva viene attivata di default. KeepAliveTimeout seconds Con questa direttiva si può definire il numero di secondi che il server mantiene intatta una connessione prima di chiuderla. Si consiglia di non utilizzare un numero troppo elevato perché potrebbe mantenere aperte delle connessioni inutilizzate per troppo tempo. Avremmo un notevole calo di prestazione in caso di traffico elevato. MaxKeepAliveRequests number Questa direttiva permette di definire il numero massimo di richieste che possono essere fatte all'interno di una connessione. E' consigliabile utilizzare un numero elevato (Debian utilizza 150). 21/45
22 TimeOut seconds Questa direttiva permette di definire il tempo di attesa del server, per il tempo che trascorre nella ricezione di richieste GET, per il tempo che trascorre tra la ricezione di pacchetti TCP nelle richieste PUT oppure POST e per il tempo che trascorre tra i pacchetti di conferma di ricezione TCP nelle risposte. Tutte queste direttive possono essere inserite, oltre che a livello globale, anche all'interno dei container VirtualHost. Le direttive di limitazione Le principali direttive sono: LimitRequestBody bytes Questa direttiva permette di definire il limitare massimo consentito della dimensione (espressa in byte) complessiva di una richiesta. Il valore default è pari a 0 che non pone limiti. LimitRequestFields number Questa direttiva permette di definire il limite massimo consentito di headers all'interno di una richiesta. 0 significa illimitato, mentre il default è pari a 100. LimitRequestFieldSize bytes Questa direttiva permette di definire il limite massimo in byte utilizzato per gli headers. Il default è pari a LimitRequestLine bytes Questa direttiva permette di definire il limite massimo in byte utilizzato per le richieste HTTP e quindi di filtrare richieste anomale con le quali si possono effettuare attacchi DOS (Denial Of Service). RLimitCPU seconds Questa direttiva permette di definire il limite massimo del tempo della CPU in secondi messo a disposizione per ogni processo creato da uno dei processi Apache nel soddisfare una richiesta. RLimitMEM bytes Questa direttiva permette di definire il limite massimo espresso in byte di memoria messa a disposizione per ogni processo creato da uno dei processi Apache nel soddisfare una richiesta. RLimitNPROC number Questa direttiva permette di definire il limite massimo dei processi creati da uno dei processi Apache nel soddisfare una richiesta. 22/45
23 Le direttive per la configurazione dei processi Il comportamento del MPM prefork di Apache2.0 viene appunto chiamato pre-forking, perché non crea i processi nel momento in cui vengono effettivamente utilizzati, ma li crea preventivamente in maniera tale da essere già pronti quando questi vengono richiesti. Visto che a livello di Apache2.0 l'utilizzo del MPM prefork è facoltativo possiamo incapsulare la relativa configurazione all'interno della direttiva IfModule per evitare la segnalazione di errori in caso contrario. Le principali direttive sono: MaxClients number Questa direttiva permette di definire il numero massimo di processi che possono essere in esecuzione contemporaneamente. Tutte le eventuali richieste aggiuntive che eccedono questo numero verranno messe in coda fino a quando uno dei processi non si libera. StartServers number Con questa direttiva si può definire il numero dei processi figli che Apache deve far partire all'avvio, che di default è pari a 5. Siccome il numero dei processi viene adattato dinamicamente in base alle esigenze di solito si lascia invariato. MinSpareServers number Questa direttiva permette di definire il numero minimo dei processi che devono rimanere attivi in attesa di connessione oltre a quelli attualmente utilizzati. Questo permette una immediata elaborazione di eventuali richieste in entrata senza dover attendere la creazione di nuovi processi. Il sistema crea immediatamente il numero dei processi necessari in caso di superamento del limite. Il valore di default di questa direttiva è pari a 5. MaxSpareServers number Questa direttiva permette di definire il numero massimo di processi che possono rimanere attivi in attesa di connessione oltre a quelli attualmente utilizzati. Nel caso in qui, dopo la chiusura di varie connessioni, fossero attivi più processi di quelli definiti all'interno di questa direttiva Apache provvederebbe a chiude quelli in eccesso. Il valore di default di questa direttiva è pari a 15. MaxRequestsPerChild number Questa direttiva permette di definire il numero di richieste che ogni processo deve elaborare. Raggiunto questo limite il processo verrà chiuso. Il valore di default di questa direttiva è 0 che significa un numero illimitato di richieste. 23/45
24 I moduli e la loro gestione Apache si basa su un sistema modulare. Questo vuol dire che è possibile aggiungere delle funzionalità (mediante dei moduli appunto) al server in fase di esecuzione. Non è quindi indispensabile la ricompilazione di Apache per aggiungere nuovi moduli, e quindi, nuove funzionalità al server. Con il comando apache2 -l è possibile visualizzare la lista dei moduli con i quali è stato compilato Apache2.0. La presenza di un modulo all'interno di questa lista non implica automaticamente la sua attivazione. Abbiamo la possibilità di utilizzare la direttiva AddModule con il nome del modulo (come riportato nella lista dei moduli con il comando apache2 -l) per attivarne le sue funzionalità. Ad esempio: AddModule mod_so.c Se vogliamo caricare dei moduli messi a disposizione come shared objects, e quindi non integrati in fase di compilazione, dobbiamo utilizzare la direttiva LoadModule seguito da un nome identificativo del modulo ed il file.so con la sua posizione assoluta. Nella prassi si utilizza mod_nome.c come nome del file sorgente, NOME_module come nome identificativo del modulo e mod_name.so per il nome del file codice. Esempio: LoadModule alias_module /usr/lib/apache2/modules/mod_alias.so Nella versione 2.0 di Apache le direttive per il caricamento dei moduli non si trovano direttamente all'interno del file di configurazione principale, ma come Include come segue: Include /etc/apache2/mods-enabled/*.load Include /etc/apache2/mods-enabled/*.conf I file *.load contengono la direttiva LoadModule ed i file *.conf la specifica configurazione del rispettivo modulo all'interno del container IfModule. I file contenuti all'interno della cartella /etc/apache2/mods-enabled/ non sono altro che dei link simbolici che puntano sui rispettivi file presenti all'interno della cartella /etc/apache2/mods-available/. Questo permette di evitare il caricamento di moduli specifici eliminando solamente il link simbolico lasciando invariata la posizione dei file originali. Per attivare un modulo all'interno di mod-enabled (quindi per creare i link simbolici necessari) possiamo utilizzare il comando a2enmod con il relativo nome del modulo senza estensione, ad esempio: 24/45
25 a2enmod ssl Dopodiché appariranno i relativi link simbolici all'interno della cartella mod-enabled. Per disattivarli possiamo utilizzare il comando a2dismod con il nome del modulo senza estensione. La sequenza di elaborazione delle direttive Abbiamo visto nelle sezioni precedenti che una delle possibilità che mette a disposizione Apache per gestire le risorse è quella di utilizzare dei container come Directory per la gestione di cartelle, Files per la gestione di singoli file, oppure Location per gestire le risorse in base al contenuto espresso nella URL. Le direttive sopra citate hanno lo svantaggio che non possono essere modificate da terze pari senza dare accesso al o ai file di configurazione del server. Per questo motivo troviamo all'interno di Apache un meccanismo che permette di decentralizzare la configurazione delle risorse. In questo caso utilizziamo un file (normalmente.htaccess) all'interno della cartella stessa che può contenere le direttive che influenzano le proprietà della cartella principale e di tutte quelle presenti in essa. Il nome del file da utilizzare viene indicato dalla direttiva AccessFileName che possiamo trovare sia come direttiva del server che come direttiva all'interno di un container. Dato che le direttive inserite nel file di accesso potrebbero, in alcuni casi, soprassedere la configurazione del server è consigliabile utilizzare questo meccanismo solamente se non diversamente possibile. L'utilizzo del file di accesso ha come conseguenza, oltre la scarsa sicurezza, anche un peggioramento delle prestazioni. Apache deve, infatti, effettuare il controllo della presenza del file di accesso all'interno della cartella in cui si trova la risorsa desiderata, e non solo. Vista la possibilità di eredità delle direttive dovrà, per ogni singola risorsa, effettuare lo stesso controllo anche nelle cartelle di livello superiore. Questo meccanismo viene quindi utilizzato solamente se vogliamo dare all'utente la possibilità di effettuare la configurazione delle proprie cartelle senza dover per forza ogni volta modificare la configurazione base. Data la possibilità di utilizzo contemporaneo sia di vari container che dei file di accesso.htaccess diventa vantaggioso conoscere la sequenza con la quale Apache legge le varie direttive presenti: Apache inizia con i container Directory definiti al di fuori dei container VirtualHost, che non fanno utilizzo di regular expressions iniziando dal percorso, assegnato come argomento, più breve. Allo stesso tempo vengono presi in considerazione i relativi file di 25/45
26 accesso (se così definito con la direttiva AllowOverride). Nel caso in cui ci fossero due o più container per lo stesso percorso verranno elaborati in base alla loro posizione all'interno del file principale di configurazione. Con gli stessi criteri precedentemente accennati passa poi ai container Directory che si trovano all'interno dei container VirtualHost. Poi prosegue con i container Directory ~ e DirectoryMatch, ossia quelli che utilizzano le regular expressions, presenti al di fuori dei container VirtualHost. Nel caso in cui ci fossero due o più container per lo stesso percorso verranno elaborati in base alla loro posizione all'interno del file principale di configurazione. Con gli stessi criteri del punto precedente passa poi ai container Directory ~ e DirectoryMatch all'interno dei container VirtualHost. Si arriva poi ai container File e FileMatch dove anche qui prevale la posizione all'interno del file di configurazione principale in caso di sovrapposizioni. Poi ai container File e FileMatch dei VirtualHost. E si conclude con i container Location. In caso di sovrapposizioni prevale la posizione all'interno del file di configurazione principale. Passando poi ai relativi container Location dei VirtualHost. Se durante l'elaborazione Apache trova le stesse direttive con valori diversi tiene l'ultimo valore assegnato. Data la sequenza di elaborazione precedente (prima le direttive al di fuori dei VirtualHost, poi quelle all'interno) prevalgono le direttive definite all'interno dei container VirtualHost. Vediamo il seguente esempio <Files /var/www/dominio/index.html> Direttiva5 </Files> <Location /pippo/pluto> Direttiva6 </Location> <VirtualHost *> <Directory /var/www/pippo/pluto> Direttiva3 </Directory> </VirtualHost> <DirectoryMatch "^ Direttiva4 </DirectoryMatch> <Directory /var/www/pippo/pluto> Direttiva2 </Directory> <Directory /var/www/> Direttiva1 </Directory> Direttiva1 è la prima direttiva che viene presa in considerazione perché 26/45
27 presente all'interno del container Directory (al di fuori di un VirtualHost) e perché con il percorso (/var/www) più breve. Poi passa alla Direttiva2 perché sempre all'interno di un container Directory, ma con percorso (/var/www/pippo/pluto) più lungo. Ora tocca alla Direttiva3 perché l'unica all'interno del container VirtualHost. Arriviamo poi alla Direttiva4 perché all'interno di un container DirectoryMatch, alla Direttiva5 che è all'interno di un container Files ed infine alla Direttiva6 che si trova all'interno di un container Location. Attivare/disattivare le opzioni Con la direttiva Options possiamo attivare e/o disattivare determinate opzioni per modificare le funzionalità del nostro server. Se definita al di fuori di un container modifica le funzionalità dell'intero webserver; utilizzata all'interno di un container modifica solo le funzionalità delle risorse legate ad esso. Le opzioni definite all'interno di un container Directory verranno applicate a tutte le sottocartelle se non esplicitamente definito come nel seguente esempio: <Directory /var/www> Options MultiViews AllowOverride None </Directory> <Directory /var/www/pluto> Options Indexes FollowSymLinks AllowOverride None </Directory> In questo caso verrà attivata l'opzione MultiViews per la cartella /var/www, mentre per la cartella /var/www/pluto verranno attivate le opzioni Indexes e FollowSymLinks. Utilizzando la direttiva Options come nell'esempio attiviamo solamente le opzioni specificate all'interno della direttiva stessa, per questo motivo non viene ereditata l'opzione MultiViews. Per evitare che opzioni definite in livelli superiori vengano eliminate all'interno di altre direttive possiamo utilizzare i simboli + e/o -. Modifichiamo il precedente esempio come segue: <Directory /var/www> Options MultiViews AllowOverride None </Directory> <Directory /var/www/pluto> Options +Indexes +FollowSymLinks AllowOverride None </Directory> <Directory /var/www/pluto/pippo> Options -MultiViews AllowOverride None 27/45
28 </Directory> In questo caso abbiamo attivato l'opzione MultiViews per /var/www, le opzioni MultiViews, Indexes, FollowSymLinks per /var/www/pluto e le opzioni Indexes e FollowSymLinks per /var/www/pluto/pippo. Vediamo ora in dettaglio le varie opzioni che si possono utilizzare con la direttiva Options: Options All All è il valore di default che attiva tutte le opzioni, tranne MultiViews. Options ExecCGI Questa opzione permette l'esecuzione di script CGI mediante il modulo mod_cgi. Options FollowSymLinks In questo caso sarà possibile seguire percorsi definiti da link simbolici. Anche se seguiti i link simbolici il percorso a tale risorsa rimane invariato quando confrontato con l'argomento del container Directory. Questa opzione verrà ignorata se utilizzata all'interno di un container Location. Options Include Con questa opzione vengono permessi gli include lato server mediante modulo mod_include. Options IncludeNOEXEC Con questa opzione vengono permessi gli include tranne gli #exec cmd e gli #exec cgi. Rimane però la possibilità di includere script CGI virtuali dalle cartelle con la direttiva ScriptAliased. Options Indexes Se la URL fa riferimento ad una cartella priva della direttiva DirectoryIndex (es. index.html) il webserver restituirà una lista formattata del contenuto della cartella utilizzando il modulo mod_autoindex. Options MultiViews Questa opzione permette di costringere Apache a trovare file alternativi per risorse non definite in maniera precisa. Poniamo il seguente esempio: Attiviamo l'opzione MultiViews per il container Directory che ha come argomento la cartella /pluto/pippo. Al server Apache viene richiesto di restituire la risorsa identificata dal file /pluto/pippo/paperino che però non esiste. In questo caso Apache inizia ad utilizzare il modulo mod_negotiation che gli permette di estrarre tutti i file /pluto/pippo/paperino.* e di paragonarne le estensioni con un elenco di estensioni conosciute. 28/45
29 Mediante determinati criteri proporrà il file che più rispecchia il tipo di risorsa richiesta inizialmente. MultiViews può incidere anche sul comportamento della direttiva DirectoryIndex. Poniamo il seguente esempio: DirectoryIndex index Nel caso in cui arrivasse al server una richiesta priva di file questo inizierebbe a verificare la presenza di tutti i file index.* scegliendo il primo che più rispecchia il criterio di contenuto HTML. L'opzione MultiViews può essere utilizzata all'interno di un container Directory, File, Location, oppure, se AllowOverride lo permette, anche all'interno del file.htaccess. Options SymLinksIfOwnerMatch Il server segue i link simbolici solamente se l'id dell'utente proprietario corrisponde all'id dell'utente proprietario del link. Questa opzione viene ignorata all'interno del container Location. Diritti di accesso I diritti di accesso all'interno di un container Directory possono essere definiti mediante la direttiva Order con i criteri Allow e Deny. Questa direttiva è valida anche per le sottocartelle, a meno che non siano stati definiti altri diritti di accesso. Order Deny,Allow In questo caso vengono controllate prima le regole Deny, poi le regole Allow. Nel caso in cui non ci fosse una regola corrispondente alla pagina richiesta la pagina verrebbe visualizzata. Order Allow,Deny In questo caso vengono controllate prima le regole Allow, poi le regole Deny. Nel caso in cui non ci fosse una regola corrispondente alla pagina richiesta la pagine NON verrebbe visualizzata. Allow from [indirizzo ip hostname area di indirizzi all] Questa direttiva ci permette di definire chi ha il permesso di visualizzare le pagine interessate. Possiamo inserire un indirizzo ip (es ), un hostname (es. test.it), oppure un'area di indirizzo (es. 1.2 per gli indirizzi 1.2.*.*). La direttiva Allow from all permette a chiunque di avere accesso. Deny from [indirizzo ip hostname area di indirizzi all] Questa direttiva ci permette di definire chi NON ha il permesso di 29/45
30 visualizzare le pagine interessate. Possiamo inserire un indirizzo ip (es ), un hostname (es. test.it), oppure un'area di indirizzo (es. 1.2 per gli indirizzi 1.2.*.*). La direttiva Deny from all blocca l'accesso a chiunque cerchi di visualizzare le nostre pagine. Vediamo ora un esempio che permette di limitare la visualizzazione delle nostre pagine solamente all'interno della nostra rete ( *) e all'interno del nostro dominio aziendale (es..test): <Directory /var/www> Order Allow,Deny Allow from Allow from localhost Allow from.test </Directory> Nel caso in cui non ci fosse una corrispondenza tra le regole Allow from l'accesso verrebbe direttamente negato (Order Allow,Deny). Personalizzare i logfile Apache mette a disposizione delle direttive che permettono di personalizzare i formatti da utilizzare per la registrazione dei logfile contrassegnandoli con un nome identificativo. Possiamo creare vari formati ed utilizzarli poi a piacere all'interno di configurazioni di domini diversi. Le direttive che si possono utilizzare sono LogFormat stringa_formato nome_identificativo con questa direttiva possiamo definire con stringa_formato il formato da utilizzare e con nome_identificativo il nome da poter poi utilizzare all'interno della direttiva CustomLog. La stringa da utilizzare per il formato può comprendere una serie di codici di formato che identificano un determinato dato che si vuole visualizzare all'interno della registrazione. Nella seguente tabella vediamo i codici di formato che possiamo utilizzare: %% inserisce il simbolo % %a Indirizzo IP remoto %A Indirizzo IP locale %B Byte della risposta senza HTTP %b Byte della risposta senza HTTP (nel formato CLF) %{foobar}c Il contenuto del cookie foobar nelle richieste al server %D Il tempo necessario per la richiesta in microsecondi %{foobar}e Il contenuto della variabile d'ambiente foobar %f Il nome del file %h Il host remoto %H Il protocollo della richiesta 30/45
31 %{foobar}i Le righe foobar estratte dal header della richiesta %l Il logname da remoto se inviato (identd) %m Il metodo utilizzato per richiesta %{foobar}n Il contenuto della nota foobar all'interno di un altro modulo %{foobar}o foobar righe estratte dal header della risposta %p La porta canonica del servizio che ha elaborato la richiesta %P L'ID del processo figlio che ha elaborato la richiesta %{format}p L'ID del processo o thread figlio che ha elaborato la richiesta. Come format possiamo utilizzare pid oppure tid. %q La stringa utilizzata come query %r La prima riga della richiesta %s Lo stato della richiesta originale (%>s per visualizzare lo stato dell'ultima richiesta) %t Tempo necessario a ricevere la richiesta %{format}t Tempo necessario a ricevere la richiesta in base al formato format desiderato (vedi strftime(3)) %T Tempo necessario ad elaborare la richiesta in secondi %u User remoto restituito da auth %U L'URL della richiesta, senza eventuale stringa query %v Il nome canonico del server che ha elaborato la richiesta %V Il nome definito dall'eventuale direttiva UseCanonicalName %X Lo stato della connessione dopo aver completato la risposta: (X) connessione interrotta prima del completamento della risposta; (+) connessione potrebbe essere rimasta in vita dopo l'invio della risposta; (-) connessione viene chiusa dopo l'invio della risposta. %I Byte ricevuti, inclusi la richiesta ed gli header %O Byte inviati, inclusi gli header Vediamo ora un semplice esempio: LogFormat %h %l %u %t \ %r\ %>s %b personal CustomLog percorso_file nome_identificativo Questa direttiva la utilizziamo per definire il logfile ed il formato con il quale effettuare le registrazioni. CustomLog /var/www/dominio1 personal 31/45
32 HOST VIRTUALI Introduzione Un webserver potrà essere utilizzato per la presentazione via Internet di un solo sito. Questo però di solito non avviene. In pratica è più probabile dover configurare un server per la presentazione di diversi siti. Per questo motivo apache2 ci mette a disposizione il sistema dei virtual host, ossia host virtuali. Questo sistema permette di identificare un sito, e quindi il proprio contenuto, mediante l'indirizzo IP al quale viene effettuata la richiesta alla porta 80 o mediante il nome di dominio inviato all'interno degli header di richiesta direttamente dal browser dell'utente. Nel caso in cui si volessero gestire più di quattro siti sul nostro server è consigliabile utilizzare il NameVirtualHost, ossia la seconda possibilità. Virtual Host su indirizzi IP Nel caso in cui volessimo utilizzare indirizzi IP diversi la configurazione dei relativi file di configurazione da posizionare all'interno della cartella /etc/apache2/sites-available verrebbe effettuata come segue: <VirtualHost IP_server> ServerAdmin [email protected] DocumentRoot /www1 </VirtualHost> Questa è la configurazione base dove IP_server è l'indirizzo IP della 32/45
33 scheda di rete da utilizzare per il sito presente all'interno della cartella /www1 sul filesystem del webserver. Ricordiamoci di creare il link simbolico all'interno della cartella /etc/apache2/sites-enabled/ verso il file di configurazione all'interno di /etc/apache2/sites-available/ appena creato. Mandiamo poi un segnale di HUP ad Apache per attivare le modifiche effettuate. Virtual Host utilizzando i nomi di dominio Nel caso in cui volessimo utilizzare i nomi di dominio trasferiti negli header direttamente dal browser dell'utente la configurazione dovrà essere la seguente.: NameVirtualHost IP_server <VirtualHost IP_server> ServerAdmin [email protected] DocumentRoot /var/www/test1.com ServerName </VirtualHost> In questo caso diventa indispensabile l'utilizzo del parametro NameVirtualHost con il quale si definisce il gruppo di appartenenza di tutti i siti da riconoscere mediante nome di dominio definito con ServerName. Attenzione! Il parametro NameVirtualHost viene utilizzato solamente all'interno del primo file di configurazione caricato da apache2. Cartelle protette da username e password Per proteggere delle cartelle all'interno di un sito mediante nome utente e password bisogna, come prima cosa, creare il file che contiene i dati degli utenti che avranno i permessi. Il file viene creato utilizzando il comando htpasswd -c /etc/apache2/users.pwd user dove -c viene utilizzato per creare il nuovo file (quindi da utilizzare solamente con la creazione del primo utente) /etc/apache2/users.pwd e user identifica il nome dell'utente da creare. Questo file viene utilizzato all'interno del file di configurazione del sito quando si definisce la cartella protetta. <VirtualHost IP_server> ServerAdmin [email protected] 33/45
34 DocumentRoot /var/test1.com ServerName <Directory /var/test1.com/private> AuthName Zona protetta AuthType Basic AuthUserFile /etc/apache2/users.pwd require valid-user </Directory> </VirtualHost> In questo file la parte più importante è il blocco <Directory>. Qui definiamo il nome da visualizzare quando appare la finestra di pop-up per la richiesta del nome utente e la password (AuthName), il tipo di autenticazione da utilizzare (AuthType), il file da utilizzare per verificare le autenticazioni (AuthUserFile) e l'impostazione base di sicurezza (require). Nel caso in cui si volesse testare i siti con domini non riconosciuti bisogna ricordarsi di andare a configurare il file /etc/hosts. 34/45
35 SECURE SOCKETS LAYER (SSL) Introduzione Transport Layer Security (TLS) e il suo predecessore Secure Sockets Layer (SSL) sono dei protocolli crittografici utilizzati spesso e volentieri per garantire la sicurezza e l'integrità di dati trasferiti su reti classificate non sicure come ad esempio l'internet. Stabilire connessioni sicure con il webserver desiderato è di fondamentale importanza data spesso la necessità di invio di dati personali, privati o addirittura sensibili (es. online banking). Vediamo quindi in questo capitolo come abilitare il modulo SSL sul nostro webserver. Chiave e certificato SSL Per dare la possibilità al nostro server di effettuare connessione su protocollo SSL abbiamo bisogno di due cose fondamentali: una chiave e un certificato SSL. Nel momento in cui un browser si collega al nostro sito gli verrà inviato dal server il certificato SSL. In questo caso il client può essere sicuro di essersi collegato con il server desiderato. A verifica terminata si passa al passaggio dei dati su canale criptato. Il canale viene criptato con l'apposita chiave SSL. Un certificato, con relativa chiave SSL, deve essere richiesta ad un TrustCenter. Un TrustCenter deve verificare la correttezza dei dati inseriti nel certificato e siglarlo per renderlo efficace a tutti gli effetti. Effettuare la richiesta dei parametri SSL necessari può essere molto dispendioso sia da un punto di vista di tempo che di denaro. Per il nostro 35/45
36 esempio possiamo creare un nostro certificato (naturalmente non utilizzabile su Internet) utilizzando il software OpenSSL ( che dobbiamo eventualmente installare apt-get install openssl Come prima cosa dobbiamo generare una chiave RSA. Nel nostro caso generiamo una chiave con lunghezza 1024 bit che verrà copiata all'interno del file server.key. Utilizziamo il seguente comando openssl genrsa -out server.key 1024 Il file con la chiave viene generata all'interno dell'attuale cartella (pwd). Dalla chiave generiamo ora il certificato dandogli una validità pari a 4 anni (ossia 1460 giorni). openssl req -new -x509 -days key server.key -out server.crt Verranno poste una serie di domande alla quale rispondiamo di dovere. La domanda sul Common Name è molto importante e dovrebbe contenere il nome DNS del nostro server. Il certificato si trova ora all'interno del file server.crt. Configurazione del server Prima di poter utilizzare il modulo SSL dobbiamo attivarlo con il comando: a2enmod ssl Prendiamo poi i due file creati precedentemente server.key e server.crt e copiamoli all'interno della cartella /etc/apache2. cp server.crt server.key /etc/apache2 Ora ne modifichiamo l'utente proprietario ed i diritti di accesso per evitare che qualche utente vada a dare una sbirciatina. chown www-data server.* chmod 600 server.* Apriamo ora il file /etc/apache2/ports.conf ed aggiungiamo la riga listen 443 Dovrebbe già essere presente la riga listen 80. Nel file di configurazione del dominio web che stiamo creando e che inseriremo nella cartella /etc/apache2/sites-available inseriamo le seguenti righe: 36/45
37 SSLCertificateFile /etc/apache2/server.crt SSLCertificateKeyFile /etc/apache2/server.key Nel blocco VirtualHost dobbiamo solamente attivare il motore SSL con la seguente riga SSLEngine On Le opzioni più importanti, oltre a quelle appena viste, che possiamo utilizzare nella configurazione SSL sono: SSLProtocol SSLCipherSuite SSLRequireSSL Le versioni SSL che possiamo utilizzare sono SSLv2, SSLv3 e TLSv1. Utilizzando questa direttiva possiamo definire quale versione SSL utilizzare e quale no. Con la voce SSLProtocol -SSLv2 +SSLv3 +TLSv1 attiviamo tutte le versioni tranne la SSLv2. Con questa direttiva definiamo quali algoritmi SSL vogliamo permettere. Con la voce SSLCipherSuite HIGH:MEDIUM permettiamo una connessione solo dai browser che utilizzano algoritmi sicuri. Un server configurato per SSL risponde automaticamente anche a richieste su HTTP. Per rifiutare HTTP ed accettare solamente HTTPS inseriamo questa voce. Vediamo ora un semplice esempio: SSLCertificateFile /etc/apache2/server.crt SSLCertificateKeyFile /etc/apache2/server.key SSLProtocol All SSLCipherSuite HIGH:MEDIUM <VirtualHost :443> ServerAdmin [email protected] DocumentRoot /var/www/test1.com ServerName SSLEngine On <Directory /var/www/test1.com/> SSLRequireSSL </Directory> </VirtualHost> Nel caso di siti che permettono l'accesso sia tramite HTTPS (quindi alla porta 443) che HTTP (alla porta 80) la configurazione deve essere fatte per entrambe le situazioni. Rimane quindi il blocco <VirtualHost :443> per definire il comportamento di accessi HTTPS, ma va aggiunto anche un blocco <VirtualHost :80> per definire il comportamento di collegamenti HTTP. 37/45
38 WEBALIZER Introduzione Webalizer è un sistema che può essere abbinato al webserver per creare delle statistiche relativi ai vari domini che abbiamo configurato. Installiamo il pacchetto come segue apt-get install webalizer Configurazione di Webalizer Dopo l'installazione troviamo all'interno della cartella per i documenti in linea del nostro webserver la seguente cartella vuota /var/www/webalizer Questa è infatti la cartella che webalizer utilizza come posizione di destinazione delle statistiche di default. Il file di riferimento lo troviamo all'interno della cartella /etc/webalizer e si chiama webalizer.conf /etc/webalizer/webalizer.conf I parametri più importanti all'interno di questo file di configurazione sono LogFile percorso_logfile Questo parametro definisce il logfile dal quale recuperare le informazioni 38/45
39 necessarie per la creazione della statistica di webalizer. OutputDir percorso_cartella Questo parametro definisce la cartella all'interno della quale verrà creata la situazione di statistica in formato HTML. La cartella definita mediante questo parametro deve esistere, altrimenti non verrà creata in automatico. Ogni configurazione si basa quindi su logfile diversi. Per questo motivo diventa importantissimo creare un logfile diverso per ogni dominio per il quale si vuole creare una statistica. La relativa statistica viene creata passando il file di configurazione come parametro al comando webalizer come segue webalizer /etc/webalizer/dominio1.conf Questo comando, eseguito per ogni file di configurazione presente all'interno della cartella /etc/webalizer/, viene inserito all'interno del crontab per essere eseguito quotidianamente (/etc/cron.daily/webalizer). Se creiamo quindi una cartella webalizer per ogni dominio che abbiamo in gestione e ne configuriamo l'esecuzione all'interno della cartella /etc/webalizer potremmo visualizzare i risultati della statistica con 39/45
40 Webmail con Squirrelmail Introduzione Squirrelmail è un webmail server scritto in PHP che supporta i protocolli IMAP e SMTP. Installazione Per installare il sistema digitiamo apt-get install squirrelmail Dopo l'installazione possiamo trovare l'intero sistema all'interno della cartella /usr/share/squirrelmail mentre come cartella per i file di configurazione troviamo /etc/squirrelmail Qui dentro troviamo il file apache.conf che contiene tutte le direttive di apache per il corretto funzionamento. Possiamo integrare la configurazione con un semplice Include /etc/squirrelmail/apache.conf 40/45
41 oppure creando un link simbolico all'interno della cartella /etc/apache2/conf.d come segue cd /etc/apache2/conf.d ln -s /etc/squirrelmail/apache.conf squirrelmail Facciamo poi ripartire apache con /etc/init.d/apache2 restart Configurazione di Squirrelmail Questo sistema viene fornito con il comando di configurazione squirrelmail-configure che mette a disposizione un tool interattivo per la configurazione del sistema stesso. Dopo aver fatto partire questo tool ci troviamo a disposizione un menu dal quale scegliamo il secondo punto 2. Server Settings per controllare le impostazioni del server. Avendo installato il nostro IMAP e SMTP server in locale possiamo lasciare la situazione invariata. Altrimenti possiamo modificare a piacere scegliendo i punti A oppure B. Per creare ora un dominio dedicato al nostro webmail possiamo creare un nuovo file di configurazione di apache all'interno del quale definiamo un nuovo punto di accesso. <VirtualHost > DocumentRoot /usr/share/squirrelmail ServerName webmail.example.com </VirtualHost> 41/45
42 Modulo mod_rewrite Introduzione Questo modulo è uno dei moduli presenti all'interno del sistema Apache e permette di riscrivere (rewrite) la richiesta URL fatta da parte dell'utente utilizzando delle regole ben precise prima che questa giunga e venga elaborata come richiesta ad una risorsa di Apache. La seguente richiesta potrebbe puntare internamente alla pagina Configurazione del server Essendo questo modulo già presente all'interno di Apache l'unica cosa che dobbiamo fare è attivarlo con il seguente comando: a2enmod rewrite Da ora in poi il modulo sarà attivo. Possiamo verificare l'attivazione controllando la presenza dei file mod_rewrite.load direttamente nella cartella /etc/apache2/mods-enabled/. Per poter utilizzare questo modulo all'interno di un nostro dominio è 42/45
43 indispensabile far capire ad Apache che vogliamo rendere disponibile il motore mod_rewrite per il dominio desiderato. La direttiva per l'attivazione del motore in questione così come le regole necessarie alla sostituzione vanno inserite direttamente all'interno della configurazione del dominio, oppure nel file.htaccess. Per attivare il motore del modulo rewrite scriviamo RewriteEngine on nella direttiva directory principale del nostro sito. Le regole verranno spiegate nelle sezioni seguenti. Le regole Una regola viene identificata da Apache grazie alla parola RewriteRule. Questa direttiva ha la seguente sintassi RewriteRule {pattern} {sostituzione} [opzioni] dove i parametri utilizzabili hanno il seguente segnificato {pattern} {sostituzione} [opzioni] Qui inseriamo una regular expression che viene utilizzata sulla URL di richiesta fatta direttamente dall'utente. Questa è la risorsa interna che Apache dovrà far vedere in base alla URL di richiesta identificata da {pattern} Questo parametro non è indispensabile per il corretto funzionamento della regola, ma permette di gestirne il comportamento. Un semplice esempio in grado di indirizzare tutte le richieste fatta alla pagina prova.html alla pagina test.html è il seguente: RewriteEngine on RewriteRule ^prova.html$ test.html Dopo aver attivato il motore di rewrite definiamo la regola che riconosce la richiesta fatta grazie a ^prova.html$ e ne definisce la risorsa effettiva con test.html. Nelle regular expressions il ^ identifica l'inizio della riga (o stringa di richiesta), mentre $ ne identifica la fine. 43/45
44 Le opzioni Possiamo definire il comportamento delle regole in base a dei flag posti tra parentesi quadre [...]. Alcuni dei flag più importanti sono: C F L NC NE Questo flag permette di concatenare (chain) una regola con quella successiva. Se la regola corrisponde si passa direttamente alla prossima, altrimenti la procedura di elaborazione salterà tutte quelle collegate fra loro Permette di negare (forbidden) l'accesso alla risorsa definita dalla regola Definisce la regola come ultima (last) regola da elaborare. Questo evita che la richiesta possa subire ulteriori variazioni da parte di altre regole sottostanti. Questo flag rende case-insenitive il blocco pattern durante l'elaborazione della regola Normalmente i caratteri speciali ('%', '$', ';' ecc.) presenti all'interno del blocco di sostituzione vengono rimpiazzati dagli equivalenti valori esadecimali ('%25', '%24', '%3B', ecc.). Questo flag disattiva questa funzione lasciando i caratteri speciali invariati. Il seguente esempio RewriteRule /foo/(.*) /bar?arg=p1\%3d$1 [R,NE] trasforma la richiesta /foo/zed in /bar?arg=p1=zed. Le variabili Abbiamo la possibilità di registrare dei valori di variabili recuperati dalla sezione {pattern} per riutilizzarli nel blocco {sostituzione}. Per far capire qual'è il valore della variabile utilizziamo le parentesi tonde (...) mentre riutilizziamo questi valori con la forma ${numero}. {numero} è il numero di blocco a partire da sinistra verso destra dove il primo blocco è identificato dal numero 1. Per esempio possiamo utilizzare la seguente regola RewriteRule ^page/([^/\.]+)/?$ pages.php?page=$1 per prendere tutto quello che si trova dopo page/ ed inserirlo come parametro del blocco in sostituzione al posto di $1. La richiesta a viene interpretato da Apache come 44/45
45 La sequenza di caratteri /?$ identifica tutte le richieste che terminano con o senza slash (/). Le condizioni La validità di una regola può essere definita da una o più condizioni che la precedono. La sintassi con la quale viene definita una condizione è la seguente RewriteCond {test} {pattern} [opzioni] dove test può contenere un blocco di raggruppamento presente all'interno del blocco pattern dell'ultima regola ($N: 0 <= $N <= 9), un blocco di raggruppamento presente all'interno del blocco pattern dell'ultima condizione (%N: 0 <= %N <= 9), un riferimento a RewriteMap (non trattato in questo manuale), oppure una variabile di ambiente del server %{NOME_VARIABILE} (es. %{HTTP_USER_AGENT}, %{REMOTE_ADDR}, ecc.). Il blocco pattern è una regular expression che permette di definire il valore del test in questione, mentre opzioni può contenere i flag NC (no case), oppure OR (concatenamento logico 'o'). Vediamo ora un semplice esempio per definire una pagina iniziale per il browser Mozilla Firefox RewriteCond %{HTTP_USER_AGENT} ^Mozilla RewriteRule ^/$ /homepage.moz.html [L] RewriteRule ^/$ /homepage.html [L] 45/45
Installazione LAMP. Installare un server lamp su Linux Ubuntu. Per installare un server LAMP in Ubuntu come prima cosa apriamo il terminale:
Installazione LAMP Installare un server lamp su Linux Ubuntu Per installare un server LAMP in Ubuntu come prima cosa apriamo il terminale: Poi copiamo ed incolliamo nel terminale il comando: sudo apt-get
Il Web Server e il protocollo HTTP
Corso PHP Parte 2 Il Web Server e il protocollo HTTP E un programma sempre attivo che ascolta su una porta le richieste HTTP. All arrivo di una richiesta la esegue e restituisce il risultato al browser,
Apache 2, PHP5, MySQL 5
Installazione di Apache 2, PHP5, MySQL 5 Corso Interazione Uomo Macchina AA 2005/2006 Installazione e Versioni Considerazione le versioni più recenti dei vari software così da poterne sperimentare le caratteristiche
Nelle reti di calcolatori, le porte (traduzione impropria del termine. port inglese, che in realtà significa porto) sono lo strumento
I protocolli del livello di applicazione Porte Nelle reti di calcolatori, le porte (traduzione impropria del termine port inglese, che in realtà significa porto) sono lo strumento utilizzato per permettere
Xampp. Valeriano Maysonnave - A.A. 2014/2015 -
Xampp Valeriano Maysonnave - A.A. 2014/2015-1 Introduzione...1 2 Installazione su Windows...1 3 Configurazione Apache...2 3.1 Accesso al file di configurazione httpd.conf...2 3.2 Il file httpd.conf...3
2.5. L'indirizzo IP identifica il computer di origine, il numero di porta invece identifica il processo di origine.
ESERCIZIARIO Risposte ai quesiti: 2.1 Non sono necessarie modifiche. Il nuovo protocollo utilizzerà i servizi forniti da uno dei protocolli di livello trasporto. 2.2 Il server deve essere sempre in esecuzione
Installazione & Configurazione Php e MySQL su Mac Os X. Php
Installazione & Configurazione Php e MySQL su Mac Os X Php PHP è un linguaggio di scripting interpretato, con licenza Open Source, originariamente concepito per la realizzazione di pagine web dinamiche.
Architettura del. Sintesi dei livelli di rete. Livelli di trasporto e inferiori (Livelli 1-4)
Architettura del WWW World Wide Web Sintesi dei livelli di rete Livelli di trasporto e inferiori (Livelli 1-4) - Connessione fisica - Trasmissione dei pacchetti ( IP ) - Affidabilità della comunicazione
Installazione di Moodle. Preparato per: Gruppo A, Piattaforma di E - Learning Preparato da: Cinzia Compagnone, Vittorio Saettone
Installazione di Moodle Preparato per: Gruppo A, Piattaforma di E - Learning Preparato da: Cinzia Compagnone, Vittorio Saettone 21 maggio 2006 Installazione di Moodle Come installare Moodle: Questa guida
XAMPP (a cura di Michele Acierno a.a. 2012/2013)
XAMPP (a cura di Michele Acierno a.a. 2012/2013) Sommario 1. Introduzione 2.Installazione Xampp 3.Avviare Xampp 4.Configurazione Xampp 4.1 DocumentRoot e standard Directory 4.2 Forbidden Access e accesso
Modulo 4 Il pannello amministrativo dell'hosting e il database per Wordpress
Copyright Andrea Giavara wppratico.com Modulo 4 Il pannello amministrativo dell'hosting e il database per Wordpress 1. Il pannello amministrativo 2. I dati importanti 3. Creare il database - Cpanel - Plesk
1.0 GUIDA PER L UTENTE
1.0 GUIDA PER L UTENTE COMINCIA FACILE Una volta effettuato il login vi troverete nella pagina Amministrazione in cui potrete creare e modificare le vostre liste. Una lista è semplicemnte un contenitore
INSTALLAZIONE JOOMLA
INSTALLAZIONE JOOMLA Moltissime volta mi capita (e penso capiti anche a voi) di dover prima di pubblicare un sito farlo vedere al cliente per l ok finale, o magari doverlo fare vedere, ma non avere ancora
19. LA PROGRAMMAZIONE LATO SERVER
19. LA PROGRAMMAZIONE LATO SERVER Introduciamo uno pseudocodice lato server che chiameremo Pserv che utilizzeremo come al solito per introdurre le problematiche da affrontare, indipendentemente dagli specifici
Manuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise
Manuale Amministratore Legalmail Enterprise Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise Pagina 2 di 16 Manuale Amministratore Legalmail Enterprise Introduzione a Legalmail Enterprise...3
Guida all installazione e configurazione di Joomla 1.5
Guida realizzata e rilasciata dallo staff di Joomlaservice.org Joomla 1.5 lascia finalmente la fase beta per la RC1, in attesa di approdare alla versione stabile. Le differenze tra un installazione di
CONFIGURAZIONE XAMPP + SSL (HTTPS)
CONFIGURAZIONE XAMPP + SSL (HTTPS) a cura di Anna Marchese Questa guida consente di configurare Xampp per Windows 7, con il protocollo https (ovvero connessione sicura o protetta). Io ho installato Xampp
File, Modifica, Visualizza, Strumenti, Messaggio
Guida installare account in Outlook Express Introduzione Questa guida riguarda di sicuro uno dei programmi maggiormente usati oggi: il client di posta elettronica. Tutti, ormai, siamo abituati a ricevere
ATOLLO BACKUP GUIDA INSTALLAZIONE E CONFIGURAZIONE
ATOLLO BACKUP GUIDA INSTALLAZIONE E CONFIGURAZIONE PREMESSA La presente guida è da considerarsi come aiuto per l utente per l installazione e configurazione di Atollo Backup. La guida non vuole approfondire
FtpZone Guida all uso Versione 2.1
FtpZone Guida all uso Versione 2.1 La presente guida ha l obiettivo di spiegare le modalità di utilizzo del servizio FtpZone fornito da E-Mind Srl. All attivazione del servizio E-Mind fornirà solamente
INSTALLAZIONE DI JOOMLA! Guida alla installazione di Joomla!
Guida di Virtuemart INSTALLAZIONE DI JOOMLA! Guida alla installazione di Joomla! INDICE INDICE... 1 INTRODUZIONE... 2 DONWLOAD... 2 INSTALLAZIONE... 2 REQUISITI MINIMI... 3 PASSAGGIO 1... 4 PASSAGGIO 2...
GateManager. 1 Indice. [email protected]
1 Indice 1 Indice... 1 2 Introduzione... 2 3 Cosa vi serve per cominciare... 2 4 La Console di amministrazione... 2 5 Avviare la Console di amministrazione... 3 6 Come connettersi alla Console... 3 7 Creare
Servizi Remoti. Servizi Remoti. TeamPortal Servizi Remoti
20120300 INDICE 1. Introduzione... 3 2. Consultazione... 4 2.1 Consultazione Server Fidati... 4 2.2 Consultazione Servizi Client... 5 2.3 Consultazione Stato richieste... 5 3. Amministrazione... 6 3.1
GRUPPO CAMBIELLI. Posta elettronica (Webmail) Consigli di utilizzo
GRUPPO CAMBIELLI Posta elettronica (Webmail) Consigli di utilizzo Questo sintetico manuale ha lo scopo di chiarire alcuni aspetti basilari per l uso della posta elettronica del gruppo Cambielli. Introduzione
MyFRITZ!, Dynamic DNS e Accesso Remoto
MyFRITZ!, Dynamic DNS e Accesso Remoto 1 Introduzione In questa mini-guida illustreremo come accedere da Internet al vostro FRITZ!Box in ufficio o a casa, quando siete in mobilità o vi trovate in luogo
Che cos'è un modulo? pulsanti di opzione caselle di controllo caselle di riepilogo
Creazione di moduli Creazione di moduli Che cos'è un modulo? Un elenco di domande accompagnato da aree in cui è possibile scrivere le risposte, selezionare opzioni. Il modulo di un sito Web viene utilizzato
Consiglio regionale della Toscana. Regole per il corretto funzionamento della posta elettronica
Consiglio regionale della Toscana Regole per il corretto funzionamento della posta elettronica A cura dell Ufficio Informatica Maggio 2006 Indice 1. Regole di utilizzo della posta elettronica... 3 2. Controllo
Guida alla registrazione on-line di un DataLogger
NovaProject s.r.l. Guida alla registrazione on-line di un DataLogger Revisione 3.0 3/08/2010 Partita IVA / Codice Fiscale: 03034090542 pag. 1 di 17 Contenuti Il presente documento è una guida all accesso
Il calendario di Windows Vista
Il calendario di Windows Vista Una delle novità introdotte in Windows Vista è il Calendario di Windows, un programma utilissimo per la gestione degli appuntamenti, delle ricorrenze e delle attività lavorative
Guida Migrazione Posta Elettronica @uilpa.it. Operazioni da effettuare entro il 15 gennaio 2012
Guida Migrazione Posta Elettronica @uilpa.it Operazioni da effettuare entro il 15 gennaio 2012 CONTENUTI PREMESSA ACCESSO AL PROPRIO ACCOUNT SCHERMATA INIZIALE (Desktop) SALVATAGGIO CONTATTI (2) GESTIONE
1) GESTIONE DELLE POSTAZIONI REMOTE
IMPORTAZIONE ESPORTAZIONE DATI VIA FTP Per FTP ( FILE TRANSFER PROTOCOL) si intende il protocollo di internet che permette di trasferire documenti di qualsiasi tipo tra siti differenti. Per l utilizzo
Siti web centrati sui dati (Data-centric web applications)
Siti web centrati sui dati (Data-centric web applications) 1 A L B E R T O B E L U S S I A N N O A C C A D E M I C O 2 0 1 2 / 2 0 1 3 WEB La tecnologia del World Wide Web (WWW) costituisce attualmente
Guida alla configurazione della posta elettronica dell Ateneo di Ferrara sui più comuni programmi di posta
Guida alla configurazione della posta elettronica dell Ateneo di Ferrara sui più comuni programmi di posta. Configurazione Account di posta dell Università di Ferrara con il Eudora email Eudora email può
Corso basi di dati Installazione e gestione di PWS
Corso basi di dati Installazione e gestione di PWS Gianluca Di Tomassi Email: [email protected] Università di Roma Tre Cosa è PWS? Il Personal Web Server altro non è che una versione ridotta del
FtpZone Guida all uso
FtpZone Guida all uso La presente guida ha l obiettivo di spiegare le modalità di utilizzo del servizio FtpZone fornito da E-Mind Srl. All attivazione del servizio E-Mind fornirà solamente un login e password
1. Il Client Skype for Business
1. Il Client Skype for Business 2. Configurare una Periferica Audio 3. Personalizzare una Periferica Audio 4. Gestire gli Stati di Presenza 5. Tabella Stati di Presenza 6. Iniziare una Chiamata 7. Iniziare
Laboratorio di Progettazione Web
Il Server web Laboratorio di Progettazione Web AA 2009/2010 Chiara Renso ISTI- CNR - [email protected] E un programma sempre attivo che ascolta su una porta le richieste HTTP. All arrivo di una richiesta
Dopo aver installato WSFTP.le, alla prima schermata quando lo apriamo vedremo questo.
Dopo aver installato WSFTP.le, alla prima schermata quando lo apriamo vedremo questo. clicchiamo su Continue nella finestra successiva, spuntiamo la voce Other e clicchiamo su Next Nella terza schermata
Protocolli applicativi: FTP
Protocolli applicativi: FTP FTP: File Transfer Protocol. Implementa un meccanismo per il trasferimento di file tra due host. Prevede l accesso interattivo al file system remoto; Prevede un autenticazione
MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE
1/6 MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE Per prima cosa si ringrazia per aver scelto ImmobiPhone e per aver dato fiducia al suo autore. Il presente documento istruisce l'utilizzatore sull'uso del programma
Apache Webserver. Piccola introduzione all'installazione ed alla configurazione, a cura di: Alessandro Gervaso
Apache Webserver Piccola introduzione all'installazione ed alla configurazione, a cura di: Alessandro Gervaso Cos'è Apache? Dal sito http://httpd.apache.org: The Apache HTTP Server Project is an effort
Applicazioni web centrati sui dati (Data-centric web applications)
Applicazioni web centrati sui dati (Data-centric web applications) 1 ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 WEB La tecnologia del World Wide Web (WWW) costituisce attualmente lo strumento di riferimento
Creazione Account PEC puntozeri su Outlook Express
Creazione Account PEC puntozeri su Outlook Express In questa guida viene spiegato come creare un account di posta elettronica certificata per gli utenti che hanno acquistato il servizio offerto da puntozeri.it
Configurazione di Outlook Express
OUTLOOK Outlook Express è il client di posta elettronica sviluppato da Microsoft, preinstallato su sistemi operativi Windows a partire da Windows 98 fino all'uscita di Windows XP. Con l'arrivo di Windows
MANUALE UTENTE Fiscali Free
MANUALE UTENTE Fiscali Free Le informazioni contenute in questa pubblicazione sono soggette a modifiche da parte della ComputerNetRimini. Il software descritto in questa pubblicazione viene rilasciato
Nuovo server E-Shop: Guida alla installazione di Microsoft SQL Server
Nuovo server E-Shop: Guida alla installazione di Microsoft SQL Server La prima cosa da fare è installare SQL sul pc: se si vuole utilizzare SQL Server 2012 SP1 versione Express (gratuita), il link attuale
Console di Amministrazione Centralizzata Guida Rapida
Console di Amministrazione Centralizzata Contenuti 1. Panoramica... 2 Licensing... 2 Panoramica... 2 2. Configurazione... 3 3. Utilizzo... 4 Gestione dei computer... 4 Visualizzazione dei computer... 4
ImporterONE Export Plugin Magento
ImporterONE Export Plugin Magento Indice generale 1 INTRODUZIONE...2 2 INSTALLAZIONE DEL PLUGIN...2 3 CONFIGURAZIONE...4 4 OPERAZIONI PRELIMINARI...11 1-10 1 INTRODUZIONE Questo plugin di esportazione
Argomenti Percorso 7 Apache HTTP
Apache httpd Directory importanti File di configurazione Permessi d accesso Virtual Host Moduli ed estensioni SSL e https PHP Argomenti Percorso 7 Apache HTTP 2 httpd.apache.org Percorso 7 Apache HTTP
Il web server Apache Lezione n. 3. Introduzione
Procurarsi ed installare il web server Apache Introduzione In questa lezione cominciamo a fare un po di pratica facendo una serie di operazioni preliminari, necessarie per iniziare a lavorare. In particolar
GUIDA UTENTE PRIMA NOTA SEMPLICE
GUIDA UTENTE PRIMA NOTA SEMPLICE (Vers. 2.0.0) Installazione... 2 Prima esecuzione... 5 Login... 6 Funzionalità... 7 Prima Nota... 8 Registrazione nuovo movimento... 10 Associazione di file all operazione...
GESGOLF SMS ONLINE. Manuale per l utente
GESGOLF SMS ONLINE Manuale per l utente Procedura di registrazione 1 Accesso al servizio 3 Personalizzazione della propria base dati 4 Gestione dei contatti 6 Ricerca dei contatti 6 Modifica di un nominativo
SOMMARIO... 3 INTRODUZIONE...
Sommario SOMMARIO... 3 INTRODUZIONE... 4 INTRODUZIONE ALLE FUNZIONALITÀ DEL PROGRAMMA INTRAWEB... 4 STRUTTURA DEL MANUALE... 4 INSTALLAZIONE INRAWEB VER. 11.0.0.0... 5 1 GESTIONE INTRAWEB VER 11.0.0.0...
Manuale servizio Webmail. Introduzione alle Webmail...2 Webmail classica (SquirrelMail)...3 Webmail nuova (RoundCube)...8
Manuale servizio Webmail Introduzione alle Webmail...2 Webmail classica (SquirrelMail)...3 Webmail nuova (RoundCube)...8 Introduzione alle Webmail Una Webmail è un sistema molto comodo per consultare la
HORIZON SQL MENU' FILE
1-1/9 HORIZON SQL MENU' FILE 1 MENU' FILE... 1-2 Considerazioni generali... 1-2 Funzioni sui file... 1-2 Apri... 1-3 Nuovo... 1-3 Chiudi... 1-4 Password sul file... 1-5 Impostazioni... 1-5 Configurazione
Mon Ami 3000 MACommerce La soluzione per il commercio elettronico totalmente integrata con Mon Ami 3000
Mon Ami 000 MACommerce La soluzione per il commercio elettronico totalmente integrata con Mon Ami 000 Prerequisiti La soluzione MACommerce si integra totalmente con le versioni Azienda Light e Azienda
11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0
11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0 PAG. 2 DI 38 INDICE 1. PREMESSA 3 2. SCARICO DEL SOFTWARE 4 2.1 AMBIENTE WINDOWS 5 2.2 AMBIENTE MACINTOSH 6 2.3 AMBIENTE
Registratori di Cassa
modulo Registratori di Cassa Interfacciamento con Registratore di Cassa RCH Nucleo@light GDO BREVE GUIDA ( su logiche di funzionamento e modalità d uso ) www.impresa24.ilsole24ore.com 1 Sommario Introduzione...
La VPN con il FRITZ!Box Parte I. La VPN con il FRITZ!Box Parte I
La VPN con il FRITZ!Box Parte I 1 Introduzione In questa mini-guida illustreremo come realizzare un collegamento tramite VPN(Virtual Private Network) tra due FRITZ!Box, in modo da mettere in comunicazioni
Il Protocollo HTTP e la programmazione di estensioni Web
Il Protocollo HTTP e la programmazione di estensioni Web 1 Il protocollo HTTP È il protocollo standard inizialmente ramite il quale i server Web rispondono alle richieste dei client (prevalentemente browser);
Joomla: Come installarlo e come usarlo. A cura di
Joomla: Come installarlo e come usarlo. A cura di In questa dispensa andremo a vedere come si installa joomla sul noto software xampp e come viene usato per creare siti web dinamici. Tecnol earn Firmato
Procedura di abilitazione alla Rete di Lombardia Integrata
VPN Client Versione 5.0.07 - Release 2 Procedura di abilitazione alla Rete di Lombardia Integrata La presente procedura descrive la fase di installazione dell applicazione VPN Client versione 5.0.07 utilizzata
Reti di Calcolatori. Il Livello delle Applicazioni
Reti di Calcolatori Il Livello delle Applicazioni Il DNS Gli indirizzi IP sono in formato numerico: sono difficili da ricordare; Ricordare delle stringhe di testo è sicuramente molto più semplice; Il Domain
CERTIFICATI DIGITALI. Manuale Utente
CERTIFICATI DIGITALI Procedure di installazione, rimozione, archiviazione Manuale Utente versione 1.0 pag. 1 pag. 2 di30 Sommario CERTIFICATI DIGITALI...1 Manuale Utente...1 Sommario...2 Introduzione...3
Questa guida è realizzata per spiegarvi e semplificarvi l utilizzo del nostro nuovo sito E Commerce dedicato ad Alternatori e Motorini di avviamento.
Guida all uso del sito E Commerce Axial Questa guida è realizzata per spiegarvi e semplificarvi l utilizzo del nostro nuovo sito E Commerce dedicato ad Alternatori e Motorini di avviamento. Innanzitutto,
La VPN con il FRITZ!Box Parte II. La VPN con il FRITZ!Box Parte II
La VPN con il FRITZ!Box Parte II 1 Introduzione In questa mini-guida mostreremo com è possibile creare un collegamento su Internet tramite VPN(Virtual Private Network) tra il FRITZ!Box di casa o dell ufficio
Reti di Telecomunicazioni Mobile IP Mobile IP Internet Internet Protocol header IPv4 router host indirizzi IP, DNS URL indirizzo di rete
IP Analizziamo con sufficiente dettaglio il sistema denominato IP, usato per consentire a due computer mobili di spostarsi liberamente in altre reti pur mantenendo lo stesso indirizzo IP. In particolare,
MANUALE UTENTE. Computer Palmare WORKABOUT PRO
MANUALE UTENTE Computer Palmare WORKABOUT PRO INDICE PROCEDURA DI INSTALLAZIONE:...3 GUIDA ALL UTILIZZO:...12 PROCEDURA DI AGGIORNAMENTO:...21 2 PROCEDURA DI INSTALLAZIONE: Per il corretto funzionamento
SPRING SQ COMUNICAZIONE OPERAZIONI IVA NON INFERIORI A 3000 EURO PER L ANNO 2011
Versione aggiornata il 02 Aprile 2012 SPRING SQ COMUNICAZIONE OPERAZIONI IVA NON INFERIORI A 3000 EURO PER L ANNO 2011 PREREQUISITI *** ACCERTARSI CON L ASSISTENZA DI AVERE INSTALLATO LE ULTIME IMPLEMENTAZIONE/CORREZIONI
L amministratore di dominio
L amministratore di dominio Netbuilder consente ai suoi clienti di gestire autonomamente le caselle del proprio dominio nel rispetto dei vincoli contrattuali. Ciò è reso possibile dall esistenza di un
GENERAZIONE ARCHIVIO F24 AGENZIA ENTRATE
GENERAZIONE ARCHIVIO F24 AGENZIA ENTRATE Il riferimento al manuale è il menù Redditi, capitolo Stampe, paragrafo Versamenti F24, sottoparagrafo Generazione Archivio F24 Agenzia Entrate. Questa funzione
Script di prevenzione invii massivi
Script di prevenzione invii massivi Vi siete mai trovati a dover fronteggiare una violazione con invio massivo di SPAM da uno dei vostri account locali? L'individuazione dell'account bucato e la successiva
IBM SPSS Statistics per Linux - Istruzioni di installazione (Licenza per sito)
IBM SPSS Statistics per Linux - Istruzioni di installazione (Licenza per sito) Le seguenti istruzioni sono relative all installazione di IBM SPSS Statistics versione 21 con licenza per sito. Questo documento
GUIDA ALLA REGISTRAZIONE DI UN DVR SU www.dyndns.com
GUIDA ALLA REGISTRAZIONE DI UN DVR SU www.dyndns.com Questa breve guida riporta i passi da seguire per registrazione del proprio DVR o telecamera IP su uno dei siti che forniscono il servizio di DNS dinamico
COMUNICAZIONE UTENTI SISTEMI-PROFIS INSTALLAZIONE GE.RI.CO. 2015 e PARAMETRI2015
COMUNICAZIONE UTENTI SISTEMI-PROFIS INSTALLAZIONE GE.RI.CO. 2015 e PARAMETRI2015 Vicenza, 3 giugno 2015 Gentile cliente, si ricorda che a partire dall aggiornamento PROFIS 2011.1 è stato automatizzato
LA GESTIONE DELLE VISITE CLIENTI VIA WEB
LA GESTIONE DELLE VISITE CLIENTI VIA WEB L applicazione realizzata ha lo scopo di consentire agli agenti l inserimento via web dei dati relativi alle visite effettuate alla clientela. I requisiti informatici
LA CONDIVISIONE ONLINE DEGLI ARCHIVI CONTABILI TRAMITE DROPBOX
LA CONDIVISIONE ONLINE DEGLI ARCHIVI CONTABILI TRAMITE DROPBOX 1) PREMESSA Gli studi commerciali e le aziende dislocate in più sedi operative potrebbero avere la necessità di condividere gli stessi archivi
Manuale Utente Albo Pretorio GA
Manuale Utente Albo Pretorio GA IDENTIFICATIVO DOCUMENTO MU_ALBOPRETORIO-GA_1.4 Versione 1.4 Data edizione 04.04.2013 1 TABELLA DELLE VERSIONI Versione Data Paragrafo Descrizione delle modifiche apportate
Configurazione account di posta elettronica certificata per Microsoft Outlook Express
Comprapec.it vi guida nella creazione e configurazione del Vostro account di tipo [email protected] Client di posta: Microsoft Outlook Express Quando il vostro fornitore avrà attivato la casella
REVISIONI. 1.0 07 ottobre 2010 RTI Prima stesura
Data: 07 ottobre 2010 Redatto da: RTI REVISIONI Rev. Data Redatto da Descrizione/Commenti 1.0 07 ottobre 2010 RTI Prima stesura Si precisa che la seguente procedura necessita, nel computer con il quale
Acronis License Server. Manuale utente
Acronis License Server Manuale utente INDICE 1. INTRODUZIONE... 3 1.1 Panoramica... 3 1.2 Politica della licenza... 3 2. SISTEMI OPERATIVI SUPPORTATI... 4 3. INSTALLAZIONE DI ACRONIS LICENSE SERVER...
NOTE OPERATIVE. Prodotto Inaz Download Manager. Release 1.3.0
Prodotto Inaz Download Manager Release 1.3.0 Tipo release COMPLETA RIEPILOGO ARGOMENTI 1. Introduzione... 2 2. Architettura... 3 3. Configurazione... 4 3.1 Parametri di connessione a Internet... 4 3.2
RICEZIONE AUTOMATICA DEI CERTIFICATI DI MALATTIA 1.1. MALATTIE GESTIONE IMPORT AUTOMATICO 1.2. ATTIVAZIONE DELLA RICEZIONE DEL FILE CON L INPS
RICEZIONE AUTOMATICA DEI CERTIFICATI DI MALATTIA 1.1. MALATTIE GESTIONE IMPORT AUTOMATICO Abbiamo predisposto il programma di studio Web per la ricezione automatica dei certificati di malattia direttamente
1. Manuale d uso per l utilizzo della WebMail PEC e del client di posta tradizionale
1. Manuale d uso per l utilizzo della WebMail PEC e del client di posta tradizionale Per poter accedere alla propria casella mail di Posta Elettronica Certificata è possibile utilizzare, oltre all'interfaccia
MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena [email protected]
MODELLO CLIENT/SERVER Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena [email protected] POSSIBILI STRUTTURE DEL SISTEMA INFORMATIVO La struttura di un sistema informativo
CONTENT MANAGEMENT SY STEM
CONTENT MANAGEMENT SY STEM I NDI CE I NTRODUZI ONE Accesso al CMS 1) CONTENUTI 1.1 I nserimento, modifica e cancellazione dei contenuti 1.2 Sezioni, categorie e sottocategorie 2) UTENTI 3) UP LOAD FILES
PORTALE CLIENTI Manuale utente
PORTALE CLIENTI Manuale utente Sommario 1. Accesso al portale 2. Home Page e login 3. Area riservata 4. Pagina dettaglio procedura 5. Pagina dettaglio programma 6. Installazione dei programmi Sistema operativo
MOCA. Modulo Candidatura. http://www.federscacchi.it/moca. [email protected]. [Manuale versione 1.0 marzo 2013]
MOCA Modulo Candidatura http://www.federscacchi.it/moca [email protected] [Manuale versione 1.0 marzo 2013] 1/12 MOCA in breve MOCA è una funzionalità del sito web della FSI che permette di inserire
Visual basic base Lezione 01. L'ambiente di sviluppo
L'ambiente di sviluppo L'ambiente di sviluppo Visual basic è un linguaggio di programmazione Microsoft. In questo corso prenderemo in considerazione, l'ultima versione. net di questo linguaggio. Microsoft
Con accesso remoto s'intende la possibilità di accedere ad uno o più Personal Computer con un modem ed una linea telefonica.
Tecnologie informatiche ACCESSO REMOTO CON WINDOWS Con accesso remoto s'intende la possibilità di accedere ad uno o più Personal Computer con un modem ed una linea telefonica. Un esempio di tale servizio
Riferimento rapido per l'installazione SUSE Linux Enterprise Server 11
Riferimento rapido per l'installazione SUSE Linux Enterprise Server 11 NOVELL SCHEDA INTRODUTTIVA Seguire le procedure riportate di seguito per installare una nuova versione di SUSE Linux Enterprise 11.
manuale utente per Viabizzuno online
manuale utente per Viabizzuno online nuova piattaforma di e-business Viabizzuno il primo approccio con il nuovo sistema è la pagina di autenticazione. già qui appare la prima novità, ovvero il recupero
Accesso al Web Client Zimbra
Zimbra è il nuovo programma di posta elettronica dell Unione Terred Acqua Accesso al Web Client Zimbra https://webmail.terredacqua.net il nome utente deve essere scritto per esteso, compreso il dominio
CONFIGURAZIONE WAMP SERVER + SSL (HTTPS)
CONFIGURAZIONE WAMP SERVER + SSL (HTTPS) Questa guida consente di configurare Wampserver per Windows XP, con il protocollo https (ovvero connessione sicura o protetta). Effettuare una copia di backup dei
1.1 Installare un nuovo Client di Concept ed eseguire il primo avvio
1.1 Installare un nuovo Client di Concept ed eseguire il primo avvio Per installare Concept su un nuovo Client è sufficiente collegarsi con Esplora Risorse al server di Concept (il tecnico che esegue l
Laplink FileMover Guida introduttiva
Laplink FileMover Guida introduttiva MN-FileMover-QSG-IT-01 (REV.01/07) Recapiti di Laplink Software, Inc. Per sottoporre domande o problemi di carattere tecnico, visitare il sito: www.laplink.com/it/support/individual.asp
