Downgrade version php & mysql sur ubuntu12.04

Résolu/Fermé
Tzmagnum Messages postés 126 Date d'inscription dimanche 9 août 2009 Statut Membre Dernière intervention 10 mai 2022 - 21 juin 2012 à 23:51
mamiemando Messages postés 33268 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 18 septembre 2024 - 22 juin 2012 à 20:26
Bonjour,

J'ai un serveur dédié ubuntu 12.04 avec apache 2.2.22, php 5.3.10.1 et mysql 5.5.24.

Cependant j'ai besoin impérativement de downgrader mes versions php et mysql pour des cms.

Comment pourrais-je sans perdre mes données réinstaller mysql 5.0.45 et php 5.2.4 à la place de ceux que j'ai déjà ?

J'ai déjà exporté via phpmyadmin mes base de données en un fichier .sql et j'ai copié mon dossier /var/www/ où se trouvait mes sites par ftp sur mon pc.

Merci d'avance.

Bien à vous.
A voir également:

5 réponses

mamiemando Messages postés 33268 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 18 septembre 2024 7 780
22 juin 2012 à 09:49
Méthode 1

Crée un répertoire dans lequel tu vas récupérer ces paquets, par exemple si ton login est toto dans /home/toto/paquets.

mkdir -p /home/toto/paquets


Tu peux récupérer le(s) paquet(s) à la par exemple via package ubuntu :
https://packages.ubuntu.com/

Il faut ensuite supprimer les paquets que tu veux remplacer et qui sont dans une version trop récente :

sudo apt-get remove paquet1 paquet2 paquet3


Ensuite installons les paquets que tu as récupéré dans /home/toto/paquets :

cd /home/toto/paquets
sudo dpkg -i *deb


Comme normalement tu es sensé installer les paquets dans un ordre bien précis, au début tu risques d'avoir des erreurs, mais si tu as récupéré tout les paquets nécessaires, à force de réperer la commande dpkg, tout devrait finir par s'installer. Supposons que tu aies récupéré N paquets. Si au bout de N invocation de dpkg, tout n'est pas installé avec succès, c'est qu'il te manque des dépendances, qu'il faudra récupérer sur https://packages.ubuntu.com/

Méthode 2

Supposons que ton ubuntu soit actuellement à la release "precise" mais que tu as besoin de paquets "oneiric". Il est possible de dire à apt de panacher entre des dépôts oneiric et precise. On peut par exemple dire explicitement que les paquets mysql doivent être pris dans oneiric tandis que les autres seront pris par exemple dans precise.

Pour cela il faut corriger /etc/apt/sources.list pour référencer les dépôts oneiric en plus des dépôts precise (il suffit de copier coller les lignes présentes dans ce fichiers et de remplacer precise par oneiric dans les lignes que tu viens de coller). Ensuite il faut corriger (ou créer) /etc/apt/preferences pour définir les priorités entre les dépôts precise et oneiric. Tu as un exemple ici :
http://doc.ubuntu-fr.org/proftpd#avertissements_lies_au_mod_tls

Ensuite :

sudo apt-get update
sudo apt-get upgrade
sudo apt-get remove paquet1 paquet2 paquet3
sudo apt-get install paquet1 paquet2 paquet3


Remarques complémentaires

Tu peux ensuite geler les paquets que tu as ainsi installé pour être sûr qu'ils ne seront pas mis à jour avant que tu les "dégêles". Encore une fois, il faut être prudent avec ça car ça peut empêcher des mises à jour futures. Pour cela tu peux lancer aptitude :

sudo apt-get install aptitude
sudo aptitude


Va sur le paquet que tu veux geler (mettons "paquet1"). Ceci cherche un paquet dont le nom contient "paquet1 dans son nom :

/paquet1


(n pour passer au suivant). Une fois positionné sur le bon paquet, appuie sur la touche "=" (il y aura alors marque h pour held à gauche). Idem pour les autres paquets à geler. Puis appuie sur q pour quitter.

Bonne chance
0
Tzmagnum Messages postés 126 Date d'inscription dimanche 9 août 2009 Statut Membre Dernière intervention 10 mai 2022
22 juin 2012 à 19:23
J'aime bien ta méthode 1, mais je ne sais pas quel paquet je dois installer pour au final avoir mysql 5.0.45 et php 5.2.4, et je ne sais pas dans quel ordre.

Ta méthode 2 parcontre me fait peur, car j'ai peur de toucher a ce genre de fichier et de faire planter tout le serveur et de devoir recommencé tout a 0, sa m'ai déjà arrivé.

Mais je t'ai envoyé un petit message privé.

Merci pour ton aide.


Bien à vous
0
mamiemando Messages postés 33268 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 18 septembre 2024 7 780
22 juin 2012 à 19:48
Oui j'ai vu ton message :-) Vu que tu y dis que tu débutes, je pense que la première étape c'est te familiariser avec apt. Tu peux par exemple lire ceci :
http://www.mistra.fr/tutoriel-linux-gestionnaire-de-paquets.html
http://www.mistra.fr/tutoriel-linux-apt.html

À noter que la plupart des commandes qui y sont mentionnées requièrent des droits root et doivent donc dans ton cas être précédées d'un sudo. Ainsi la commande :

apt-get update


... devient :

sudo apt-get update


Tu peux utiliser aptitude ou apt-get ce sont à peu près les mêmes options (personnellement je préfère aptitude mais il n'est plus installé par défaut sous ubuntu). L'idéal serait que tu manipules un peu en t'entraînant à utiliser les commandes qui y sont mentionnées.

À l'issue de cette lecture, tu devrais mieux comprendre à quoi servent apt-get/aptitude, apt-cache et dpkg et ça devrait être plus clair. Si ce n'est pas le cas n'hésite pas à demander des précisions. Tu devrais notamment comprendre :
- comment retrouver le nom des paquets qui t'intéressent (avec apt-cache)
- si tu dois les purger ou les supprimer (avec aptitude ou apt-get)
- comment mettre à jour ta distribution (avec aptitude ou apt-get)
- comment les installer (en temps normal avec aptitude ou apt-get, mais ici comme on ne veut pas utiliser la dernière version on va être obliger de "bypass"er aptitude/apt-get en intervenant directement avec dpkg)
- pourquoi il y a une notion d'ordre avec dpkg (aptitude et apt-get calculent dans quel ordre les paquets doivent être déployés et dépaquetent le tout avec dpkg : ainsi dpkg s'occupe de déployer un paquet mais l'intelligence requis pour choisir dans quel ordre le faire est assurée par apt)

Pour la méthode 2 tu auras besoin de lire un tutoriel complémentaire :
http://www.mistra.fr/tutoriel-linux-apt-configuration.html

Le tutoriel est orienté debian mais c'est exactement le même principe sous ubuntu, ce sont juste les noms des dépôts et les adresses des miroirs qui diffèrent.

Une fois cette phase d'apprentissage passée, n'hésite pas à me poser des questions si tu ne vois toujours pas comment traiter ton problème.

Bonne lecture !
0
Tzmagnum Messages postés 126 Date d'inscription dimanche 9 août 2009 Statut Membre Dernière intervention 10 mai 2022
Modifié par mamiemando le 22/06/2012 à 20:22
Je vais essayer,

Le problème c'est le manque de temps pour apprendre ça, car mon projet démarre le 2 juillet et j'ai encore beaucoup à préparer après ça.

Y'a t'il personne qui contre une petite rémunération peut me le faire svp ? Car sinon j'aurai jamais le temps d'être pret pour le 2 juillet.

Cependant pour ta methode 1, je n'ai besoin que 2 paquets (mysql 5.0.45 et php 5.2.4) ou plus ?

Merci à toi.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mamiemando Messages postés 33268 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 18 septembre 2024 7 780
22 juin 2012 à 20:26
Ici ce n'est pas le bon forum si tu cherches une prestation, c'est une communauté d'entraide, pas un site de prestataires :-)

Honnêtement quand je donne des cours de linux au bout d'une demi journée mes élèves savent tout faire alors je pense que c'est aussi dans tes cordes !

Pour la méthode 1 ça dépend de comment ubuntu a découpé ses paquets. Par exemple installer mysql-server sous debian installe tout ceci :

(root@aldur) (~) # aptitude install mysql-server
Les NOUVEAUX paquets suivants vont être installés : 
  libhtml-template-perl{a} mysql-server mysql-server-5.1{a} 
0 paquets mis à jour, 3 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de télécharger 6 772 ko d'archives. Après dépaquetage, 15,1 Mo seront utilisés.
Voulez-vous continuer ? [Y/n/?]


... et encore j'ai peut-être des dépendances de mysql qui sont déjà installées ! Donc a priori la réponse est "non".

Si tu es pressé une solution peut être plus simple est d'installer ubuntu (dans la bonne version) dans une machine virtuelle (par exemple virtualbox). Il est ensuite possible d'imaginer connecter une application codée dans ton système hôte ubuntu vers ta machine virtuelle ubuntu.

Bonne chance
0