Cachemgr.cgi – Visualizzazione log e statistiche Squid 2.6

Febbraio 20, 2007 by Anìs Estrellado

Avventurarsi nella lettura dei log di squid sebbene utile può risultare un po’ ostico .

In aiuto può venirci un utility cgi per visualizzare le informazioni del nostro server proxy.

Ovviamente stretta integrazione con il nostro Apache2 ;) .

Vediamo come configurare apache per potere accedere a cachemgr.cgi

Il cachemgr.cgi risiede sotto :

/usr/lib/cgi-bin/

Per fare in modo di visualizzare la cartella all ‘interno di un sito web dobbiamo agire su due file :

  1. Apache2.conf : /etc/apache2/apache2.conf
  2. default : /etc/apache2/sites-available

1.Modifichiamo il file apache2.conf inseguendo la seguente direttiva :

<Location /usr/lib/cgi-bin/>

order allow,deny
allow from computerchevolete
deny from computerchevolete</Location>

2. Controllare la seguente direttiva se presente :

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory “/usr/lib/cgi-bin”>
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>

Un bel restart del server web , testare la connettivà al seguente indirizzo :

Dove ovviamente 127.0.0.1 è il vostro server web.
A questo punto potrete accedere a moltissimi parametri di squid tra cui l’utilizzo delle risorse e della memoria , il numero delle richieste effettuate al server …

Screenshot :

Schermata di logon

Elenco comandi disponibili

General Runtime Information

Traffic and Resource Counters

IP Cache Stats and Contents

Insomma , c’è da sbizzarrirsi , consigliatissimo !

Acl Squid 2.6

Febbraio 20, 2007 by Anìs Estrellado

In questo post vedremo come configurare delle semplici acl su squid basate sul mac address e dei filtri in base ai siti :

  • Impedire ad un determinato Mac Address di navigare

acl MAC1 arp INSERIREMACADDRESS
acl all src DICHIARAZIONEALTRESUBNET
http_access deny MAC1
http_access allow all

  • Impedire ogni connessione a www.corriere.it ,niente di personale ovviamente:)

acl NO dstdomain www.corriere.it
acl all src ALTRIIP
http_access deny NO
http_access allow all

  • Impedire la vista di pagine contenenti la parola mp3

acl mp3word url_regex mp3
http_access deny mp3word
acl all src 0/0
http_access allow all

L’errore generato sarà questo :

ERROR
The requested URL could not be retrieved

While trying to retrieve the URL: http://www.mp3.com/

The following error was encountered:

* Access Denied.

Access control configuration prevents your request from being allowed at this time. Please contact your service provider if you feel this is incorrect.

Your cache administrator is webmaster.
Generated Tue, 20 Feb 2007 19:01:26 GMT by nomeserver (squid/2.6.STABLE1)

  • Fare in modo che si veda solo un determinato sito (www.sito.it) e il resto niente

acl all src 0/0
acl 1 src 127.0.0.1
acl 2 dstdomain www.sito.it
acl 3 method GET
http_access allow 1 2
http_access deny 3

  • Concedere solo ad un determinato host di vedere un sito

acl NO dstdomain www.corriere.it
acl SI src INDIRIZZOIP
acl all src 0/0
http_access allow SI NO
http_access deny NO
http_access allow all

qualora avessi voluto fare in modo che l’host non vedeva la pagina :

acl NO dstdomain www.corriere.it
acl SI src 127.0.0.1
acl all src 0/0
http_access deny SI NO
http_access allow all

  • Impedire che tutti i siti contenuti all’interno di un file vengano visti

acl sitino url_regex -i “/etc/squid/sitino”
acl all src 0/0
http_access deny sitino all
http_access allow all

In pratica per dichiarare le regole dobbiamo seguire questo schema :

dichiarazione dell’acl ,dichiarazione all , deny acl , allow all

Fonti di ispirazione ( e di maledizione tanto quanto sembrano semplici :D ) :

http://wiki.squid-cache.org/SquidFaq/CompleteFaq
http://merlino.merlinobbs.net/Squid-Book/HTM/#CHA-CONTROLLI-DI-ACCESSO

Cambio splash screen

Febbraio 16, 2007 by Anìs Estrellado

Una delle cose che più mi ha colpito e apprezzo in ubuntu è la facilità di modificare il look & feel , l’aspetto grafico della distribuzione, vediamo come modificare lo splash screen , ovvero la schermata che ci si presenta dopo avere inserito nome utente e password :

 

Per farlo abbiamo tre metodi :

 

  1. Utilizzo gconf
  2. Installazione gtweakui
  3. Installazione gnome-splashscreen-manager

Tutti e tre i metodi sono ottimi :

 

1. Utilizzo di gconf , per avviare gconf selezionate:

 

Applicazioni -> Strumenti di sistema ->Editor della configurazione

Andate alla ricerca della cartella :

 

Apps -> Gnome session -> Options

Cliccare due volte sulla chiave splash_image e inserire il nuovo valore, ovvero dove avete la vostra immagine splash

 

Screenshot ->

2. Utilizzo gtweakui , gtweakui è un pacchetto che permette di modificare diversi aspetti grafici di gnome , per ogni informazione vi rimando al sito internet ->

 

Per installare gtweakui , aprire il terminale e scrivere :

 

sudo apt-get install gtweakui

Dopo l’installazione recarsi su Sistema -> Preferenze -> GTweakUI – Session , in alternativa è possibile lanciare il comando da shell gtweakui-session

 

Si aprirà una schermata da cui potete selezionare l’immagine desiderata

 

Screenshot ->

3. Installazione gnome-splashscreen-manager , aprite il terminale e digitate :

 

sudo apt-get install gnome-splashscreen-manager

per lanciare il programma da terminale digitare gnome-splashscreen-manager , la differenza di questo programma rispetto agli altri è che ti da la possibilità di visualizzare tutti gli splashscreen presenti sul tuo pc , è più un gestore di splashscreen . Tra i tre è quello che preferisco anche se è un po’ pesante ( 10 mb circa ) .

 

Screenshot ->

I siti migliori da dove reperire gli splash screen :

 

  • http://www.gnome-look.org/
  • http://art.gnome.org/


Ports.conf e utilizzo porte diverse dalla 80

Febbraio 14, 2007 by Anìs Estrellado

 

Per cambiare la porta con cui ci connettiamo ad apache dobbiamo editare il file ports.conf , in questo file sono elencate le porte utilizzate da apache :

sudo nano /etc/apache2/ports.conf

 

Il valore predefinito è :

 

Listen 80

Questo vuol dire che il server risponderà sulla porta 80

 

Per cambiare il numero di porta a cui il nostro web server risponde apriamo il file ports.conf ( sudo nano /etc/apache2/ports.conf) e modifichiamo il valore in :

 

Listen 127.0.0.1:82

Ovviamente a 127.0.0.1 potete sostituire il vostro ip e a 82 la porta che voi desiderate.

 

Dopo aver fatto questo aprire il file 000-default sotto/etc/apache2/sites-available , selezionare il valore <VirtualHost *:porta attualmente in uso> e modificarlo in <VirtualHost *:82> ,riavviare il servizio apache , provare a connettersi all’indirizzo http://127.0.0.1:82/

 

Nulla ci vieta di avere più siti e porte abilitate nel file ports.conf , ad esempio :

 

Listen 127.0.0.1:82
Listen altroindirizzoip:81

Qualora volessimo limitare l’utilizzo del server in locale e fare in modo che non sia visibile dall’esterno , cambiare il valore di listen in :

 

Listen 127.0.0.1:80

In questa maniera il server non sarà raggiungibile dall’esterno

Installazione Apache2 – Ubuntu

Febbraio 14, 2007 by Anìs Estrellado

Prima di tutto dobbiamo decidere se installare apache 2 tramite Synaptic (gestore installazione pacchetti grafico ) o tramite il terminale e comando apt-get .

 

Qualora volessimo installare il tutto da Synaptic :

 

Sistema-> Amministrazione-> Gestore pacchetti Synaptic-> Cerca-> apache2

 

Qua selezioniamo i pacchetti di apache2 desiderati ,io consiglio i seguenti :

 

  1. apache2-common
  2. apache2-mpm-prefork
  3. apache2-doc
  4. apache2-utils

Premere applica. et voilà

 

Per quello che riguarda linstallazione da riga di comando :

(per chi si trovasse più comodo con aptitude è possibile ovviamente utilizzarlo)

aprire il terminale e scrivere

 

  1. sudo apt-get update
  2. sudo apt-get install apache2-common apache2-mpm-prefork apache2-doc apache2-utils

Ecco fatto , a questo punto apache2 è bello che installato e pronto ad essere usato .

 

Ricordatevi che il servizio apache è abilitato alla partenza , se volete toglierlo in automatico vi consiglio di installare boot-up manager e commentarlo .

 

Ps: qualora dovesse comparire un messaggio di errore relativo al nome fqdn del server , aprite il file apache.conf ( sudo nano /etc/apache2/apache2.conf ) e inserite la seguente riga : ServerName localhost

 

A questo punto come dopo ogni modifica al file apache2.conf , riavviate il servizio da terminale con : sudo /etc/init.d/apache2 restart , la shell vi risponderà così

 

* Forcing reload of apache 2.0 web server… [ ok ]

 

Aprite il vostro browser predefinito/preferito e provate a connettervi a http://127.0.0.1

Cambio messaggi di errore Apache2

Febbraio 14, 2007 by Anìs Estrellado

Allora vediamo un po’ , prima di tutto cosa si può fare con il cambio messaggi errori di Apache2 .Premetto che ho avuto la possibilità di provarlo solo sotto Ubuntu 6.10 .

 

Supponiamo di volere raggiungere la pagina www.nomesito/nomepaginanonesistente , il sito ci risponderà con il classico errore404.

 

La risposta di errore si può modificare in tre modi :

 

  1. Redirect verso un altro sito

  2. Messaggio personalizzato

  3. Modifica della pagina predefinita

Vediamo come si può fare . Prima di tutto bisogna cercare il file apache2.conf (da terminale sudo nano /etc/apache2/apache.conf o in alternativa se si preferisce si può sostituire a nano gedit) e selezionare la riga :

ErrorDocument 404 /HTTP_NOT_FOUND.html.var

 

  • Soluzione 1 ,redirect verso un sito , modificare la linea selezionata ErrorDocument in : ErrorDocument 404 http://www.nomeredirect.com , in questa maniera ogni accesso ad un file non raggiungibile sarà rediretto verso http://www.nomeredirect.com
  • Soluzione 2 , ovvero mostrare semplicemente un messaggio all’interno della pagina in cui si dice ad esempio ” Il servizio temporaneamente non è disponibile”. Per fare questo occore modificare la riga in :

ErrorDocument ” Il servizio temporaneamente non è disponibile”

In questa maniera in ogni pagina internet non raggiungibile sarà mostrato il contenuto del testo presente tra le due ” “.

  • Soluzione 3 , ovvero la più difficile , modificare la pagina preesistente o crearne una nuova. Allora , prima di tutto leggendo i commenti nel file apache2.conf c’è scritto che è possibile creando un alias di una cartella nuova redirigere gli errori verso delle pagine personalizzate che risiedono su un’ altra cartella (che non sia quella di root del sito ), beh purtroppo le ho provate tutte e devo dire che non sono riuscito a farcela.

L’unico modo in cui si può ovviare a questo è :

  1. Modificare la pagina di errore di apache predefinita
  2. Inserire la pagina modificata o crearne una nuova con lo stesso nome all’ interno della directory root del sito ( o del Virtual Host )

Per il punto uno si deve aprire con un editor di testi ( io ho usato Kate in quanto molto comodo per il riconscimento dei tag e dei linguaggi … ) e modificare il file . C’è da tenere conto del linguaggio con cui i client accederanno alla pagina . Se ad esempio il linguaggio che usano i client che si connettono alla pagina è italiano , bisognerà modificare all’interno del file (vostra directory error apache o altrimenti quella predefinita ) /usr/share/apache2/error/HTTP_NOT_FOUND.html.var il testo sotto Content-language: it a proprio piacere . Conviene anche magari modificare la parte relativa a Content-language: en . In questo modo a seconda del language utilizzato dai client in ogni pagina non trovata verrà mostrato il conentuto di quello che avete modificato in : Content-language: nomelingua

In questo caso quindi la vostra riga sarà :

ErrorDocument 404 /error/HTTP_NOT_FOUND.html.var

Per il punto due , l’unica maniera in cui sono riuscito a dire ad Apache di non usare lo standard error message è il redirect verso la cartella dove è situato il sito di default .

Quindi all’interno del sito di defualt posizionare il file HTTP_NOT_FOUND.html.var e modificare la linea ErrorDocument in questa maniera:

ErrorDocument 404 /HTTP_NOT_FOUND.html.var

Il nome del file deve essere uguale a quello standard . Non c’è modo di cambiarlo in uno diverso , sia all’interno della DocumentRoot sia nella cartella di errori di Apache .

Ovviamente tutto questo discorso può essere esteso anche agli altri errori.

Dopo ogni modifica sul file apache.conf riavviare il servizio da terminale :

sudo /etc/init.d/apache2 restart

Come lettura consiglio le pagine ufficiali : 12