Limiti sitemap e sitemap multipli (files divisi)
September 23, 2012 — 18:28

Author: f0ff0 | Category: OT-Vari Web | Tags: , , , , , | Comments: 0

Cos’è?

Il sitemap.xml è quel file che ci permette di specificare le url del sito che desideriamo che vengano indicizzate da google (o yahoo, bing). La presenza o meno di un url specifico nel sitemap.xml non ci fornise la certezza matematica che venga indicizzato, ma di certo facilita il compito dei vari bot che girano ogni tanto sul website di considerare l’esistenza della pagina.

Limiti sitemap

Il file sitemap.xml non ha più di tanti segreti di sintassi e non è particolarmente difficile da gestire/generare o creare. Tuttavia esistono dei limiti massimi da tenere controllati, eccoli:

  • 50.000 urls.
  • 10MBytes di dimensione massima del file sitemap.xml.

Nel caso ci si avvicini pericolosamente ad uno di questi limiti, possiamo pensare di dividere il nostro sitemap in differenti files. A dire il vero però, dividere il sitemap in più files non è certo solo utile per evitare il raggiungimento dei limiti, esistono anche altri casi specifici dove risulta necessario farlo, eccone alcuni:

  • raggiunti i limiti.
  • dividere il sitemap in contenuti statici e dinamici.
  • generazione automatica del sitemap.xml, quindi esigenza di dividere le parti generate automaticamente da quelle aggiunte manualmente.
  • pulizia e gestione ordinata del sitemap.
  • divisione del sitemap basata sulla longevità delle pagine.

Come dividere il file sitemap.xml in più files:

Per dividere il file sitemap.xml in più files è necessario quindi creare un sitemap.xml pensato come contenitore che includa diversi altri files. Nell’esempio riportato in seguito, dichiariamo ben 4 files differenti che includono differenti url, categorizzate per tipologia; ecco la sintassi corretta:

 

<sitemapindex>
    <sitemap>
        <loc>http://www.miosito.it/sitemap_nuovi_prodotti.xml</loc>
    </sitemap>
    <sitemap>
        <loc>http://www.miosito.it/sitemap_pagine_statiche.xml</loc>
    </sitemap>
    <sitemap>
        <loc>http://www.miosito.it/sitemap_prodotti.xml</loc>
  </sitemap>
  <sitemap>
       <loc>http://www.miosito.it/sitemap_categorie.xml</loc>
   </sitemap>
</sitemapindex>

Fatto!

MBR Come copiare o rimuovere il contenuto (linux)
September 20, 2012 — 22:17

Author: f0ff0 | Category: Linux | Tags: , , , , | Comments: 0

L’MBR è la sezione dell’hard disk (512bytes) che contiene il settore d’avvio. Noto come Master Boot Record, contiene le istruzioni utili all’avvio del sistema operativo. È la destinazione di default dove praticamente la totalità delle distribuzioni linux installa il boot loader grub.
Ecco come copiare l’MBR o come ripulirlo con linux.

 

Copiare l’MBR:
Per copiare l’MBR ci serviamo del comando dd, aprire una console linux e digitare:
dd if=/dev/disk1 of=/dev/disk2 bs=512 count=1
Sostituire disk1 con il device di origine, disk2 con il device di destinazione.

Rimuovere il contenuto dell’MBR:
Per rimuvere il contenuto dell’MBR ci serviamo del comando dd, aprire una console linux e digitare:
dd if=/dev/zero of=/dev/disk1 bs=512 count=1
Sostituire disk1 con il device che si desidera “ripulire”.

Comandi principali Asterisk (SIP, IAX, Console)
September 20, 2012 — 20:40

Author: f0ff0 | Category: Asterisk SysAdmin VoIP | Tags: , , , , , , , , | Comments: 0

comandi principali asteriskEcco una veloce e comoda lista di comandi da tener sotto mano quando si inizia a prendere confidenza con la console di Asterisk:

 

 

Asterisk Console:
Per aprire una console asterisk basta lanciare: asterisk -rv
L’opzione v indica il livello di verbosing; vvv livello 3, vv livello 2, ecc…

Lista dei comandi più utili:
(la sintassi può variare in base alla versione di asterisk)

 

* Primario Telefonico (Primary Line), Dahdi:

*CLI> pri show span X            ; dove X è il channel PRI dell'EuroISDN (normalente 1)
*CLI> pri intense debug span X   ; abilita la modalità di debuggin intense
*CLI> dahdi show channels        ; lista dei canali dahdi presenti
*CLI> core show channels         ; lista dei canali attivi (core level)
*CLI> voicemail show users       ; Visualizza informazioni delle caselle dei messaggi vocali attivi, visualizza il numero dei messaggi nuovi (NewMsg)


* Console debugging:

*CLI> core set debug X           ; dove X è un numero, abilita/disabilita il livello di debugging
*CLI> core set verbose X         ; dove X è un numero, abilita/disabilita il livello di verbosing
*CLI> sip set debug peer 699     ; dove XXX è l'estensione, abilita/disabilita il debugging di un peer SIP specifico
*CLI> sip set debug off          ; disabilita tutti i debug SIP attivi

 

* Comandi Protocollo SIP:

*CLI> sip show peers             ; visualizza informazioni di tutti i peer SIP configurati in Asterisk
*CLI> sip show peer XXX          ; dove XXX è un'estensione, visualizza la configurazione corrente di un peer SIP
*CLI> sip show channels          ; visualizza tutti i canali SIP al momento attivi
*CLI> sip show channel XXXXXX    ; dove XXXXXX è il `Call ID`, visualizza tutte le informazioni di un dato canale SIP attivo
*CLI> sip show registry          ; lista dei peer SIP registrati


* Comandi Protocollo IAX:

*CLI> iax2 show peers             ; visualizza informazioni di tutti i peer IAX configurati in Asterisk
*CLI> iax2 show peer XXX          ; dove XXX è un'estensione, visualizza la configurazione corrente di un peer IAX
*CLI> iax2 show channels          ; lista dei peer IAX registrati


* Comandi di Reload:


*CLI> dialplan reload             ; Reload del dialplan
*CLI> iax2 reload                 ; Reload del modulo iax2 (eseguire dopo aver effettuato cambi di configurazione IAX)
*CLI> sip reload                  ; Reload del modulo sip (eseguire dopo aver effettuato cambi di configurazione SIP)
*CLI> module reload               ; Reload di tutti i moduli asterisk

Drivers scheda video SiS 671 portatile Olidata (Debian derivate)
September 20, 2012 — 20:06

Author: f0ff0 | Category: Linux | Tags: , , , , , , , | Comments: 0

Driver Scheda Video SIS - Linux

Recentemente ho installato linux Mint su un vecchio portatile Olidata dotato di CPU Celeron e 1GB di RAM. La versione MINT Debian con MATE 1.4 non ha avuto nessun problema d’installazione, tutto l’hardware è stato rilevato con successo senza installare drivers aggiuntivi.

Unico appunto, l’ottimizzazzione dell’ambiente grafico. Per sostituire i driver VESA con i driver SiS
e quindi gestire al meglio MATE basta semplicemente installare i seguenti drivers SiS reperibili su internet nella versione 32 bit o 64 bit ai seguenti links:

http://ajoliveira.com/ajoliveira/gen/bin/sis_driver_32-bit_12.04.tar.gz
http://networkice.com/ubuntu-64-bit-download

 

Una volta scaricati basta eseguire questi semplici passi:


gzip -dc sis_driver_32-bit_12.04.tar.gz | tar -xf -
sudo cp 32-bit/sis671_drv.so /usr/lib/xorg/modules/drivers
sudo cp 32-bit/sis671_drv.la /usr/lib/xorg/modules/drivers
sudo cp 32-bit/xorg.conf /etc/X11/xorg.conf

 

Ecco invece l’output del comando lspci del portatile Olidata oggetto dell’installazione:
00:00.0 Host bridge: Silicon Integrated Systems [SiS] 671MX
00:01.0 PCI bridge: Silicon Integrated Systems [SiS] AGP Port (virtual PCI-to-PCI bridge)
00:02.0 ISA bridge: Silicon Integrated Systems [SiS] SiS968 [MuTIOL Media IO] (rev 01)
....
01:00.0 VGA compatible controller: Silicon Integrated Systems [SiS] 771/671 PCIE VGA Display Adapter (rev 10)

Configurazione LVM: come creare le partizioni logiche
September 12, 2012 — 18:43

Author: f0ff0 | Category: Linux | Tags: , , , , | Comments: 0

Prima di iniziare con la creazione dei dischi logici con LVM, occorre controllare che il software necessario sia presente nella propria installazione Linux. Se necesario installare lvm2:

aptitude install lvm2

 

LVM: Comandi utili

Il pacchetto installerà alcuni comandi utili per la gestione dei dischi fisici e logici di LVM:

  • pvcreate, pvdisplay, pvscan: comandi per creare e gestire i dischi fisici di tipo LVM (es. sda3,sdb2 …).
  • vgcreate, vgdisplay, vgscan: comandi per creare e gestire i volume groups.
  • lvcreate, lvdisplay, lvscan: comandi per creare e gestire le unità logiche.

 

Creare partizione di tipo LVM:

Come prima cosa dobbiamo creare una prima partizione da inserire nel nostro gruppo di volumi: l’operazioni si può eseguire con un comune software di partizionamento come cfdisk, fdisk.

Unico accorgimento, specificare il tipo di filesystem a cui è destinata la partizione: Linux LVM

Partizionare disco LVM

 

Creazione del Physical Volume:

Prima di tutto si deve creare il physical volume. In soldoni dobbiamo specificare che desideriamo destinare lo spazio della nuova partizione a LVM:
Prendiamo come esempio la partizione sda3.

root@h01:~# pvcreate /dev/sda3
Physical volume "/dev/sda3" successfully created

 

Creazione del Volume Group:
È quindi necessario creare un volume group. Il Volume Group bisogna immaginarlo come un contenitore dove possiamo aggiungere partizioni in qualsiasi momento e far si che accresca lo spazio a disposizione per i vari volumi logici.


root@h01:~# vgcreate vg0 /dev/sda3
Volume group "vg0" successfully created

Vg0 è un nome identificativo arbitrario.

 

Creazione del Logical Volume:
Finalmente ci dedichiamo a creare i volumi logici che altro non sono che partizioni logiche comparabili alle normali partizioni primarie standard.

In questo esempio si procede alla creazione di una partizione logica di dimensioni 8GBytes chiamata “dati”. Il suo contenitore sarà vg0, il volume group creato in precedenza.

root@h01:~# lvcreate -L8G -ndati vg0
Logical volume "dati" created

Una volta creata, la partizione sarà sotto /dev/vg0/dati.

Alternativa Unetbootin: Come creare un disco usb bootable da un’immagine ISO di CentOS
September 12, 2012 — 17:03

Author: f0ff0 | Category: Linux | Tags: , , , , , | Comments: 0

Spesso le magie di Unetbootin durante il riversamento dell’immagine ISO di CentOS su di un disco usb fanno si che “l’EFI esegua un’incorretta mappatura” dei vari device.

Il problema si riscontra solo durante l’installazione di CentOS e più precisamente al momento dell’installazione del bootloader GRUB, dove si verifcano gli errori più disparati e l’installer di CentOS non riesce ad configurare Grub su nessun device specificato.

Per ovviare a questo problema, e quindi installare senza problemi CentOS da un disco USB, basta servirsi dell’utility livecd-tools in alternativa a Unetbootin.

In Fedora/CentOS/RHEL il pacchetto binario è installabile dai repo ufficiali:


Installed Packages
Name : livecd-tools
Arch : x86_64
Epoch : 1
Version : 16.15
Release : 1.fc16
Size : 140 k
Repo : installed
From repo : updates
Summary : Tools for building live CDs
URL : http://git.fedorahosted.org/git/livecd
License : GPLv2
Description : Tools for generating live CDs on Fedora based systems including
: derived distributions such as RHEL, CentOS and others. See
: http://fedoraproject.org/wiki/FedoraLiveCD for more details.

Per installare l’utility basta lanciare quindi il seguente comando:

yum install livecd-tools

Una volta installato, per creare il disco usb bootable partendo dall’ISO di CentOS, basta servirsi del comando livecd-iso-to-disk.


livecd-iso-to-disk --format --reset-mbr CentOS-6.3-x86_64-minimal.iso /dev/sdX

(sostituire sdX con il nome del device USB desiderato (es. /dev/sdb) e CentOS-6.3-x86_64-minimal.iso con il file ISO scaricato.

Apache, Nginx, Lighttpd, ISS: Come identificare l’identità di un webserver
September 10, 2012 — 19:39

Author: f0ff0 | Category: Linux SysAdmin | Tags: , , , , | Comments: 0

Come possiamo verificare su che webserver gira una pagina web?
Ci sono diverse risposte alla domanda in questione, alcune possono sembrare meno ortodosse come ad esempio telnet (telnet www.foo.bar 80), altre molto più utili ed intuitive come cURL.

Il comando cURL è disponibile in tutte le distribuzioni linux e unix-like come anche Mac OSX.

Ecco come verificare l’identità del webserver con cURL:

curl -I http://www.foo.bar

 

L’output del comando sarà simile al seguente:


HTTP/1.1 200 OK
Server: Apache
Date: Mon, 10 Sep 2012 17:25:33 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
Vary: Accept-Encoding
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache

Nginx Attivare la compressione HTTP con gzip
September 8, 2012 — 16:51

Author: f0ff0 | Category: Linux SysAdmin | Tags: , , , | Comments: 0
datacenter

La compressione HTTP con il modulo gzip di Nginx è un’importante feature che ci permette di migliorare il rendimento del sito web hostato principalmente su diversi fronti:

  • Riduzione di banda totale e transfert rate del nostro sito web.
  • Best practices di Google per quanto riguarda il SEO e la velocità di risposta del sito internet.
  • Velocizzare il tempo di caricamento delle pagine web.

Controindicazioni principali:

  • Comprimere con gzip aumenta il carico sulle CPU del server.
  • Il processo di compressione e decompressione può in alcuni casi essere controproducente se si tratta di pochi bytes.

 

Nei pacchetti Linux precompilati il modulo Nginz gzip static è quasi sempre attivo di default. Nel caso si sia compilato Ngix partendo dai sorgenti, controllare se si è passato l’opzione seguente in fase di compilazione:

./configure --with-http_gzip_static_module

La compressione HTTP con il modulo gzip static di Nginx è attivabile nei seguenti contesti:


http
server
location

Di seguito si trova un esempio di configurazione tipica del modulo di compressione gzip.

gzip on;
gzip_min_length 1000;
gzip_proxied expired no-cache no-store private auth;
gzip_types text/plain text/html text/css application/json application/javascript application/x-javascript text/javascript text/xml application/xml application/rss+xml application/atom+xml application/rdf+xml;
gzip_disable "MSIE [1-6]\.";
gzip_vary on;

Alcune piccole delucidazioni sulla configurazione:

  • gzip_types: con questa direttiva possiamo specificare quali tipi di MIME-Types desideriamo comprimere. Di default è abilitato solo text/html.
  • gzip_min_length: determiniamo la dimensione minima dei file che vogliamo comprimere. Abbassare drasticamente questo parametro può provocare maggior carico sulle CPU del server e tempi di risposta aumentati che quindi non giustificano il risparmio ottenuto dalla compressione.
  • gzip_disable: anche se ormai si assottiglia sempre più la percentuale di visitatori che navigano con browser che non supportano la compressione HTTP, questa direttiva ci permette di non creare problemi agli utenti di Internet Explorer fino al 6.
  • gzip_vary: abilita il response header “Vary: Accept-Encoding”. Questa direttiva fa si che IE non esegua caching dei contenuti (Bug noto). Tratto da wikipedia: “Tells downstream proxies how to match future request headers to decide whether the cached response can be used rather than requesting a fresh one from the origin server”.
MySQL, convertire unixtime in timestamp
September 7, 2012 — 23:01

Author: f0ff0 | Category: MySQL SysAdmin | Tags: , | Comments: 0
datacenter

Quando si eseguono integrazioni software o più semplicemente si interviene direttamente su database esistenti, ci si può imbattere in tabelle MySQL con campi contenenti timestamp in formato unixtime.

Il formato Unixtime, tipico dei sistemi Unix e Unix-like come Linux o MacOSX, rappresenta il tempo come offset in secondi rispetto alla mezzanotte del 1 gennaio 1970 (UTC).

Per convertire una data UnixTime in Timestamp in MySQL basta eseguire una semplice query come la seguente:


-- MySQL convertire data UnixTime Timestamp
SELECT TIMESTAMP(FROM_UNIXTIME(campo_unixtime)) FROM tabella;

Come testare un server di posta con telnet
September 8, 2011 — 16:47

Author: f0ff0 | Category: Linux SysAdmin | Tags: , , , , , | Comments: 0
telefonia_voip

Più di una volta sarà capitato di dover testar il funzionamento di un server di posta.
Lo strumento più diffuso rimane sempre il buon vecchio telnet :)

Per provare il funzionamento di un server di posta sarà sufficiente quindi seguire pochi passi:

  • telnet mail.server.it 25 – Ci colleghiamo quindi al mail server utilizzando telnet sulla porta standard 25.
  • helo – Con questo comando SMTP “salutiamo” il server di posta remoto e comunichiamo il nostro ip o dominio (es. helo miodominio.it)
  • mail from: – Il comando mail from indica qual’è la nostra email di origine, il sender.
  • rcpt to: – RCPT TO specifica a chi sarà inviata l’email di prova.
  • data – il comando DATA specifica al mail server che stamo inviando il corpo del messaggio. Per terminare il comando digitare .
« Previous PageNext Page »