{"id":1942,"date":"2019-02-24T13:08:52","date_gmt":"2019-02-24T12:08:52","guid":{"rendered":"https:\/\/blog.kodono.info\/wordpress\/?p=1942"},"modified":"2020-04-05T17:43:59","modified_gmt":"2020-04-05T15:43:59","slug":"mise-a-jour-dun-serveur-kimsufi-ovh-depuis-debian-8-jessie-vers-debian-9-stretch","status":"publish","type":"post","link":"https:\/\/blog.kodono.info\/wordpress\/2019\/02\/24\/mise-a-jour-dun-serveur-kimsufi-ovh-depuis-debian-8-jessie-vers-debian-9-stretch\/","title":{"rendered":"Mise \u00e0 jour d\u2019un serveur Kimsufi (OVH) depuis Debian 8 (Jessie) vers Debian 9 (Stretch)"},"content":{"rendered":"<p>Il faut r\u00e9guli\u00e8rement penser \u00e0 mettre \u00e0 jour son serveur Kimsufi.<\/p>\n<p>Je vais essayer d\u2019expliquer bri\u00e8vement <a href=\"https:\/\/www.debian.org\/releases\/stable\/i386\/release-notes\/ch-upgrading.fr.html\">les \u00e9tapes \u00e0 suivre<\/a> pour cela.<\/p>\n<ol>\n<li>On va d&#8217;abord sauvegarder les donn\u00e9es :\n<pre class=\"brush:powershell\">mkdir \/root\/svg_special; cp -R \/var\/lib\/dpkg \/root\/svg_special\/; cp \/var\/lib\/apt\/extended_states \/root\/svg_special\/; dpkg --get-selections \"*\" > \/root\/svg_special\/dpkg_get_selection; cp -R \/etc \/root\/svg_special\/etc<\/pre>\n<\/li>\n<li>Ensuite il est conseill\u00e9 d&#8217;utiliser <code>screen<\/code> pour pouvoir se reconnecter (avec <code>screen -r<\/code>) \u00e0 en cas de d\u00e9connexion :\n<pre class=\"brush:powershell\">screen<\/pre>\n<\/li>\n<\/li>\n<li>On va effectuer une mise \u00e0 jour des paquets avec <code>apt-get update &#038;& apt-get upgrade<\/code><\/li>\n<li>Le processus de mise \u00e0 niveau d\u00e9crit <a href=\"https:\/\/www.debian.org\/releases\/stable\/i386\/release-notes\/ch-upgrading.fr.html\">sur le site de Debian<\/a> a \u00e9t\u00e9 con\u00e7u pour des mises \u00e0 niveau des syst\u00e8mes Jessie \u00ab purs \u00bb sans paquet provenant d&#8217;autres sources. Pour une meilleure fiabilit\u00e9 du processus de mise \u00e0 niveau, vous pouvez supprimer ces paquets du syst\u00e8me avant de commencer la mise \u00e0 niveau. :\n<pre class=\"brush:bash\">aptitude search '~i(!~ODebian)'<\/pre>\n<\/li>\n<li>On peut lancer la commande <code>dpkg --audit<\/code> pour s&#8217;assurer que tout est bon avant la migration. On peut \u00e9galement taper <code>dpkg --get-selections \"*\" | more<\/code> et v\u00e9rifier qu&#8217;aucun paquet n&#8217;est en <em>on hold<\/em><\/li>\n<li>Maintenant il faut remplacer tous les &#8220;jessie&#8221; de <code>\/etc\/apt\/sources.list<\/code> par des &#8220;stretch&#8221;, ce qui va donner chez moi :\n<pre class=\"brush:bash\">\r\ndeb http:\/\/ftp.fr.debian.org\/debian stretch main non-free\r\n\r\ndeb http:\/\/debian.mirrors.ovh.net\/debian\/ stretch main\r\ndeb-src http:\/\/debian.mirrors.ovh.net\/debian\/ stretch main\r\n\r\ndeb http:\/\/security.debian.org\/ stretch\/updates main\r\ndeb-src http:\/\/security.debian.org\/ stretch\/updates main\r\n<\/pre>\n<p>On v\u00e9rifiera aussi les autres fichiers qui peuvent se trouver dans <code>\/etc\/apt\/sources.list.d<\/code>\n<\/li>\n<li>Si vous utilisez MySQL, sachez qu&#8217;avec Stretch vous pourriez passer sur MariaDB&#8230; Si vous souhaitez utiliser MySQL, on peut se r\u00e9f\u00e9rer \u00e0 <a href=\"https:\/\/dbahire.com\/how-to-install-mysql-server-on-debian-stretch\/\">ce blog post<\/a>\n<ul>\n<li>On ajoute\/\u00e9dite le fichier source pour mysql : <code>nano \/etc\/apt\/sources.list.d\/mysql.list<\/code><\/li>\n<li>On y ajoute les sources suivantes (pour mysql-5.7) :\n<pre class=\"brush:bash\">\r\ndeb http:\/\/repo.mysql.com\/apt\/debian\/ stretch mysql-5.7\r\ndeb-src http:\/\/repo.mysql.com\/apt\/debian\/ stretch mysql-5.7\r\n<\/pre>\n<\/li>\n<li>On ajoute la cl\u00e9 publique de ce repo :\n<pre class=\"brush:bash\">\r\nwget -O \/tmp\/RPM-GPG-KEY-mysql https:\/\/repo.mysql.com\/RPM-GPG-KEY-mysql\r\napt-key add \/tmp\/RPM-GPG-KEY-mysql\r\nrm \/tmp\/RPM-GPG-KEY-mysql\r\n<\/pre>\n<\/ul>\n<li>Il est recommand\u00e9 d&#8217;utiliser le programme <code>\/usr\/bin\/script<\/code> pour enregistrer une transcription de la session de mise \u00e0 niveau. Ainsi, quand un probl\u00e8me survient, on a un enregistrement de ce qui s&#8217;est pass\u00e9. Pour d\u00e9marrer un enregistrement, taper :\n<pre class=\"brush:powershell\">script -t 2>~\/upgrade-stretch.time -a ~\/upgrade-stretch.script<\/pre>\n<\/li>\n<li>On passe aux choses s\u00e9rieuses, en commen\u00e7ant par mettre \u00e0 jour les listes des paquets :\n<pre class=\"brush:powershell\">apt-get update<\/pre>\n<\/li>\n<li>On va v\u00e9rifier qu&#8217;on a la place suffisante (un message explicite apparait sinon) :\n<pre class=\"brush:powershell\">apt-get -o APT::Get::Trivial-Only=true dist-upgrade<\/pre>\n<\/li>\n<li>On va maintenant faire une mise \u00e0 jour minimale :\n<pre class=\"brush:powershell\">apt-get upgrade<\/pre>\n<\/li>\n<li>Et \u00e0 partir de l\u00e0 le syst\u00e8me va vous questionner&#8230; en g\u00e9n\u00e9ral choisir l&#8217;option par d\u00e9faut si vous ne savez pas quoi r\u00e9pondre<\/li>\n<li>Puis on continue avec\n<pre class=\"brush:powershel\">apt-get dist-upgrade<\/pre>\n<\/li>\n<\/ol>\n<p>Cette derni\u00e8re \u00e9tape va durer un certain temps. Une fois termin\u00e9, vous pouvez red\u00e9marrer le serveur pour s&#8217;assurer que tout va bien.<\/p>\n<p>Avec <strong>phpmyadmin<\/strong> vous pourriez recevoir l&#8217;erreur suivante :<\/p>\n<blockquote><p>PHP Warning:  require_once(): open_basedir restriction in effect. File(\/usr\/share\/php\/php-php-gettext\/gettext.inc) is not within the allowed path(s): (\/usr\/share\/phpmyadmin\/:\/etc\/phpmyadmin\/:\/var\/lib\/phpmyadmin\/:\/usr\/share\/php\/php-gettext\/) in \/usr\/share\/phpmyadmin\/libraries\/common.inc.php on line 77<br \/>\nPHP Warning:  require_once(\/usr\/share\/php\/php-php-gettext\/gettext.inc): failed to open stream: Operation not permitted in \/usr\/share\/phpmyadmin\/libraries\/common.inc.php on line 77\n<\/p><\/blockquote>\n<p>Dans ce cas l\u00e0, il faut rajouter <code>\/usr\/share\/php\/php-php-gettext\/<\/code> dans le fichier <code>\/etc\/phpmyadmin\/apache.conf<\/code> sur la ligne <code>open_base_dir<\/code>. Ce qui va donner la ligne : <code>php_admin_value open_basedir \/usr\/share\/phpmyadmin\/:\/etc\/phpmyadmin\/:\/var\/lib\/phpmyadmin\/:\/usr\/share\/php\/php-gettext\/:\/usr\/share\/php\/php-php-gettext\/<\/code><\/p>\n<p>J&#8217;ai eu quelques soucis avec <b>fail2ban<\/b> qui ne d\u00e9marrait pas. J&#8217;ai pu r\u00e9soudre en consultant le <a href=\"https:\/\/github.com\/fail2ban\/fail2ban\/wiki\/Troubleshooting\">Troubleshooting<\/a> de leur wiki. Il s&#8217;agissait du fichier <code>\/etc\/fail2ban\/jail.d\/defaults-debian.conf<\/code> qui avait \u00e9t\u00e9 cr\u00e9\u00e9 avec une entr\u00e9e invalide. Il a suffit de le supprimer.<\/p>\n<p>Une fois les erreurs corrig\u00e9es, on va nettoyer tous les paquets avec <\/p>\n<pre class=\"brush:powershell\">apt-get autoremove<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Il faut r\u00e9guli\u00e8rement penser \u00e0 mettre \u00e0 jour son serveur Kimsufi. Je vais essayer d\u2019expliquer bri\u00e8vement les \u00e9tapes \u00e0 suivre pour cela. On va d&#8217;abord sauvegarder les donn\u00e9es : mkdir \/root\/svg_special; cp -R \/var\/lib\/dpkg \/root\/svg_special\/; cp \/var\/lib\/apt\/extended_states \/root\/svg_special\/; dpkg &#8211;get-selections &#8220;*&#8221; > \/root\/svg_special\/dpkg_get_selection; cp -R \/etc \/root\/svg_special\/etc Ensuite il est conseill\u00e9 d&#8217;utiliser screen pour pouvoir [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":"","hide_page_title":"","footnotes":""},"categories":[169,53],"tags":[172,161],"class_list":["post-1942","post","type-post","status-publish","format-standard","hentry","category-francais","category-linux","tag-francais","tag-linux"],"_links":{"self":[{"href":"https:\/\/blog.kodono.info\/wordpress\/wp-json\/wp\/v2\/posts\/1942","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.kodono.info\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.kodono.info\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.kodono.info\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.kodono.info\/wordpress\/wp-json\/wp\/v2\/comments?post=1942"}],"version-history":[{"count":9,"href":"https:\/\/blog.kodono.info\/wordpress\/wp-json\/wp\/v2\/posts\/1942\/revisions"}],"predecessor-version":[{"id":2015,"href":"https:\/\/blog.kodono.info\/wordpress\/wp-json\/wp\/v2\/posts\/1942\/revisions\/2015"}],"wp:attachment":[{"href":"https:\/\/blog.kodono.info\/wordpress\/wp-json\/wp\/v2\/media?parent=1942"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.kodono.info\/wordpress\/wp-json\/wp\/v2\/categories?post=1942"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.kodono.info\/wordpress\/wp-json\/wp\/v2\/tags?post=1942"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}