<?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>Libre Experience &#187; apache</title>
	<atom:link href="http://www.libre-experience.org/index.php/tag/apache/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.libre-experience.org</link>
	<description>Bloc-notes sur les logiciels libres</description>
	<lastBuildDate>Tue, 22 Nov 2011 07:21:41 +0000</lastBuildDate>
	<language>fr</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Django, Apache et gunicorn</title>
		<link>http://www.libre-experience.org/index.php/2010/06/05/django-apache-et-gunicorn/</link>
		<comments>http://www.libre-experience.org/index.php/2010/06/05/django-apache-et-gunicorn/#comments</comments>
		<pubDate>Sat, 05 Jun 2010 17:53:41 +0000</pubDate>
		<dc:creator>Marco</dc:creator>
				<category><![CDATA[Informatique]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[django]]></category>
		<category><![CDATA[gunicorn]]></category>
		<category><![CDATA[Planet-Libre]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://www.libre-experience.org/?p=284</guid>
		<description><![CDATA[Django est un framework web Python qui dispose d&#8217;un propre serveur http, ce qui permet de tester rapidement les applications développées. Cependant il est déconseillé de l&#8217;utiliser en production. Ainsi pour une utilisation en production, on le couple à un serveur http, par exemple le très célèbre Apache. Pour ce faire on va utiliser l&#8217;interface [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.djangoproject.com">Django</a> est un framework web Python qui dispose d&#8217;un propre serveur http, ce qui permet de tester rapidement les applications développées. Cependant il est déconseillé de l&#8217;utiliser en production<span id="more-284"></span>.</p>
<p>Ainsi pour une utilisation en production, on le couple à un serveur http, par exemple le très célèbre Apache. Pour ce faire on va utiliser l&#8217;interface standard Python : WSGI (Web Server Gateway Interface). Un exemple de configuration est fourni sur la <a href="http://docs.djangoproject.com/en/dev/howto/deployment/modwsgi/">documentation officielle de Django</a>.</p>
<p>Cependant il existe un moyen à mon avis plus élégant de parvenir au but recherché : l&#8217;utilisation de <a href="http://gunicorn.org">gunicorn</a> en tant que proxy. Je n&#8217;ai pas eu encore l&#8217;occasion de le tester autrement qu&#8217;en local, mais il s&#8217;avère très prometteur en terme de rapidité. De plus, une fois gunicorn installé (très simple puisqu&#8217;il s&#8217;agit d&#8217;un package Python), la configuration est vraiment aisée.<br />
Plutôt que de paraphraser, je vous renvoie vers un <a href="http://mathieu.agopian.info/blog/2010/02/gunicorn-un-server-wsgi-ultra-simple-a-utiliser-et-configurer">article très bien fait</a>.</p>
<p><strong>Important : il faut s&#8217;assurer que les chemins vers l&#8217;application Django définis dans la configuration d&#8217;Apache sont bien accessibles par l&#8217;utilisateur qui exécute Apache.</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.libre-experience.org/index.php/2010/06/05/django-apache-et-gunicorn/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Faire fonctionner Django avec Apache</title>
		<link>http://www.libre-experience.org/index.php/2009/09/04/faire-fonctionner-django-avec-apache/</link>
		<comments>http://www.libre-experience.org/index.php/2009/09/04/faire-fonctionner-django-avec-apache/#comments</comments>
		<pubDate>Fri, 04 Sep 2009 13:17:55 +0000</pubDate>
		<dc:creator>Marco</dc:creator>
				<category><![CDATA[Informatique]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[django]]></category>
		<category><![CDATA[Planet-Libre]]></category>

		<guid isPermaLink="false">http://www.mirelsol.org/?p=160</guid>
		<description><![CDATA[Le framework web Django est livré avec un serveur de développement intégré. Il est cependant possible de le faire fonctionner avec serveur web Apache dans le cadre d&#8217;une utilisation en production. Pour la rédaction de cet article, je me suis basé sur la documentation de Django. L&#8217;installation a été réalisée sur un serveur fonctionnant avec [...]]]></description>
			<content:encoded><![CDATA[<p>Le framework web <a href="http://www.djangoproject.com/">Django</a> est livré avec un serveur de développement intégré. Il est cependant possible de le faire fonctionner avec serveur web <a href="http://www.apache.org/">Apache</a> dans le cadre d&#8217;une utilisation en production.<span id="more-160"></span></p>
<p>Pour la rédaction de cet article, je me suis basé sur la <a href="http://docs.djangoproject.com/en/dev/howto/deployment/modwsgi/#howto-deployment-modwsgi">documentation de Django</a>. L&#8217;installation a été réalisée sur un serveur fonctionnant avec <a href="http://www.debian.org">Debian</a> Lenny.</p>
<h2>Installation de WSGI</h2>
<p><code>aptitude install libapache2-mod-wsgi</code></p>
<h2>Paramétrage de l&#8217;application pour l&#8217;utilisation d&#8217;Apache</h2>
<p>Pour ce faire créez par exemple un répertoire <em>apache</em> à la racine de votre site et ajouter un fichier nommé <em>django.wsgi</em>. Ajoutez les lignes suivantes :<br />
<code>import os<br />
import sys</code><br />
<code>sys.path.append('/usr/local/src/django_apps/app/')<br />
os.environ['DJANGO_SETTINGS_MODULE'] = 'monprojet.settings'</code><br />
<code>import django.core.handlers.wsgi<br />
application = django.core.handlers.wsgi.WSGIHandler()</code></p>
<p>Adaptez les lignes 3 et 4 à votre projet. Attention la ligne <em>sys.path.append</em> contient le chemin vers votre projet, nom du projet <strong>NON</strong> compris.</p>
<p>Il faut ensuite ajouter à Apache le site développé avec Django. Ajoutez par exemple à votre <em>virtualhost</em> les lignes suivantes :</p>
<p><code>Alias /media/ /usr/local/src/django_apps/app/monprojet/media/</code></p>
<p><code>&lt;Directory /usr/local/src/django_apps/app/monprojet/media&gt;<br />
Order deny,allow<br />
Allow from all<br />
&lt;/Directory&gt;</code></p>
<p><code>WSGIScriptAlias /monprojet /usr/local/src/django_apps/app/monprojet/apache/django.wsgi</code></p>
<p><code>&lt;Directory /usr/local/src/django_apps/app/monprojet/apache&gt;<br />
Order deny,allow<br />
Allow from all<br />
&lt;/Directory&gt;</code></p>
<ul>
<li>La ligne avec <em>Alias</em> permet de définir un chemin pour indiquer à Apache où aller chercher les fichiers statiques (images, css&#8230;).</li>
<li>La ligne avec <em>WSGIScriptAlias</em> définit l&#8217;URL pour l&#8217;appel de votre site.</li>
<li>Les directives avec <em>Directory</em> donnent l&#8217;accès aux répertoires à Apache</li>
</ul>
<p>Voilà, ne pas oublier de recharger la configuration d&#8217;Apache.</p>
<p><code>/etc/init.d/apache2 reload</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.libre-experience.org/index.php/2009/09/04/faire-fonctionner-django-avec-apache/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Activer https pour un serveur apache2</title>
		<link>http://www.libre-experience.org/index.php/2009/09/02/activer-https-pour-un-serveur-apache2/</link>
		<comments>http://www.libre-experience.org/index.php/2009/09/02/activer-https-pour-un-serveur-apache2/#comments</comments>
		<pubDate>Wed, 02 Sep 2009 12:24:49 +0000</pubDate>
		<dc:creator>Marco</dc:creator>
				<category><![CDATA[Informatique]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[https]]></category>

		<guid isPermaLink="false">http://www.mirelsol.org/?p=145</guid>
		<description><![CDATA[Cet article est très largement inspiré de cette documentation, très bien faite. Le seul but ici est de me faire un mémo personnel. Stopper Apache /etc/init.d/apache2 stop Activer le module SSL a2enmod ssl Créer un hôte virtuel pour le site en https Il faut pour ce faire créer un fichier dans le répertoire /etc/apache2/sites-available nommé [...]]]></description>
			<content:encoded><![CDATA[<p>Cet article est très largement inspiré de cette <a href="http://www.patdef.fr/Configurer-apache2-pour-faire-du.html">documentation</a>, très bien faite. Le seul but ici est de me faire un mémo personnel<span id="more-145"></span>.</p>
<h2>Stopper Apache</h2>
<p><code>/etc/init.d/apache2 stop</code></p>
<h2>Activer le module SSL</h2>
<p><code>a2enmod ssl</code></p>
<h2>Créer un hôte virtuel pour le site en https</h2>
<p>Il faut pour ce faire créer un fichier dans le répertoire <em>/etc/apache2/sites-available</em> nommé avec par exemple votre nom de domaine : <em>mondomaine.https</em></p>
<p><code>NameVirtualHost *:443<br />
&lt;VirtualHost *:443&gt;<br />
...<br />
...<br />
    # add ssl protocol<br />
    SSLEngine On<br />
    SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire<br />
    SSLCertificateFile /etc/ssl/certs/mondomaine.crt<br />
    SSLCertificateKeyFile /etc/ssl/private/mondomaine.key<br />
&lt;/VirtualHost&gt;<br />
</code></p>
<h2>Ajouter l&#8217;hôte virtuel nouvellement créé</h2>
<p><code>a2ensite mondomaine.https</code></p>
<h2>Vérifier que le port 443 est bien autorisé</h2>
<ul>
<li>Vérifier qu&#8217;il y a bien <em>Listen 443</em> dans le fichier <em>/etc/apache2/ports.conf</em></li>
<li>Vérifier que ce port est bien autorisé par votre parefeu</li>
</ul>
<h2>Générer la clé et le certificat</h2>
<p>Attention je fais ici la supposition que l&#8217;on génère soit-même le certificat sans passer par un organisme officiel. Un message de mise en garde sur l&#8217;authenticité du certificat sera affiché aux visiteurs de votre site.</p>
<h3>Génération de la clé privée</h3>
<p><code>openssl genrsa -out mondomaine.key 1024</code></p>
<p>Il n&#8217;y a ici pas de mot de passe associé (sinon il faut rajouter l&#8217;option <em>-des3</em> à cette ligne de commande). Si on met un mot de passe, il sera demandé à chaque démarrage d&#8217;Apache.</p>
<h3>Etablissement d&#8217;une demande de certificat</h3>
<p><code>openssl req -new -key mondomaine.key -out mondomaine.csr</code></p>
<h3>Création du certificat</h3>
<p><code>openssl x509 -req -days 30000 -in mondomaine.csr -signkey mondomaine.key -out mondomaine.crt</code></p>
<h3>Installation du certificat</h3>
<p><code>mv mondomaine.crt /etc/ssl/certs<br />
mv mondomaine.key /etc/ssl/private</code></p>
<h3>Démarrage d&#8217;Apache</h3>
<p><code>/etc/init.d/apache2 start</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.libre-experience.org/index.php/2009/09/02/activer-https-pour-un-serveur-apache2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

