Installer Prestashop chez Infomaniak

Installer Prestashop chez son hébergeur peut sembler anodin, pourtant il y a certaines choses à savoir et qui sont variables selon l’hébergeur. Travaillant actuellement avec Infomaniak, voici la procédure à suivre pour réussir le déploiement de Prestashop.



Un petit rappel sur Infomaniak

Infomaniak est une société suisse avec comme principal objectif, proposer des hébergements web de qualités et d’une grande stabilité. Actuellement j’ai toujours été satisfait de leurs services, ainsi que du support après-vente (très important d’avoir une bonne relation avec l’hébergeur). Si vous cherchez un hébergeur pour votre boutique Prestashop, vous pouvez vous y aller avec cet hébergeur qui est selon mon expérience le meilleur de Suisse. Leur documentation en ligne est aussi très complète (un gros avantage).

Notre objectif
L’idée est de déployer une boutique Prestashop sur Infomaniak, en appliquant la méthode habituelle les boutiques de mes clients. Nous allons voir le processus de déploiement ensemble.

Etape 1
Vous pouvez récupérer l’archive Prestashop sur le site officiel et ensuite vous pouvez extraire le contenu de l’archive et l’envoyer via FTP avec Filezilla (les informations FTP vous sont communiquées par l’hébergeur). Si vous pensez avoir uniquement la boutique sur votre hébergement, vous pouvez extraire le répertoire à la racine de votre FTP, si vous pensez aussi avoir aussi un site vitrine, vous pouvez créer un répertoire « /shop/ » sur votre FTP et extraire les fichiers à l’intérieur.

Etape 2
Une fois l’upload des fichiers effectué, il faut mettre les droits sur les fichiers, chez Infomaniak il faut préconiser le CHMOD 777, sinon vous aurez des erreurs à répétition.
Vous pouvez donc pour les répertoire mentionnés ci-dessous appliquer un CHMOD 777 sous Filezilla en effectuant un « clique droite sur le répertoire -> Permissions de fichier ». Il faudra appliquer cette manipulation sur chaque dossier indiqué ci-dessous.



Répertoires – Fichiers concernés

/config
/tools/smarty/compile
/tools/smarty/cache
/tools/smarty_v2/compile
/tools/smarty_v2/cache
/sitemap.xml
/log
/img
/mails
/modules
/themes/prestashop/lang
/themes/prestashop/cache
/translations
/upload
/download
/admin/backups

Il faut savoir aussi que lorsque vous ajoutez un module à votre boutique, il est important ensuite de vérifier que les droits sont bien en CHMOD 777, sinon par la suite quand vous voudrez traduire le module dans une langue, le back-office renverra une erreur indiquant qu’il n’a pas réussi à modifier les traductions (car celles-ci sont stockées dans le répertoire du module et il ne parviendra pas à les modifier).

Etape 3
A présent vous pouvez lancer l’installation de Prestashop via l’url de votre site en tapant http://www.votresite.com/ ou http://www.votresite.com/shop, si vous l’avez mis dans un répertoire « shop ». Ici rien de particulier, on choisi notre langue, une installation complète et on approuve les conditions générales et vous pouvez cliquer sur suivant.

Ensuite vous devriez obtenir un message comme quoi la configuration est valide et cliquez encore sur suivante. Si vous n’avez pas le message de confirmation, suivez les instructions concernant les erreurs affichées.

A présent, il faut que l’on connecte Prestashop à la base de données d’Infomaniak, il faut donc accéder à votre panel Infomaniak et créer une nouvelle base de données (sous Outils -> Bases de données).

Ensuite vous pouvez remplir les informations du formulaire :

serveur : mysql.votrenomdedomaine.ch
nom de la base de données : votrenomdedomaine1
identifiant base de données : votre nom d’utilisateur
mot de passe base de données : mot de passe lié à l’utilisateur
préfixe des tables : laissez sur ps_

Cliquez ensuite sur « Tester la connexion », si une erreur survient, alors veuillez contrôler à nouveau les informations ci-dessus. Si vous obtenez un message de succès, alors vous pouvez cliquer sur suivant.

A présent vous devez indiquer des informations générales sur la boutique, le nom de votre boutique, vos coordonnées etc…  Un point important l’adresse email et le mot de passe, ne les oubliez pas ceux-ci vont vous permettre de vous connecter au back-office de votre boutique. Une fois le formulaire rempli cliquez sur suivant.

Si tout s’est bien passé vous devriez normalement avoir un message de confirmation de réussite. A présent vous pouvez supprimer le répertoire « install » à la racine de votre site et vous pouvez aussi renommer le répertoire « admin » en « admin_shop » (le répertoire admin pourrait être renommé autrement mais j’ai choisi cette convention).
A présent vous devriez pouvoir accéder à votre site via : http://www.votresite.com et http://www.votresite.com/admin_shop pour le back-office.
Si vous avez mis Prestashop dans un répertoire shop alors vous devriez pouvoir accéder à votre site via : http://www.votresite.com/shop/ et http://www.votresite.com/shop/admin_shop pour le back-office

Etape 4
Il faut ensuite activer l’écriture d’url dans votre back-office, sous l’onglet « Préférences -> SEO & Url » et générer le fichier .htaccess (un lien vous sera proposé pour la génération, voir encadré en bleu sur l’image ci-dessous).

Ensuite il faudra modifier manuellement votre fichier .htaccess situé à la racine de votre boutique (avec un éditeur de texte ou html). Vous pouvez ajouter les lignes ci-dessous dans le fichier .htaccess. Ces commandes activent l’accès d’urls distantes, pour récupérer des flux extérieurs comme l’actualité de Prestashop, register_global est désactivé pour des raisons de sécurité.

# Infomaniak
php_flag allow_url_fopen On
php_flag register_globals Off

Etape 5
Par défaut Prestashop utilise la fonction « mail » avec la librairie « Swift Mailer », pour que celle-ci fonctionne, il faut la modifier afin que les emails soient transmis correctement.
Si vous n’effectuez pas cette modification, vous ne recevrez pas d’email, la modification est donc obligatoire.

Modifiez le fichier tools/swift/Swift/Connection/NativeMail.php et remplacez

public function __construct($additional_params="-oi -f %s")

par

public function __construct($additional_params="-oi")

Modifiez le fichier tools/swift/Swift/Plugin/MailSend.php et remplacez

public function __construct($params="-oi -f %s")

par

public function __construct($params="-oi")

Etape 6 (si vous n’êtes pas en production)
Pour le début je recommande encore les deux manipulations suivantes.
Désactiver la gestion du cache et forcer la compilation du site (le site sera plus lent, mais vous éviterez des surprises d’affichage), vous pouvez modifier « forcer la compilation » et « désactiver le cache » sous l’onglet « Préférences -> Performances ».


Ensuite pour éviter que n’importe qui accède à votre site, il serait bien de rendre la boutique publique uniquement pour vous et que les visiteurs aient un message « site en maintenance ». Pour cela rien de plus simple, accédez à l’onglet « Préférences » désactivez la boutique en cochant « Non » et cliquez sur le bouton « Ajouter mon adresse ip », puis sauvez les préférences.

Bilan
Et voilà vous avez une boutique Prestashop qui est fonctionnelle, du moins qui est correctement déployée chez Infomaniak. J’espère que ces informations pourront vous aider, si des éléments clés sont manquants ou que j’ai oublié certains points importants merci de me les signaler pour que je les ajoute. Pour information complémentaire chez Infomaniak votre site est backupé chaque jour (ainsi que sa base de données), vous pouvez les récupérer en tout temps dans le répertoire /backups et /backups_mysql en vous connectant sur votre FTP. Maintenant à vous de jouer ! Vous pouvez passer à l’étape « customisation » !

Notez mon billet, Google va adorer :
1 étoiles - J'aime pas !2 étoiles - Bof !3 étoiles - Bien !4 étoiles - Très bien !5 étoiles - Génial ! (1 votes, moyenne : 5,00 sur 5)
Loading...

38 commentaires sur “Installer Prestashop chez Infomaniak”

  1. Bonjour Webbax,
    Merci pour ces infos bien utiles. Cependant laisser les droits en chmod 777 pour la production, c’est quand même très risqué. J’ai tenté d’appliquer les préconisations Prestashop pour le mode production (http://www.prestashop.com/forums/index.php?app=core&module=attach&section=attach&attach_rel_module=post&attach_id=41253) mais ça cause de gros soucis au niveau du BO. Avez-vous une recommandation plus sécurisée pour les droits des répertoires en mode production ? Merci bcp

    1. Vous êtes bien chez Infomaniak ? Actuellement les tests avec des CHMOD à un niveau moins élevé, donnent bien plus de soucis chez cet hébergeur.
      Peut-être que cela est viable, mais lors du moindre changement, upload de fichier, traductions, c’est le plantage assuré.
      J’ai consulté d’autres articles avant de rédiger celui-ci, en ce qui concerne Infomaniak, tous recommandaient le CHMOD à 777.

      1. Oui, client Infomaniak depuis plusieurs années, avec plusieurs sites. Après avoir essayé un certain nombre de « confrères », leur offre est parfaitement bien calibrée, techniquement et financièrement pour les TPE / PME. Mais pour les chmod, quand même, c’est une porte ouverte (et une invitation) aux pirates. Je suis obligé de laisser un certain nb de dossiers en 0777 pour ne pas bloquer un minimum de fonctions du BO (comme la simple création d’un produit avec image par exemple) car on ne peut pas demander au gestionnaire courant de la boutique de modifier les droits via FTP à chaque utilisation. Je suis en train de tester un configuration de « compromis » et je ferai un retour sur mes propres réglages.

        1. cela me parait complétement fou de laisser des dossiers complet avec des droits 777, je viens de quitter 1&1 pour infomaniak, et je le découvre avec stupéfaction !
          Rassurez moi , il y a bien un moyen d’accentuer le sécurité !

          1. Il faut bien comprendre le CHMOD, par principe on ne donne pas le CHMOD 777 pour des raisons de sécurité, mais il faut voir pourquoi.

            Le CHMOD 777 ne va pas permettre aux utilisateurs de faire ce qu’ils veulent sur le site ou transférer des fichiers de manière libre.
            Le CHMOD 777 représente un danger si quelqu’un parvient à avoir un accès à la machine Apache / PHP, il pourrait ensuite effectuer des opérations de hack sur le serveur (il doit donc trouver une faille pour accéder aux commandes du serveur).
            Mais on en revient à une autre problématique, cela dépend de la sécurité de l’hébergeur et des protections qu’il applique, ainsi on pourrait avoir un CHMOD bien moins élevé, mais un hébergeur « peu sécurisé », cela représenterai selon moi bien plus de risques.

            Dans le cas d’Infomaniak, je n’ai eu jusqu’à ce jour aucun problème à signaler avec le CHMOD 777.
            Plus vous êtes une grosse plateforme, plus vous encourrez de risques, dans le 95% des cas, votre site ne sera pas exposé à ce genre de problématique, car il ne suscitera pas assez d’intérêt pour mériter d’être hacké (on préfèrera pirater 3 Suisses qu’un petit commerçant).

  2. Bonjour,
    Merci pour ces précisions. A noter que j’ai installé la version 1.4.6.2 et que la modification des fichiers mailsend.php et nativemail.php est toujours indispensable sur infomaniak.ch

    De plus, j’avais bêtement fait un copier/coller depuis votre site pour effectuer la modification de ces fichiers mais cela ne fonctionnait pas car le caractère  » n’est pas le bon. Pour que ca fonctionne, il est plus sûr de taper les nouvelles lignes de code à la main…

    Bon courage à tous.

  3. Bonjour,

    Je suis entrain de créer une boutique prestashop avec un nouveau nom de domaine:www.4iphon.ch.

    Le problème que j’ai c’est que je n’arrive pas à inclure les fichiers de prestashop à la racine de mon FTP et donc j’ai actuellement mon site comme ceci:

    http://www.4iPhon.ch/prestashop alors que je le désirerais comme ceci:
    http://www.4iPhon.ch

    Si vous pouviez m’aider ce serai super car je suis jeune et j’ai beaucoup de peine à trouver d’ou vient mon erreur.

    Ps: j’utilise aussi infomaniak.

    Un Grand MERCI d’avance!

  4. Bonjour,

    J’ai testé la solution prestashop 1.5.
    Je suis moi aussi chez infomaniak.
    J’ai rigoureusement suivi la procédure d’installation et ai indiqué les CHMOD 777 comme indiqué dans votre article.

    Cependant, une fois la boutique ouverte j’ai constaté un gros soucis.
    1 – J’ajoute un article au panier
    2 – Je click sur le panier pour afficher « Récapitulatif de la commande »
    3 – En bas dela page il y a un bouton « Suivant ». Quand je click dessus s’affiche une page Error 403.

    A quoi peut être du ce message ?
    Avez vous testé une install chez infomaniak avec la version 1.5 ?

    1. Bonjour, je n’ai pas encore effectué de tests élaborés, chez Infomaniak avec Prestashop 1.5.
      Par contre si vous avez activé le mode « Commande express » (onglet Préférences dans le back-office) essayez de le désactiver.

    2. Bonjour,
      J’ai développé mon site Prestashop en locale et j’essaie depuis 24h de le mettre sur mon serveur infomaniak.
      lorsque je veux aller dessus j’ai le fameux message Error 403.
      Impossible d’aller sur l’admin…
      Je commence à déserpéré…
      Avez-vous une idée?
      Merci

  5. Bonjour,

    Merci pour cet article intéressant.

    Petite question, vous préconisez de désactiver le cache pour les tests, ce qui est parfaitement juste. Par contre, lorsque l’on souhaite réactiver le cache, Memcached n’est pas supporté par infomaniak et il ne semble pas possible d’utiliser CacheFs vu que c’est un serveur mutualisé.

    Que nous conseillez-vous ?

    Meilleures salutations
    Fajy

    1. Bonjour,

      Actuellement pour mes clients Infomaniak je n’ai pas eu besoin d’activer Memcached, le cache classique est suffisant dans la plupart des cas.
      Je pense qu’il faut déjà un certain trafic pour que l’activation de Memcached soit obligatoire. Logiquement même sans son activation la boutique devrait s’afficher de manière instantanée.

  6. Bonjour,

    Merci pour cet information. Effectivement j’ai activé la mise en cache sans Memcached et cela fonctionne plutôt bien.

    Concernant l’étape 5, je n’ai pas eu besoin de manipuler ces fichiers pour que les mails fonctionnent. Je suis sous Prestashop 1.4.6.2.

    J’ai configuré l’onglet « Emails » de la façon suivante :

    -> utiliser mes propres paramètres SMTP

    Serveur SMTP : mail.apprentiphotographe.ch
    Utilisateur : shop@apprentiphotographe.ch
    Mot de passe : vide
    Cryptage : aucun
    Port : 587

    Avec ces paramètres je reçois mes mails sans aucun problèmes…

    Une piste à suivre ?

    1. Bonjour,

      La modification concernant les emails est importante quand on utilise la fonction « mail() », car par défaut c’est celle-ci que j’active. Si en mode SMTP cela fonctionne, il n’a pas besoin d’effectuer le changement.

  7. Bonjour,

    Suis hébergé chez infomaniak, tout est ok mais quand je fais une régénération des image, je reçois «  » Seule une partie des images ont été régénérées, le serveur a dépassé son délai d’expiration avant la fin. «  »

    Chez infomaniak, on m’indique sur une Faq que je (en bon français ) pige quedal..

    Pouvez-vous m’aider`?

    1. Bonjour,

      Effectivement pour y arriver il faut relancer le traitement plusieurs fois (peut-être 10 ou 50 fois) en désactivant l’option « Effacer les images précédents », pour que le système puisse re-générer par partie les images.

      Cela est liée au fait qu’Infomaniak limite à 30 secondes le temps d’exécution et la mémoire, vous pouvez aussi débloquer ces valeurs temporairement depuis le panel Infomaniak (mais pour une durée d’1h environ 10x par année).

      Merci pour votre visite !

    2. bonjour,

      fut un temps j’étais aussi chez infomaniak, et si je me souviens bien, il y avait une options chez eux qui permettait de prolonger le timing à + de 10 s…. il me semble que c’était à 120 seconde …

  8. Bonjour Webbax,

    Prochainement j’aimerais migrer ma boutique de :

    http://www.apprentiphotographe.ch/shop/

    Vers mon nouveau nom de domaine

    http://www.atigraphe.com/shop/

    afin de séparer mieux mes deux activités.

    Dans la migration je souhaiterais également passer de Presta 1.4.6 vers Presta 1.6.x

    J’ai un plus de 300 articles en vente.

    Des idées à donner sur la marche à suivre voir une idée d’article pour vous ?

    Et également comment faire pour les redirections 301 ?

    Merci d’avance si vous me donnez quelques pistes.

    1. Bonjour,

      Je pense qu’il faut faire déjà ça en plusieurs phases, déjà récupérer la boutique en local, sur un serveur local du type Wamp et tenter de faire une migration de la boutique avec l’outil « One click Upgrade » de Prestashop, ensuite intégrer le nouveau template.

      Pour les redirections 301, il faut exporter les tables depuis PHPmyAdmin qui regroupent les urls ré-écrites (catégories & produits) puis faire un Excel avec 2 colonnes, l’ancienne url et la nouvelle, en comparant selon les règles définies avec la nouvelle version de Prestashop et les ré-intégrer ensuite au .htaccess.

      C’est pas vraiment très précis dis comme cela, mais ça demande de faire une série de test, avant de tenter le grand saut.

      Parfois il faut faire plusieurs essais de « migration » des données, avant de trouver la meilleure méthode, cela dépend aussi des cas.

      A bientôt !

      1. Bonjour, merci pour les infos.

        Pour les redirections 301, cela veut-il dire que lors d’une migration prestashop 1.4 vers 1.6, les liens de produits ne sont plus du tout les mêmes ? Est-ce que dans ce cas, Prestashop dispose d’une redirection interne ?

        Et est-ce que le .htaccess doit-il contenir chaque lien (Plus de 12’000 dans mon cas) ou est-il possible de remplacer qu’une partie avec une règle ?

        Y a t’il un vrai bonus de passer de la version 1.4.6 vers la version 1.6.x ?

        1. Hello,

          Les liens devraient normalement changer, mais conservent une certaine logique, id + url récrite, du coup c’est pour cela qu’il faut exporter les anciennes urls et les convertir selon la nouvelle norme. Dans Excel il faut parfois faire un « contatener » de plusieurs valeurs, afin de reconstituer la nouvelle url sur la base des anciennes.

          Oui temporairement le .htaccess pourrait contenir tous les liens afin de reconduire à chaque fois sur la bonne fiche produit. Il n’y a pas de règle « génériques », je conseille le lien vers chaque page spécifique.

          Pour la version tout dépend, des exigences et de tes besoins… sous Prestashop 1.4 il existe des templates responsives, ce qui peut permettre aussi encore de durer un peu dans le temps.

          1. La taille que vas prendre le fichier .htaccess me fait souci. Cela ne risque t’il pas de ralentir le site ?

            En tout cas, cela m’a l’air assez complexe… et demande beaucoup de boulot

            Aurais-tu du temps pour me faire un devis sans engagement ?

            3 chapitres séparé

            – Migration vers un nouveau nom de domaine
            – redirection 301
            – mise à jour vers 1.6.x

            à m’envoyer sur mon mail.
            Merci d’avance et bonne soirée

          2. Hello,

            Le fichier .htaccess de plusieurs « mega » a déjà été expérimenté chez certains clients, sans constater de ralentissements particuliers.

            Dans tous les cas, la migration nécessite bonne réflexion au préalable, pour que tout se passe bien.

            Actuellement je suis déjà au maximum de ma charge niveau clientèle, mais je t’invite à faire ta demande sur un site du type « Codeur.com » ou dans le forum Prestashop sous la section « Appels d’offres ».

            A bientôt !

  9. Bonjour,

    petite enfin grosse question pour moi : est-ce toujours la même marche à suivre avec Prestashop 1.6, et la version actuelle de Infomaniak ?

    Merci d’avance pour votre aide.

    1. Bonjour,

      La procédure est toujours valable pour Prestashop 1.6, par contre il ne faut pas oublier aussi de passer le répertoire « /cache » en CHMOD 777.

      Si vous avez une page blanche, pensez à activer la gestion des erreurs en activant le mode développement (comme par ex. Lorsque votre boutique Prestashop se bloque).

      Merci pour votre visite.

  10. Merci beaucoup Webbax ! 🙂

    Je me suis rendu compte que les emails ne s’envoyaient pas sur la boutique Prestashop d’un client, hébergé chez Infomaniak. Ton article m’a épargné des heures de recherche 🙂

    @ bientôt !
    Alex

  11. Bonjour,

    Je pense qu’il y a dû avoir de gros changements dernièrement, car avant, la manipulation pour les mails fonctionnait parfaitement, maintenant, je ne trouve même plus le chemin.

    Depuis aucun mail ne part de ma boutique, et le test ne fonctionne pas non plus.

    Meilleures salutations

  12. Bonjour,

    Concernant le problème des emails chez Infomaniak, sous des versions récentes de Prestashop 1.6 et + vous pouvez procéder ainsi.

    Vous devez modifier les deux fichiers ci-dessous :

    1) Dans le fichier : « \tools\swift\classes\Swift\MailTransport.php » remplacez :

    $extraParams = '-f%s'
    

    par

    $extraParams = ''
    

    Vous devez modifier deux lignes similaires dans ce fichier.

    2) Dans le fichier : « \tools\swift\classes\Swift\Transport\MailTransport.php »

    remplacez :

    private $_extraParams = '-f%s';
    

    par

    private $_extraParams = '';
    

    Et normalement, cela devrait ensuite fonctionner.

  13. Bonjour,
    Je suis tombé par hasard sur votre article 😉
    J’ai le même souci mais je suis en version 1.7 et je ne trouve pas quel fichier sont a modifier.

    Sous 1.7 j’ai pas ou se trouve MailTransport.php ?

    Merci d’avance
    Stéph.

    1. Bonjour,

      Pour la version Prestashop 1.7 je ne suis pas sûr que le problème est identique, ce que vous pouvez faire c’est détourner le problème en utilisant la méthode « SMTP » de Prestashop dans la configuration mail. Ensuite, vous pouvez mettre la configuration SMTP de votre compte mail chez Infomaniak et ça devrait fonctionner.

      A bientôt !

      1. Bonjour,
        Merci d’avoir répondu a mon commentaire
        J’ai pu régler le problème. En effet j’ai remarqué que le formulaire de contact fonctionnait parfaitement avec le thème original. Du coup j’en ai déduit que le problème venait de mon thème et qui n’était plus a jour avec la nouvelle version de Prestashop 1.7.3.1.

        Meilleures salutations
        Stéph.

        1. Bonjour,

          Ah oui je vois… vous pouvez copier aussi le contenu du fichier TPL de contact 1.7.3.1 (original) sur le fichier TPL de votre thème pour voir si là ça fonctionne.

          Bonne continuation !

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *