<?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>Temporini Matteo &#187; hosting</title>
	<atom:link href="http://www.temporini.net/category/hosting/feed" rel="self" type="application/rss+xml" />
	<link>http://www.temporini.net</link>
	<description>It&#039;s time to fix!</description>
	<lastBuildDate>Thu, 29 Jul 2010 22:13:28 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Virtual User con Postifx e spamassassin&#8230; come migliorare il controllo Antispam!!</title>
		<link>http://www.temporini.net/virtual-user-con-postifx-e-spamassassin-come-migliorare-il-controllo-antispam</link>
		<comments>http://www.temporini.net/virtual-user-con-postifx-e-spamassassin-come-migliorare-il-controllo-antispam#comments</comments>
		<pubDate>Wed, 07 Apr 2010 15:09:53 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Matteo]]></category>
		<category><![CDATA[Postfix]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[hosting]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mail]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[networking]]></category>
		<category><![CDATA[reti]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[sicurezza]]></category>
		<category><![CDATA[virtualhost]]></category>
		<category><![CDATA[antispam]]></category>
		<category><![CDATA[filesystem]]></category>
		<category><![CDATA[ham]]></category>
		<category><![CDATA[horde]]></category>
		<category><![CDATA[Postifx]]></category>
		<category><![CDATA[spam]]></category>
		<category><![CDATA[spamassassin]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Virtual]]></category>
		<category><![CDATA[virtual users]]></category>
		<category><![CDATA[vmail]]></category>

		<guid isPermaLink="false">http://www.temporini.net/?p=331</guid>
		<description><![CDATA[<p>Un po&#8217; di tempo fa ho scritto un articolo su come configurare Virtual Users And Domains With Postfix, Courier, MySQL (Ubuntu 8.04 LTS 64bit), ora a partire da questo articolo vediamo come poter migliorare l&#8217;identificazione dello spam tramite il comando sa-learn di spamassassin, e l&#8217;utilizzo dell&#8217;opzione &#8211;spam e &#8211;ham.</p>
<p>Innanzitutto facciamo una distinzione fra Spam e Ham</p>
<p>Spam [...]]]></description>
			<content:encoded><![CDATA[<p>Un po&#8217; di tempo fa ho scritto un articolo su come configurare <a title="Virtual Users And Domains With Postfix, Courier, MySQL (Ubuntu 8.04 LTS 64bit)" href="http://www.temporini.net/virtual-users-and-domains-with-postfix-courier-mysql-and-ubuntu-804-lts-64bit" target="_blank">Virtual Users And Domains With Postfix, Courier, MySQL (Ubuntu 8.04 LTS 64bit)</a>, ora a partire da questo articolo vediamo come poter migliorare l&#8217;identificazione dello <a href="http://www.temporini.net/tag/spam" class="st_tag internal_tag" rel="tag" title="Posts tagged with spam">spam</a> tramite il comando sa-learn di spamassassin, e l&#8217;utilizzo dell&#8217;opzione &#8211;<a href="http://www.temporini.net/tag/spam" class="st_tag internal_tag" rel="tag" title="Posts tagged with spam">spam</a> e &#8211;ham.</p>
<p>Innanzitutto facciamo una distinzione fra <a href="http://www.temporini.net/tag/spam" class="st_tag internal_tag" rel="tag" title="Posts tagged with spam">Spam</a> e Ham</p>
<p><a href="http://www.temporini.net/tag/spam" class="st_tag internal_tag" rel="tag" title="Posts tagged with spam">Spam</a> : sono le email indesiderate che non si vogliono ricevere, e che quindi vanno scartate, taggate o comunque a cui va fatto aumentare il valore di <a href="http://www.temporini.net/tag/spam" class="st_tag internal_tag" rel="tag" title="Posts tagged with spam">spam</a> in caso di matching del contenuto con i nostri db di <a href="http://www.temporini.net/tag/spam" class="st_tag internal_tag" rel="tag" title="Posts tagged with spam">spam</a>.</p>
<p>Ham: sono le mail buone (Ham = prosciutto BUONO!), le email che quindi vogliamo tenere.</p>
<p>Dalla nostra webmail, creiamo una cartella che si chiama <a href="http://www.temporini.net/tag/spam" class="st_tag internal_tag" rel="tag" title="Posts tagged with spam">Spam</a> e che verrà quindi creata sul <a href="http://www.temporini.net/tag/filesystem" class="st_tag internal_tag" rel="tag" title="Posts tagged with filesystem">filesystem</a> in una cartellina che si chiama .<a href="http://www.temporini.net/tag/spam" class="st_tag internal_tag" rel="tag" title="Posts tagged with spam">Spam</a></p>
<p>Ricordando brevemente la struttura delle directory che abbiamo assegnato per ogni email avremo una struttura simile alla seguente</p>
<p><code>ls -al /home/<a href="http://www.temporini.net/tag/vmail" class="st_tag internal_tag" rel="tag" title="Posts tagged with vmail">vmail</a>/domain.tld/info</code></p>
<p><code>drwx------  6 <a href="http://www.temporini.net/tag/vmail" class="st_tag internal_tag" rel="tag" title="Posts tagged with vmail">vmail</a> <a href="http://www.temporini.net/tag/vmail" class="st_tag internal_tag" rel="tag" title="Posts tagged with vmail">vmail</a> 4096 2010-02-23 19:18 .Bozze</code><br />
<code>drwx------  6 <a href="http://www.temporini.net/tag/vmail" class="st_tag internal_tag" rel="tag" title="Posts tagged with vmail">vmail</a> <a href="http://www.temporini.net/tag/vmail" class="st_tag internal_tag" rel="tag" title="Posts tagged with vmail">vmail</a> 4096 2010-02-23 19:18 .Cestino</code><br />
<code>drwx------  2 <a href="http://www.temporini.net/tag/vmail" class="st_tag internal_tag" rel="tag" title="Posts tagged with vmail">vmail</a> <a href="http://www.temporini.net/tag/vmail" class="st_tag internal_tag" rel="tag" title="Posts tagged with vmail">vmail</a> 4096 2010-04-07 12:05 courierimapkeywords</code><br />
<code>-rw-r--r--  1 <a href="http://www.temporini.net/tag/vmail" class="st_tag internal_tag" rel="tag" title="Posts tagged with vmail">vmail</a> <a href="http://www.temporini.net/tag/vmail" class="st_tag internal_tag" rel="tag" title="Posts tagged with vmail">vmail</a>  105 2010-02-23 19:48 courierimapsubscribed</code><br />
<code>-rw-r--r--  1 <a href="http://www.temporini.net/tag/vmail" class="st_tag internal_tag" rel="tag" title="Posts tagged with vmail">vmail</a> <a href="http://www.temporini.net/tag/vmail" class="st_tag internal_tag" rel="tag" title="Posts tagged with vmail">vmail</a> 1193 2010-04-07 11:56 courierimapuiddb</code><br />
<code>drwx------  2 <a href="http://www.temporini.net/tag/vmail" class="st_tag internal_tag" rel="tag" title="Posts tagged with vmail">vmail</a> <a href="http://www.temporini.net/tag/vmail" class="st_tag internal_tag" rel="tag" title="Posts tagged with vmail">vmail</a> 4096 2010-04-07 12:01 cur</code><br />
<code>drwx------  6 <a href="http://www.temporini.net/tag/vmail" class="st_tag internal_tag" rel="tag" title="Posts tagged with vmail">vmail</a> <a href="http://www.temporini.net/tag/vmail" class="st_tag internal_tag" rel="tag" title="Posts tagged with vmail">vmail</a> 4096 2010-04-07 12:41 .Drafts</code><br />
<code>drwx------  2 <a href="http://www.temporini.net/tag/vmail" class="st_tag internal_tag" rel="tag" title="Posts tagged with vmail">vmail</a> <a href="http://www.temporini.net/tag/vmail" class="st_tag internal_tag" rel="tag" title="Posts tagged with vmail">vmail</a> 4096 2010-04-07 11:56 new</code><br />
<code>drwx------  6 <a href="http://www.temporini.net/tag/vmail" class="st_tag internal_tag" rel="tag" title="Posts tagged with vmail">vmail</a> <a href="http://www.temporini.net/tag/vmail" class="st_tag internal_tag" rel="tag" title="Posts tagged with vmail">vmail</a> 4096 2010-04-07 12:43 .Sent</code><br />
<code>drwx------  6 <a href="http://www.temporini.net/tag/vmail" class="st_tag internal_tag" rel="tag" title="Posts tagged with vmail">vmail</a> <a href="http://www.temporini.net/tag/vmail" class="st_tag internal_tag" rel="tag" title="Posts tagged with vmail">vmail</a> 4096 2010-02-23 15:53 .sent-mail</code><br />
<code>drwx------  6 <a href="http://www.temporini.net/tag/vmail" class="st_tag internal_tag" rel="tag" title="Posts tagged with vmail">vmail</a> <a href="http://www.temporini.net/tag/vmail" class="st_tag internal_tag" rel="tag" title="Posts tagged with vmail">vmail</a> 4096 2010-02-23 19:18 .<a href="http://www.temporini.net/tag/spam" class="st_tag internal_tag" rel="tag" title="Posts tagged with spam">Spam</a></code><br />
<code>drwx------  6 <a href="http://www.temporini.net/tag/vmail" class="st_tag internal_tag" rel="tag" title="Posts tagged with vmail">vmail</a> <a href="http://www.temporini.net/tag/vmail" class="st_tag internal_tag" rel="tag" title="Posts tagged with vmail">vmail</a> 4096 2010-02-23 19:51 .Templates</code><br />
<code>drwx------  2 <a href="http://www.temporini.net/tag/vmail" class="st_tag internal_tag" rel="tag" title="Posts tagged with vmail">vmail</a> <a href="http://www.temporini.net/tag/vmail" class="st_tag internal_tag" rel="tag" title="Posts tagged with vmail">vmail</a> 4096 2010-04-07 16:51 tmp</code><br />
<code>drwx------  6 <a href="http://www.temporini.net/tag/vmail" class="st_tag internal_tag" rel="tag" title="Posts tagged with vmail">vmail</a> <a href="http://www.temporini.net/tag/vmail" class="st_tag internal_tag" rel="tag" title="Posts tagged with vmail">vmail</a> 4096 2010-03-02 20:22 .Trash</code></p>
<p>Tutti le email di tutti i domini hanno questa struttura, quindi cosa succede&#8230;</p>
<p>Quando dalla nostra webmail vediamo che c&#8217;è un&#8217;email che ha passato i nostri antispam, non facciamo altro che dire &#8220;no questa email la sposto nella cartellina <a href="http://www.temporini.net/tag/spam" class="st_tag internal_tag" rel="tag" title="Posts tagged with spam">Spam</a>!&#8221;. (da <a href="http://www.temporini.net/tag/horde" class="st_tag internal_tag" rel="tag" title="Posts tagged with horde">horde</a> c&#8217;è un opzione che permette eventualmente di marcare un&#8217;email come <a href="http://www.temporini.net/tag/spam" class="st_tag internal_tag" rel="tag" title="Posts tagged with spam">spam</a> e automaticamente spostarla in quella cartella).</p>
<p>A questo punto noi avremo che in:</p>
<p><code>/home/<a href="http://www.temporini.net/tag/vmail" class="st_tag internal_tag" rel="tag" title="Posts tagged with vmail">vmail</a>/domain.tld/info/cur = avremo le mail buone (Ham)</code></p>
<p>mentre in</p>
<p><code>/home/<a href="http://www.temporini.net/tag/vmail" class="st_tag internal_tag" rel="tag" title="Posts tagged with vmail">vmail</a>/domain.tld/info/.<a href="http://www.temporini.net/tag/spam" class="st_tag internal_tag" rel="tag" title="Posts tagged with spam">Spam</a> = avremo le email di <a href="http://www.temporini.net/tag/spam" class="st_tag internal_tag" rel="tag" title="Posts tagged with spam">Spam</a></code></p>
<p>Sfruttando questo possiamo creare una regola ad hoc, per fare &#8220;imparare&#8221; a spamassassin, quali sono le mail buone e quali quelle cattive.</p>
<p>Mettiamo tutto in crontab per ottenere questo:</p>
<p><code>20 * * * * /usr/bin/sa-learn --<a href="http://www.temporini.net/tag/spam" class="st_tag internal_tag" rel="tag" title="Posts tagged with spam">spam</a> /home/<a href="http://www.temporini.net/tag/vmail" class="st_tag internal_tag" rel="tag" title="Posts tagged with vmail">vmail</a>/*/*/.<a href="http://www.temporini.net/tag/spam" class="st_tag internal_tag" rel="tag" title="Posts tagged with spam">Spam</a>/* &amp;&gt; /dev/null</code><br />
<code>10 * * * * /usr/bin/sa-learn --ham /home/<a href="http://www.temporini.net/tag/vmail" class="st_tag internal_tag" rel="tag" title="Posts tagged with vmail">vmail</a>/*/*/cur/* &amp;&gt; /dev/null</code></p>
<p>Ai 10  e 20 minuti di ogni ora verranno fatti gli aggiornamenti e il nostro sistema &#8220;imparerà&#8221; da noi quali sono le mail che non sono <a href="http://www.temporini.net/tag/spam" class="st_tag internal_tag" rel="tag" title="Posts tagged with spam">spam</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.temporini.net/virtual-user-con-postifx-e-spamassassin-come-migliorare-il-controllo-antispam/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Virtual Users And Domains With Postfix, Courier, MySQL (Ubuntu 8.04 LTS 64bit)</title>
		<link>http://www.temporini.net/virtual-users-and-domains-with-postfix-courier-mysql-and-ubuntu-804-lts-64bit</link>
		<comments>http://www.temporini.net/virtual-users-and-domains-with-postfix-courier-mysql-and-ubuntu-804-lts-64bit#comments</comments>
		<pubDate>Tue, 27 Jan 2009 15:52:15 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[DNS]]></category>
		<category><![CDATA[Domain Name System]]></category>
		<category><![CDATA[Postfix]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[cyrus]]></category>
		<category><![CDATA[hosting]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[imap]]></category>
		<category><![CDATA[mail]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[pop3]]></category>
		<category><![CDATA[posta]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[servizi]]></category>
		<category><![CDATA[sicurezza]]></category>
		<category><![CDATA[smtp]]></category>
		<category><![CDATA[virtualhost]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[webserver]]></category>
		<category><![CDATA[configurazione]]></category>
		<category><![CDATA[cyrus imap posta mail]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[Matteo]]></category>
		<category><![CDATA[networking]]></category>
		<category><![CDATA[phpmyadmin]]></category>

		<guid isPermaLink="false">http://www.temporini.net/?p=233</guid>
		<description><![CDATA[<p>Questa guida vuole essere una quick reference per installare un server di posta con antispam e gestione relativamente semplice di utenti e domini, tramite ubuntu 8.04 TLS 64bit.</p>
<p>Le feature principali sono:</p>
<p>- SMTP-AUTH e TLS</p>
<p>- password encrypted</p>
<p>- Amavisd, SpamAssassin e ClamAV</p>
<p></p>
<p>La guida di riferimento principale la potete trovare all&#8217;indirizzo http://www.howtoforge.com/virtual-users-domains-postfix-courier-mysql-squirrelmail-ubuntu8.04, la scrivo per il semplice motivo che [...]]]></description>
			<content:encoded><![CDATA[<p>Questa guida vuole essere una <strong>quick reference</strong> per installare un server di posta con antispam e gestione relativamente semplice di utenti e domini, tramite ubuntu 8.04 TLS <strong>64bit</strong>.</p>
<p>Le feature principali sono:</p>
<p>- <strong>SMTP-AUTH </strong>e<strong> TLS</strong></p>
<p><strong>- </strong>password<strong> </strong><strong>encrypted</strong></p>
<p><strong>- </strong><strong>Amavisd</strong>, <strong>SpamAssassin</strong> e <strong>ClamAV</strong></p>
<p><span id="more-233"></span></p>
<p>La guida di riferimento principale la potete trovare all&#8217;indirizzo <a href="http://www.howtoforge.com/virtual-users-domains-postfix-courier-mysql-squirrelmail-ubuntu8.04">http://www.howtoforge.com/virtual-users-domains-postfix-courier-mysql-squirrelmail-ubuntu8.04</a>, la scrivo per il semplice motivo che la versione di ubuntu a 64bit differisce per alcuni pacchetti rispetto alla versione equivalente a 32bit. A differenza della guida principale ho deciso di non utilizzare la quota, in quanto volevo un sistema che non necessitasse di alcun tipo di ricompilazione esterna.</p>
<h3><strong>1. Preliminari</strong></h3>
<p>Eseguiamo:<br />
<code>root@localhost: sudo su</code><br />
<code>root@localhost: ln -sf /bin/bash /bin/sh</code><br />
<code>root@localhost: /etc/init.d/apparmor stop</code><br />
<code>root@localhost: update-rc.d -f apparmor remove</code></p>
<h3>2. Install Postfix, Courier, Saslauthd, MySQL, phpMyAdmin</h3>
<p>Procediamo con l&#8217;installazione dei pacchetti che ci servono:</p>
<p><code>root@localhost: apt-get install postfix postfix-mysql postfix-doc mysql-client mysql-server courier-authdaemon courier-authlib-mysql courier-pop courier-pop-ssl courier-imap courier-imap-ssl libsasl2-2 libsasl2-modules libsasl2-modules-sql sasl2-bin libpam-mysql openssl phpmyadmin apache2 libapache2-mod-php5 php5 php5-mysql libpam-smbpass</code></p>
<p>A questo punto vi verranno fatte delle domande post installazione a cui dovrete risopndere come a seguire:</p>
<p><span class="system">New password for the MySQL &#8220;root&#8221; user:</span> <span class="highlight">&lt;&#8211; <strong>yourrootsqlpassword</strong></span><br />
<span class="system">Repeat password for the MySQL &#8220;root&#8221; user:</span> <span class="highlight">&lt;&#8211; <strong>yourrootsqlpassword</strong></span><br />
<span class="system">Create directories for <a href="http://www.temporini.net/tag/web" class="st_tag internal_tag" rel="tag" title="Posts tagged with web">web</a>-based administration?</span> <span class="highlight">&lt;&#8211; <strong>No</strong></span><br />
<span class="system">General type of mail configuration:</span> <span class="highlight">&lt;&#8211; <strong><a href="http://www.temporini.net/tag/internet" class="st_tag internal_tag" rel="tag" title="Posts tagged with Internet">Internet</a> Site</strong></span><br />
<span class="system">System mail name:</span> <span class="highlight">&lt;&#8211; <strong>server1.example.com</strong></span><br />
<span class="system">SSL certificate required</span> <span class="highlight">&lt;&#8211; <strong>Ok</strong></span><br />
<span class="system"><a href="http://www.temporini.net/tag/web" class="st_tag internal_tag" rel="tag" title="Posts tagged with web">Web</a> server to reconfigure automatically:</span> <span class="highlight">&lt;&#8211; <strong>apache2</strong></span></p>
<p><span class="highlight">A questo punto sulla guida originale si passava alla configurazione della quota, che noi non vogliamo usare, se voi volete farlo, prendete come riferimento la guida originale.</span></p>
<h3><span class="highlight">3. Creiamo </span>il database MySQL per Postfix/Courier</h3>
<p>Creiamo il database <em>mail</em></p>
<p><code>root@localhost: mysqladmin -u root -p create mail</code></p>
<p>entriamo nella shell di mysql</p>
<p><code>root@localhost: mysql -u root -p</code></p>
<p>On the MySQL shell, we create the user <span class="system">mail_admin</span> with the passwort <span class="system">mail_admin_password</span> (replace it with your own password) who has <span class="system">SELECT,INSERT,UPDATE,DELETE</span> privileges on the <span class="system">mail</span> database. This user will be used by Postfix and Courier to connect to the mail database</p>
<p>Sulla shell di MySQL, creeremo l&#8217;utente <em>mail_admin</em> con la password &#8220;<em>mail_admin_password</em>&#8220;, che avrà diritti di SELECT,INSERT,UPDATE,DELETE sul database <em>mail</em>.</p>
<p><code>mysql&gt; GRANT SELECT, INSERT, UPDATE, DELETE ON mail.* TO 'mail_admin'@'localhost' IDENTIFIED BY 'mail_admin_password';</code><br />
<code>mysql&gt; GRANT SELECT, INSERT, UPDATE, DELETE ON mail.* TO 'mail_admin'@'localhost.localdomain' IDENTIFIED BY 'mail_admin_password';</code><br />
<code>mysql&gt; FLUSH PRIVILEGES;</code></p>
<p>selezioniamo ora il database <em>mail</em></p>
<p><code>mysql&gt; USE mail;</code></p>
<p>Creiamo ora le tabelle che ci servono:</p>
<p><code>CREATE TABLE domains (<br />
domain varchar(50) NOT NULL,<br />
PRIMARY KEY (domain) )<br />
TYPE=MyISAM;</code></p>
<p><code>CREATE TABLE forwardings (<br />
source varchar(80) NOT NULL,<br />
destination TEXT NOT NULL,<br />
PRIMARY KEY (source) )<br />
TYPE=MyISAM;</code></p>
<p><code>CREATE TABLE users (<br />
email varchar(80) NOT NULL,<br />
password varchar(20) NOT NULL,<br />
PRIMARY KEY (email)<br />
) TYPE=MyISAM;</code></p>
<p><code>CREATE TABLE transport (<br />
domain varchar(128) NOT NULL default '',<br />
transport varchar(128) NOT NULL default '',<br />
UNIQUE KEY domain (domain)<br />
) TYPE=MyISAM;</code></p>
<p><code>quit;</code></p>
<p>A questo punto avremo le seguenti tabelle:</p>
<p>- <code>domains : indica quali domini gestisce il nostro server di posta</code></p>
<p>- <code>forwardings : gestisce la lista dei forwarding di una determinata casella di posta verso un altra</code></p>
<p>- <code>users : le effettive caselle di posta, con tanto di nome utente e password</code></p>
<p>- <code>transport: serve a passare la gestione della singola email a un altro server, sintassi smtp:[1.2.3.4] le parentesi quadre indicano che non si deve fare nessuna query al dns, in questo caso va indicato l'indirizzo ip corretto.</code></p>
<p>Ora tramite phpmyadmin accessibile sul vostro webserver http://ip-del-server/phpmyadmin potrete gestire tutto quel che riguarda gli account di posta.</p>
<h3>4- Configurazione Postfix</h3>
<p>Editiamo</p>
<p><code>vi /etc/mysql/my.cnf</code></p>
<p>e configuriamo la voce</p>
<pre>[...]
bind-address            = 127.0.0.1
[...]</pre>
<p>se abbiamo modificato il file, eventualmente lanciamo il comando /etc/init.d/mysql restart</p>
<p>Creiamo il file<br />
<code>vi /etc/postfix/mysql-virtual_domains.cf</code></p>
<p>e inseriamo</p>
<pre>user = mail_admin
password = mail_admin_password
dbname = mail
query = SELECT domain AS virtual FROM domains WHERE domain='%s'
hosts = 127.0.0.1</pre>
<p>creiamo il file</p>
<p><code>vi /etc/postfix/mysql-virtual_forwardings.cf</code></p>
<pre>user = mail_admin
password = mail_admin_password
dbname = mail
query = SELECT destination FROM forwardings WHERE source='%s'
hosts = 127.0.0.1</pre>
<p>creiamo il file</p>
<p><code>vi /etc/postfix/mysql-virtual_mailboxes.cf</code></p>
<pre>user = mail_admin
password = mail_admin_password
dbname = mail
query = SELECT CONCAT(SUBSTRING_INDEX(email,'@',-1),'/',SUBSTRING_INDEX(email,'@',1),'/') FROM users WHERE email='%s'
hosts = 127.0.0.1</pre>
<p>creiamo il file</p>
<p><code>vi /etc/postfix/mysql-virtual_email2email.cf</code></p>
<pre>user = mail_admin
password = mail_admin_password
dbname = mail
query = SELECT email FROM users WHERE email='%s'
hosts = 127.0.0.1</pre>
<p>creiamo il file</p>
<p><code>nano /etc/postfix/mysql-virtual_transports.cf</code></p>
<pre>user = mail_admin
password = mail_admin_password
dbname = mail
query = SELECT transport FROM transport WHERE domain='%s'
hosts = 127.0.0.1</pre>
<p>Modifichiamo ora i permessi ai file</p>
<p><code>chmod o= /etc/postfix/mysql-virtual_*.cf<br />
chgrp postfix /etc/postfix/mysql-virtual_*.cf</code></p>
<p>Creiamo ora il gruppo e l&#8217;utente <a href="http://www.temporini.net/tag/vmail" class="st_tag internal_tag" rel="tag" title="Posts tagged with vmail">vmail</a></p>
<p><code>groupadd -g 5000 <a href="http://www.temporini.net/tag/vmail" class="st_tag internal_tag" rel="tag" title="Posts tagged with vmail">vmail</a><br />
useradd -g <a href="http://www.temporini.net/tag/vmail" class="st_tag internal_tag" rel="tag" title="Posts tagged with vmail">vmail</a> -u 5000 <a href="http://www.temporini.net/tag/vmail" class="st_tag internal_tag" rel="tag" title="Posts tagged with vmail">vmail</a> -d /home/<a href="http://www.temporini.net/tag/vmail" class="st_tag internal_tag" rel="tag" title="Posts tagged with vmail">vmail</a> -m</code></p>
<p>Eseguiamo ora i comandi di configurazione di postfix, facendo cura di modificare il server server1.example.com con il nostro FQDN.</p>
<p><code>postconf -e 'myhostname = server1.example.com'<br />
postconf -e 'mydestination = server1.example.com, localhost, localhost.localdomain'<br />
postconf -e 'mynetworks = 127.0.0.0/8'<br />
postconf -e 'virtual_alias_domains ='<br />
postconf -e 'virtual_alias_maps = proxy:mysql:/etc/postfix/mysql-virtual_forwardings.cf, mysql:/etc/postfix/mysql-virtual_email2email.cf'<br />
postconf -e 'virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql-virtual_domains.cf'<br />
postconf -e 'virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql-virtual_mailboxes.cf'<br />
postconf -e 'virtual_mailbox_base = /home/<a href="http://www.temporini.net/tag/vmail" class="st_tag internal_tag" rel="tag" title="Posts tagged with vmail">vmail</a>'<br />
postconf -e 'virtual_uid_maps = static:5000'<br />
postconf -e 'virtual_gid_maps = static:5000'<br />
postconf -e 'smtpd_sasl_auth_enable = yes'<br />
postconf -e 'broken_sasl_auth_clients = yes'<br />
postconf -e 'smtpd_sasl_authenticated_header = yes'<br />
postconf -e 'smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination'<br />
postconf -e 'smtpd_use_tls = yes'<br />
postconf -e 'smtpd_tls_cert_file = /etc/postfix/smtpd.cert'<br />
postconf -e 'smtpd_tls_key_file = /etc/postfix/smtpd.key'<br />
postconf -e 'transport_maps = proxy:mysql:/etc/postfix/mysql-virtual_transports.cf'<br />
#postconf -e 'virtual_create_maildirsize = yes'<br />
#postconf -e 'virtual_mailbox_extended = yes'<br />
#postconf -e 'virtual_mailbox_limit_maps = proxy:mysql:/etc/postfix/mysql-virtual_mailbox_limit_maps.cf'<br />
#postconf -e 'virtual_mailbox_limit_override = yes'<br />
#postconf -e 'virtual_maildir_limit_message = "The user you are trying to reach is over quota."'<br />
#postconf -e 'virtual_overquota_bounce = yes'<br />
postconf -e 'proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks $virtual_mailbox_limit_maps'</code></p>
<p>Creiamo ora il certificato ssl</p>
<p><code>cd /etc/postfix<br />
openssl req -new -outform PEM -out smtpd.cert -newkey rsa:2048 -nodes -keyout smtpd.key -keyform PEM -days 365 -x509</code></p>
<p>e completiamo le richieste del certificato come a seguire</p>
<pre>Country Name (2 letter code) [AU]: &lt;-- Enter your Country Name (e.g., "DE").
State or Province Name (full name) [Some-State]: &lt;-- Enter your State or Province Name.
Locality Name (eg, city) []: &lt;-- Enter your City.
Organization Name (eg, company) [<a href="http://www.temporini.net/tag/internet" class="st_tag internal_tag" rel="tag" title="Posts tagged with Internet">Internet</a> Widgits Pty Ltd]: &lt;-- Enter your Organization Name (e.g., the name of your company).
Organizational Unit Name (eg, section) []: &lt;-- Enter your Organizational Unit Name (e.g. "IT Department").
Common Name (eg, YOUR name) []: &lt;-- Enter the Fully Qualified Domain Name of the system (e.g. "server1.example.com").
Email Address []: &lt;-- Enter your Email Address.</pre>
<p>e modifichiamo i permessi come segue</p>
<p><code>chmod o= /etc/postfix/smtpd.key</code></p>
<h3>5. Configure Saslauthd</h3>
<p>Creiamo la cartella per saslauthd</p>
<p><code>mkdir -p /var/spool/postfix/var/run/saslauthd</code></p>
<p>Editiamo ora il file /etc/default/saslauthd settando <em>START</em> a <em>yes</em> e cambiando <em>OPTIONS=&#8221;-c -m /var/run/saslauthd&#8221;</em> a <em>OPTIONS=&#8221;-c -m /var/spool/postfix/var/run/saslauthd -r&#8221;</em>:</p>
<p><code>vi /etc/default/saslauthd</code></p>
<p>il risultato sarà</p>
<pre>#
# Settings for saslauthd daemon
# Please read /usr/share/doc/sasl2-bin/README.Debian for details.
#</pre>
<pre># Should saslauthd run automatically on startup? (default: no)
START=yes</pre>
<pre># Description of this saslauthd instance. Recommended.
# (suggestion: SASL Authentication Daemon)
DESC="SASL Authentication Daemon"</pre>
<pre># Short name of this saslauthd instance. Strongly recommended.
# (suggestion: saslauthd)
NAME="saslauthd"</pre>
<pre># Which authentication mechanisms should saslauthd use? (default: pam)
#
# Available options in this Debian package:
# getpwent  -- use the getpwent() library function
# kerberos5 -- use Kerberos 5
# pam       -- use PAM
# rimap     -- use a remote IMAP server
# shadow    -- use the local shadow password file
# sasldb    -- use the local sasldb database file
# ldap      -- use LDAP (configuration is in /etc/saslauthd.conf)
#
# Only one option may be used at a time. See the saslauthd man page
# for more information.
#
# Example: MECHANISMS="pam"
MECHANISMS="pam"</pre>
<pre># Additional options for this mechanism. (default: none)
# See the saslauthd man page for information about mech-specific options.
MECH_OPTIONS=""</pre>
<pre># How many saslauthd processes should we run? (default: 5)
# A value of 0 will fork a new process for each connection.
THREADS=5</pre>
<pre># Other options (default: -c -m /var/run/saslauthd)
# Note: You MUST specify the -m option or saslauthd won't run!
#
# See /usr/share/doc/sasl2-bin/README.Debian for Debian-specific information.
# See the saslauthd man page for general information about these options.
#
# Example for postfix users: "-c -m /var/spool/postfix/var/run/saslauthd"
#OPTIONS="-c -m /var/run/saslauthd"
OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd -r"</pre>
<p>Editiamo il file</p>
<p><code>vi /etc/pam.d/smtp</code></p>
<p>inseriamo</p>
<pre>auth    required   pam_mysql.so user=mail_admin passwd=mail_admin_password host=127.0.0.1 db=mail table=users usercolumn=email passwdcolumn=password crypt=1
account sufficient pam_mysql.so user=mail_admin passwd=mail_admin_password host=127.0.0.1 db=mail table=users usercolumn=email passwdcolumn=password crypt=1</pre>
<p>Creiamo il file</p>
<p><code>vi /etc/postfix/sasl/smtpd.conf</code></p>
<p>e inseriamo</p>
<pre>pwcheck_method: saslauthd
mech_list: plain login
allow_plaintext: true
auxprop_plugin: mysql
sql_hostnames: 127.0.0.1
sql_user: mail_admin
sql_passwd: sysop
sql_database: mail
sql_select: select password from users where email = '%u'</pre>
<p>aggiungiamo l&#8217;utente postfix al gruppo sals</p>
<p><code>root@localhost: adduser postfix sasl</code></p>
<p>e riavviamo postfix e sasl</p>
<p><code>/etc/init.d/postfix restart<br />
/etc/init.d/saslauthd restart</code></p>
<p>Configuriamo ora courier</p>
<p><code>vi /etc/courier/authdaemonrc</code></p>
<p>e modifichiamo</p>
<pre>[...]
authmodulelist="authmysql"
[...]</pre>
<p>Creiamo un backup di /etc/courier/authmysqlrc e svuotiamo il vecchio file</p>
<p><code>cp /etc/courier/authmysqlrc /etc/courier/authmysqlrc_orig<br />
cat /dev/null &gt; /etc/courier/authmysqlrc</code></p>
<p>Editiamo ora il file</p>
<p><code>vi /etc/courier/authmysqlrc</code></p>
<p>e inseriamo</p>
<pre>MYSQL_SERVER localhost
MYSQL_USERNAME mail_admin
MYSQL_PASSWORD mail_admin_password
MYSQL_PORT 0
MYSQL_DATABASE mail
MYSQL_USER_TABLE users
MYSQL_CRYPT_PWFIELD password
#MYSQL_CLEAR_PWFIELD password
MYSQL_UID_FIELD 5000
MYSQL_GID_FIELD 5000
MYSQL_LOGIN_FIELD email
MYSQL_HOME_FIELD "/home/<a href="http://www.temporini.net/tag/vmail" class="st_tag internal_tag" rel="tag" title="Posts tagged with vmail">vmail</a>"
MYSQL_MAILDIR_FIELD CONCAT(SUBSTRING_INDEX(email,'@',-1),'/',SUBSTRING_INDEX(email,'@',1),'/')
#MYSQL_NAME_FIELD</pre>
<p>e riavviamo courier</p>
<p><code>/etc/init.d/courier-authdaemon restart<br />
/etc/init.d/courier-imap restart<br />
/etc/init.d/courier-imap-ssl restart<br />
/etc/init.d/courier-pop restart<br />
/etc/init.d/courier-pop-ssl restart</code></p>
<p>Controlliamo ora se il nostro server pop3 funziona</p>
<p><code>telnet localhost pop3</code></p>
<p>scrivete <em>QUIT</em> e dovrebbe darvi qualcosa di simile a</p>
<pre>root@localhost: telnet localhost 110
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
+OK Hello there.
quit
+OK Better luck next time.
Connection closed by foreign host.
root@localhost:</pre>
<p>7. Modifichiamo /etc/aliases</p>
<p>Modifichiamo /etc/aliases con qualcosa simile a</p>
<p><code>vi /etc/aliases</code></p>
<pre>[...]
postmaster: root
root: postmaster@yourdomain.tld
[...]</pre>
<p>dopo di che ad ogni modifica di /etc/aliases lanciamo</p>
<p><code>root@localhost: newaliases</code></p>
<p>e riavviamo postfix</p>
<p><code>root@localhost: /etc/init.d/postfix restart </code></p>
<h3>8. Installiamo Amavisd-new, Spamassassin, Clamv</h3>
<p>Lanciamo il comando:</p>
<p><code>apt-get install amavisd-new spamassassin clamav clamav-daemon zoo unzip bzip2 unzoo libnet-ph-perl libnet-snpp-perl libnet-telnet-perl nomarch lzop pax</code></p>
<p>Abilitamo Clamav e Spamassassin editando il file <span class="system">/etc/amavis/conf.d/15-content_filter_mode , decommentando le linee </span><em><span class="system">@bypass_virus_checks_maps</span></em> e <em><span class="system">@bypass_spam_checks_maps</span></em></p>
<p><code>vi /etc/amavis/conf.d/15-content_filter_mode</code></p>
<p>Che diventerà una cosa simile a:</p>
<pre>@bypass_virus_checks_maps = (
   \%bypass_virus_checks, \@bypass_virus_checks_acl, \$bypass_virus_checks_re);</pre>
<pre>#
# Default <a href="http://www.temporini.net/tag/spam" class="st_tag internal_tag" rel="tag" title="Posts tagged with spam">SPAM</a> checking mode
# Uncomment the two lines below to enable it back
#</pre>
<pre>@bypass_spam_checks_maps = (
   \%bypass_spam_checks, \@bypass_spam_checks_acl, \$bypass_spam_checks_re);</pre>
<pre>1;  # ensure a defined return</pre>
<p>Controlliamo inoltre i settaggi dell&#8217;antispam e dell&#8217;antivirus nel file /etc/amavis/conf.d/20-debian_defaults , dovrebbero andare bene per tutti e non necessitano di modifiche particolari.</p>
<p>Editiamo il file /etc/amavis/conf.d/50-user</p>
<p><code>vi /etc/amavis/conf.d/50-user</code></p>
<p>ed aggiungiamo</p>
<pre>$pax='pax';</pre>
<p>avendo come risultato qualcosa di simile a:</p>
<pre>use strict;</pre>
<pre>#
# Place your configuration directives here.  They will override those in
# earlier files.
#
# See /usr/share/doc/amavisd-new/ for documentation and examples of
# the directives you can use in this file
#</pre>
<pre>$pax='pax';</pre>
<pre>#------------ Do not modify anything below this line -------------
1;  # ensure a defined return</pre>
<p>Eseguiamo questi comandi per aggiungere clamav al gruppo di amavis e riavviare amavisd-new e clamav:</p>
<p><code>adduser clamav amavis<br />
/etc/init.d/amavis restart<br />
/etc/init.d/clamav-daemon restart<br />
/etc/init.d/clamav-freshclam restart</code></p>
<p>Configuriamo ora postfix affinchè inoltri le email in arrivo all&#8217;antivirus amavisd-new</p>
<p><code>postconf -e 'content_filter = amavis:[127.0.0.1]:10024'<br />
postconf -e 'receive_override_options = no_address_mappings'</code></p>
<p>Modifichiamo il file /etc/postfix/master.cf</p>
<p><code>vi /etc/postfix/master.cf</code></p>
<p>e aggiungiamo alla fine</p>
<pre>[...]
amavis unix - - - - 2 smtp
        -o smtp_data_done_timeout=1200
        -o smtp_send_xforward_command=yes</pre>
<pre>127.0.0.1:10025 inet n - - - - smtpd
        -o content_filter=
        -o local_recipient_maps=
        -o relay_recipient_maps=
        -o smtpd_restriction_classes=
        -o smtpd_client_restrictions=
        -o smtpd_helo_restrictions=
        -o smtpd_sender_restrictions=
        -o smtpd_recipient_restrictions=permit_mynetworks,reject
        -o mynetworks=127.0.0.0/8
        -o strict_rfc821_envelopes=yes
        -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks
        -o smtpd_bind_address=127.0.0.1</pre>
<p>e riavviamo postfix</p>
<p><code>/etc/init.d/postfix restart</code></p>
<p>ora eseguendo</p>
<p><code>netstat -tap</code></p>
<p>dovreste vedere Postfix (smtp 25) e 10025, e amavisd-new sulla 10024</p>
<pre>root@server1:/etc/postfix# netstat -tap
Active <a href="http://www.temporini.net/tag/internet" class="st_tag internal_tag" rel="tag" title="Posts tagged with Internet">Internet</a> connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 localhost.localdo:10024 *:*                     LISTEN      15645/amavisd (mast
tcp        0      0 localhost.localdo:10025 *:*                     LISTEN      16677/master
tcp        0      0 localhost.localdo:mysql *:*                     LISTEN      6177/mysqld
tcp        0      0 *:www                   *:*                     LISTEN      5367/apache2
tcp        0      0 *:smtp                  *:*                     LISTEN      16677/master
tcp6       0      0 [::]:imaps              [::]:*                  LISTEN      14020/couriertcpd
tcp6       0      0 [::]:pop3s              [::]:*                  LISTEN      14088/couriertcpd
tcp6       0      0 [::]:pop3               [::]:*                  LISTEN      14051/couriertcpd
tcp6       0      0 [::]:imap2              [::]:*                  LISTEN      13983/couriertcpd
tcp6       0      0 [::]:ssh                [::]:*                  LISTEN      4006/sshd
tcp6       0     52 server1.example.com:ssh 192.168.0.210%8191:3340 ESTABLISHED 4059/0
root@server1:/etc/postfix#</pre>
<h3>9. Install Razor, Pyzor And Configure SpamAssassin</h3>
<p>Installiamo ora Razor, Pyzor che utilizzano una rete di filtri <a href="http://www.temporini.net/tag/spam" class="st_tag internal_tag" rel="tag" title="Posts tagged with spam">spam</a> collaborativa sostenuta da varie community.</p>
<p>Eseguiamo il comando:</p>
<p><code>apt-get install razor pyzor</code></p>
<p>A questo punto editiamo</p>
<p><code>vi /etc/spamassassin/local.cf</code></p>
<pre>[...]
#pyzor
use_pyzor 1
pyzor_path /usr/bin/pyzor</pre>
<pre>#razor
use_razor2 1
razor_config /etc/razor/razor-agent.conf</pre>
<pre>#bayes
use_bayes 1
use_bayes_rules 1
bayes_auto_learn 1</pre>
<p>Possiamo configurare la nostra configurazione di spamassassin con il comando:</p>
<p><code>spamassassin --lint</code></p>
<p>e non dovrebbe darci alcun errore sul risultato.</p>
<p>Riavviamo ora amavis:</p>
<p><code>/etc/init.d/amavis restart</code></p>
<p>Aggiorniamo le nuove regole di Spamassassin con</p>
<p><code>sa-update --no-gpg</code></p>
<p>Creiamo un comando crontab per aggiornare le regole ogni tot tempo</p>
<p><code>crontab -e</code></p>
<p>e inseriamo</p>
<pre>23 4 */2 * * /usr/bin/sa-update --no-gpg &amp;&gt; /dev/null</pre>
<h3>10. Test postfix</h3>
<p>Controliamo ora se tutto funziona, controlliamo ora se postfix è pronto per SMTP-AUTH e TLS<br />
<code>telnet localhost 25</code></p>
<p class="command">dopo la connessione diamo il comando</p>
<p><code>ehlo localhost</code></p>
<p class="command">e dovremmo trovare la stringa</p>
<p><code>250-STARTTLS</code></p>
<p>e<br />
<code>50-AUTH LOGIN PLAIN</code></p>
<p>Qualcosa tipo:</p>
<pre>root@server1:/usr/local/sbin# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
220 server1.example.com ESMTP Postfix (Ubuntu)
ehlo localhost
250-server1.example.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH LOGIN PLAIN
250-AUTH=LOGIN PLAIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
quit
221 2.0.0 Bye
Connection closed by foreign host.
root@server1:/usr/local/sbin#</pre>
<p>Non ci resta che popolare il database con i dati che ci interessano, ometto questa parte in quanto la ritengo particolarmente semplice ed intuitiva,</p>
<p>Mi soffermo su due aspetti, il primo riguarda le PASSWORD. Quando inserite un nuovo utente mi raccomando di selezionare il tipo di campo per le password come ENCRYPT, altrimenti non vi funzionerà l&#8217;autenticazione.</p>
<p>Date un occhio alle tabelle del link http://www.howtoforge.com/virtual-users-domains-postfix-courier-mysql-squirrelmail-ubuntu8.04-p4 in fondo alla pagina.</p>
<h3>11. Inviare un messaggio di benvenuto per creare la Maildir</h3>
<p>Una volta creato un account email è necessario inviare un&#8217;email affinchè venga creata immediatamente la directory dove verranno salvate le email. Se questo non viene fatto, quando qualcuno proverà a collegarsi via pop3 gli verrà dato un messaggio di errore. Provvediamo quandi a installare mailx tramite:</p>
<p><code>apt-get install mailx</code></p>
<p>per inviare un&#8217;email ci basta dare il comando</p>
<p><code>mailx sales@example.com</code></p>
<p>e compilare i seguenti campi</p>
<pre>mailx sales@example.com
Subject: Welcome &lt;-- ENTER
Welcome! Have fun with your new mail account. &lt;-- ENTER
&lt;-- CTRL+D
Cc: &lt;-- ENTER</pre>
<p>A questo punto potete installare squirrelmail e company per gestire la posta come preferite.</p>
<p>Saluti<br />
Matteo</p>
]]></content:encoded>
			<wfw:commentRss>http://www.temporini.net/virtual-users-and-domains-with-postfix-courier-mysql-and-ubuntu-804-lts-64bit/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Webmin: un pannello di controllo free per pro users</title>
		<link>http://www.temporini.net/webmin-un-pannello-di-controllo-free-per-pro-users</link>
		<comments>http://www.temporini.net/webmin-un-pannello-di-controllo-free-per-pro-users#comments</comments>
		<pubDate>Tue, 04 Mar 2008 08:51:26 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[hosting]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[networking]]></category>
		<category><![CDATA[servizi]]></category>
		<category><![CDATA[webmin networking howto]]></category>

		<guid isPermaLink="false">http://www.temporini.net/webmin-un-pannello-di-controllo-free-per-pro-users</guid>
		<description><![CDATA[<p>Solitamente sui server sono abbastanza contrario all&#8217;installazione di pannelli di controllo (plesk, cubepanel, cpanel o simili), in quanto non fanno altro che appesantire i server, portare bug e problemi di vario tipo.</p>
<p>Purtroppo in alcune situazioni essi sono indispensabili (pensate ad un provider che deve permettere ai proprio utenti di gestirsi tutto il loro spazio, e questi [...]]]></description>
			<content:encoded><![CDATA[<p>Solitamente sui server sono abbastanza contrario all&#8217;installazione di pannelli di controllo (plesk, cubepanel, cpanel o simili), in quanto non fanno altro che appesantire i server, portare bug e problemi di vario tipo.</p>
<p>Purtroppo in alcune situazioni essi sono indispensabili (pensate ad un provider che deve permettere ai proprio utenti di gestirsi tutto il loro spazio, e questi non sanno nemmeno cos&#8217;è un webserver).</p>
<p>Quello di cui vogliamo parlare oggi è <a href="http://www.webmin.com" title="Webmin">webmin</a>, si tratta di un pannello di controllo molto &#8220;low-level&#8221;, non è molto user-friendly come ptorebbe essere un plesk, è leggerissimo e permette di gestire pressochè qualunque servizio all&#8217;interno di un server (cosa che nessun altro pannello di controllo fa, solitamente si limitano alla parte <a href="http://www.temporini.net/tag/web" class="st_tag internal_tag" rel="tag" title="Posts tagged with web">web</a>-hosting).</p>
<p>Prima di iniziare installiamo i pacchetti necessari sulla nostra debian:</p>
<p><code>apt-get install libnet-ssleay-perl openssl libauthen-pam-perl libio-pty-perl libmd5-perl</code></p>
<p>senza questi pacchetti non potremmo installare il nostro pannello, per cui fatelo.</p>
<p>Ora scarichiamo gratuitamente dal sito <a href="http://www.webmin.com" title="Webmin">www.webmin.com</a>  il nostro file .deb nelo specifico al momento in cui sto scrivendo l&#8217;articolo siamo alla versione 1.400, ora con un semplice</p>
<p><code>wget http://garr.dl.sourceforge.net/sourceforge/webadmin/webmin_1.400_all.deb</code></p>
<p>installiamo semplicemente il pacchetto tramite dpkg</p>
<p><code>dpkg -i  webmin_1.400_all.deb</code></p>
<p>ora non ci resterà altro da fare che accedere tramite un browser all&#8217;url  https://ip.del.nostro.server:10000</p>
<p>Il tutto è corredata da una svariata quantità di plugin aggiuntivi e di terze parti per poter configurare anche servizi non previsti di default, fra i quali vi segnalo <a href="http://www.webmin.com/virtualmin.html" title="Virtualmin">Virtualmin</a> per poter avere una migliore gestione edgli utenti e poter dare loro accesso a particolari sezioni o gestirsi autonomamente i propri dati.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.temporini.net/webmin-un-pannello-di-controllo-free-per-pro-users/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tophost in lacrime…? Atto II</title>
		<link>http://www.temporini.net/tophost-in-lacrime%e2%80%a6-atto-ii</link>
		<comments>http://www.temporini.net/tophost-in-lacrime%e2%80%a6-atto-ii#comments</comments>
		<pubDate>Fri, 24 Aug 2007 11:26:42 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[hosting]]></category>
		<category><![CDATA[polemica]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[tophost]]></category>

		<guid isPermaLink="false">http://www.temporini.net/archives/60</guid>
		<description><![CDATA[<p>Non ce la faccio più, è arrivata l&#8217;ennesima email di lagne di tophost&#8230; ma quelli cosa fanno invece di lavorare?</p>
<p>Mi rifiuto di pubblicarla, per quanto mi riguarda un hoster serio non dovrebbe mandare certe email ai clienti&#8230; oltre tutto senza alcun senso e motivo.</p>
<p>La cosa spassosa è che non avendo nulla da fare perdono anche tempo [...]]]></description>
			<content:encoded><![CDATA[<p>Non ce la faccio più, è arrivata l&#8217;ennesima email di lagne di tophost&#8230; ma quelli cosa fanno invece di lavorare?</p>
<p>Mi rifiuto di pubblicarla, per quanto mi riguarda un hoster serio non dovrebbe mandare certe email ai clienti&#8230; oltre tutto senza alcun senso e motivo.</p>
<p>La cosa spassosa è che non avendo nulla da fare perdono anche tempo a SPIARE i propri clienti su <a href="http://www.twitter.com" title="Twitter">twitter</a>&#8230; ASSURDO!</p>
<p>Come consigliato da tophost consiglio la lattura dell&#8217;<a href="http://blog.stefanoepifani.it/2007/08/21/Suicidi+Comunicazionali.aspx" title="Suicidi Comunicazionali">articolo</a> di <a href="http://blog.stefanoepifani.it" title="Il blog di Stefano Epifani">Stefano Epifan.</a></p>
<p>Segnalo inoltre:</p>
<p><strong><a href="http://www.brainlog.org/" title="Just Another Mad Blog">Brainlog</a></strong>: <a href="http://www.brainlog.org/2007/08/21/la-mia-esperienza-con-tophost/" title="La mia esperienza con TopHost">La mia esperienza con TopHost</a></p>
<p><strong><a href="http://www.pseudotecnico.org/blog/" title="Pseudotecnico:blog">Pseudotecnico</a></strong>: <a href="http://www.pseudotecnico.org/blog/2007/08/22/strategie-comunicative-brainstorming/" title="Strategie comunicative? Brainstorming?">Strategie comunicative? Brainstorming?</a></p>
<p><a href="http://www.pandemia.info" title="Luca Conti"><strong>Luca Conti</strong></a>:  quest&#8217;uomo viene spiato di continuo su twitter dallo staff di tophost!!! INCREDIBILE!!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.temporini.net/tophost-in-lacrime%e2%80%a6-atto-ii/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tophost in lacrime&#8230;?</title>
		<link>http://www.temporini.net/tophost-in-lacrime</link>
		<comments>http://www.temporini.net/tophost-in-lacrime#comments</comments>
		<pubDate>Tue, 21 Aug 2007 18:44:47 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[hosting]]></category>
		<category><![CDATA[polemica]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[tophost]]></category>

		<guid isPermaLink="false">http://www.temporini.net/archives/58</guid>
		<description><![CDATA[<p>Non finirò mai di stupirmi a leggere certe cose&#8230; Questo sito è ospitato presso Tophost e visto il prezzo esiguo che pago per il servizio se ogni tanto ho qualche down (anche 3-4 ore) sinceramente non mi lamento.</p>
<p>Non capisco la gente che prende questi servizi ci carica il sito aziendale e si incazza se ogni tanto [...]]]></description>
			<content:encoded><![CDATA[<p>Non finirò mai di stupirmi a leggere certe cose&#8230; Questo sito è ospitato presso <strong>Tophost</strong> e visto il <strong>prezzo</strong> esiguo che pago per il <strong>servizio</strong> se ogni tanto ho qualche <strong>down</strong> (anche 3-4 ore) sinceramente non mi lamento.</p>
<p>Non capisco la gente che prende questi servizi ci carica il sito aziendale e si incazza se ogni tanto non funziona niente&#8230; cioè per 10 euro l&#8217;anno che cosa pretendono? Se avessi un sito aziendale in cui perdo soldi se va <strong>down</strong>, mi prendo un bel servizio da 1000 euro l&#8217;anno dove posso pretendere giustamente di incazzarmi.</p>
<p>Ma fin qua nulla di strano&#8230; clienti che si lamentano&#8230; gente che rompe&#8230; diciamo i classici eventi che popolano la rete&#8230;</p>
<p>Ma si è mai sentito parlare di un provider che manda <strong>email di lamentele</strong> ai proprio clienti, perchè alcuni di loro parlano male dell&#8217;azienda sulla rete? Vi incollo di seguito la mail che è giunta a tutti i clienti del provider in questione&#8230;</p>
<p><em>&#8220;Un saluto a tutti, come prima cosa vi comunichiamo che i lavori miranti alla soluzione del problema che ha afflitto il nodo 03 vittima di alcuni crash sporadici manifestatisi a partire dal 15/08 stanno terminando, con l&#8217;occasione abbiamo anche aggiornato i vari software. Aspettiamo le prossime 24 ore ma il problema dovrebbe essere definitivamente rientrato.</em></p>
<p><em>Torniamo ora al &#8220;titolo&#8221; della nostra comunicazione, noi pensiamo di fare il nostro lavoro con la massima professionalità, pensiamo altresì che quella che all&#8217;inizio era solo un&#8217;utopia e cioè fornire un servizio di Hosting minimale ma completo ad un prezzo che fosse un punto di riferimento e che mettesse chiunque, anche il più squattrinato dei ragazzi nella condizione di avere un suo sito sia ormai una scommessa vinta: decine di migliaia di clienti complessivi, centinaia di nuovi al giorno.</em></p>
<p><em>Certo abbiamo problemi, come li hanno tutti dei quali siamo molto consci. Consentiteci anche una considerazione: in proporzione al nostro parco clienti la quantità dei problemi è comunque contenuto e vi assicuriamo che c&#8217;è un enorme lavoro dietro le quinte per migliorare l&#8217;affidabilità e la qualità dei nostri servizi.<br />
Forte è l&#8217;impegno ogni giorno per fare meglio, ogni giorno per superarci.</em></p>
<p><em>Non possiamo comunque non rilevare come la disponibilita&#8217; dei nostri servizi, nonostante i problemi che ci sono stati, nel loro complesso su base annuale per il periodo trascorso sia stata addirittura superiore ad alcuni altri Hoster più &#8220;blasonati&#8221; e &#8220;costosi&#8221; di noi.</em></p>
<p><em>Con questo post &#8220;estivo&#8221; però vogliamo rilevare come &#8220;in giro per la rete&#8221; ci siano dei &#8220;gruppetti&#8221; più o meno organizzati che &#8220;sparano a zero&#8221; nei nostri confronti con un&#8217;acredine ed una violenza degna della peggiore tifoseria della peggiore curva sud.</em></p>
<p><em>Abbiamo pensato di farne una recensione, si proprio noi li vogliamo recensire nella speranza che esista anche un solo nostro utente che si trova bene, nonostante tutto, con noi e che abbia voglia di spiegarglielo, magari direttamente a loro, in casa loro.</em></p>
<p><em>Si va dal &#8220;giornalista&#8221; radical-scic che si augura fallimenti e roghi:</em></p>
<p><em>http://www.pandemia.info/2005/11/06/tophost_la_telenovela_continua.html</p>
<p>http://www.pandemia.info/2005/10/31/tophost_e_in_come_ma_anchespli.html</em></p>
<p><em>a chi con molta classe è comunque attento agli antipasti per finire con una citazione di bella memoria: &#8220;el pueblo unido&#8221;</p>
<p>http://spin-off.sw4n.net/post/8994499</p>
<p>http://www.sw4n.net/2007/08/19/el-pueblo-unido/</em></p>
<p><em>a chi invece eccelle nel dono della sintesi ma non per questo perde in efficacia:</p>
<p>http://greenwich.tumblr.com/post/9025051</em></p>
<p><em>E come non citare poi tutti coloro che, animati da mille interessi parlano di noi in preda ad una specie di &#8220;delirio onirico&#8221; come se per loro fossimo &#8220;un&#8217;apparizione&#8221; minacciando diffide e azioni legali:</p>
<p>http://www.prozone.it/smf/index.php/topic,2032.msg16935.html#msg16935</em></p>
<p><em>E come dimenticare quelli che &#8220;parlano male si&#8221;, ma in maniera circostanziata e documentata&#8221;:</p>
<p>http://www.domainers.it/forum/viewtopic.php?t=33</em></p>
<p><em>E perchè tacere e non riportare la prosa di qualche &#8220;illuminato altruista&#8221; che vuole evitare il suo stesso dramma anche ad altri:</p>
<p>http://www.aggery.it/munnezza/tophost-hosting-revolution-ah-beh/</em></p>
<p><em>E per finire perchè non essere proprio noi a consigliarvi una &#8220;way out&#8221; per fuggire da tophost?</p>
<p>http://prioni.wordpress.com/2007/08/20/dedicato-a-chi-vuole-abbandonare-tophost/</p>
<p>con tanto di codice promozionale per l&#8217;affiliazione del caro &#8220;Ubuntista&#8221; che mentre aiuta i malcapitati a &#8220;fuggire da tophost&#8221; raggrenella anche la sua &#8220;birra&#8221;; bello in particolare il passaggio: &#8220;- il costo è ragionevole;&#8221;. è 10 volte quello di tophost  <img src='http://www.temporini.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />   e, permetteteci non è assolutamente 10 volte meglio !</em></p>
<p><em>Terminiamo questo post tra il serio ed il faceto saremmo curiosi di sapere se c&#8217;è almeno un uguale numero di clienti che ci stima e che apprezza il nostro lavoro, che è convinto che in tophost ci sono delle persone che lavorano seriamente e non dei &#8220;ragazzini che avendo perso le biglie hanno cambiato gioco e sono passati all&#8217;hosting&#8221;; e ci farebbe anche piacere che qualcuno di questi lo dicesse pubblicamente, magari in quegli stessi posti che abbiamo citato. Così giusto per capire se la nostra scelta di fornire un servizio di Hosting al prezzo più basso possibile (e al momento nessuno ha battuto la nostra offerta) sia stata giusta o sbagliata, apprezzata o detestata.</em></p>
<p><em>Per chi volesse anche solo dire la propria abbiamo attivato un topic sulla nostra area nel forum di Prozone:</p>
<p>http://www.prozone.it/smf/index.php/topic,2657.0.html</em></p>
<p><em>Rinnoviamo il saluto a tutti e un augurio di sfruttare al meglio gli ultimi giorni d&#8217;agosto.  &#8220;</em></p>
<p>Ho sempre reputato il servizio di tophost abbastanza buono e professionale, ma questa mi sembra solamente una cosa <strong>ridicola</strong> e <strong>puerile</strong>, senza alcun senso&#8230; è una trovata per far parlare di più di se stessi? Aumentare le vendite o che altro?</p>
<p>Oltre a questo, nominare in un email indirizzata ai clienti i siti di altre persone addittandoli come <strong>sobillatori di fanatismo di massa</strong>, li reputo <strong>ridicoli</strong> e basta.</p>
<p>Consiglio anche la lettura del sito di &#8220;<a href="http://www.blublog.it" title="Il blog di Luca Moretto">Luca Moretto</a>&#8221; al riguardo di questo argomento.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.temporini.net/tophost-in-lacrime/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Firestarter, personalizzazione delle regole</title>
		<link>http://www.temporini.net/firestarter-personalizzazione-delle-regole</link>
		<comments>http://www.temporini.net/firestarter-personalizzazione-delle-regole#comments</comments>
		<pubDate>Mon, 06 Aug 2007 14:19:45 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[fedora]]></category>
		<category><![CDATA[firestarter]]></category>
		<category><![CDATA[hosting]]></category>
		<category><![CDATA[iptables]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[networking]]></category>
		<category><![CDATA[reti]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[sicurezza]]></category>

		<guid isPermaLink="false">http://www.temporini.net/archives/40</guid>
		<description><![CDATA[<p>Come al solito le problematiche al lavoro sono le più disparate, oggi mi sono dovuto occupare del tuning di un firewall che utilizzo sul lavoro.</p>
<p>Nello  specifico per ragioni di comodità e facilità d&#8217;uso (purtroppo non sono l&#8217;unico a utilizzarei server e devo badare anche a questo aspetto), utilizzo firestarter.</p>
<p>Si tratta di un firewall molto semplice [...]]]></description>
			<content:encoded><![CDATA[<p>Come al solito le problematiche al lavoro sono le più disparate, oggi mi sono dovuto occupare del tuning di un <strong>firewall </strong>che utilizzo sul lavoro.</p>
<p>Nello  specifico per ragioni di comodità e facilità d&#8217;uso (purtroppo non sono l&#8217;unico a utilizzarei server e devo badare anche a questo aspetto), utilizzo <a href="http://www.fs-security.com/" title="A graphical interfaced Open Source firewall for Linux.">firestarter.</a></p>
<p>Si tratta di un <strong>firewall</strong> molto semplice da utilizzare anche ai &#8220;<em>non addetti ai lavori</em>&#8220;, in quanto non si tratta altro che di un semplice front end grafico per <a href="http://www.netfilter.org" title="netfilter/iptables project homepage"><strong>iptables</strong></a>, assai più ostico da utilizzare per i principianti.</p>
<p>Questo breve documento non si occuperà pertanto di configurare il <strong>firewall</strong> (discretamene semplice anche senza documentazione) ma semplicemente spiegherà come apportare direttamente delle modifiche tramite <strong>iptables</strong> che sono escluse dalle casistiche previste dal frontend.</p>
<p>Il <strong>firewall</strong> l&#8217;ho configurato in un modo molto semplice, ho messo come policy di default tutto in <strong>drop</strong>, ed ho aggiunto le eccezioni per i servizi che mi interessavano.</p>
<p>Pertanto la mia situazione di partenza era che qualunque pacchetto inviato da e verso la macchina veniva scartato ad eccezione di: <strong>webserver</strong>, <strong>dns</strong> e <strong>posta.</strong></p>
<p>Ora il problema che mi si era posto era il seguente: avevo dei simpatici &#8220;amici&#8221; che non avevano nulla da fare e ogni tanto senza preavviso iniziavano a dossare una macchina, e l&#8217;unica soluzione possibile senza dover intervenire sulla dorsale (di cui ovviamente non ho il minimo controllo) era di fare in modo che venissero scartate le connessioni di quella specifica rete.</p>
<p>La soluzione è stata molto semplice, con <strong>firestarter</strong> basta editare il file</p>
<p><em>[root@localhost ~]# nano /etc/firestarter/user-pre </em></p>
<p>e a questo punto aggiungere i comandi di <strong>iptables</strong> che ci interessavano, ad esempio</p>
<p><em>iptables -A INPUT -d 195.54.0.0/20 -j DROP<br />
iptables -A INPUT -s 195.54.0.0/20 -j DROP<br />
iptables -A OUTPUT -d 195.54.0.0/20 -j DROP<br />
iptables -A OUTPUT -s 195.54.0.0/20 -j DROP<br />
iptables -A FORWARD -d 195.54.0.0/20 -j DROP<br />
iptables -A FORWARD -s 195.54.0.0/20 -j DROP</em></p>
<p>In tal modo vengono droppate tutte le connessioni che entrano, escono o solamente transitano su questa classe di ip.</p>
<p>Una volta aggiunte le righe che ci interessano basta dare un semplice</p>
<p><em>[root@localhost ~]# /etc/init.d/firestarter restart</em></p>
<p>ed ecco fatto, il nostro piccolo <strong>firewall</strong> personalizzato <img src='http://www.temporini.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Ovviamente con questo metodo si possono creare tutte le policy che ci interessano tramite i comandi di <strong>iptables</strong>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.temporini.net/firestarter-personalizzazione-delle-regole/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Configurare suphp con Apache</title>
		<link>http://www.temporini.net/configurare-suphp-con-apache</link>
		<comments>http://www.temporini.net/configurare-suphp-con-apache#comments</comments>
		<pubDate>Mon, 16 Jul 2007 17:31:41 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[apache]]></category>
		<category><![CDATA[hosting]]></category>
		<category><![CDATA[mod_suphp]]></category>
		<category><![CDATA[suphp]]></category>
		<category><![CDATA[virtualhost]]></category>
		<category><![CDATA[webserver]]></category>

		<guid isPermaLink="false">http://www.temporini.net/archives/36</guid>
		<description><![CDATA[<p>Questo modulo per apache serve a risolvere un problema che da sempre crea non pochi problemi legati alla gestione dei permessi tramite apache.</p>
<p>Infatti solitamene si incappa nel problema che caricando un file tramite uno script in php ad esempio, l&#8217;ownership del file caricato viene cambiata, rendendo di fatto difficoltosa la gestione dello stesso tramite ftp che [...]]]></description>
			<content:encoded><![CDATA[<p>Questo modulo per <strong>apache </strong>serve a risolvere un problema che da sempre crea non pochi problemi legati alla gestione dei permessi tramite apache.</p>
<p>Infatti solitamene si incappa nel problema che caricando un file tramite uno script in php ad esempio, l&#8217;ownership del file caricato viene cambiata, rendendo di fatto difficoltosa la gestione dello stesso tramite ftp che risulta essere associato ad un altro utente.</p>
<p>Stiamo parlando di <strong>hosting </strong>condivisi multiutente che lavorano tramite <strong>virtualhost</strong></p>
<p>Installare <strong>suphp </strong>su fedora core 5</p>
<p>Basta semplicemente installare <strong>mod_suphp</strong></p>
<p><em>[root@backup ~]# yum install mod_suphp</em></p>
<p>e configurare i file<br />
/etc/httpd/conf.d/php.conf<br />
/etc/httpd/conf.d/mod_suphp.conf<br />
/etc/suphp.conf</p>
<p>NEl file /etc/httpd/conf.d/php.conf fare attenzione a commentare questa riga</p>
<p><em>#AddHandler php5-script .php</em></p>
<p>in modo da togliere all&#8217;interprete di default il php</p>
<p>Nel file /etc/httpd/conf.d/mod_suphp.conf aggiungere</p>
<p><em>AddHandler x-httpd-php .php</em></p>
<p>e decommentare le righe</p>
<p><em>LoadModule suphp_module modules/mod_suphp.so</em></p>
<p><em>suPHP_Engine on<br />
suPHP_AddHandler x-httpd-php</em></p>
<p>Infine nel file /etc/suphp.conf cambiare il parametro</p>
<p><em>umask=0022</em></p>
<p>con i prmessi desiderati per i file creati dagli script.</p>
<p>Inoltre modificare le security optoins come segue</p>
<p><em> ; Security options<br />
;allow_file_group_writeable=false<br />
allow_file_group_writeable=true<br />
allow_file_others_writeable=false<br />
;allow_directory_group_writeable=false<br />
allow_directory_group_writeable=true<br />
allow_directory_others_writeable=false</em></p>
<p>e mettere i minimum UID e GUD con quelli di apache pe mantenere la compatibilità con eventuali script con l&#8217;ownership di apache<br />
in fedora il 48 corrisponde all&#8217;utente apache, bisogna mettere zero altrimenti ci son problemi con phpmyadmin che gira come root, oppure bisogna studiare una soluzione alternativa che non tratto in questo documento.</p>
<p><em> ; Minimum UID<br />
min_uid=0</em></p>
<p><em>; Minimum GID<br />
min_gid=0</em></p>
<p>Inoltre bisogna mettere a false questo sennò da problemi con mysql.domain.tld per il mysql</p>
<p><em>;Check wheter script is within DOCUMENT_ROOT<br />
check_vhost_docroot=false</em></p>
<p>Di seguito trovate i tre file di configurazione.</p>
<p><em>###########################<br />
/etc/httpd/conf.d/php.conf#<br />
###########################<br />
#<br />
# PHP is an HTML-embedded scripting language which attempts to make it<br />
# easy for developers to write dynamically generated webpages.<br />
#</em></p>
<p><em>LoadModule php5_module modules/libphp5.so</em></p>
<p><em>#<br />
# Cause the PHP interpreter to handle files with a .php extension.<br />
#<br />
#AddHandler php5-script .php<br />
AddType text/html .php</em></p>
<p><em>#<br />
# Add index.php to the list of files that will be served as directory<br />
# indexes.<br />
#<br />
DirectoryIndex index.php</em></p>
<p><em>#<br />
# Uncomment the following line to allow PHP to pretty-print .phps<br />
# files as PHP source code:<br />
#<br />
#AddType application/x-httpd-php-source .phps</em></p>
<p><em>#################################<br />
/etc/httpd/conf.d/mod_suphp.conf#<br />
#################################<br />
# This is the Apache server configuration file providing suPHP support..<br />
# It contains the configuration directives to instruct the server how to<br />
# serve php pages while switching to the user context before rendering.<br />
# For directives see &lt;URL:http://httpd.apache.org/docs-2.0/mod/mod_suphp.html&gt;</em></p>
<p><em>LoadModule suphp_module modules/mod_suphp.so<br />
AddHandler x-httpd-php .php</em></p>
<p><em># To use suPHP to parse PHP-Files</em></p>
<p><em># This option tells mod_suphp if a PHP-script requested on this server (or<br />
# VirtualHost) should be run with the PHP-interpreter or returned to the<br />
# browser &#8220;as it is&#8221;.<br />
### Uncomment to activate mod_suphp<br />
suPHP_Engine on<br />
suPHP_AddHandler x-httpd-php</em></p>
<p><em># This option tells mod_suphp which path to pass on to the PHP-interpreter<br />
# (by setting the PHPRC environment variable).<br />
# Do *NOT* refer to a file but to the directory the file resists in.<br />
#<br />
# E.g.: If you want to use &#8220;/path/to/server/config/php.ini&#8221;, use &#8220;suPHP_Config<br />
# /path/to/server/config&#8221;.<br />
#<br />
# If you don&#8217;t use this option, PHP will use its compiled in default path.<br />
#suPHP_ConfigPath /etc</em></p>
<p><em>################<br />
/etc/suphp.conf#<br />
################<br />
[global]<br />
;Path to logfile<br />
logfile=/var/log/suphp.log</em></p>
<p><em>;Loglevel<br />
loglevel=info</em></p>
<p><em>;User Apache is running as<br />
webserver_user=apache</em></p>
<p><em>;Path all scripts have to be in<br />
docroot=/</em></p>
<p><em>;Path to chroot() to before executing script<br />
;chroot=/mychroot</em></p>
<p><em>; Security options<br />
;allow_file_group_writeable=false<br />
allow_file_group_writeable=true<br />
allow_file_others_writeable=false<br />
;allow_directory_group_writeable=false<br />
allow_directory_group_writeable=true<br />
allow_directory_others_writeable=false</em></p>
<p><em>;Check wheter script is within DOCUMENT_ROOT<br />
check_vhost_docroot=true</em></p>
<p><em>;Send minor error messages to browser<br />
errors_to_browser=true</em></p>
<p><em>;PATH environment variable<br />
env_path=/bin:/usr/bin</em></p>
<p><em>;Umask to set, specify in octal notation<br />
;umask=0077<br />
umask=0022</em></p>
<p><em>; Minimum UID<br />
min_uid=500</em></p>
<p><em>; Minimum GID<br />
min_gid=500</em></p>
<p><em>; Use correct permissions for mod_userdir sites<br />
handle_userdir=true</em></p>
<p><em>[handlers]<br />
;Handler for php-scripts<br />
x-httpd-php=php:/usr/bin/php-cgi</em></p>
<p><em>;Handler for CGI-scripts<br />
x-suphp-cgi=execute:!self</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.temporini.net/configurare-suphp-con-apache/feed</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
	</channel>
</rss>
