<p>
	Cherokee : Serveur Web g&eacute;rant php via php-cgi ainsi que SSL.<br />
	<br />
	Principaux atouts :<br />
	&nbsp;&nbsp;&nbsp; - plus performant que apache (du moins sur le papier)<br />
	&nbsp;&nbsp;&nbsp; - plus l&eacute;ger que apache, moins de chose inutile que des chose de base<br />
	&nbsp;&nbsp;&nbsp; - interface de configuration web compl&egrave;te et relativement bien faite<br />
	<br />
	Principaux defaults :<br />
	&nbsp;&nbsp;&nbsp; - Encore en d&eacute;veloppement, pas de version stable mais utilisable<br />
	&nbsp;&nbsp;&nbsp; - Utilise php-cgi avec tous les probl&egrave;me que cela peut apporter<br />
	<br />
	<br />
	Site officiel : http://www.cherokee-project.com/<br />
	<br />
	Pr&eacute;requis : en fonction de l&#39;usage openssl, php-cgi, mysql, postgress, ldap, ffmpeg, python, rrdtool<br />
	<br />
	Il &eacute;xiste de paquets pour la majorit&eacute; des distributions mais qui ne sont pas forc&eacute;ment &agrave; jour avec la version officielle.<br />
	Etant donn&eacute; le caract&egrave;re en d&eacute;veloppement du serveur, il est recommander d&#39;utiliser la derni&egrave;re version stable qui est<br />
	actuellement la 1.0.1<br />
	<br />
	Pour cet atelier, afin que tout le monde ait la m&ecirc;me version, on utilisera les sources que l&#39;on va compiler.<br />
	<br />
	On r&eacute;cup&egrave;re les sources sur le site officiel.<br />
	<br />
	On d&eacute;compresse avec la commande tar zxvf cherokee-0.99.44.tar.gz<br />
	On rentre dans le r&eacute;pertoire cd cherokee-0.99.44<br />
	On ex&eacute;cute un ./configure --help pour connaitre les option de compilation.<br />
	On compile avec ./configure --prefix=/opt/cherokee/ --exec-prefix=/opt/cherokee/<br />
	Puis si tout ce passe bien et que les options voulus sont bien activ&eacute; on fait un make<br />
	On se logue en root et make install (ou sudo make install)<br />
	<br />
	On ajoute le chemin &agrave; la variable path avec export PATH=$PATH:/usr/bin:/bin:/sbin:/usr/sbin:/usr/bin/perlbin/site:/usr/bin/perlbin/vendor:/usr/bin/perlbin/core:/opt/cherokee/bin:/opt/cherokee/sbin<br />
	(export temporaire, l&#39;ajouter dans le bashrc pour qu&#39;il soit permanant ou /etc/profile ou autres en fonction de la distribution)<br />
	<br />
	On d&eacute;mare ensuite le serveur d&#39;administration avec cherokee-admin<br />
	Par default, la connection &agrave; l&#39;administration n&#39;est possible qu&#39;avec localhost.<br />
	On peut ajouter l&#39;option suivi de l&#39;ip &agrave; partir de laquelle on se connecte ou juste -b pour autoriser toutes les connections.<br />
	Un mot de pass est g&eacute;n&eacute;r&eacute;, un simple copier coller au bon endroit permet de se connecter &agrave; l&#39;administration.<br />
	<br />
	Dans un navigateur web on ouvre http://domaine.ltd:9090<br />
	<br />
	L&#39;interface est en python. Elle est francis&eacute; mais pas compl&egrave;tement.<br />
	<br />
	On peut lancer le serveur via l&#39;interface et faire tous les r&eacute;glages possible avec. Il n&#39;est pas recommand&eacute; d&#39;&eacute;diter le fichier de configuration. Et de toutes fa&ccedil;ons, &ccedil;a ne sert &agrave; rien, il n&#39;y a pas d&#39;option en plus.<br />
	<br />
	La page d&#39;accueil permet de voir l&#39;&eacute;tat du serveur ainsi q&#39;un graphique d&#39;utilisation du serveur lorsque rrdtool est install&eacute; et activ&eacute;.<br />
	G&eacute;n&eacute;ral permet de configurer le r&eacute;seau, les permissions, ou les diff&eacute;rents ports &agrave; &eacute;couter. On peut &eacute;galement activer ou nom les graphiques d&#39;utilisation du serveur dans l&#39;onglet r&eacute;seau.<br />
	Serveur virtuel permet la configuration des diff&eacute;rents domaines attach&eacute;s au serveur.<br />
	Sources d&#39;information permet de configurer les programmes ext&eacute;rieurs comme php, ruby ou python ...<br />
	Ic&ocirc;nes et types mime se passe de commentaires.<br />
	Avanc&eacute; permet des r&eacute;glages plus fin en mati&egrave;re de performance ou de chemin de configuration de fonctionneme et autres. Comme l&#39;indique le Warning, il faut bien savoir ce que l&#39;on fait avant de toucher cette partie.<br />
	<br />
	Je vous invite &agrave; consulter la documentation officielle pour plus d&#39;informations.<br />
	<br />
	Exemple : Installation d&#39;un site fonctionnant avec php et mysql.<br />
	<br />
	On clic sur Serveurs virtuels. Puis sur Ajouter un nouveau serveur virtuel. On rentre son nom ou surnom et le chemin depuis la racine vers le dossier contenant le site. Et &lt;Entr&eacute;e&gt; pour valider.<br />
	Une nouevelle entr&eacute;e est cr&eacute;er. En cliquant dessus , on peut configurer plus sp&eacute;cifiquement ce nouveau site.<br />
	L&#39;onglet basics permet de configurer le nom du serveur son chemin ainsi que les index. On rentre dans ce champ &quot;index.php&quot;.<br />
	L&#39;onglet host match permet de sp&eacute;cifier diff&eacute;rents nom d&#39;h&ocirc;te attach&eacute; &agrave; ce site. Soit un nom, soit une ip.&nbsp; Il est &eacute;galement possible d&#39;utiliser l&#39;urlrewriting , nous verrons plus loin comment.<br />
	Dans notre cas, s&eacute;lectionner Wildcards et donn&eacute; votre domaine &lt;domaine.ltd&gt; ou pour nous test.localhost<br />
	L&#39;onglet Behavior (ou comportement) permet entre autre d&#39;ajouter des languages comme php.<br />
	En utilisant Assistant puis langue puis en s&eacute;lectionnant php et enfin runwizard on configure le serveur pour qu&#39;il utilise php-cgi.<br />
	Cet assistant permet aussi de configurer dif&eacute;rents projets, cms ou t&acirc;ches. On peut ainsi configurer tr&egrave;s facilement drupal, symfony, django ou Ruby on Rails.<br />
	L&#39;onglet personnal web permet&nbsp; de configure les r&eacute;pertoire des utilisateurs comme peut le faire apache.<br />
	On peut ensuite g&eacute;rer les logs de mani&egrave;re ind&eacute;pendante pour chaque site ou dans le m&ecirc;me fichier avec les 2 onglets suivant.<br />
	Enfin l&#39;onglet s&eacute;curit&eacute; permet de configurer une connection ssl.<br />
	<br />
	Il suffit de cliequer sur sauvegarder pour enregistrer les modifications.</p>
