<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Official dAm2K Blog</title>
	<atom:link href="http://dino.ciuffetti.info/feed/" rel="self" type="application/rss+xml" />
	<link>http://dino.ciuffetti.info</link>
	<description>Blog di Bernardino (Dino) Ciuffetti</description>
	<lastBuildDate>Fri, 18 May 2012 16:13:25 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.3</generator>
		<item>
		<title>The OrientDB 1.0 stable is finally there!</title>
		<link>http://dino.ciuffetti.info/2012/05/orientdb-1-0-stable-released/</link>
		<comments>http://dino.ciuffetti.info/2012/05/orientdb-1-0-stable-released/#comments</comments>
		<pubDate>Fri, 18 May 2012 16:13:25 +0000</pubDate>
		<dc:creator>dAm2K</dc:creator>
				<category><![CDATA[Commercial news]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[General news]]></category>
		<category><![CDATA[Linux OS]]></category>
		<category><![CDATA[Notes]]></category>
		<category><![CDATA[Open source]]></category>
		<category><![CDATA[What's hot]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[NuvolaBase]]></category>
		<category><![CDATA[orientdb]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[sysadmin]]></category>

		<guid isPermaLink="false">http://dino.ciuffetti.info/?p=235</guid>
		<description><![CDATA[Congratulation to Luca Garulli and his dev team to the public release of OrientDB 1.0 Stable! After a year of release candidates and bug fixing it&#8217;s finally time to the stable version. Many may bugs fixed, new indexing algorithms, improved clustering with multi master replication, new Object Database interface with lazy object loading, new studio (web [...]]]></description>
			<content:encoded><![CDATA[<p>Congratulation to Luca Garulli and his dev team to the public release of OrientDB 1.0 Stable!<br />
After a year of release candidates and bug fixing it&#8217;s finally time to the stable version.<br />
Many may bugs fixed, new indexing algorithms, improved clustering with multi master replication, new Object Database interface with lazy object loading, new studio (web interface) and much more.</p>
<p>The community is growing fast and people get rapidly moving to new technologies.<br />
Words like nosql, object and graph databases, cloud and mobile are big buzzwords of nowadays.</p>
<p>If you didn&#8217;t already, subscribe to the orientdb mailinglist to get in touch: <a href="http://groups.google.com/group/orient-database?pli=1">http://groups.google.com/group/orient-database?pli=1</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://dino.ciuffetti.info/2012/05/orientdb-1-0-stable-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Avaaz urgent petitions to sign NOW and quickly!</title>
		<link>http://dino.ciuffetti.info/2012/04/avaaz-urgent-petitions-sign-now-and-quickly/</link>
		<comments>http://dino.ciuffetti.info/2012/04/avaaz-urgent-petitions-sign-now-and-quickly/#comments</comments>
		<pubDate>Fri, 20 Apr 2012 14:42:52 +0000</pubDate>
		<dc:creator>dAm2K</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[General news]]></category>
		<category><![CDATA[What I'm doing]]></category>
		<category><![CDATA[What's hot]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[petition]]></category>

		<guid isPermaLink="false">http://dino.ciuffetti.info/?p=231</guid>
		<description><![CDATA[Urgent Online Petitions to sign now and quicky!! Please wide spread!! https://secure.avaaz.org/it/monti_save_our_internet/ In qualità di cittadini preoccupati, le chiediamo di fermare immediatamente tutte le iniziative del governo volte a dare all’Autorità per le Garanzie nelle Comunicazioni (AGCOM) il potere di censurare siti internet senza mandato del giudice. Le chiediamo inoltre di riaffermare pubblicamente che solo [...]]]></description>
			<content:encoded><![CDATA[<p>Urgent Online Petitions to sign now and quicky!! Please wide spread!!</p>
<p><strong><a href="https://secure.avaaz.org/it/monti_save_our_internet/">https://secure.avaaz.org/it/monti_save_our_internet/</a></strong></p>
<p>In qualità di cittadini preoccupati, le chiediamo di fermare  immediatamente tutte le iniziative del governo volte a dare all’Autorità  per le Garanzie nelle Comunicazioni (AGCOM) il potere di censurare siti  internet senza mandato del giudice. Le chiediamo inoltre di riaffermare  pubblicamente che solo il Parlamento può approvare leggi che incidono  sui nostri diritti fondamentali, inclusa la libertà di espressione, come  affermato dalla Costituzione. Ci affidiamo a lei per proteggere la  libertà di Internet in quanto pilastro fondamentale della nostra  democrazia.</p>
<p><strong><a href="https://secure.avaaz.org/en/stop_cispa/">https://secure.avaaz.org/en/stop_cispa/</a>﻿</strong></p>
<p>As concerned global citizens, we urge you to immediately drop the Cyber  Intelligence Sharing and Protection Act (CISPA). Our democracy and civil  liberties are under threat from the excessive and unnecessary Internet  surveillance powers it grants. The Internet is a crucial tool for people  around the world to exchange ideas and work collectively to build the  world we all want. We urge you to show true global leadership and do all  you can to protect our Internet freedom.</p>
]]></content:encoded>
			<wfw:commentRss>http://dino.ciuffetti.info/2012/04/avaaz-urgent-petitions-sign-now-and-quickly/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to execute a HTTP/Rest Query to NuvolaBase distributed database with PHP</title>
		<link>http://dino.ciuffetti.info/2012/03/php-howto-execute-http-rest-query-nuvolabase-distributed-database/</link>
		<comments>http://dino.ciuffetti.info/2012/03/php-howto-execute-http-rest-query-nuvolabase-distributed-database/#comments</comments>
		<pubDate>Thu, 08 Mar 2012 17:22:06 +0000</pubDate>
		<dc:creator>dAm2K</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[General news]]></category>
		<category><![CDATA[Linux OS]]></category>
		<category><![CDATA[Notes]]></category>
		<category><![CDATA[Open source]]></category>
		<category><![CDATA[Sysadmin pills]]></category>
		<category><![CDATA[What I'm doing]]></category>
		<category><![CDATA[What's hot]]></category>
		<category><![CDATA[http]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[NuvolaBase]]></category>
		<category><![CDATA[orientdb]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[rest]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[sysadmin]]></category>

		<guid isPermaLink="false">http://dino.ciuffetti.info/?p=229</guid>
		<description><![CDATA[As previously said, nuvolabase.com is a great service that permits you to have a distributed nosql document database in the cloud. This is very cool: think each time you would had the need of a database always available in the cloud that you would access via simple HTTP/Rest queries. The possibilities are endless. Here is [...]]]></description>
			<content:encoded><![CDATA[<p>As previously said, <a title="NuvolaBase - Cloudize your data" href="http://www.nuvolabase.com/site/">nuvolabase.com</a> is a great service that permits you to have a distributed nosql document database in the cloud. This is very cool: think each time you would had the need of a database always available in the cloud that you would access via simple HTTP/Rest queries. The possibilities are endless.</p>
<p>Here is a very simple but powerful PHP curl agent to submit commands (queries) to nuvolabase via HTTP.</p>
<p>&lt;?php<br />
/*<br />
* Author: Dino Ciuffetti &lt;dino@tuxweb.it&gt;<br />
* Object: Execute a remote query to a distributed database on nuvolabase.com (free account) using HTTP (OrientDB REST API)<br />
*/</p>
<p>/* user configurable parameters */<br />
$nuvolabasedb = &#8216;db$free$youruser$yourdb&#8217;;<br />
$command = &#8216;select from yourclass&#8217;;<br />
$user = &#8216;admin&#8217;;<br />
$password = &#8216;qwerty&#8217;;<br />
$useragent = &#8220;NuvolaBase PHP REST agent/v0.8 (compatible; Mozilla 4.0; MSIE 5.5; http://www.nuvolabase.com/)&#8221;;<br />
/* END of user configurable parameters */</p>
<p>$nuvolabasehost = &#8216;studio.nuvolabase.com&#8217;;<br />
$url = &#8216;http://&#8217;.$user.&#8217;:&#8217;.$password.&#8217;@&#8217;.&#8217;studio.nuvolabase.com/command/&#8217;.$nuvolabasedb.&#8217;/sql/&#8217;;</p>
<p>$ch = curl_init();</p>
<p>// set user agent<br />
curl_setopt($ch, CURLOPT_USERAGENT, $useragent);</p>
<p>// return the result or false in case of errors<br />
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);</p>
<p>// set the target url<br />
curl_setopt($ch, CURLOPT_URL, $url);</p>
<p>// do basic login authentication<br />
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);</p>
<p>// howmany parameter to post<br />
curl_setopt($ch, CURLOPT_POST, 1);</p>
<p>// the post data to send<br />
curl_setopt($ch, CURLOPT_POSTFIELDS, $command);</p>
<p>// execute curl,fetch the result and close curl connection<br />
$res = curl_exec ($ch);<br />
curl_close ($ch);</p>
<p>// display result<br />
if ($res !== FALSE);<br />
print_r (json_decode($res));</p>
<p>?&gt;</p>
]]></content:encoded>
			<wfw:commentRss>http://dino.ciuffetti.info/2012/03/php-howto-execute-http-rest-query-nuvolabase-distributed-database/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mitigare attacchi di tipo Distributed Denial Of Service su apache con mod_evasive</title>
		<link>http://dino.ciuffetti.info/2012/02/mitigare-attacchi-distributed-denial-of-service-apache-mod_evasive/</link>
		<comments>http://dino.ciuffetti.info/2012/02/mitigare-attacchi-distributed-denial-of-service-apache-mod_evasive/#comments</comments>
		<pubDate>Tue, 21 Feb 2012 12:50:31 +0000</pubDate>
		<dc:creator>dAm2K</dc:creator>
				<category><![CDATA[Linux OS]]></category>
		<category><![CDATA[Notes]]></category>
		<category><![CDATA[Open source]]></category>
		<category><![CDATA[Sysadmin pills]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[blacklist]]></category>
		<category><![CDATA[http]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[policy]]></category>
		<category><![CDATA[proxy]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[sysadmin]]></category>

		<guid isPermaLink="false">http://dino.ciuffetti.info/?p=227</guid>
		<description><![CDATA[Ciao. C&#8217;e&#8217; un modulo molto carino non official per apache che permette di bloccare o comunque mitigare facilmente attacchi di tipo DDOS. Si scarica il modulo mod_evasive dal sito http://www.zdziarski.com/blog/?page_id=442, si decomprime il tar.gz e si compila con la seguente stringa: &#60;directory_di_installazione_apache&#62;/bin/apxs -i -c mod_evasive20.c Ora bisogna inserire due cosette in httpd.conf e successivamente riavviare [...]]]></description>
			<content:encoded><![CDATA[<p>Ciao.<br />
C&#8217;e&#8217; un modulo molto carino non official per apache che permette di bloccare o comunque mitigare facilmente attacchi di tipo DDOS.</p>
<p>Si scarica il modulo mod_evasive dal sito <a title="mod_evasive per apache" href="http://www.zdziarski.com/blog/?page_id=442">http://www.zdziarski.com/blog/?page_id=442</a>, si decomprime il tar.gz e si compila con la seguente stringa:</p>
<p>&lt;directory_di_installazione_apache&gt;/bin/apxs -i -c mod_evasive20.c</p>
<p>Ora bisogna inserire due cosette in httpd.conf e successivamente riavviare gli apache:</p>
<p>1) LoadModule evasive20_module modules/mod_evasive20.so<br />
2) La sua configurazione</p>
<p>Per quanto riguarda la numero 2 bisogna fare una considerazione importante, ovvero che il tuning del presente modulo con parametri errati o maldimensionati puo&#8217; provocare dei falsi positivi che creano gravi disservizi per un periodo anche prolungato di tempo.</p>
<p>La configurazione e&#8217; simile a questa (effettuo già un pre tuning che comunque dovrete ricontrollare e confermare voi che conoscete il vostro sistema):</p>
<p>&lt;IfModule mod_evasive20.c&gt;<br />
DOSHashTableSize   196613<br />
DOSLogDir &#8220;/tmp&#8221;</p>
<p>DOSPageCount         20<br />
DOSPageInterval      10</p>
<p>DOSSiteCount        350<br />
DOSSiteInterval      5</p>
<p>DOSBlockingPeriod   10<br />
&lt;/IfModule&gt;</p>
<p>Di seguito una breve spiegazione dei parametri:</p>
<p>DOSHashTableSize: e&#8217; la dimensione della tabella di lookup interna usata dal modulo. Su server carichi il numero non deve essere troppo basso. Non andrebbe messo un numero casuale ma un numero primo presente nella struct dei numeri primi dentro mod_evasive20.c.</p>
<p>DOSLogDir: e&#8217; una directory dove evasive appoggia dei dati che vengono utilizzati internamente per motivi di locking tra i processi child di apache</p>
<p>DOSPageCount: e&#8217; la soglia per il numero di richieste effettuate verso una stessa url da uno stesso IP entro un determinato intervallo di tempo specificato dalla direttiva DOSPageInterval. Se il numero di richieste verso una stessa pagina/oggetto/uri viene superato nell&#8217;intervallo di tempo specificato apache blocchera&#8217; l&#8217;IP del client per un determinato numero di secondi specificati dalla variabile DOSBlockingPeriod. Consiglio vivamente di non impostare questo parametro troppo basso per evitare falsi positivi all&#8217;interno di ambienti nattati o dietro proxy server (ad esempio clienti fastweb, utenti all&#8217;interno di grosse organizzazioni che usano un proxy server, ecc.)</p>
<p>DOSPageInterval: e&#8217; l&#8217;intervallo di tempo espresso in secondi che attiva la soglia relativa al parametro precedente (DOSPageCount)</p>
<p>DOSSiteCount: e&#8217; la soglia per il numero di richieste complessive verso tutto il sito effettuate da uno stesso IP entro un determinato intervallo di tempo specificato dalla direttiva DOSSiteInterval. Se il numero complessivo di richieste verso apache viene superato nell&#8217;intervallo di tempo specificato, apache blocchera&#8217; l&#8217;IP del client per un determinato numero di secondi specificati dalla variabile DOSBlockingPeriod. Anche qui consiglio vivamente di non impostare questo parametro troppo basso per evitare falsi positivi all&#8217;interno di ambienti nattati o dietro proxy server (ad esempio clienti fastweb, utenti all&#8217;interno di grosse organizzazioni che usano un proxy server, ecc.)</p>
<p>DOSSiteInterval: e&#8217; l&#8217;intervallo di tempo espresso in secondi che attiva la soglia relativa al parametro precedente (DOSSiteCount)</p>
<p>DOSBlockingPeriod: e&#8217; l&#8217;intervallo di tempo espresso in secondi durante i quali tutti i client finiti in blacklist avendo superato i limiti imposti dai parametri specificati sopra non potranno collegarsi ad apache e navigare sul sito ottenendo invece un codice di errore HTTP/403 (Forbidden). Se i clients bloccati continuano ad effettuare nuove richieste durante il periodo di blocco, ogni richiesta resetta il timer percui il conteggio ricomincia. Consiglio quindi VIVAMENTE di non impostare questo parametro troppo alto, in genere non vanno mai superati i 20 secondi. Il motivo principale e&#8217; la mitigazione di eventuali disservizi causati da falsi positivi. Il discorso e&#8217; inoltre valido perche&#8217; durante un attacco DDOS il timer viene continuamente resettato e l&#8217;attacco viene comunque mitigato anche impostando il parametro ad un valore molto basso.</p>
<p>Riavviate apache e buon divertimento.</p>
<p>Dino Ciuffetti.</p>
]]></content:encoded>
			<wfw:commentRss>http://dino.ciuffetti.info/2012/02/mitigare-attacchi-distributed-denial-of-service-apache-mod_evasive/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NuvolaBase: the new no-sql company behind OrientDB launches the Graph Database in the Cloud</title>
		<link>http://dino.ciuffetti.info/2012/02/nuvolabase-orientdb-graph-database-in-the-cloud/</link>
		<comments>http://dino.ciuffetti.info/2012/02/nuvolabase-orientdb-graph-database-in-the-cloud/#comments</comments>
		<pubDate>Thu, 02 Feb 2012 17:55:33 +0000</pubDate>
		<dc:creator>dAm2K</dc:creator>
				<category><![CDATA[Commercial news]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[General news]]></category>
		<category><![CDATA[Notes]]></category>
		<category><![CDATA[What's hot]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[db]]></category>
		<category><![CDATA[http]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[nosql]]></category>
		<category><![CDATA[NuvolaBase]]></category>
		<category><![CDATA[orientdb]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[sysadmin]]></category>

		<guid isPermaLink="false">http://dino.ciuffetti.info/?p=225</guid>
		<description><![CDATA[London, UK &#8211; NuvolaBase Ltd is a London-based startup that is about to revolutionize the database market. Only two years ago this market was dominated by few big players such as Oracle, IBM and Microsoft. Something, in the last 24 months, has changed thanks to the “NoSQL” movement which focused on alternative solutions to the [...]]]></description>
			<content:encoded><![CDATA[<p>London, UK &#8211; NuvolaBase Ltd is a London-based startup that is about to  revolutionize the database market.  Only two years ago this market was  dominated by few big players such as Oracle, IBM and Microsoft.   Something, in the last 24 months, has changed thanks to the “NoSQL”  movement which focused on alternative solutions to the ordinary  Relational DBMS’s due to the pressing and increasing demands for better  performance and higher scalability.</p>
<p>Today the largest IT  companies avail themselves of NoSQL solutions to manage Mission Critical  projects.  Google, Amazon, Microsoft, Facebook, Twitter, Disney, MTV,  Craiglist and FourSquare are amongst the most famous ones.</p>
<p>After  just a year of testing, NuvolaBase comes out of Alpha version, offering a  NoSQL database of high performance as a cloud-based service. This way  the database is no longer a software component that needs installing,  configuring and maintaining, but it becomes a distributed service that  is always available on the internet.</p>
<p>Web Site: <a href="http://www.nuvolabase.com">http://www.nuvolabase.com</a><br />
Follow us on Twitter: <a href="https://twitter.com/#%21/nuvolabase">https://twitter.com/#!/nuvolabase</a><br />
LinkedIn: <a href="http://www.linkedin.com/company/nuvolabase-ltd">http://www.linkedin.com/company/nuvolabase-ltd</a></p>
]]></content:encoded>
			<wfw:commentRss>http://dino.ciuffetti.info/2012/02/nuvolabase-orientdb-graph-database-in-the-cloud/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>liborient, OrientDB C library migrated to github</title>
		<link>http://dino.ciuffetti.info/2012/01/liborient_orientdb_library_github/</link>
		<comments>http://dino.ciuffetti.info/2012/01/liborient_orientdb_library_github/#comments</comments>
		<pubDate>Thu, 26 Jan 2012 11:52:41 +0000</pubDate>
		<dc:creator>dAm2K</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[General news]]></category>
		<category><![CDATA[Linux OS]]></category>
		<category><![CDATA[Open source]]></category>
		<category><![CDATA[Sysadmin pills]]></category>
		<category><![CDATA[What's hot]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[liborient]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[NuvolaBase]]></category>
		<category><![CDATA[orientdb]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[sysadmin]]></category>

		<guid isPermaLink="false">http://dino.ciuffetti.info/?p=222</guid>
		<description><![CDATA[I never said before on those pages that some months ago I migrated liborient to github: liborient project page. For those who do not know liborient, it&#8217;s a LGPLv3 library that can be used by C programs to interact with the OrientDB DBMS Server using the orientdb binary protocol. At the time of this writing [...]]]></description>
			<content:encoded><![CDATA[<p>I never said before on those pages that some months ago I migrated liborient to github: <a title="Liborient project page" href="https://github.com/dam2k/liborient">liborient project page</a>.</p>
<p>For those who do not know liborient, it&#8217;s a LGPLv3 library that can be used by C programs to interact with the <a title="OrientDB DBMS Server" href="http://www.orientechnologies.com/orient-db.htm">OrientDB DBMS Server</a> using the orientdb binary protocol. At the time of this writing it&#8217;s in development stage, but almost all low level binary protocol methods are implemented and should be quite working.</p>
<p>After fixing some (well known) memory leaks on the new odocument interface, I&#8217;m now working on a high level API that can be used by C programs to manipulate objects going to and coming from OrientDB Server.<br />
You can, for example, put or get records to/from the server containing different data type fields. Those fields are organized into an object that OrientDB calls Document. This Document can include structured types like: integers, shorts, dates, strings, binary, char, float, collections, maps, documents embedded into documents, and more.<br />
The liborient&#8217;s new odocument higher level API should make you comfortable to access and manipulate this documents.<br />
This can be, for example, a good starting point to create native bindings for other languages like PHP, python, perl, ruby, etc.</p>
<p>At the moment I am the author and the only developer on this project, but if you are brave you can join and submit patches, test the code, open bugs, put your considerations, and so on. Feel free to send me a mail, add a comment to this page, write to the orientdb mailing list, send me a tweet at @tuxweb, or anything else.</p>
]]></content:encoded>
			<wfw:commentRss>http://dino.ciuffetti.info/2012/01/liborient_orientdb_library_github/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>How to quickly install courier-mta mail server from source on debian (for the impatients)</title>
		<link>http://dino.ciuffetti.info/2011/12/how-to-install-courier-mta-mail-server-on-debian/</link>
		<comments>http://dino.ciuffetti.info/2011/12/how-to-install-courier-mta-mail-server-on-debian/#comments</comments>
		<pubDate>Mon, 12 Dec 2011 16:19:00 +0000</pubDate>
		<dc:creator>dAm2K</dc:creator>
				<category><![CDATA[Linux OS]]></category>
		<category><![CDATA[Open source]]></category>
		<category><![CDATA[Sysadmin pills]]></category>
		<category><![CDATA[What I'm doing]]></category>
		<category><![CDATA[courier]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[mailserver]]></category>
		<category><![CDATA[mta]]></category>
		<category><![CDATA[relaying]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[smtp]]></category>
		<category><![CDATA[sysadmin]]></category>

		<guid isPermaLink="false">http://dino.ciuffetti.info/?p=217</guid>
		<description><![CDATA[What it follows is a quick n&#8217; dirty but working list of things to do to correctly install you brand new courier mta mail server from source on a linux debian system. This is for the impatients that don&#8217;t want to read the courier installation manual page (http://www.courier-mta.org/install.html). You can download the last stable courier [...]]]></description>
			<content:encoded><![CDATA[<p>What it follows is a quick n&#8217; dirty but working list of things to do to correctly install you brand new courier mta mail server from source on a linux debian system. This is for the impatients that don&#8217;t want to read the courier installation manual page (<a title="Courier Installation manual page" href="http://www.courier-mta.org/install.html">http://www.courier-mta.org/install.html</a>). You can download the last stable courier packages from here: <a title="Courier Download page" href="http://www.courier-mta.org/download.php">http://www.courier-mta.org/download.php</a>.<br />
You only have to download those two software archive files:</p>
<ol>
<li>Courier</li>
<li>Courier authentication library</li>
</ol>
<p>You&#8217;ll need to be root and have an internet connection to install dependencies debian packages.</p>
<p>Ready to install? Ok. This is how I have done:</p>
<p>groupadd courier<br />
useradd -m -g courier courier<br />
groupadd vmail<br />
useradd -g vmail -d /opt/courier -m vmail</p>
<p>apt-get install build-essential<br />
apt-get install libldap2-dev<br />
apt-get install ldap-utils<br />
apt-get install slapd<br />
apt-get install libmysqlclient-dev<br />
apt-get install libpcre++-dev libpcre3-dev<br />
apt-get install libidn11-dev<br />
apt-get install libgdbm-dev<br />
apt-get install libdb-dev libdb4.8-dev libdb4.8++-dev<br />
apt-get install libgamin-dev<br />
apt-get install libssl-dev<br />
apt-get install libgnutls-dev<br />
apt-get install expect<br />
apt-get install libperl-dev</p>
<p>tar jxvf courier-authlib-0.63.0.tar.bz2<br />
cd courier-authlib-0.63.0</p>
<p>./configure \<br />
&#8211;prefix=/opt/courier/authlib \<br />
&#8211;without-authvchkpw \<br />
&#8211;without-authpgsql \<br />
&#8211;with-mysql-libs=/usr \<br />
&#8211;with-mysql-includes=/usr \<br />
&#8211;with-mailuser=vmail \<br />
&#8211;with-mailgroup=vmail</p>
<p>make<br />
make install</p>
<p>cd ..<br />
tar jxvf courier-0.67.0.tar.bz2<br />
chown -R courier:courier courier-0.67.0</p>
<p>su &#8211; courier<br />
cd courier-0.67.0</p>
<p>export COURIERAUTHCONFIG=/opt/courier/authlib/bin/courierauthconfig<br />
export CFLAGS=&#8221;-I /opt/courier/authlib/include/&#8221;</p>
<p>./configure \<br />
&#8211;prefix=/opt/courier &#8211;with-locking-method=fcntl &#8211;without-ipv6 &#8211;without-explicitsync \<br />
&#8211;with-qdircount=20 &#8211;with-random=/dev/urandom \<br />
&#8211;without-ispell &#8211;disable-autorenamesent &#8211;enable-mimetypes</p>
<p>make<br />
make check<br />
exit<br />
make install-strip<br />
make install-configure &gt;upgrade.log</p>
<p>/opt/courier/sbin/showmodules<br />
/opt/courier/sbin/makesmtpaccess</p>
<p>OK. If everything gone OK, the installation stuff was terminated.<br />
The configuration stuff is another complex thing that I cannot cover now here&#8230; may be another time.<br />
Now, continue to read installation manual from here: <a title="Courier Installation page" href="http://www.courier-mta.org/install.html#aliases">http://www.courier-mta.org/install.html#aliases</a></p>
<p>Ciao, Dino.</p>
]]></content:encoded>
			<wfw:commentRss>http://dino.ciuffetti.info/2011/12/how-to-install-courier-mta-mail-server-on-debian/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to compile apache httpd on HP-UX 11.11 PA-RISC</title>
		<link>http://dino.ciuffetti.info/2011/11/how-to-compile-apache-hpux-11-11-parisc/</link>
		<comments>http://dino.ciuffetti.info/2011/11/how-to-compile-apache-hpux-11-11-parisc/#comments</comments>
		<pubDate>Tue, 15 Nov 2011 17:15:36 +0000</pubDate>
		<dc:creator>dAm2K</dc:creator>
				<category><![CDATA[Linux OS]]></category>
		<category><![CDATA[Open source]]></category>
		<category><![CDATA[Sysadmin pills]]></category>
		<category><![CDATA[What I'm doing]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[http]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[openssl]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[sysadmin]]></category>

		<guid isPermaLink="false">http://dino.ciuffetti.info/?p=214</guid>
		<description><![CDATA[The first thing that I have to say, after more than 10 years working with different OSes, is that there is no better operative system than Linux. Any other OS that I&#8217;ve worked with is a pure shit, in my humble opinion off course. HP-UX is one of this. This is a closed box with [...]]]></description>
			<content:encoded><![CDATA[<p>The first thing that I have to say, after more than 10 years working with different OSes, is that there is no better operative system than Linux. Any other OS that I&#8217;ve worked with is a pure shit, in my humble opinion off course. HP-UX is one of this. This is a closed box with custom patches here and there, not a true, modern os like linux or free bsd, and the like. The compiler is closed source and it&#8217;s not free.</p>
<p>The best way that I&#8217;ve found to compile apache with gcc on HP-UX 11.11 (pa-risc) using open source free software is:</p>
<ol>
<li>download the following software packages from HP-UX Porting Centre (<a title="http://hpux.connect.org.uk/" href="http://hpux.connect.org.uk/">http://hpux.connect.org.uk/</a>) &#8211; your version may vary: <strong>zlib-1.2.5-hppa-11.11.depot.gz, make-3.82-hppa-11.11.depot.gz, libiconv-1.14-hppa-11.11.depot.gz, gettext-0.18.1.1-hppa-11.11.depot.gz, openssl-1.0.0e-hppa-11.11.depot.gz, libgcc-4.2.3-hppa-11.11.depot.gz, gcc-4.2.3-hppa-11.11.depot.gz</strong></li>
<li><strong>gunzip each one of the downloaded depot</strong>, (eg: gunzip * from the directory where you downloaded)</li>
<li><strong>install each depot in the order given below</strong> (the first is zlib, the last is gcc) with the standard hpux command: <strong>swinstall -s [your_absolute_depot_path]</strong></li>
<li>once this boring operation mandatory only on non modern operative systems is terinated successfully, you can export the PATH variable setting /usr/local/bin in front of the PATH list: <strong>export PATH=&#8221;/usr/local/bin:$PATH&#8221;</strong></li>
<li>ok. We are now ready to compile apache. <strong>Download and uncompress the httpd tar.gz</strong> with &#8220;gunzip&#8221;, then &#8220;tar xf&#8221; (on a modern system you can do it in a single pass with tar xzvf &#8230;)</li>
<li>the configure string to run is:<strong> ./configure &#8211;with-included-apr &#8211;with-expat=builtin &#8211;prefix=[YOUR_APACHE_INSTALLATION_PATH] &#8211;enable-mods-shared=most &#8211;enable-ssl &#8211;enable-proxy &#8211;enable-proxy-connect &#8211;enable-proxy-http &#8211;enable-proxy-balancer &#8211;enable-cache &#8211;enable-disk-cache &#8211;enable-mem-cache</strong></li>
<li>once finisced, run: &#8220;<strong>gmake</strong>&#8220;.</li>
</ol>
<p>At this point, after some minute, you probably will end with a compiler error like this one:</p>
<p>/var/adm/crash/src/httpd-2.2.21/srclib/apr/libtool &#8211;silent &#8211;mode=link gcc -g -O2 -pthread     -L/usr/local/lib   -o htpasswd  htpasswd.lo   -lm /var/adm/crash/src/httpd-2.2.21/srclib/pcre/libpcre.la /var/adm/crash/src/httpd-2.2.21/srclib/apr-util/libaprutil-1.la /var/adm/crash/src/httpd-2.2.21/srclib/apr-util/xml/expat/libexpat.la -liconv /var/adm/crash/src/httpd-2.2.21/srclib/apr/libapr-1.la -lrt -lm -lpthread -ldld<br />
libtool: link: warning: this platform does not like uninstalled shared libraries<br />
libtool: link: `htpasswd&#8217; will be relinked during installation<br />
<strong>/usr/ccs/bin/ld: Unsatisfied symbols:</strong><br />
<strong> apr_generate_random_bytes (first referenced in .libs/htpasswd.o) (code)</strong><br />
collect2: ld returned 1 exit status<br />
gmake[2]: *** [htpasswd] Error 1<br />
gmake[2]: Leaving directory `/var/adm/crash/src/httpd-2.2.21/support&#8217;<br />
gmake[1]: *** [all-recursive] Error 1<br />
gmake[1]: Leaving directory `/var/adm/crash/src/httpd-2.2.21/support&#8217;<br />
gmake: *** [all-recursive] Error 1</p>
<p>This means that the APR library cannot generate random numbers. I have to investigate why, probably the system is not capable/patched to generate PRN numbers at kernel level (/dev/random or /dev/urandom) and the APR library breaks. Not a problem. Simply skip the creation of the htpasswd executable. You will probably not need it.</p>
<ul>
<li><strong>cd support</strong></li>
<li><strong>touch htpasswd</strong></li>
<li><strong>cd ..</strong></li>
</ul>
<p>Now came back to compile:</p>
<ul>
<li><strong>gmake</strong></li>
</ul>
<p>when finished, simple &#8220;<strong>gmake install</strong>&#8220;, and you hopefully have done, thinking why you are still using a non modern os and becoming soon a happy new linux user..</p>
<p> <img src='http://dino.ciuffetti.info/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  Hope this one will help some linux user fighting on HP as well like me!</p>
<p>Ciao, Dino.</p>
]]></content:encoded>
			<wfw:commentRss>http://dino.ciuffetti.info/2011/11/how-to-compile-apache-hpux-11-11-parisc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Commenti moderati per default causa spammers</title>
		<link>http://dino.ciuffetti.info/2011/10/commenti-moderati-per-default-causa-spammers/</link>
		<comments>http://dino.ciuffetti.info/2011/10/commenti-moderati-per-default-causa-spammers/#comments</comments>
		<pubDate>Fri, 28 Oct 2011 18:27:12 +0000</pubDate>
		<dc:creator>dAm2K</dc:creator>
				<category><![CDATA[General news]]></category>
		<category><![CDATA[Notes]]></category>
		<category><![CDATA[comments]]></category>
		<category><![CDATA[spam]]></category>

		<guid isPermaLink="false">http://dino.ciuffetti.info/?p=211</guid>
		<description><![CDATA[A causa dei soliti spammers maledetti (che Dio li fulmini quando cliccano su &#8220;invia&#8221;), ho dovuto abilitare la moderazione forzata dei commenti nel blog. Ora siete contenti vero?]]></description>
			<content:encoded><![CDATA[<p>A causa dei soliti spammers maledetti (che Dio li fulmini quando cliccano su &#8220;invia&#8221;), ho dovuto abilitare la moderazione forzata dei commenti nel blog.</p>
<p>Ora siete contenti vero?</p>
]]></content:encoded>
			<wfw:commentRss>http://dino.ciuffetti.info/2011/10/commenti-moderati-per-default-causa-spammers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NuvolaBase project &#8211; Thu 20th I&#8217;ll be in London</title>
		<link>http://dino.ciuffetti.info/2011/10/nuvolabase-project-thu-20th-london/</link>
		<comments>http://dino.ciuffetti.info/2011/10/nuvolabase-project-thu-20th-london/#comments</comments>
		<pubDate>Tue, 11 Oct 2011 23:23:37 +0000</pubDate>
		<dc:creator>dAm2K</dc:creator>
				<category><![CDATA[General news]]></category>
		<category><![CDATA[What's hot]]></category>
		<category><![CDATA[NuvolaBase]]></category>

		<guid isPermaLink="false">http://dino.ciuffetti.info/?p=207</guid>
		<description><![CDATA[On Thu 20th, I&#8217;ll fly to London City, I have to accomplish a interesting task for the NuvolaBase project. News will come.]]></description>
			<content:encoded><![CDATA[<p>On Thu 20th, I&#8217;ll fly to London City, I have to accomplish a interesting task for the NuvolaBase project.</p>
<p>News will come.</p>
]]></content:encoded>
			<wfw:commentRss>http://dino.ciuffetti.info/2011/10/nuvolabase-project-thu-20th-london/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Apache with Worker MPM (multi threaded), mem_cache and mod_deflate</title>
		<link>http://dino.ciuffetti.info/2011/10/apache-worker-mpm-mem_cache-mod_deflate/</link>
		<comments>http://dino.ciuffetti.info/2011/10/apache-worker-mpm-mem_cache-mod_deflate/#comments</comments>
		<pubDate>Fri, 07 Oct 2011 11:46:25 +0000</pubDate>
		<dc:creator>dAm2K</dc:creator>
				<category><![CDATA[Linux OS]]></category>
		<category><![CDATA[Open source]]></category>
		<category><![CDATA[Sysadmin pills]]></category>
		<category><![CDATA[What I'm doing]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[cache]]></category>
		<category><![CDATA[deflate]]></category>
		<category><![CDATA[http]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[sysadmin]]></category>
		<category><![CDATA[worker]]></category>

		<guid isPermaLink="false">http://dino.ciuffetti.info/?p=194</guid>
		<description><![CDATA[When you have to publish mainly static contents, like static sites, the most powerful solution is to configure your apache http server to use the MPM Worker, mod_mem_cache e mod_deflate modules. Why the MPM Worker It implements a multi process / multi thread server model. The father process spawn processes, and each child process spawn [...]]]></description>
			<content:encoded><![CDATA[<p>When you have to publish mainly <strong>static contents</strong>, like static sites, the most powerful solution is to configure your apache http server to use the <strong>MPM Worker</strong>, <strong>mod_mem_cache</strong> e <strong>mod_deflate </strong>modules.</p>
<p><strong>Why the MPM Worker</strong><br />
It implements a multi process / multi thread server model. The father process spawn processes, and each child process spawn threads. Each thread will handle a client connection.<br />
This implementation can handle a large number of requests with fewer system resources than a standard prefork multi process server model.<br />
Please note that you cannot use the MPM Worker in server environments that are not thread safe. For example, PHP, mod_perl, and other dynamic page processors do not ensure you that the environment it&#8217;s completely thread safe, so my advice is to <strong>NOT USE the MPM Worker with PHP</strong>, mod_perl and the like.<br />
The Worker MPM can consume much less memory because the heap memory is shared among threads, while that&#8217;s not true for processes.<br />
For more informations you can read the official page: <a href="http://httpd.apache.org/docs/2.2/mod/worker.html">http://httpd.apache.org/docs/2.2/mod/worker.html</a></p>
<p><strong>Why the mod_mem_cache module<br />
</strong>This module can be configured to cache open file descriptors and objects into the heap storage (memory).<br />
If the same object (html, css, js, etc) it&#8217;s requested for the first time by a client, it get saved into the heap memory. The second time it got requested, the object got feeded directly from the memory cache.<strong> </strong> It can lower down CPU and disk I/O.<br />
For more informations you can read the official page: <a href="http://httpd.apache.org/docs/2.2/mod/mod_mem_cache.html">http://httpd.apache.org/docs/2.2/mod/mod_mem_cache.html</a></p>
<p><strong>Why the mod_deflate module<br />
</strong>It can allows output from     your server to be compressed before being sent to the client<strong> </strong>. The HTTP 1/1 protocol has a header called Accept-Encoding. This way a client can tell the server witch response encoding it can reads.<br />
Any modern browsers today can handle page compression, so why not using it?<br />
With it you can save bandwidth.<br />
For more informations you can read the official page: <a href="http://httpd.apache.org/docs/2.2/mod/mod_deflate.html">http://httpd.apache.org/docs/2.2/mod/mod_deflate.html</a></p>
<p>Ok. Let&#8217;s begin to enable that stuff.</p>
<p>First step is to compile apache from source.<br />
If you want to use the packages released by your linux distribution instead of compiling apache by yourself you can do it.<br />
<strong>Always choose the latest apache stable version available</strong>.</p>
<p>To compile apache 2.2.X with most modules in shared form (*.so) you should run this configure:<br />
$ ./configure &#8211;prefix=&lt;YOUR_APACHE_DIR&gt; &#8211;with-mpm=worker &#8211;with-included-apr &#8211;with-expat=builtin &#8211;enable-mods-shared=most &#8211;enable-ssl &#8211;enable-proxy &#8211;enable-proxy-connect &#8211;enable-proxy-http &#8211;enable-proxy-balancer &#8211;enable-cache &#8211;enable-disk-cache &#8211;enable-mem-cache &#8211;enable-nonportable-atomics=yes</p>
<p>Then, as usual, run:<br />
$ make<br />
$ make install</p>
<p>You hopefully end up with apache correctly installed with all needed modules in place.<br />
Now configure your httpd.conf adding those lines:</p>
<p># Compress on the fly HTML pages, TXT and XML files, CSS and JS.<br />
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/x-js application/x-javascript</p>
<p># Cache open file descriptors<br />
CacheEnable fd /</p>
<p># Enable memory caching<br />
CacheEnable mem /</p>
<p># Limit the size of the cache to 24 Megabyte<br />
MCacheSize 25165824</p>
<p># Minimum size of an object that can be cached: 1 Kbyte<br />
MCacheMinObjectSize 1024</p>
<p># Maximum size of an object that can be cached: 3 Mbyte<br />
MCacheMaxObjectSize 3145728</p>
<p># Spawn 10 child processes, spawning 100 threads for each child process.<br />
# So, a pool of 1000 threads is left up and sleeping, ready to serve incoming requests.<br />
# If more requests will come in, apache will spawn new child processes, each one spawning 100 threads,<br />
# enlarging the thread pool until the total number of threads become 2000. In that case, apache begin<br />
# to cleanly drop processes, trying to reach 1000 threads.<br />
# New processes and its threads are spawned in case of a large spike of requests, until 4000 parallel<br />
# client requests are reached, then apache will no longer accept new incoming connections.<br />
# When the load calm down, and requests come back under 4000 parallel connections, apache will continue<br />
# to accept connections. After 1,000,000 requests served by a child, q. 10,000 per thread, the process<br />
# get closed by the father to ensure no memory leak is fired.<br />
&lt;IfModule mpm_worker_module&gt;<br />
ThreadLimit          100<br />
ServerLimit         4000<br />
StartServers          10<br />
MaxClients          4000<br />
MinSpareThreads      1000<br />
MaxSpareThreads      2000<br />
ThreadsPerChild      100<br />
MaxRequestsPerChild   1000000<br />
&lt;/IfModule&gt;</p>
<p>Start apache.<br />
Enjoy!!</p>
<p>&nbsp;</p>
<p><strong> </strong></p>
<p><strong> </strong></p>
]]></content:encoded>
			<wfw:commentRss>http://dino.ciuffetti.info/2011/10/apache-worker-mpm-mem_cache-mod_deflate/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Legge anti bavaglio &#8211; Firma la petizione online</title>
		<link>http://dino.ciuffetti.info/2011/10/legge-anti-bavaglio-firma-la-petizione-online/</link>
		<comments>http://dino.ciuffetti.info/2011/10/legge-anti-bavaglio-firma-la-petizione-online/#comments</comments>
		<pubDate>Thu, 06 Oct 2011 10:36:18 +0000</pubDate>
		<dc:creator>dAm2K</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[General news]]></category>
		<category><![CDATA[bavaglio]]></category>
		<category><![CDATA[firma]]></category>
		<category><![CDATA[legge]]></category>
		<category><![CDATA[petizione]]></category>

		<guid isPermaLink="false">http://dino.ciuffetti.info/?p=191</guid>
		<description><![CDATA[Avaaz: &#8220;Vi invitiamo a votare contro l&#8217;approvazione del DDL Alfano e, quindi, salvaguardare i principi fondamentali stabiliti dalla nostra Costituzione, inclusa la libertà di informazione e il nostro diritto ad essere informati.&#8221; Io credo che tutti debbano firmare. Se volete, potete farlo cliccando qui sotto: http://www.avaaz.org/en/no_bavaglio_2/?wIJMBbb]]></description>
			<content:encoded><![CDATA[<p>Avaaz: &#8220;Vi invitiamo a votare contro l&#8217;approvazione del DDL Alfano e, quindi, salvaguardare i principi fondamentali stabiliti dalla nostra Costituzione, inclusa la libertà di informazione e il nostro diritto ad essere informati.&#8221;</p>
<p>Io credo che tutti debbano firmare. Se volete, potete farlo cliccando qui sotto:<br />
<a title="http://www.avaaz.org/en/no_bavaglio_2/?wIJMBbb" href="http://www.avaaz.org/en/no_bavaglio_2/?wIJMBbb">http://www.avaaz.org/en/no_bavaglio_2/?wIJMBbb</a></p>
]]></content:encoded>
			<wfw:commentRss>http://dino.ciuffetti.info/2011/10/legge-anti-bavaglio-firma-la-petizione-online/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to change drupal 6 admin password</title>
		<link>http://dino.ciuffetti.info/2011/09/how-to-change-drupal-6-admin-password/</link>
		<comments>http://dino.ciuffetti.info/2011/09/how-to-change-drupal-6-admin-password/#comments</comments>
		<pubDate>Fri, 16 Sep 2011 12:18:00 +0000</pubDate>
		<dc:creator>dAm2K</dc:creator>
				<category><![CDATA[Notes]]></category>
		<category><![CDATA[Open source]]></category>
		<category><![CDATA[Sysadmin pills]]></category>
		<category><![CDATA[drupal]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[sysadmin]]></category>

		<guid isPermaLink="false">http://dino.ciuffetti.info/?p=188</guid>
		<description><![CDATA[Changing the password of the &#8220;admin&#8221; user on drupal 6 it&#8217;s as simple as to run this mysql query: UPDATE users SET pass = md5(&#8216;YOUR__NEW_PASSWORD&#8216;) WHERE uid = 1; Hope to help someone in big problems because of a unknown/lost drupal password. Ciao, Dino.]]></description>
			<content:encoded><![CDATA[<p>Changing the password of the &#8220;admin&#8221; user on drupal 6 it&#8217;s as simple as to run this mysql query:</p>
<p>UPDATE users SET pass = md5(&#8216;<strong>YOUR__NEW_PASSWORD</strong>&#8216;) WHERE uid = 1;</p>
<p>Hope to help someone in big problems because of a unknown/lost drupal password.</p>
<p>Ciao, Dino.</p>
]]></content:encoded>
			<wfw:commentRss>http://dino.ciuffetti.info/2011/09/how-to-change-drupal-6-admin-password/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lettera del Sindaco di Roma ai suoi cittadini</title>
		<link>http://dino.ciuffetti.info/2011/09/lettera-del-sindaco-di-roma-ai-suoi-cittadini/</link>
		<comments>http://dino.ciuffetti.info/2011/09/lettera-del-sindaco-di-roma-ai-suoi-cittadini/#comments</comments>
		<pubDate>Fri, 16 Sep 2011 09:21:39 +0000</pubDate>
		<dc:creator>dAm2K</dc:creator>
				<category><![CDATA[General news]]></category>
		<category><![CDATA[Notes]]></category>
		<category><![CDATA[What I'm doing]]></category>
		<category><![CDATA[What's hot]]></category>
		<category><![CDATA[comune]]></category>
		<category><![CDATA[finanziaria]]></category>
		<category><![CDATA[roma]]></category>

		<guid isPermaLink="false">http://dino.ciuffetti.info/?p=183</guid>
		<description><![CDATA[Oggi leggendo la posta elettronica ho visto una mail proveniente niente popò di meno che dal Sindaco di Roma Giovanni Alemanno. Si tratta della protesta che stanno facendo molti Comuni italiani dopo i gravi tagli previsti dalla manovra finanziaria del Governo italiano. Segue la trascrizione del testo: I TAGLI AI COMUNI SONO TAGLI AI TUOI [...]]]></description>
			<content:encoded><![CDATA[<p>Oggi leggendo la posta elettronica ho visto una mail proveniente niente popò di meno che dal Sindaco di Roma Giovanni Alemanno.<br />
Si tratta della protesta che stanno facendo molti Comuni italiani dopo i gravi tagli previsti dalla manovra finanziaria del Governo italiano.</p>
<p>Segue la trascrizione del testo:</p>
<p><strong>I TAGLI AI COMUNI SONO TAGLI AI TUOI DIRITTI</strong></p>
<p>Carissimi cittadini,<br />
oggi ho comunicato al Prefetto e al Ministro dell&#8217;Interno che Roma Capitale non è<br />
più in grado di garantire i servizi ai cittadini. Come è stato deciso<br />
dall&#8217;Associazione Nazionale Comuni Italiani (ANCI), chiuderò simbolicamente<br />
l&#8217;ufficio Anagrafe e stato civile come stanno facendo quasi tutti i miei colleghi Sindaci.</p>
<p>Si tratta di una forma di protesta molto forte, alla quale i Comuni italiani<br />
sono arrivati perché, fino ad ora, non sono riusciti a far cambiare in modo<br />
significativo una manovra economica necessaria ma troppo pesante per le<br />
istituzioni territoriali.</p>
<p>Non vogliamo peggiorare la qualità della vostra vita ma cercare di migliorare<br />
i servizi e difendere i vostri diritti.</p>
<p>Infatti, fino a quando sarà possibile tutti i servizi saranno garantiti grazie<br />
allo sforzo della struttura comunale.</p>
<p>Oggi non è più possibile percé si preferisce togliere ai Comuni invece di<br />
andare a vedere dove le risorse si sprecano realmente.</p>
<p>Ogni anno i Comuni portano soldi alle casse dello Stato per un totale di oltre<br />
3 miliardi di euro. Queste risorse si perdono in mille rivoli, mentre noi veniamo<br />
costretti ad aumentare le tasse o a chiudere i servizi.</p>
<p>Ho deciso di scrivervi perché ognuno di voi possa rendersi conto che la<br />
protesta che Roma Capitale e l&#8217;ANCI stanno facendo non è una polemica politica<br />
o una rivendicazione istituzionale.</p>
<p>Al contrario il nostro obbiettivo è solo quello di trovare un nuovo accordo con<br />
il Governo per rendere le nostre città e il nostro Paese sempre più solidi,<br />
competitivi e vivibili.</p>
<p>Per ulteriori informazioni potete consultare il sito <a title="http://www.anci.it" href="http://www.anci.it">www.anci.it</a>.</p>
<p>Un cordiale saluto.</p>
<p>Il Sindaco di Roma<br />
In qualità di Ufficiale di Governo<br />
(Giovanni Alemanno)</p>
<p>&nbsp;</p>
<div id="attachment_185" class="wp-caption alignnone" style="width: 1002px"><a rel="attachment wp-att-185" href="http://dino.ciuffetti.info/2011/09/lettera-del-sindaco-di-roma-ai-suoi-cittadini/lettera_alemanno/"><img class="size-full wp-image-185" title="lettera_alemanno" src="http://dino.ciuffetti.info/wp-content/uploads/2011/09/lettera_alemanno.jpg" alt="Lettera del Sindaco di Roma ai suoi cittadini" width="992" height="1403" /></a><p class="wp-caption-text">Alemanno: I tagli ai Comuni sono tagli ai tuoi diritti</p></div>
]]></content:encoded>
			<wfw:commentRss>http://dino.ciuffetti.info/2011/09/lettera-del-sindaco-di-roma-ai-suoi-cittadini/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to compile apache httpd 64 bits on Solaris 10 sparc</title>
		<link>http://dino.ciuffetti.info/2011/09/how-to-compile-apache-64bits-solaris-sparc/</link>
		<comments>http://dino.ciuffetti.info/2011/09/how-to-compile-apache-64bits-solaris-sparc/#comments</comments>
		<pubDate>Thu, 15 Sep 2011 13:09:36 +0000</pubDate>
		<dc:creator>dAm2K</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Open source]]></category>
		<category><![CDATA[Sysadmin pills]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[http]]></category>
		<category><![CDATA[install]]></category>
		<category><![CDATA[openssl]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[solaris]]></category>
		<category><![CDATA[sun]]></category>
		<category><![CDATA[sysadmin]]></category>

		<guid isPermaLink="false">http://dino.ciuffetti.info/?p=178</guid>
		<description><![CDATA[As usual we try to consider the &#8220;do it right (r)&#8221; way of doing configurations. Today we will compile Apache HTTPD on Sun Solaris 10 OS (SPARC). The first thing to do is to install the gcc c compiler if it is not already installed. To do so, download and install the package from www.sunfreeware.com. [...]]]></description>
			<content:encoded><![CDATA[<p>As usual we try to consider the &#8220;do it right (r)&#8221; way of doing configurations.<br />
Today we will compile Apache HTTPD on Sun Solaris 10 OS (SPARC).</p>
<p>The first thing to do is to install the gcc c compiler if it is not already installed.<br />
To do so, download and install the package from <a title="www.sunfreeware.com" href="http://www.sunfreeware.com/indexsparc10.html">www.sunfreeware.com</a>. Double read the package release notes.<br />
You have to download the latest gcc package and its dependencies. You probably will need also libiconv and libintl.<br />
Now download openssl-0-9.X package.</p>
<p>For each downloaded package install it with the command: dpkg -d &lt;full_path&gt;/your_package</p>
<p>When finished, go into your apache source directory and:</p>
<p>export LD_LIBRARY_PATH=/usr/sfw/lib/sparcv9:/usr/local/lib/sparcv9<br />
export PATH=/usr/sfw/bin:/usr/ccs/bin:/usr/local/ccs/bin:/usr/local/bin:$PATH</p>
<p># if you want it 64 bits:<br />
export CFLAGS=&#8221;-m64&#8243;<br />
# if you want it 32 bits:<br />
# export CFLAGS=&#8221;-m32&#8243;<br />
export LDFLAGS=&#8221;-L/usr/sfw/lib/sparcv9&#8243;</p>
<p>./configure &#8211;with-included-apr &#8211;with-expat=builtin &#8211;prefix=&lt;your_installation_path&gt; &#8211;enable-mods-shared=most &#8211;enable-ssl &#8211;with-ssl=/usr/sfw &#8211;enable-proxy &#8211;enable-proxy-connect &#8211;enable-proxy-http &#8211;enable-proxy-balancer</p>
<p>If the configure process terminated successfully, you can now call:</p>
<p>make</p>
<p>When finished, as usual, call:</p>
<p>make install</p>
<p>I recommend you to use gnu make. You can download it from sunfreeware.<br />
Now, if everything gone ok, you can try to start your brand new 64 bits apache full of powerfull modules.<br />
You may want to set your LD_LIBRARY_PATH variable into &lt;apache&gt;/bin/envvars file so that apachectl can find all the library it needs to start or stop the server.</p>
<p>Ciao, Dino.</p>
]]></content:encoded>
			<wfw:commentRss>http://dino.ciuffetti.info/2011/09/how-to-compile-apache-64bits-solaris-sparc/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>How to install the &#8220;Apache Tomcat Native&#8221; libtcnative module</title>
		<link>http://dino.ciuffetti.info/2011/09/how-to-install-the-apache-tomcat-native-module/</link>
		<comments>http://dino.ciuffetti.info/2011/09/how-to-install-the-apache-tomcat-native-module/#comments</comments>
		<pubDate>Mon, 12 Sep 2011 11:04:54 +0000</pubDate>
		<dc:creator>dAm2K</dc:creator>
				<category><![CDATA[Linux OS]]></category>
		<category><![CDATA[Open source]]></category>
		<category><![CDATA[Sysadmin pills]]></category>
		<category><![CDATA[ajp]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[apr]]></category>
		<category><![CDATA[connector]]></category>
		<category><![CDATA[http]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[openssl]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[sysadmin]]></category>
		<category><![CDATA[tomcat]]></category>

		<guid isPermaLink="false">http://dino.ciuffetti.info/?p=171</guid>
		<description><![CDATA[The Apache Tomcat Native module, also called &#8220;TC-Native library&#8221; or &#8220;libtcnative&#8221;, is a library that implements HTTP, HTTPS and AJP connectors in tomcat using the Apache APR library. This ensure great scalability and performance because permits tomcat to access server native technologies like openssl, system calls like sendfile() or epoll(), advanced I/O, OS level functionality [...]]]></description>
			<content:encoded><![CDATA[<p>The Apache Tomcat Native module, also called &#8220;TC-Native library&#8221; or &#8220;libtcnative&#8221;, is a library that implements HTTP, HTTPS and AJP connectors in tomcat using the Apache APR library. This ensure great scalability and performance because permits tomcat to access server native technologies like openssl, system calls like sendfile() or epoll(), advanced I/O, OS level functionality and native Inter Process Communication.</p>
<p>To install libtcnative you must first have a working C compiler environment, a valid &#8220;apr&#8221; and &#8220;openssl&#8221; installation with the development libraries, a working apache tomcat 6.0.X and a Java JDK.</p>
<p>On debian it&#8217;s as simple as to run:</p>
<p><strong>apt-get install build-essential libapr1-dev libssl-dev</strong></p>
<p>The libtcnative source software can be found in the Tomcat binary bundle, in the bin/tomcat-native.tar.gz archive, but if you want the latest version you can find it here: <a title="http://tomcat.apache.org/native-doc/" href="http://tomcat.apache.org/native-doc/">http://tomcat.apache.org/native-doc/</a></p>
<p>Untar the tomcat-native archive, then:</p>
<p><strong>cd tomcat-native-1.*/jni/native<br />
./configure &#8211;with-apr=`which apr-1-config` &#8211;with-java-home=$JAVA_HOME &#8211;with-ssl=yes &#8211;prefix=$CATALINA_HOME</strong></p>
<p>If you want or need to, you can pass the correct path of APR and OpenSSL libraries to the &#8211;with-apr and &#8211;with-ssl parameters.<br />
CATALINA_HOME and JAVA_HOME are the path of the Java JDK and Tomcat installations.<strong></strong></p>
<p>After the configure script succeeded, you have to:</p>
<p><strong>make</strong><br />
<strong>make install</strong></p>
<p>Now, the libtcnative library should be correctly installed into &#8220;$CATALINA_HOME/lib&#8221;.<br />
If you want you can now configure tomcat with the new connectors parameters.</p>
<p>The official project page of libtcnative is here: <a title="http://tomcat.apache.org/native-doc/" href="http://tomcat.apache.org/native-doc/">http://tomcat.apache.org/native-doc/</a><br />
The documentation page of the tomcat 6 APR native functionality is here: <a title="http://tomcat.apache.org/tomcat-6.0-doc/apr.html" href="http://tomcat.apache.org/tomcat-6.0-doc/apr.html">http://tomcat.apache.org/tomcat-6.0-doc/apr.html</a></p>
<p>Hope this help someone to speed installation.<br />
Ciao a tutti, Dino Ciuffetti.</p>
]]></content:encoded>
			<wfw:commentRss>http://dino.ciuffetti.info/2011/09/how-to-install-the-apache-tomcat-native-module/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>orientdb.sh: line 52: return: can only `return&#8217; from a function or sourced script</title>
		<link>http://dino.ciuffetti.info/2011/09/orientdb-return-can-only-return-from-a-function/</link>
		<comments>http://dino.ciuffetti.info/2011/09/orientdb-return-can-only-return-from-a-function/#comments</comments>
		<pubDate>Thu, 08 Sep 2011 15:18:13 +0000</pubDate>
		<dc:creator>dAm2K</dc:creator>
				<category><![CDATA[Linux OS]]></category>
		<category><![CDATA[Open source]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[orientdb]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[sysadmin]]></category>
		<category><![CDATA[unix]]></category>

		<guid isPermaLink="false">http://dino.ciuffetti.info/?p=165</guid>
		<description><![CDATA[If you are using the powerful orientdb engine on linux/unix you may catch the following error when executing bin/orientdb.sh: ./orientdb.sh: line 52: return: can only `return&#8217; from a function or sourced script This is because of bash that does not permit the use of &#8220;return&#8221; from the main script body. I prepared (and published to [...]]]></description>
			<content:encoded><![CDATA[<p>If you are using the powerful orientdb engine on linux/unix you may catch the following error when executing bin/orientdb.sh:</p>
<p><strong>./orientdb.sh: line 52: return: can only `return&#8217; from a function or sourced script</strong></p>
<p>This is because of bash that does not permit the use of &#8220;return&#8221; from the main script body.<br />
I prepared (and published to the orientdb list) a small patch that you can use if you don&#8217;t want to recompile the entire orientdb engine to solve this simple problem.</p>
<p>The problem it&#8217;s solved in SVN revision 3804 or greater.</p>
<p><a rel="attachment wp-att-168" href="http://dino.ciuffetti.info/2011/09/orientdb-return-can-only-return-from-a-function/orientdb-sh-patch/">orientdb.sh.patch.gz</a></p>
]]></content:encoded>
			<wfw:commentRss>http://dino.ciuffetti.info/2011/09/orientdb-return-can-only-return-from-a-function/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to map DNS responses based to user&#8217;s geo location</title>
		<link>http://dino.ciuffetti.info/2011/09/how-to-map-dns-responses-geo-location/</link>
		<comments>http://dino.ciuffetti.info/2011/09/how-to-map-dns-responses-geo-location/#comments</comments>
		<pubDate>Wed, 07 Sep 2011 13:43:16 +0000</pubDate>
		<dc:creator>dAm2K</dc:creator>
				<category><![CDATA[Linux OS]]></category>
		<category><![CDATA[Open source]]></category>
		<category><![CDATA[Sysadmin pills]]></category>
		<category><![CDATA[What I'm doing]]></category>
		<category><![CDATA[blacklist]]></category>
		<category><![CDATA[dns]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[policy]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[sysadmin]]></category>

		<guid isPermaLink="false">http://dino.ciuffetti.info/?p=148</guid>
		<description><![CDATA[In this short abstract I&#8217;ll show you how did I make my work on trying to create a highly scalable, geo localized and distributed system using the DNS. What we are going to create is a simple but powerful DNS system that can handle queries for a domain returning records based on the user&#8217;s geo [...]]]></description>
			<content:encoded><![CDATA[<p>In this short abstract I&#8217;ll show you how did I make my work on trying to create a highly scalable, geo localized and distributed system using the DNS.</p>
<p><strong>What we are going to create is a simple but powerful DNS system that can handle queries for a domain returning records based on the user&#8217;s geo location.</strong></p>
<p>To accomplish this task we have to choose a good opensource DNS server. My choice was <strong>powerdns</strong> (<a title="http://wiki.powerdns.com/trac" href="http://wiki.powerdns.com/trac">http://wiki.powerdns.com/trac</a>).<br />
Powerdns is a great piece of software. It&#8217;s a powerful DNS server daemon that can be configured to fit in different DNS environments.<br />
You can save domain zones into different backends (MySQL, Oracle, bind zone file, ldap, etc), and you can have primary and secondary DNS servers with automatic zone replication. This is all what you need to create a full featured DNS system.</p>
<p>One of the powerdns backends do accomplish the geo lookup task, and it&#8217;s called &#8220;geobackend&#8221; (<a title="http://wiki.powerdns.com/trac/browser/trunk/pdns/modules/geobackend/README" href="http://wiki.powerdns.com/trac/browser/trunk/pdns/modules/geobackend/README">http://wiki.powerdns.com/trac/browser/trunk/pdns/modules/geobackend/README</a>).</p>
<p><strong>Our test environment will consist in a primary DNS server (powerdns as a master), a secondary DNS server (powerdns as a slave) and a geo lookup DNS server (powerdns as master with geobackend enabled). We will enable automatic zone transfer between the primary and the slave server, so that if you add a new record on the master it will be automatically created on the slave.<br />
</strong></p>
<p>So, we need 3 servers with powerdns installed. The installation process may be different in each case, but if you are using debian, the task can be as simple as running by root the following command:<br />
<strong>apt-get install pdns-server</strong></p>
<p>Now you need the backend where you will save the zone data. May be you want to choose &#8220;MySQL&#8221; for the master and &#8220;bind format file&#8221; for the slave DNS. The geo dns server will not need a zone backend because its single task is to retrieve the caller&#8217;s IP address and fetch its geographic location from a particular location file, then lookup this location from a map file and return back to the calling user the associated CNAME record that&#8217;s into the map file.<br />
A quick brain guideline is given below.<strong> </strong></p>
<p><strong>My system (yourdomain.com) is composed like this:<br />
</strong>ns1.yourdomain.com (primary DNS server with mysql backend)<br />
ns2.yourdomain.com (secondary DNS server with auto zone replication on bind zone file)<br />
ns1.geo.yourdomain.com (geo lookup DNS server with geobackend)<strong></strong></p>
<p>I executed the steps below:</p>
<p>On ns1.yourdomain.com you have to:<br />
1) install powerdns with the gmysql backend<br />
2) install MySQL server, create a database and grant a user on that DB<br />
3) configure powerdns as master, with gmysql backend connecting to MySQL<br />
4) please note that this server is authoritative to the &#8220;yourdomain.com&#8221; zone<br />
5) delegate the &#8220;geo&#8221; zone with a NS record to the geo dns server: &#8220;geo IN NS ns1.geo.yourdomain.com&#8221;<br />
6) create the glue record for the geodns with the record: &#8220;ns1.geo IN A ip_geo_dns_server&#8221;</p>
<p>On ns2.yourdomain.com you have to:<br />
1) install powerdns with the bind backend<br />
2) configure powerdns to be a slave with bind backend and enable ns1.yourdomain.com as a supermaster<br />
3) please note that this server is authoritative to the &#8220;yourdomain.com&#8221; zone</p>
<p>On ns1.geo.yourdomain.com you have to:<br />
1) install powerdns with the geo backend<br />
2) configure powerdns as master with geobackend<br />
3) please note that this server is authoritative to the &#8220;geo.yourdomain.com&#8221; zone<br />
4) create a map file to handle the association between your country location (eg: uk) and the CNAME that the server will reply<br />
5) download the location database zone, for example I use: zz.countries.nerd.dk (<a title="http://countries.nerd.dk/" href="http://countries.nerd.dk/">http://countries.nerd.dk/</a>)</p>
<p>If you need how to do that in details please do not hesitate to write me a email. You will find it into my contact page.<br />
Ciao, Dino.</p>
]]></content:encoded>
			<wfw:commentRss>http://dino.ciuffetti.info/2011/09/how-to-map-dns-responses-geo-location/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CVE-2011-3192 &#8211; Apache killer DOS vulnerability</title>
		<link>http://dino.ciuffetti.info/2011/08/cve-2011-3192-apachekiller/</link>
		<comments>http://dino.ciuffetti.info/2011/08/cve-2011-3192-apachekiller/#comments</comments>
		<pubDate>Wed, 31 Aug 2011 21:23:37 +0000</pubDate>
		<dc:creator>dAm2K</dc:creator>
				<category><![CDATA[General news]]></category>
		<category><![CDATA[Linux OS]]></category>
		<category><![CDATA[Open source]]></category>
		<category><![CDATA[Sysadmin pills]]></category>
		<category><![CDATA[What's hot]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[http]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[sysadmin]]></category>

		<guid isPermaLink="false">http://dino.ciuffetti.info/?p=145</guid>
		<description><![CDATA[Hi people. On August 2011 has been discovered that apache httpd server is vulnerable to a simple to perform DOS attack. A simple perl exploit has been released called apache killer that make a big number of parrallel crafted HTTP calls (HEAD method) with the &#8220;Range&#8221; header. This make possibile to the attacker to consume [...]]]></description>
			<content:encoded><![CDATA[<p>Hi people. On August 2011 has been discovered that apache httpd server is vulnerable to a simple to perform DOS attack. A simple perl exploit has been released called apache killer that make a big number of parrallel crafted HTTP calls (HEAD method) with the &#8220;Range&#8221; header. This make possibile to the attacker to consume memory and cpu on the attacked server bringing apache and the system down in no time. The attacker does not need large bandwidth to perform the attack.</p>
<p><strong>Anyone using apache httpd in production environment is encouraged to upgrade to the latest apache version that solve the security problem.</strong></p>
<p>If you cannot upgrade to &gt;= 2.2.20 you can use mod_rewrite to deny requests with the Range header like the rewrite regexp below. This is what you need on your httpd.conf:</p>
<p>RewriteCond %{HTTP:range} ^bytes=[^,]+(,[^,]+){0,4}$<br />
RewriteRule .* &#8211; [F]</p>
<p>You can find the exploit script on google. I will not put it here.<br />
Ciao, Dino.</p>
]]></content:encoded>
			<wfw:commentRss>http://dino.ciuffetti.info/2011/08/cve-2011-3192-apachekiller/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apache: [error] (28)No space left on device: Cannot create SSLMutex</title>
		<link>http://dino.ciuffetti.info/2011/08/apache-cannot-create-sslmutex/</link>
		<comments>http://dino.ciuffetti.info/2011/08/apache-cannot-create-sslmutex/#comments</comments>
		<pubDate>Fri, 12 Aug 2011 06:39:38 +0000</pubDate>
		<dc:creator>dAm2K</dc:creator>
				<category><![CDATA[Linux OS]]></category>
		<category><![CDATA[Open source]]></category>
		<category><![CDATA[Sysadmin pills]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[sysadmin]]></category>

		<guid isPermaLink="false">http://dino.ciuffetti.info/?p=140</guid>
		<description><![CDATA[When you work as a horizontal support tech consultant for a very big company you may have to do with people that has basic linux/opensource knowledge and commercial system stuff (win, unix) skills. You may even have to do (&#8230; !?!?) with very prepared people (&#8230;). Someone here takes care of apache installations and apache [...]]]></description>
			<content:encoded><![CDATA[<p>When you work as a horizontal support tech consultant for a very big company you may have to do with people that has basic linux/opensource knowledge and commercial system stuff (win, unix) skills. You may even have to do (&#8230; !?!?) with very prepared people (&#8230;).</p>
<p>Someone here takes care of apache installations and apache itself is very robust and stable so we all can sleep quietly, the problem comes out when someone with less OS system skills fires &#8220;kill -9&#8243; on apache processes to stop it.</p>
<p><span style="font-family: Times New Roman; font-size: small;">[Thu Aug 11 17:47:01 2011] [error] (28)No space left on device: Cannot create SSLMutex<br />
Configuration Failed</span></p>
<p><span style="font-family: Times New Roman; font-size: small;">And apache does no longer come up and running.</span></p>
<p><span style="font-family: Times New Roman; font-size: small;">The trouble may be weird because one could read &#8220;</span>No space left on device&#8221; without reading the real error message: &#8220;Cannot create SSLMutex&#8221;.<br />
But the problem is really easy to understand if you try to figure out what is going on at syscall OS level when apache starts up. This can be done with &#8220;strace&#8221; command on linux (&#8220;truss&#8221; or &#8220;tusc&#8221; on other expensive unix environments&#8230;).</p>
<p><strong>The problem is caused by IPC SysV semaphores still standing up on the system from the previous apache kill</strong>.</p>
<p>The definitive solution here is to stop apache with &#8220;apachectl&#8221; command or calling &#8220;kill -15&#8243; (and not kill -9 !!!!) on the apache father process. This way you are instructing apache to stop gracefully, the father kills his childs and cleanup semaphores and the like, the clean way.</p>
<p>To solve your problem you have to cleanup hanging semaphores. You could reboot linux, but this is avoided on any serious environment, so which is the magic command?</p>
<p>If apache runs with &#8220;apache&#8221; user you can call this command to clean up semaphores created by the &#8220;apache&#8221; user:</p>
<p>ipcs -s | grep apache | perl -e &#8216;while (&lt;STDIN&gt;) <a href="https://mail.telecomitalia.it/owa/redir.aspx?C=1f02cbf6f0e0461b9f77244d620ebd58&amp;URL=mailto%3a%257B%40a%3dsplit%28%2f%5cs%2b%2f"> {@a=split(/\s+/</a>); print `ipcrm sem $a[1]`}&#8217;</p>
<p>You could do &#8220;ipcs -s | grep apache&#8221; to see the semaphores first, and then call ipcrm on each to clean it up.<br />
Try to start apache now and the problem would solve.</p>
<p>The other way is to change the apache serialization mechanism from semaphores to pthread mutexes or fcntl. To do so you have to:</p>
<p>1) set &#8220;AcceptMutex fcntl&#8221; on httpd.conf<br />
2) set &#8220;SSLMutex pthread&#8221; on httpd-ssl.conf</p>
<p>Hope this help someone&#8230; <img src='http://dino.ciuffetti.info/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Ciao, Dino.</p>
]]></content:encoded>
			<wfw:commentRss>http://dino.ciuffetti.info/2011/08/apache-cannot-create-sslmutex/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

