<?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>apache2 Archivi - Cesare Bordi | Innovation Manager &amp; Back-end Developer</title>
	<atom:link href="https://www.cesarebordi.it/tag/apache2/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.cesarebordi.it/tag/apache2/</link>
	<description>Innovare con soluzioni software efficaci e gioco di squadra</description>
	<lastBuildDate>Thu, 04 Aug 2016 14:27:34 +0000</lastBuildDate>
	<language>it-IT</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.4.2</generator>

<image>
	<url>https://www.cesarebordi.it/wp-content/uploads/2016/02/CB-logo-88x88.png</url>
	<title>apache2 Archivi - Cesare Bordi | Innovation Manager &amp; Back-end Developer</title>
	<link>https://www.cesarebordi.it/tag/apache2/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Sicurezza: abilitare HTTPS in Apache2 su Ubuntu server</title>
		<link>https://www.cesarebordi.it/sicurezza-abilitare-https-in-apache2-su-ubuntu-server/</link>
					<comments>https://www.cesarebordi.it/sicurezza-abilitare-https-in-apache2-su-ubuntu-server/#respond</comments>
		
		<dc:creator><![CDATA[cesarebordi]]></dc:creator>
		<pubDate>Thu, 04 Aug 2016 14:24:27 +0000</pubDate>
				<category><![CDATA[Programmazione]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[apache2]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[programmazione]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[sicurezza]]></category>
		<category><![CDATA[sistemista]]></category>
		<category><![CDATA[terminale]]></category>
		<category><![CDATA[web developer]]></category>
		<category><![CDATA[webserver]]></category>
		<guid isPermaLink="false">http://www.cesarebordi.it/?p=370</guid>

					<description><![CDATA[<p>Scenario: vogliamo rendere uno scambio dati sicure, magari per rafforzare il sistema di autenticazione di un sito web o lo scambio dati fra una webApp, ma anche una...</p>
<p>L'articolo <a href="https://www.cesarebordi.it/sicurezza-abilitare-https-in-apache2-su-ubuntu-server/">Sicurezza: abilitare HTTPS in Apache2 su Ubuntu server</a> sembra essere il primo su <a href="https://www.cesarebordi.it">Cesare Bordi | Innovation Manager &amp; Back-end Developer</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><span style="text-decoration: underline;">Scenario</span>: vogliamo rendere uno <strong>scambio dati sicure</strong>, magari per rafforzare il <strong>sistema di autenticazione</strong> di un <strong>sito web</strong> o lo <strong>scambio dati</strong> fra una<strong> webApp</strong>, ma anche una <strong>App nativa</strong> e un <strong>server</strong>.</p>
<p>Per fare questo dovremo utilizzare il <strong>protocollo HTTPS</strong> che abbina il comune HTTP ad un ulteriore <strong>protocollo di crittografia asimmetrica</strong>.<br />
HTTPS è infatti l&#8217;acronimo di <strong>HyperText Transfer Protocol over Secure Socket Layer</strong>.<br />
Questo sistema di sicurezza è stato pensato proprio per evitare che attraverso tecniche di <strong>man in the middle</strong> un malintenzionato possa fare<strong> sniffing dei dati</strong> scambiati bidirezionalmente fra server e client.</p>
<p><span style="text-decoration: underline;">Problema</span>: se &#8220;tirar su&#8221; un <strong>server LAMP</strong> è ormai alla portata di tutti i <strong>web developer </strong>grazie alle molte distribuzioni<em> out of the box</em>, abilitare l&#8217;https è già un&#8217;operazione più specificatamente <strong>sistemistica</strong>, ma ugualmente attuabile in pochi minuti.</p>
<p><span style="text-decoration: underline;">Spiegazione</span>: su <strong>Ubuntu Server</strong>, così come in molte altre distribuzioni, il <strong>modulo SSL</strong> è già presente nell&#8217;installazione base di <strong>Apache</strong>.<br />
Bisogna solo attivarlo con il seguente comando che abilita anche la <strong>porta 443</strong> di default per l&#8217;https.</p>
<pre class="brush: bash; title: ; notranslate">sudo a2enmod ssl</pre>
<p>Dovremo quindi predisporre una cartella in cui generare i nostri certificati di sicurezza. Consiglio di creare una sottocartella dentro a quella di apache.</p>
<p>Nel caso di Ubunti dovremo lanciare il comando</p>
<pre class="brush: bash; title: ; notranslate">sudo mkdir /etc/apache2/ssl</pre>
<p>In altre distribuzioni come centOS la sottocartella può essere creata con i comando</p>
<pre class="brush: bash; title: ; notranslate">sudo mkdir /etc/httpd/ssl</pre>
<p>Per ottenere <strong>chiave privata</strong> e <strong>certificato</strong> utilizzeremo <strong>openssl</strong> attraverso il seguente comando, riportando i percorsi corretti, scegliendo la <strong>crittografia RSA</strong> a 2048 bit e una validità di 365 giorni.</p>
<pre class="brush: bash; title: ; notranslate">sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt</pre>
<p>Nel caso openssl non fosse presente, si può installare mediante il seguente comando su Ubuntu (o analoghi su altre distro)</p>
<pre class="brush: bash; title: ; notranslate">apt-get install openssl</pre>
<p>La <strong>procedura di creazione dei certificati</strong> pone alcune domande alle quali si può rispondere abbastanza liberamente, es:</p>
<pre class="brush: bash; title: ; notranslate">
Country Name (2 letter code) &#x5B;AU]:IT
State or Province Name (full name) &#x5B;Some-State]:Modena
Locality Name (eg, city) &#x5B;]:Modena
Organization Name (eg, company) &#x5B;Internet Widgits Pty Ltd]:communicationBox
Organizational Unit Name (eg, section) &#x5B;]:Development
Common Name (e.g. server FQDN or YOUR name) &#x5B;]:NomeMioServer
Email Address &#x5B;]:maimaildiriferimento@dominio.it
</pre>
<p>A questo punto il grosso del lavoro è fatto, non resta che settare i <strong>virtual host </strong>per indicare di sfruttare la <strong>cominicazione sicura</strong> sulla porta 443 e chiave e certificato appena creati.</p>
<p>Nella cartella /etc/apache2/sites-available/ è solitamente già presente un file di esempio denominato default-ssl.conf che possiamo modificare o utilizzare come modello per creare il nostro file:</p>
<pre class="brush: bash; title: ; notranslate">
sudo nano /etc/apache2/sites-available/default-ssl.conf
</pre>
<pre class="brush: bash; title: ; notranslate">
&lt;VirtualHost *:80&gt;
        ServerAdmin webmaster@localhost

        DocumentRoot /var/www/html
        &lt;Directory /&gt;
                Options FollowSymLinks
                AllowOverride All
        &lt;/Directory&gt;
        &lt;Directory /var/www/&gt;
                Options -Indexes +FollowSymLinks +MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
        &lt;/Directory&gt;

        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        &lt;Directory &quot;/usr/lib/cgi-bin&quot;&gt;
                AllowOverride None
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        &lt;/Directory&gt;

        ErrorLog ${APACHE_LOG_DIR}/error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog ${APACHE_LOG_DIR}/access.log combined

        Alias /doc/ &quot;/usr/share/doc/&quot;
        &lt;Directory &quot;/usr/share/doc/&quot;&gt;
                Options MultiViews FollowSymLinks
                AllowOverride None
                Order deny,allow
                Deny from all
                Allow from 127.0.0.0/255.0.0.0 ::1/128
        &lt;/Directory&gt;

&lt;/VirtualHost&gt;

</pre>
<p>Ora la configurazione è terminata, dobbiamo abilitare come di consueto il virtual host:</p>
<pre class="brush: bash; title: ; notranslate">
sudo a2ensite default-ssl.conf
</pre>
<p>Infine riavviamo il servizio per rendere effettive le modifiche:</p>
<pre class="brush: bash; title: ; notranslate">
sudo service apache2 restart
</pre>
<p>Ora, sincerandosi che il firewall della nostra connessione consenta il traffico sulla porta 443, puntiamo sull&#8217;ip del server, o sul dominio impostato nel virtualhost, ad esempio https://123.123.123.123.<br />
Comparirà un avviso che ci avverte che il certificato non è attendibile, questo è normale in quanto lo abbiamo autogenerato e non acquistato da un ente certificatore. Basterà procedere &#8220;accettando i rischi&#8221; per navigare in maniera sicura. Naturalmente, per siti o app pubbliche, è vivamente consigliato l&#8217;acquisto di un certificato verificato per non &#8220;spaventare&#8221; l&#8217;utente con questo avviso.</p>
<p>L'articolo <a href="https://www.cesarebordi.it/sicurezza-abilitare-https-in-apache2-su-ubuntu-server/">Sicurezza: abilitare HTTPS in Apache2 su Ubuntu server</a> sembra essere il primo su <a href="https://www.cesarebordi.it">Cesare Bordi | Innovation Manager &amp; Back-end Developer</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.cesarebordi.it/sicurezza-abilitare-https-in-apache2-su-ubuntu-server/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>WordPress: escludere una cartella dal rewriting url di Apache</title>
		<link>https://www.cesarebordi.it/wordpress-escludere-una-cartella-dal-rewriting-url-di-apache/</link>
					<comments>https://www.cesarebordi.it/wordpress-escludere-una-cartella-dal-rewriting-url-di-apache/#respond</comments>
		
		<dc:creator><![CDATA[cesarebordi]]></dc:creator>
		<pubDate>Wed, 03 Aug 2016 10:16:39 +0000</pubDate>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programmazione]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[apache2]]></category>
		<category><![CDATA[htaccess]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[programmazione]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[web developer]]></category>
		<category><![CDATA[webserver]]></category>
		<category><![CDATA[wordpress]]></category>
		<guid isPermaLink="false">http://www.cesarebordi.it/?p=358</guid>

					<description><![CDATA[<p>Scenario: molti cms, primo fra tutti WordPress, permettono di impostare la generazione automatica di friendly url per migliorare il seo di un sito web. L&#8217;abilitazione di tale funzione,...</p>
<p>L'articolo <a href="https://www.cesarebordi.it/wordpress-escludere-una-cartella-dal-rewriting-url-di-apache/">WordPress: escludere una cartella dal rewriting url di Apache</a> sembra essere il primo su <a href="https://www.cesarebordi.it">Cesare Bordi | Innovation Manager &amp; Back-end Developer</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><span style="text-decoration: underline;">Scenario</span>: molti <strong>cms</strong>, primo fra tutti <strong>WordPress</strong>, permettono di impostare la generazione automatica di <strong>friendly url </strong>per migliorare il <strong>seo</strong> di un <strong>sito web.</strong> L&#8217;abilitazione di tale funzione, che sfrutta il <strong>modulo rewrite</strong> (<strong>mod_rewrite.c</strong>) di <strong>Apache</strong>, è una delle configurazioni di base che ogni <strong>web developer</strong> dovrebbe eseguire in fase di installazione della <strong>piattaforma </strong>attraverso l&#8217;apposito <strong>file .htaccess</strong>.</p>
<p>Il <strong>codice</strong> proposto dallo stesso <strong>WordPress</strong> che solitamente si utilizza per <strong>abilitare il rewriting</strong> e far così scomparire dalla url &#8220;index.php&#8221; è il seguente:</p>
<pre class="brush: bash; title: ; notranslate">
&lt;IfModule mod_rewrite.c&gt;
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - &#x5B;L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php &#x5B;L]
&lt;/IfModule&gt;
</pre>
<p>Questa regola eseguirà il rewrite di ogni percorso della url sott&#8217;intendendo la presenza di /index.php</p>
<p><span style="text-decoration: underline;">Problema</span>: può però essere necessario <strong>escludere una cartella</strong> (o più) da questa regola generale per caricare ad esempio file che devono essere accessibili attraverso un link diretto o script di varia utilità.</p>
<p><span style="text-decoration: underline;">Soluzione</span>: è possibile <strong>modificare la regola</strong> in modo da segnalare <strong>una directory</strong> (o più) che faccia <strong>eccezione</strong> rispetto alla regola generale attraverso la seguente istruzione:</p>
<pre class="brush: bash; title: ; notranslate">
RewriteCond %{REQUEST_URI} !^/(Cartella1|Cartella2|Cartella3).*$
</pre>
<p>Ecco come apparirà il blocco di codice completo:</p>
<pre class="brush: bash; title: ; notranslate">
&lt;IfModule mod_rewrite.c&gt;
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - &#x5B;L]
RewriteCond %{REQUEST_URI} !^/(Cartella1|Cartella2|Cartella3).*$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php &#x5B;L]
&lt;/IfModule&gt;
</pre>
<p>L'articolo <a href="https://www.cesarebordi.it/wordpress-escludere-una-cartella-dal-rewriting-url-di-apache/">WordPress: escludere una cartella dal rewriting url di Apache</a> sembra essere il primo su <a href="https://www.cesarebordi.it">Cesare Bordi | Innovation Manager &amp; Back-end Developer</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.cesarebordi.it/wordpress-escludere-una-cartella-dal-rewriting-url-di-apache/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Apache directory browsing: disabilitare la visualizzazione delle cartelle</title>
		<link>https://www.cesarebordi.it/apache-directory-browsing-disabilitare-la-visualizzazione-delle-cartelle/</link>
					<comments>https://www.cesarebordi.it/apache-directory-browsing-disabilitare-la-visualizzazione-delle-cartelle/#respond</comments>
		
		<dc:creator><![CDATA[cesarebordi]]></dc:creator>
		<pubDate>Mon, 22 Feb 2016 10:04:01 +0000</pubDate>
				<category><![CDATA[Programmazione]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[apache2]]></category>
		<category><![CDATA[directory browsing]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[visualizzare cartelle]]></category>
		<category><![CDATA[webserver]]></category>
		<guid isPermaLink="false">http://www.cesarebordi.it/?p=155</guid>

					<description><![CDATA[<p>Scenario: abbiamo configurato il nostro webserver, ma ci accorgiamo che, in mancanza dei classici file di index, recandoci su un dominio configurato nei virtual host  il server mostra...</p>
<p>L'articolo <a href="https://www.cesarebordi.it/apache-directory-browsing-disabilitare-la-visualizzazione-delle-cartelle/">Apache directory browsing: disabilitare la visualizzazione delle cartelle</a> sembra essere il primo su <a href="https://www.cesarebordi.it">Cesare Bordi | Innovation Manager &amp; Back-end Developer</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><span style="text-decoration: underline;">Scenario</span>: abbiamo configurato il nostro webserver, ma ci accorgiamo che, in mancanza dei classici file di index, recandoci su un dominio configurato nei virtual host  il server mostra ci consente la possibile di <strong>visualizzare le cartelle del nostro sito</strong> e navigare tra i file&#8230; A livello di sicurezza e riservatezza dei dati non è sicuramente il massimo!</p>
<p><span style="text-decoration: underline;">Problema</span>: come disabilitare il <strong>directory browsing</strong> di <strong>Apache2</strong>?</p>
<p><span style="text-decoration: underline;">Soluzione</span>: per prima cosa bisogna aprire il file della configurazione di default di apache2, nel mio caso denominato &#8220;000-default.conf&#8221; e rimuovere dalle options il modulo &#8220;Indexes&#8221; appunto.</p>
<p>Quindi troveremo una riga simile a questa:</p>
<pre class="brush: bash; title: ; notranslate">Options Includes Indexes FollowSymLinks MultiViews</pre>
<p>che diventerà:</p>
<pre class="brush: bash; title: ; notranslate">Options Includes FollowSymLinks MultiViews</pre>
<p>poi dovremo riavviare il servizio:</p>
<pre class="brush: bash; title: ; notranslate">sudo service apache2 reload</pre>
<p>Non sempre questo unico accorgimento risolve il problema, quindi consiglio di lanciare i seguenti comandi per <strong>disabilitare il modulo autoindex</strong> di Apache:</p>
<pre class="brush: bash; title: ; notranslate">
sudo a2dismod autoindex
sudo service apache2 restart
</pre>
<p>L'articolo <a href="https://www.cesarebordi.it/apache-directory-browsing-disabilitare-la-visualizzazione-delle-cartelle/">Apache directory browsing: disabilitare la visualizzazione delle cartelle</a> sembra essere il primo su <a href="https://www.cesarebordi.it">Cesare Bordi | Innovation Manager &amp; Back-end Developer</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.cesarebordi.it/apache-directory-browsing-disabilitare-la-visualizzazione-delle-cartelle/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
