{"id":6782,"date":"2019-06-01T19:19:10","date_gmt":"2019-06-01T17:19:10","guid":{"rendered":"https:\/\/www.creativejuiz.fr\/blog?p=6782"},"modified":"2019-08-25T17:10:24","modified_gmt":"2019-08-25T15:10:24","slug":"easy-engine-v4","status":"publish","type":"post","link":"https:\/\/www.creativejuiz.fr\/blog\/tutoriels\/easy-engine-v4","title":{"rendered":"Easy Engine v4 &#8211; Pas si easy que \u00e7a"},"content":{"rendered":"<p>Il y a quelques temps j&rsquo;ai \u00e9crit un article sur le <a href=\"https:\/\/www.creativejuiz.fr\/blog\/tutoriels\/gerer-son-serveur-vps-ovh-grace-a-easy-engine\">montage d&rsquo;un petit VPS sous Easy Engine<\/a> pour faciliter la cr\u00e9ation et gestion de site web. Pendant quelques ann\u00e9es j&rsquo;ai utilis\u00e9 cet outil sans aucun probl\u00e8me et je suis mont\u00e9 un peu en comp\u00e9tences sur la gestion d&rsquo;un serveur. Sauf que l&rsquo;an dernier (2018), EE est pass\u00e9 en v4\u2026<\/p>\n<p><!--more--><\/p>\n<p class=\"message\">Pour les personnes qui ne souhaitent pas radicalement changer leurs habitudes, <a href=\"https:\/\/docs.wordops.net\/guides\/migration-from-easyengine\/\">WordOps<\/a> est un fork de EasyEngine V3 avec plein d&rsquo;am\u00e9liorations. (Merci Thomas pour sa remarque en commentaire)<\/p>\n<p>Parmi les changements de cette v4, notez :<\/p>\n<ul>\n<li>l&rsquo;abandon du service e-mail<\/li>\n<li>le passage de Python \u00e0 PHP pour l&rsquo;\u00e9criture du coeur,<\/li>\n<li>l&rsquo;utilisation de Docker au lieu de l&rsquo;OS,<\/li>\n<li>le nombre limite de site web est de 25 d\u00fb \u00e0 la limite de conteneurs Docker par serveur,<\/li>\n<li>l&rsquo;utilisation de PHP 7.2 par d\u00e9faut,<\/li>\n<li>la r\u00e9\u00e9criture de certaines <a href=\"https:\/\/easyengine.io\/commands\" hreflang=\"en\">commandes<\/a> <code>ee<\/code><\/li>\n<\/ul>\n<p>Pour les personnes qui viennent de la v3, sachez qu&rsquo;il y a un <a href=\"https:\/\/easyengine.io\/handbook\/v3-to-v4-migration\/script\" hreflang=\"en\">script de migration<\/a>.<\/p>\n<p>Pour plus d&rsquo;informations sur cette mise \u00e0 jour, je vous laisse lire l&rsquo;<a href=\"https:\/\/easyengine.io\/blog\/v4-first-stable-release\" hreflang=\"en\">annonce officielle<\/a>.<\/p>\n<h2>Installer un serveur VPS<\/h2>\n<p>Je ne vais pas n\u00e9cessairement copier\/coller mes conseils pour acheter\/installer un VPS. Je vous invite \u00e0 lire ou relire mon article \u00ab\u00a0<a href=\"https:\/\/www.creativejuiz.fr\/blog\/tutoriels\/gerer-son-serveur-vps-ovh-grace-a-easy-engine\">G\u00e9rer son serveur VPS gr\u00e2ce \u00e0 Easy Engine<\/a>\u00ab\u00a0, les parties suivantes de l&rsquo;article sont toujours viables :<\/p>\n<ul>\n<li><a href=\"https:\/\/www.creativejuiz.fr\/blog\/tutoriels\/gerer-son-serveur-vps-ovh-grace-a-easy-engine#choisir\">Choisir son VPS<\/a>,<\/li>\n<li><a href=\"https:\/\/www.creativejuiz.fr\/blog\/tutoriels\/gerer-son-serveur-vps-ovh-grace-a-easy-engine#ssh\">Se connecter en SSH<\/a>,<\/li>\n<li>Installer sudo et cr\u00e9er des utilisateurs, ainsi que g\u00e9n\u00e9rer une <a href=\"https:\/\/www.creativejuiz.fr\/blog\/tutoriels\/gerer-son-serveur-vps-ovh-grace-a-easy-engine#public-key\">cl\u00e9 d&rsquo;identitifation<\/a>,<\/li>\n<\/ul>\n<p>Si ce n&rsquo;est que l&rsquo;offre OVH 2016 n&rsquo;est plus d&rsquo;actualit\u00e9. A la place vous aurez une offre 2018 \u00e0 20Go, ce qui est totalement \u00e0 votre avantage \ud83d\ude42<\/p>\n<p>Les autres parties sont beaucoup moins utiles, vous pouvez donc les sauter et passer \u00e0 la suite de cet article.<\/p>\n<p>Concernant l&rsquo;installation de Easy Engine v4, je vous invite \u00e0 remplacer la commande de l&rsquo;ancienne version par :<\/p>\n<div class=\"code-embed-wrapper\"> <pre class=\"language-bash code-embed-pre line-numbers\"  data-start=\"1\" data-line-offset=\"0\"><code class=\"language-bash code-embed-code\">wget -qO ee https:\/\/rt.cx\/ee4 &amp;&amp; sudo bash ee<\/code><\/pre> <div class=\"code-embed-infos\"> <\/div> <\/div>\n<p>Encore une fois, pour les personnes qui viennent de la v3, sachez qu&rsquo;il y a un <a href=\"https:\/\/easyengine.io\/handbook\/v3-to-v4-migration\/script\" hreflang=\"en\">script de migration<\/a> \u00e0 utiliser.<\/p>\n<h2>Cr\u00e9er son site web avec Easy Engine v4<\/h2>\n<p>On commence bien avec cette commande qui a d\u00e9j\u00e0 chang\u00e9 par rapport \u00e0 la v3. Pour cr\u00e9er un site web avec un nouveau domaine il vous faudra rentrer la commande suivante. Je vous mets quelques flag classiques, lisez le d\u00e9tail apr\u00e8s le code avant de le copier\/coller\/ex\u00e9cuter \ud83d\ude09<\/p>\n<div class=\"code-embed-wrapper\"> <pre class=\"language-bash code-embed-pre line-numbers\"  data-start=\"1\" data-line-offset=\"0\"><code class=\"language-bash code-embed-code\">ee site create example.org --type=wp --mu=subdir --ssl=le --php=5.6<\/code><\/pre> <div class=\"code-embed-infos\"> <\/div> <\/div>\n<p>Ici je cherche \u00e0 cr\u00e9er un site WordPress de domaine example.org avec un multisite en sous-dossier, HTTPS activ\u00e9 avec certificat Let&rsquo;s Encrypt sur un PHP v5.6.<\/p>\n<p>Si vous avez besoin d&rsquo;autre chose, lisez attentivement les <a href=\"https:\/\/easyengine.io\/commands\/site\/create\" hreflang=\"en\">options qui s&rsquo;offrent<\/a> \u00e0 vous.<\/p>\n<p>La commande d&rsquo;<code>update<\/code> vous permet de revenir sur une configuration d&rsquo;un domaine que vous souhaiteriez revoir. Elle a \u00e9galement chang\u00e9 mais utilise les m\u00eames nouveaux flags sur la commande <code>create<\/code>.<\/p>\n<h2>Modifier la config Nginx avec Easy Engine\u00a04<\/h2>\n<p>Une chose un peu ennuyante avec Easy Engine 4 ce sont les conteneurs Docker. Votre configuration est embarqu\u00e9e dans le conteneur qui fait tourner Nginx pour un domaine sp\u00e9cifique, qu&rsquo;il faudra donc red\u00e9marrer \u00e0 chaque modification de votre configuration.<\/p>\n<p>Une autre chose fun est donc de trouver le bon fichier <code>.conf<\/code> \u00e0 \u00e9diter afin qu&rsquo;il soit pris en compte lors du d\u00e9marrage de Docker.<\/p>\n<p>Sur cette nouvelle installation, vous trouverez un fichier custom <code>user.conf<\/code> pour un domaine sp\u00e9ficique dans : <code>\/opt\/easyengine\/sites\/example.org\/config\/nginx\/custom<br \/>\n<\/code>Vous aurez besoin d&rsquo;\u00eatre identifi\u00e9 comme <code>root<\/code> pour effectuer l&rsquo;\u00e9dition. Vous pouvez \u00e9diter ce fichier, l&rsquo;enregistrer et red\u00e9marrer Nginx. Ah\u2026 comment le red\u00e9marrer ce petit Nginx ?<\/p>\n<p>Pour rappel Nginx tourne dans un conteneur Docker. Personnellement pour m&rsquo;assurer que Nginx utilisait bien la bonne configuration \u00e0 jour, voici ce que j&rsquo;ai fini par faire :<\/p>\n<div class=\"code-embed-wrapper\"> <pre class=\"language-bash code-embed-pre line-numbers\"  data-start=\"1\" data-line-offset=\"0\"><code class=\"language-bash code-embed-code\">sudo ee service reload nginx-proxy<br\/>sudo ee site reload example.org<br\/>sudo docker restart exampleorg_nginx_1<\/code><\/pre> <div class=\"code-embed-infos\"> <\/div> <\/div>\n<p>Notez que le conteneur Docker est red\u00e9marr\u00e9 gr\u00e2ce \u00e0 son nom. Pour vous assurer de red\u00e9marrer le bon nom de conteneur, je vous invite \u00e0 faire un check sur son nom. Listez les conteneurs actifs :<\/p>\n<div class=\"code-embed-wrapper\"> <pre class=\"language-bash code-embed-pre line-numbers\"  data-start=\"1\" data-line-offset=\"0\"><code class=\"language-bash code-embed-code\">docker ps<\/code><\/pre> <div class=\"code-embed-infos\"> <\/div> <\/div>\n<p>Cette commande retourne un tableau avec les identifiants et noms des conteneurs. Rep\u00e9rez le nom qui contient votre domaine et nginx, et copiez\/collez-le \u00e0 la place de <code>exampleorg_nginx_1<\/code> dans mon exemple de commande pr\u00e9c\u00e9dent si ce n&rsquo;est pas le bon nom.<\/p>\n<p>Personnellement j&rsquo;ai fini par me faire quelques alias pour me faciliter la vie.<\/p>\n<p>Apr\u00e8s avoir red\u00e9marr\u00e9 Nginx, votre configuration devrait \u00eatre prise en compte. Notez que l&rsquo;inclusion de fichier de conf avec <code>include<\/code> n&rsquo;a pas l&rsquo;air de fonctionner. Seul le fichier <code>user.conf<\/code> semble embarquer dans le conteneur Docker.<\/p>\n<h2>Quelques alias bien pratiques<\/h2>\n<p>Comme je vous le disais, je me suis cr\u00e9\u00e9 quelques alias utiles pour faciliter mon quotidien. Pour cr\u00e9er un alias il vous faut \u00e9diter le fichier <code>.bashrc<\/code> ou <code>.zshrc<\/code> (si vous avez install\u00e9 OhMyZSH sur votre serveur).<\/p>\n<p>Faites donc un petit :<\/p>\n<div class=\"code-embed-wrapper\"> <pre class=\"language-bash code-embed-pre line-numbers\"  data-start=\"1\" data-line-offset=\"0\"><code class=\"language-bash code-embed-code\">sudo nano ~\/.bashrc<\/code><\/pre> <div class=\"code-embed-infos\"> <\/div> <\/div>\n<p>Ensuite r\u00e9cup\u00e9rez les alias qui peuvent vous \u00eatre utiles dans le contenu de fichier suivant :<\/p>\n<div class=\"code-embed-wrapper\"> <pre class=\"language-bash code-embed-pre line-numbers\"  data-start=\"1\" data-line-offset=\"0\"><code class=\"language-bash code-embed-code\"># Go To blog files (need root rights)<br\/>alias gototheme=&#039;cd \/opt\/easyengine\/sites\/example.org\/app\/htdocs\/wp-content\/themes\/myWPtheme\/&#039;<br\/>alias gotowebsite=&#039;cd \/opt\/easyengine\/sites\/example.org\/app\/htdocs&#039;<br\/><br\/># Go To Conf files (need root)<br\/>alias gotoconf=&#039;cd \/opt\/easyengine\/sites\/example.org\/config\/nginx\/custom&#039;<br\/>alias editconf=&#039;nano \/opt\/easyengine\/sites\/example.org\/config\/nginx\/custom\/user.conf&#039;<br\/><br\/># Nginx commands<br\/>nginxReload(){<br\/>\tsudo ee service reload nginx-proxy<br\/>\tsudo ee site reload example.org<br\/>\tsudo docker restart exampleorg_nginx_1<br\/>}<br\/>alias nginxreload=nginxReload<br\/><br\/># EE commands<br\/>alias nginxstart=&#039;ee service enable nginx-proxy&#039;<br\/>alias nginxstop=&#039;ee service disable nginx-proxy&#039;<br\/><br\/># Docker commands<br\/>alias dockerrestart=&#039;docker restart $(docker ps -q)&#039;<\/code><\/pre> <div class=\"code-embed-infos\"> <\/div> <\/div>\n<p>Voil\u00e0 pour ce petit r\u00e9capitulatif de l&rsquo;utilisation et la configuration de la nouvelle mouture de Easy Engine.<\/p>\n<p>Personnellement je trouve les choix techo un peut \u00e9trange pour cette version, mais je ne vais pas rentrer dans ce d\u00e9bat. N&rsquo;h\u00e9sitez pas \u00e0 partager vos questions ou retour d&rsquo;exp\u00e9rience si jamais vous avez des astuces \ud83d\ude42<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Il y a quelques temps j&rsquo;ai \u00e9crit un article sur le montage d&rsquo;un petit VPS sous Easy Engine pour faciliter la cr\u00e9ation et gestion de site web. Pendant quelques ann\u00e9es j&rsquo;ai utilis\u00e9 cet outil sans aucun probl\u00e8me et je suis mont\u00e9 un peu en comp\u00e9tences sur la gestion d&rsquo;un serveur. Sauf que l&rsquo;an dernier (2018), [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":5970,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_bluesky_dont_syndicate":"","_bluesky_syndication_accounts":"","_bluesky_syndication_text":"","footnotes":""},"categories":[700,9],"tags":[746,21,22,395,321],"coauthors":[597],"class_list":["post-6782","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-retours-experience","category-tutoriels","tag-nginx","tag-optimisation","tag-ovh","tag-securite","tag-serveur"],"acf":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/posts\/6782","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/comments?post=6782"}],"version-history":[{"count":3,"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/posts\/6782\/revisions"}],"predecessor-version":[{"id":6862,"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/posts\/6782\/revisions\/6862"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/media\/5970"}],"wp:attachment":[{"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/media?parent=6782"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/categories?post=6782"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/tags?post=6782"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/coauthors?post=6782"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}