Hello,
J'ai profité de la mort du disque de mon serveur de secours pour migrer sous Debian 9. J'étais sous Debian 7 alors quitte à réinstaller autant en profiter.
Globalement la migration s'est faites sans douleur. Les seuls gros soucis sont venus de mon vieux GuppY et de mon ancien site 1900anosjours qui était encore encodé en iso-8859-1.
- MySQL => MariaDB : migration transparente
- Nginx : migration transparente
- Apache 2.2 => 2.4 : quelques changement au niveau config. Il a fallu que :
- Je remplace dans les .htaccess et vhost les Allow, deny par require.
# Trouver les .htaccess concernés :
for file in $(find /home/*/www -name '.htaccess'); do grep -q -Ei 'allow|deny|satisfy' "$file" && ! grep -q -Ei 'require ' "$file" && echo "$file"; done
- J'ajoute des AllowOverride dans la config de mes vhosts, car la valeur par défaut est passée de All à None.
- Je change l'encodage des fichiers php d'iso-8859-1 en utf-8 pour résoudre les problèmes d'affichage.
cd /home/1900anosjours.hpsam.info/www
# Copier en .iso.php
for phpFile in $(find . -name *.php -print0 | xargs -I{} -0 sh -c "file -i '{}'" | grep iso | sed -e 's/: .*//'); do cp -a $phpFile ${phpFile/.php/.iso.php}; done
# Convertir
for isoFile in $(find . -name *.iso.php); do iconv -f iso-8859-1 -t utf-8 $isoFile > ${isoFile/.iso./.}; done
# Annulation si besoin
for phpFile in $(find . -name *.iso.php); do cp -fa $phpFile ${phpFile/.iso.php/.php}; done
# Supprimer .iso.php
find . -name *.iso.php -print0 | xargs -I{} -0 rm '{}'
- PHP 5.4 => 5.6 : quelques problèmes. Il a fallu que :
- Je corrige une erreur dans le module pgeditor de GuppY :
# inc/pgeditor/syntaxcolor/lang/xml.php
# Il manque une virgule avant // :
"`<!--(?:.+?)-->`s" => 'colorCommentXML', // COMMENTAIRES
- Je transforme les shorts tag <? en <?php (surtout les vieux fichiers dans le dossier data de GuppY).
cd /home/SITE/www/
SAVEIFS=$IFS
IFS=$(echo -en "nb")
# Test du résultat
for f in $(grep -l -a -R -E '<?([^a-zA-Z]|$)' --include=*.inc --include=*.php *); do sed -n 's/<?([^a-zA-Z])/<?php1/gp;s/<?$/<?php/gp' "$f"; done | less
# Transformation
for f in $(grep -l -a -R -E '<?([^a-zA-Z]|$)' --include=*.inc --include=*.php *); do sed -i -e 's/<?([^a-zA-Z])/<?php1/g;s/<?$/<?php/g' "$f"; done
IFS=$SAVEIFS
# validation syntaxique
find . -iname "*.php" -o -iname "*.inc" -print0 | xargs -0 -I{} /usr/bin/php5.6 -l '{}' | grep -v "No syntax errors"
Au final une journée de tests et une journée pour la migration.
... / ...
Hello,
J'ai profité de la mort du disque de mon serveur de secours pour migrer sous Debian 9. J'étais sous Debian 7 alors quitte à réinstaller autant en profiter.
Globalement la migration s'est faites sans douleur. Les seuls gros soucis sont venus de mon vieux GuppY et de mon ancien site 1900anosjours qui était encore encodé en iso-8859-1.
- MySQL => MariaDB : migration transparente
- Nginx : migration transparente
- Apache 2.2 => 2.4 : quelques changement au niveau config. Il a fallu que :
- Je remplace dans les .htaccess et vhost les Allow, deny par require.
# Trouver les .htaccess concernés :
for file in $(find /home/*/www -name '.htaccess'); do grep -q -Ei 'allow|deny|satisfy' "$file" && ! grep -q -Ei 'require ' "$file" && echo "$file"; done
- J'ajoute des AllowOverride dans la config de mes vhosts, car la valeur par défaut est passée de All à None.
- Je change l'encodage des fichiers php d'iso-8859-1 en utf-8 pour résoudre les problèmes d'affichage.
cd /home/1900anosjours.hpsam.info/www
# Copier en .iso.php
for phpFile in $(find . -name *.php -print0 | xargs -I{} -0 sh -c "file -i '{}'" | grep iso | sed -e 's/: .*//'); do cp -a $phpFile ${phpFile/.php/.iso.php}; done
# Convertir
for isoFile in $(find . -name *.iso.php); do iconv -f iso-8859-1 -t utf-8 $isoFile > ${isoFile/.iso./.}; done
# Annulation si besoin
for phpFile in $(find . -name *.iso.php); do cp -fa $phpFile ${phpFile/.iso.php/.php}; done
# Supprimer .iso.php
find . -name *.iso.php -print0 | xargs -I{} -0 rm '{}'
- PHP 5.4 => 5.6 : quelques problèmes. Il a fallu que :
- Je corrige une erreur dans le module pgeditor de GuppY :
# inc/pgeditor/syntaxcolor/lang/xml.php
# Il manque une virgule avant // :
"`<!--(?:.+?)-->`s" => 'colorCommentXML', // COMMENTAIRES
- Je transforme les shorts tag <? en <?php (surtout les vieux fichiers dans le dossier data de GuppY).
cd /home/SITE/www/
SAVEIFS=$IFS
IFS=$(echo -en "nb")
# Test du résultat
for f in $(grep -l -a -R -E '<?([^a-zA-Z]|$)' --include=*.inc --include=*.php *); do sed -n 's/<?([^a-zA-Z])/<?php1/gp;s/<?$/<?php/gp' "$f"; done | less
# Transformation
for f in $(grep -l -a -R -E '<?([^a-zA-Z]|$)' --include=*.inc --include=*.php *); do sed -i -e 's/<?([^a-zA-Z])/<?php1/g;s/<?$/<?php/g' "$f"; done
IFS=$SAVEIFS
# validation syntaxique
find . -iname "*.php" -o -iname "*.inc" -print0 | xargs -0 -I{} /usr/bin/php5.6 -l '{}' | grep -v "No syntax errors"
Au final une journée de tests et une journée pour la migration.