{"id":24567,"date":"2020-08-02T15:23:55","date_gmt":"2020-08-02T13:23:55","guid":{"rendered":"https:\/\/exoconsult.com\/?p=24567"},"modified":"2020-12-10T22:11:42","modified_gmt":"2020-12-10T21:11:42","slug":"installer-un-serveur-web-dans-le-cloud-et-plusieurs-sites-wordpress-bitnami","status":"publish","type":"post","link":"https:\/\/exoconsult.com\/fr\/wordpress\/installer-un-serveur-web-dans-le-cloud-et-plusieurs-sites-wordpress-bitnami\/","title":{"rendered":"Installer WordPress avec Bitnami"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Voici la proc\u00e9dure compl\u00e8te pour installer un serveur web sur lequel vous pourrez h\u00e9berger plusieurs sites WordPress. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La proc\u00e9dure ci-dessous a \u00e9t\u00e9 r\u00e9alis\u00e9e sur un serveur OVH sur laquelle j&rsquo;ai install\u00e9 la distribution Ubuntu 20.04.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Toutes les op\u00e9rations suivantes se r\u00e9alisent via une console SSH (vous pouvez utiliser Putty).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Installation du serveur LAMP<\/h2>\n\n\n\n<ol class=\"wp-block-list\"><li>Rendez-vous \u00e0 l&rsquo;adresse <a href=\"https:\/\/bitnami.com\/stack\/lamp\/installer\">https:\/\/bitnami.com\/stack\/lamp\/installer<\/a> pour r\u00e9cup\u00e9rer le fichier .run permettant d&rsquo;installer le serveur LAMP sur votre serveur Ubuntu. <ul><li>Cliquez droit sur le bouton \u00ab\u00a0Download for Linux 64-bits\u00a0\u00bb et choisissez \u00ab\u00a0Copier l&rsquo;adresse du lien\u00a0\u00bb depuis votre naviguateur.<\/li><\/ul><\/li><li>Connectez-vous \u00e0 votre serveur en SSH (r\u00e9pertoire \/home\/ubuntu)<\/li><li>T\u00e9l\u00e9chargez le fichier sur votre serveur : <code>wget https:\/\/bitnami.com\/redirect\/to\/1094271\/bitnami-lampstack-7.4.8-0-linux-x64-installer.run<\/code><\/li><li>Modifiez les droits du fichier pour le rendre ex\u00e9cutable : <code>chmod 755 bitnami-lampstack-7.4.8-0-linux-x64-installer.run<\/code><\/li><li>Ex\u00e9cutez le fichier et suivez la proc\u00e9dure d&rsquo;installation : <code>sudo .\/bitnami-lampstack-7.4.8-0-linux-x64-installer.run<\/code><\/li><\/ol>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Je vous conseille d&rsquo;installer le serveur LAMP dans le r\u00e9pertoire \/opt\/bitnami (nom g\u00e9n\u00e9rique). De cette mani\u00e8re, les futures mises \u00e0 jour du serveur LAMP seront facilit\u00e9es car il suffira de renommer bitnami en bitnami_old et de r\u00e9installer le nouveau serveur LAMP dans bitnami. Apr\u00e8s une copie des fichiers depuis l&rsquo;ancienne version (\/opt\/bitnami_old) vers la nouvelle version (\/opt\/bitnami), tout devrait continuer \u00e0 fonctionner correctement puisqu&rsquo;avec cette m\u00e9thode, les chemins de fichiers seront les m\u00eames et cela \u00e9vitera des probl\u00e8mes de configuration ou de lien absolu dans la base de donn\u00e9es.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A la fin de cette premi\u00e8re \u00e9tape, vous devriez avoir un serveur LAMP fonctionnel (Apache, Mysql, PHP). <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nous allons maintenant voir comment installer WordPress sur ce serveur LAMP mais avant cela, on va g\u00e9n\u00e9rer les certificats SSL.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">G\u00e9n\u00e9ration des certificats Let&rsquo;s Encrypt (HTTPS)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Avant d&rsquo;installer les sites WordPress, il est pr\u00e9f\u00e9rable de g\u00e9n\u00e9rer les certificats des sites qui seront install\u00e9s sur le serveur LAMP. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si vous ne faites pas cette op\u00e9ration \u00e0 cette \u00e9tape, il est toujours possible de le faire plus tard mais cela demandera une petite manipulation pour contourner une erreur syst\u00e8me.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Stoppez le serveur LAMP avec la commande : <code>sudo \/opt\/bitnami\/ctlscript.sh stop<\/code><\/li><li>Ex\u00e9cutez le commande suivante pour g\u00e9n\u00e9rer un certificat Let&rsquo;s Encrypt <code>sudo \/opt\/bitnami\/letsencrypt\/lego --tls --email=\"info@site1.com\" --domains=\"site1.example.com\" --path=\"\/opt\/bitnami\/letsencrypt\" run<\/code><\/li><li>Si tout se passe correctement, vous devriez avoir dans le r\u00e9pertoire certificates, 4 nouveaux fichiers (<code>sudo ls -l \/opt\/bitnami\/letsencrypt\/certificates\/<\/code>) :<ul><li>site1.example.com.crt<\/li><li>site1.example.com.issuer.crt<\/li><li>site1.example.com.json<\/li><li>site1.example.com.key<\/li><\/ul><\/li><li>Red\u00e9marrez le serveur LAMP pour effectuer l&rsquo;installation de votre site WordPress<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Si vous comptez installer plusieurs site sur le serveur LAMP, vous pouvez g\u00e9n\u00e9rer en avance les certificats Let&rsquo;s Encrypt.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Attention, cette op\u00e9ration n&rsquo;est possible que si les DNS ont d\u00e9j\u00e0 \u00e9t\u00e9 modifi\u00e9s et que le domaine pointe d\u00e9j\u00e0 vers l&rsquo;ip du serveur ! Si ce n&rsquo;est pas le cas, passez cette \u00e9tape et continuez \u00e0 suivre la proc\u00e9dure.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Installation de WordPress (site1)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Depuis quelques mois, Bitnami ne fournit plus de support pour l&rsquo;installation de WordPress directement sur un serveur LAMP. Cependant, ils continuent de fournir un support pour XAMPP. D&rsquo;apr\u00e8s les ing\u00e9nieurs Bitnami, un module WordPress d\u00e9velopp\u00e9 pour XAMPP devrait fonctionner sans probl\u00e8me pour LAMP (ce que j&rsquo;ai pu v\u00e9rifier avec succ\u00e8s).<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>Rendez-vous \u00e0 l&rsquo;adresse <a href=\"https:\/\/bitnami.com\/stack\/xampp\">https:\/\/bitnami.com\/stack\/xampp<\/a> pour t\u00e9l\u00e9charger le derni\u00e8re version du module WordPress pour Linux.<\/li><li>Connectez-vous \u00e0 votre serveur SSH (r\u00e9pertoire home\/ubuntu).<\/li><li>T\u00e9l\u00e9chargez le fichier sur le serveur : <code>wget https:\/\/bitnami.com\/redirect\/to\/1089590\/bitnami-wordpress-5.4.2-1-module-linux-x64-installer.run<\/code><\/li><li>Modifiez les permissions du fichier pour le rendre ex\u00e9cutable : <code>chmod 755 bitnami-wordpress-5.4.2-1-module-linux-x64-installer.run<\/code><\/li><li>Ex\u00e9cutez l&rsquo;installation du module WordPress : <code>sudo .\/bitnami-wordpress-5.4.2-1-module-linux-x64-installer.run --wordpress_instance_name site1<\/code><ul><li>Le param\u00e8tre <code>--wordpress_instance_name site1<\/code> permet de d\u00e9finir le nom de votre site web (nom du r\u00e9pertoire dans apps). Ceci est obligatoire lorsque vous souhaitez installer plusieurs wordpress sur unique serveur LAMP. Sans l&rsquo;utilisation de ce param\u00e8tre, wordpress sera install\u00e9 dans le r\u00e9pertoire <code>wordpress\/<\/code><\/li><li>Le r\u00e9pertoire \u00e0 indiquer lors de l&rsquo;installation est (dans mon cas) est <code>\/opt\/bitnami\/<\/code><\/li><\/ul><\/li><\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">A ce stade, votre site devrait \u00eatre accessible depuis l&rsquo;url : http:\/\/&lt;&lt;IP adresse&gt;&gt;\/site1.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">D\u00e9finir le nom de domaine du site1<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Pour d\u00e9finir le nom de domaine associ\u00e9 \u00e0 cette installation de wordpress, il suffit de :<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Modifiez les DNS de votre domaine pour le faire pointer (A) vers l&rsquo;adresse IP de votre serveur (attention, la modification peut prendre jusqu&rsquo;\u00e0 2 jours pour \u00eatre valid\u00e9e).<\/li><li>Connectez-vous en SSH \u00e0 votre serveur<\/li><li>Ex\u00e9cutez la commande suivante : <code>sudo \/opt\/bitnami\/apps\/site1\/bnconfig --appdomain site1.example.com<\/code><\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Installation des autres sites wordpress (site2, site3, site4, &#8230;)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Pour installer les autres sites web sur votre serveur lamp, il suffit d&rsquo;ex\u00e9cuter les commandes suivantes :<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Connectez-vous en SSH sur votre serveur (r\u00e9pertoire \/home\/ubuntu).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>sudo .\/bitnami-wordpress-5.4.2-1-module-linux-x64-installer.run --wordpress_instance_name site2<br>sudo .\/bitnami-wordpress-5.4.2-1-module-linux-x64-installer.run --wordpress_instance_name site3<br>sudo .\/bitnami-wordpress-5.4.2-1-module-linux-x64-installer.run --wordpress_instance_name site4<br>...<br>sudo \/opt\/bitnami\/apps\/site2\/bnconfig --appdomain site2.example.com<br>sudo \/opt\/bitnami\/apps\/site3\/bnconfig --appdomain site3.example.com<br>sudo \/opt\/bitnami\/apps\/site4\/bnconfig --appdomain site4.example.com<br>...<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Red\u00e9marrez votre serveur <code>sudo \/opt\/bitnami\/ctlscript.sh restart<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Par d\u00e9faut, le <strong>mot de passe<\/strong> associ\u00e9 \u00e0 l&rsquo;<strong>utilisateur wordpress<\/strong> que vous avez cr\u00e9\u00e9 durant la proc\u00e9dure d&rsquo;installation est le m\u00eame que le <strong>mot de passe de la base de donn\u00e9es<\/strong> (utilisateur root). Il est donc imp\u00e9ratif de le modifier car si ce mot de passe est pirat\u00e9, votre base de donn\u00e9es est expos\u00e9e !<\/em><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">G\u00e9n\u00e9rer un certificat Let&rsquo;s Encrypt<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><code>SSLCertificateFile: file does not exist or is empty<\/code><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><code>AH00526: Syntax error on line 14 of \/opt\/bitnami\/apps\/site1\/conf\/httpd-vhosts.conf:<br>SSLCertificateFile: file '\/opt\/bitnami\/apps\/site1\/conf\/certs\/server.crt' does not exist or is empty<br>apache config test fails, aborting<br>\/opt\/bitnami\/mysql\/scripts\/ctl.sh : mysql stopped<br>\/opt\/bitnami\/mysql\/scripts\/ctl.sh : mysql started at port 3306<br>AH00526: Syntax error on line 14 of \/opt\/bitnami\/apps\/site1\/conf\/httpd-vhosts.conf:<br>SSLCertificateFile: file '\/opt\/bitnami\/apps\/site1\/conf\/certs\/server.crt' does not exist or is empty<br>apache config test fails, aborting<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si vous voyez cette erreur apparaitre lorsque vous d\u00e9marrez le serveur LAMP, faites les petites op\u00e9rations suivantes avant de tenter de g\u00e9n\u00e9rer le certificat SSL (permet de stopper le serveur LAMP sans erreur) :<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Commentez (# en d\u00e9but de ligne) les 3 lignes \u00ab\u00a0SSLEngine on\u00a0\u00bb, \u00ab\u00a0SSLCertificateFile\u00a0\u00bb et \u00ab\u00a0SSLCertificateKeyFile\u00a0\u00bb <code>sudo nano \/opt\/bitnami\/apps\/site1\/conf\/httpd-vhosts.conf<\/code><\/li><li>CTRL+O pour sauver et CTRL+X pour quitter le programme Nano.<\/li><\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">G\u00e9n\u00e9rer un certificat SSL valide (Let&rsquo;s Encrypt)<\/h4>\n\n\n\n<ul class=\"wp-block-list\"><li>Arr\u00eatez le serveur LAMP avec la commande <code>sudo \/opt\/bitnami\/ctlscript.sh stop<\/code><\/li><li>Ex\u00e9cutez le commande suivante pour g\u00e9n\u00e9rer un certificat Let&rsquo;s Encrypt <code>sudo \/opt\/bitnami\/letsencrypt\/lego --tls --e mail=\"info@site1.com\" --domains=\"site1.example.com\" --path=\"\/opt\/bitnami\/letsencrypt\" run<\/code><\/li><li>Si tout se passe correctement, vous devriez avoir dans le r\u00e9pertoire certificates, 4 nouveaux fichiers (<code>sudo ls -l \/opt\/bitnami\/letsencrypt\/certificates\/<\/code>):<ul><li>site1.example.com.crt<\/li><li>site1.example.com.issuer.crt<\/li><li>site1.example.com.json<\/li><li>site1.example.com.key<\/li><\/ul><\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Pour valider la commande ci-dessus, j&rsquo;ai du supprimer le champs AAAA des enregistrements DNS (il faut garder uniquement l&rsquo;enregistrement A)<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Configurer le web serveur pour utiliser le certificat Let&rsquo;s Encrypt<\/h4>\n\n\n\n<ul class=\"wp-block-list\"><li>sudo ln -sf \/opt\/bitnami\/letsencrypt\/certificates\/site1.example.com.key \/opt\/bitnami\/apps\/site1\/conf\/certs\/site1.example.com.key<\/li><li>sudo ln -sf \/opt\/bitnami\/letsencrypt\/certificates\/site1.example.com.crt \/opt\/bitnami\/apps\/site1\/conf\/certs\/site1.example.com.crt<\/li><li>D\u00e9commentez les 3 lignes et adaptez les chemins si besoin dans <code>sudo nano \/opt\/bitnami\/apps\/site1\/conf\/httpd-vhosts.conf<\/code><\/li><li>Red\u00e9marrez le serveur avec la commande <code>sudo \/opt\/bitnami\/ctlscript.sh start<\/code><\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Renouveler automatiquement un certificat Let&rsquo;s Encrypt<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Les certificats Let&rsquo;s Encrypt sont valables uniquement 90 jours. Il est donc important de s&rsquo;assurer qu&rsquo;un renouvellement automatique est mis en place !<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Cr\u00e9er le script <\/li><\/ul>\n\n\n\n<pre class=\"wp-block-preformatted\">sudo nano \/opt\/bitnami\/letsencrypt\/scripts\/renew-certificate.sh<\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Ins\u00e9rer le contenu suivant dans le fichier :<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>#!\/bin\/bash\n\nsudo \/opt\/bitnami\/ctlscript.sh stop apache\nsudo \/opt\/bitnami\/letsencrypt\/lego --tls --email=\"info@site1.com\" --domains=\"site1.example.com\" --path=\"\/opt\/bitnami\/letsencrypt\" renew --days 90\nsudo \/opt\/bitnami\/ctlscript.sh start apache<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Modifier les permissions du fichier pour qu&rsquo;il soit ex\u00e9cutable : <\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo chmod +x \/opt\/bitnami\/letsencrypt\/scripts\/renew-certificate.sh<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Ex\u00e9cutez la commande suivante : <\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo crontab -e<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Ajouter la ligne suivante pour activer le cron sur le script<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>0 0 1 * * \/opt\/bitnami\/letsencrypt\/scripts\/renew-certificate.sh 2&gt; \/dev\/null<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Quelques liens utiles<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/docs.bitnami.com\/aws\/infrastructure\/lamp\/administration\/create-custom-application-php\/\">https:\/\/docs.bitnami.com\/aws\/infrastructure\/lamp\/administration\/create-custom-application-php\/<\/a><\/li><li><a href=\"https:\/\/docs.bitnami.com\/aws\/how-to\/generate-install-lets-encrypt-ssl\/#step-2-generate-a-lets-encrypt-certificate-for-your-domain\">https:\/\/docs.bitnami.com\/aws\/how-to\/generate-install-lets-encrypt-ssl\/#step-2-generate-a-lets-encrypt-certificate-for-your-domain<\/a><\/li><li><a href=\"https:\/\/docs.bitnami.com\/general\/infrastructure\/lamp\/administration\/force-https-apache\/\">https:\/\/docs.bitnami.com\/general\/infrastructure\/lamp\/administration\/force-https-apache\/<\/a><\/li><li><a href=\"https:\/\/docs.bitnami.com\/general\/how-to\/understand-bncert\/\">https:\/\/docs.bitnami.com\/general\/how-to\/understand-bncert\/<\/a><\/li><\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Voici la proc\u00e9dure compl\u00e8te pour installer un serveur web sur lequel vous pourrez h\u00e9berger plusieurs sites WordPress. La proc\u00e9dure ci-dessous a \u00e9t\u00e9 r\u00e9alis\u00e9e sur un serveur OVH sur laquelle j&rsquo;ai install\u00e9 la distribution Ubuntu 20.04. Toutes les op\u00e9rations suivantes se r\u00e9alisent via une console SSH (vous pouvez utiliser Putty). Installation du serveur LAMP Rendez-vous \u00e0 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":24593,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"page_builder":"","wds_primary_category":0,"footnotes":""},"categories":[15,21,14,4],"tags":[],"class_list":["post-24567","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-apache","category-bitnami","category-serveur","category-wordpress"],"_links":{"self":[{"href":"https:\/\/exoconsult.com\/fr\/wp-json\/wp\/v2\/posts\/24567","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/exoconsult.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/exoconsult.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/exoconsult.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/exoconsult.com\/fr\/wp-json\/wp\/v2\/comments?post=24567"}],"version-history":[{"count":25,"href":"https:\/\/exoconsult.com\/fr\/wp-json\/wp\/v2\/posts\/24567\/revisions"}],"predecessor-version":[{"id":24809,"href":"https:\/\/exoconsult.com\/fr\/wp-json\/wp\/v2\/posts\/24567\/revisions\/24809"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/exoconsult.com\/fr\/wp-json\/wp\/v2\/media\/24593"}],"wp:attachment":[{"href":"https:\/\/exoconsult.com\/fr\/wp-json\/wp\/v2\/media?parent=24567"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/exoconsult.com\/fr\/wp-json\/wp\/v2\/categories?post=24567"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/exoconsult.com\/fr\/wp-json\/wp\/v2\/tags?post=24567"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}