wiki/HowtoDebian/MigrationJessieStretch.md

218 lines
7.6 KiB
Markdown
Raw Normal View History

2017-07-19 01:45:54 +02:00
---
categories: web
2017-09-12 14:18:42 +02:00
title: Howto Migration Jessie vers Stretch
2017-07-19 01:45:54 +02:00
...
Release Notes amd64 : <http://www.debian.org/releases/stretch/amd64/release-notes/>
2017-07-19 08:30:03 +02:00
## Actions préalables
Nous conseillons quelques actions qui aideront en cas de problème.
Sauvegarder localement certaines ressources (dans `/home/backup/jessie` par exemple)
~~~
2017-11-21 09:27:28 +01:00
# cd /etc
# git add .
# git commit -am "Commit balai avant upgrade en Stretch"
2017-07-19 08:30:03 +02:00
# mkdir -p /home/backup/jessie/
# cd /home/backup/jessie
# cp -r /etc ./
# mkdir -p var/lib/apt
# cp -r /var/lib/dpkg ./var/lib/
# cp -r /var/lib/apt/extended_states ./var/lib/apt/
# dpkg --get-selections "*" > ./current_packages.txt
# uptime > uptime.txt
# ps auwx > ps.out
# pstree -pan > pstree.out
# ss -tanpul > listen.out
~~~
## Mise à jour du système
2017-07-19 01:45:54 +02:00
Éditer les dépôts dans `/etc/apt/sources.list` et `/etc/apt/sources.list.d/*.list` pour remplacer _jessie_ par _stretch_.
~~~
# cat /etc/apt/sources.list
deb http://mirror.evolix.org/debian stretch main
deb http://mirror.evolix.org/debian/ stretch-updates main
deb http://security.debian.org/debian-security stretch/updates main
# cat /etc/apt/sources.list.d/evolix_public.list
deb http://pub.evolix.net/ stretch/
~~~
Il faut importer la clé GPG du dépôt pub.evolix.net (attention au firewall et/ou proxy pour cette action) :
~~~
2017-09-12 19:44:24 +02:00
# apt-key adv --keyserver keyserver.ubuntu.com --recv 44975278B8612B5D
2017-07-19 01:45:54 +02:00
~~~
2017-09-12 19:44:24 +02:00
> *Note* : si cela ne semble pas suffisant, faire :
>
> ~~~
> # wget -O- "http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x44975278B8612B5D" | apt-key add -
> ~~~
2017-07-19 01:45:54 +02:00
Puis mettre à jour le cache APT avec la commande :
~~~
# apt update
~~~
2017-05-18 16:52:36 +02:00
2017-07-19 08:11:15 +02:00
Commencer par télécharger l'ensemble des paquets qui devront être installés (afin de limiter le temps effectif d'installation).
~~~
# apt dist-upgrade --download-only
~~~
Faire ensuite une mise à niveau "simple", pour appliquer les mises à jour triviales :
~~~
# apt upgrade
~~~
Enfin, appliquer les mises à jour non triviales (nécessitant des changements de paquets dépendants, des suppressions…) afin d'avoir un œil plus précis sur ce qui sera fait, avant de valider :
~~~
# apt dist-upgrade
~~~
2017-08-23 14:09:44 +02:00
## Apt
2017-08-23 09:29:02 +02:00
2017-08-23 14:09:44 +02:00
Apt utilise maintenant l'utilisateur "_apt" pour certaines de ses fonctionnalités (ex. téléchargement des paquets), les dossiers /etc/apt et /var/cache/apt doivent donc être en 755 :
2017-08-23 09:29:02 +02:00
~~~
2017-08-23 14:09:44 +02:00
chmod 755 /etc/apt /var/cache/apt
2017-08-23 09:29:02 +02:00
~~~
Les fichiers _/etc/apt/apt.conf.d/10evolix_ et _/etc/apt/apt.conf.d/80evolinux_ ont été concaténés en un seul fichier _/etc/apt/apt.conf.d/z-evolinux.conf_.
`apt-listchanges` n'est plus utilisé et le paquet du même nom doit être désinstallé.
Le dépôt backports doit être dans son propre fichier _/etc/apt/sources.list.d/backports.list_ et avoir un fichier _/etc/apt/preferences.d/0-backports-defaults_ associé.
2017-09-12 17:29:25 +02:00
## Apache
Pour passer a PHP7, il faut désactiver le module php5 et activer le module php7 :
~~~
2017-09-12 17:31:59 +02:00
# a2dismod php5
# a2enmod php7.0
# service apache2 restart
2017-09-12 17:29:25 +02:00
~~~
La configuration spécifique d'Apache est maintenant faite dans les 2 fichiers _/etc/apache2/conf-available/z-evolinux-defaults.conf_ et _/etc/apache2/conf-available/zzz-evolinux-custom.conf_. Les fichiers de configuration standards tel que _apache.conf_ doivent donc être ceux de l'_upstream_ et les modifications éventuelles ajoutées dans _/etc/apache2/conf-available/zzz-evolinux-custom.conf_.
2017-09-12 17:31:59 +02:00
## PHPMyAdmin
Il faut rajouter /usr/share/php/php-php-gettext a la directive open_basedir de /etc/phpmyadmin/apache.conf.
2017-08-23 14:09:44 +02:00
## Xorg
2017-05-18 16:52:36 +02:00
2017-07-19 08:48:50 +02:00
`startx` ou `startxfce4` donne : `parse_vt_settings /dev/tty0 (permission denied)`
2017-05-18 16:52:36 +02:00
2017-07-19 08:48:50 +02:00
Un contournement : `startxfce4 -- :1 vt1`
2017-05-18 16:52:36 +02:00
## Vim
2017-07-19 08:43:15 +02:00
par défaut, si pas de `~/.vimrc` Vim charge plein de features moisies (mouse, etc.)
2017-05-18 16:52:36 +02:00
décommenter dans `/etc/vim/vimrc` : `let g:skip_defaults_vim = 1`
## log2mail
La configuration de `log2mail` est maintenant répartie dans plusieurs fichier dépendamment des services surveillés : _/etc/log2mail/config/mysql.conf_, _/etc/log2mail/config/apache_ et _/etc/log2mail/config/squid.conf_
`log2mail` est lancé par une unité systemd et non plus par un script sysV init, à mettre dans _/etc/systemd/system/log2mail.service_.
## sudo
L'attribution des droits sudo des utilisateurs admin se fait à travers le groupe _evolinux-sudo_ (à créer). Le fichier _/etc/sudoers.d/evolinux_ est à mettre à jour en conséquence.
Les utilisateurs admin sont aussi à ajouter au groupe _adm_.
## MySQL/MariaDB
MariaDB est la version utilisée par défaut au lieu de Oracle MySQL.
La configuration spécifique doit être faite dans les 2 fichiers de configuration _/etc/mysql/mariadb.conf.d/z-evolinux-defaults.cnf_ et _/etc/mysql/mariadb.conf.d/zzz-evolinux-custom.cnf_.
Il faut également surcharger l'unité systemd de MariaDB, dans _/etc/systemd/system/mariadb.service.d/evolinux.conf_.
2017-11-08 10:33:53 +01:00
2017-11-08 10:33:36 +01:00
> **Note** : C'est très important, notamment si vous avez un paramétrage qui utilise un chemin dans /home.
## PHP
La configuration spécifique doit être faite dans les 2 fichiers de configuration _/etc/php/7.0/cli/conf.d/z-evolinux-defaults.ini_ et _/etc/php/7.0/cli/conf.d/zzz-evolinux-custom.ini_.
Pour récupérer les anciennes configurations des pool FPM, il suffit simplement de les copier et de redémarrer le service `php7.0-fpm`.
~~~
# cp /etc/php5/fpm/pool.d/* /etc/php/7.0/fpm/pool.d/
~~~
## Squid
La configuration est éclatée dans plusieurs fichier de configuration : _/etc/squid/evolinux-defaults.conf_, _/etc/squid/evolinux-defaults.conf_, _/etc/squid/evolinux-acl.conf_, _/etc/squid/evolinux-httpaccess.conf_ et _/etc/squid/evolinux-custom.conf_. La liste blanche des sites se trouve dans _/etc/squid/evolinux-whitelist-defaults.conf_ et _/etc/squid/evolinux-whitelist-custom.conf_.
Il faut mettre à jour le fichier _/etc/default/squid_ pour que la directive _CONFIG_ pointe sur _/etc/squid/evolinux-defaults.conf_.
Le fichier _squid.conf_ n'est plus utilisé du tout.
## OpenDKIM
Le fichier `/etc/default/opendkim` n'est désormais plus pris en compte
puisqu'OpenDKIM a son unité systemd. Les éventuelles directives présentent dans
ce fichier, et notamment la socket, doivent se retrouver dans
`/etc/opendkim.conf` :
Par exemple, `SOCKET="inet:8889@127.0.0.1"` dans le fichier _default_ devient
`Socket inet:8889@[127.0.0.1]` dans le fichier de conf.
Pour les autres options, voir `opendkim.conf(5)`.
L'option `PidFile` doit obligatoirement être présente dans la conf (ce n'est
pas le cas par défaut), car l'unité systemd telle que fournie par Debian
s'attend à ce que le fichier `/var/run/opendkim/opendkim.pid` soit présent.
Autrement un `systemctl start opendkim` (ou équivalent sysV init) reste bloqué
et finit par générer un timeout, bien que le process soit bien lancé :
```
PidFile /var/run/opendkim/opendkim.pid
```
2017-12-07 21:28:11 +01:00
## Xchat -> hexchat
Xchat2 est remplacé par hexchat.
2017-12-07 21:39:37 +01:00
Pour conserver la configuration, **avant** de lancer hexchat, faire quelques manipulations du type :
2017-12-07 21:28:11 +01:00
~~~
$ cp -pr .xchat2/ .config/hexchat/
$ mv .config/hexchat/xchat.conf .config/hexchat/hexchat.conf
$ mv .config/hexchat/xchat2logs .config/hexchat/logs
~~~
## Evoadmin-web
Pour mettre à jour vers la nouvelle version d'evoadmin-web, il faut se mettre sur la branche master et faire un git pull, avec l'utilisateur evoadmin:
~~~
$ su - evoadmin
evoadmin@hostname:~$ git checkout master
evoadmin@hostname:~$ git pull
~~~
Ensuite il faut ajouter un utilisateur, en éditant le fichier */home/evoadmin/www/conf/config.local.php*, avec la configuration suivante :
~~~
$localconf['logins']['foo'] = 'd5d3c723fb82cb0078f399888af7820d02e52751bb64597a8c20ebaba8ba4303';
~~~
Il faut généré un sha256 pour le mot de passe avec la commande suivante :
~~~
$ echo -n password |sha256sum
~~~