Jump to content

Jean Francois G

Members
  • Posts

    1,692
  • Joined

  • Last visited

  • Days Won

    3

Everything posted by Jean Francois G

  1. le problème sans l'ajax, c'est ensuite le comportement même du panier qui change. 9a n'a plus aucun rapport avec avant et franchement c'est pas pratique. Je pense que ce qu'elle souhaite, c'est juste voir le mouvement de l'article ne plus se faire (zouiiii il part du milieu de la page et fonce en haut à droite) car dans certains thèmes, ça fait même remonter la page tout au début. j'avoue que j'aimerais bien connaitre aussi la réponse, sans toucher à ajax.
  2. yop ! Merci pour l'astuce que tu as rajouté. Effectivement ça gagne pas mal de minutes. Pour le cache, s'il faut que je le remette ici je le ferais, mais comme en fait c'est plutôt optionnel d'utiliser memcached, je me suis dis que ceux qui le veulent le trouverons bien sur l'autre topic lol Note : Dans la semaine, je rajouterais à ce tuto les explications pour créer et administrer son gestionnaire d'Email sur ISPCONFIG, comme cela la boucle sera bouclée et le serveur sera complet.
  3. Installer de A à Z son Serveur VPS ou dédié sur debian 8 + ISPCONFIG par Jean François Guilard - 71100 Chalon sur Saone - [email protected] ( tuto fréquemment mis a jour ) Dans cet exemple nous choisissons un serveur VPS OVH mais le tuto est valable pour tous les serveurs VPS de n'importe quel prestataire et même les serveurs 100% dédiés. Vous lirez dans plein de topics : "Si tu n'es pas un administrateur de génie, alors ne tente pas l'expérience des serveurs dédiés car c'est impossible. Tu dois faire appel à un professionnel payant." Nous allons tenter ici de casser ce discours et de faire en sorte que vous puissiez vous aussi avoir votre serveur dédié avec juste un minimum de connaissances. Lorsque votre opérateur vous livre votre VPS, sa version de débian est "nue" (Sauf cas spéciaux). C'est à dire que le serveur démarre, charge linux, comprend le html... mais c'est à peu prêt tout. Pour le reste c'est une coquille vide qui attend patiemment que quelqu'un vienne lui dire quoi faire. Il va donc falloir que ce soit vous qui le lui disiez. Dans ce tuto vous allez apprendre à installer les fichiers nécessaires pour que le serveur comprenne le PHP, utilise une base de donnée et supporte les fonctions utiles à prestashop, mais aussi le sécuriser, le clôturer et punir les méchants qui souhaiteraient lui faire du mal.. Vous allez également installer un gestionnaire graphique de serveur, accessible depuis internet, afin de pouvoir gérer celui ci plus facilement sans avoir besoin d'en apprendre les lignes de commandes. J'ai choisi ISP-Config car il à l'avantage d'être 100% gratuit et assez simple à comprendre. Pour les novices, comptez environ 1h30 pour tout faire.. Alors ... c'est parti ! (les modifs pour débian 8 sont marquées en ROUGE) certaines spécifiques à débian 7 seront marquées en BLEU Nous allons avoir besoin des données que nous avons reçu d’OVH ou de votre opérateur lors de la création du VPS. Notamment son nom (vpsxxxxx.ovh.net) ou (xxxxxxx.vpsoperateur.xxx) Le mot de passe root pour le ssh L’adresse IP du serveur 1 / Si vous avez déjà tenté quelque chose sur votre VPS il faut le réinstaller. : Vous devez vous rendre dans votre espace d'administration de votre compte sur le site OVH Vous cliquez sur le nom de votre VPS En haut à droite une case est marquée "REINSTALLER" Vous choisissez la version de debian 8 2/ Préparation du serveur : Nous allons tout paramétrer par SSH. Donc il faut télécharger un programme pour cela. Par exemple le logiciel Putty : http://www.clubic.co...0874-putty.html Lancez putty, puis connectez vous sur l’IP de votre serveur. Une fenêtre noir apparait, c’est la que tout se passe. Tapez votre login : root Puis votre mot de passe reçu sur le mail de confirmation que vous venez de recevoir. Nous allons utiliser un éditeur de fichier pour paramétrer notre serveur. Debian 8 est normalement fourni avec l'utilitaire nano. Il est parfait pour faire notre paramétrage et en plus est complet. Pour savoir s'il est bel et bien déja préinstallé, il suffit de taper l'ordre "Nano"' Si un editeur noir s'affiche, c'est tout bon. un CTRL X reviendra aux lignes de commandes. Si un message d'erreur s'affiche alors allez au chapitre 2b, effectuez les modifs et revenez ici après A noter que : - pour annuler la saisie : CTRL Z - Pour enregistrer le fichier : CTRL X, puis Y pour confirmer et ENTREE pour valider le nom de fichier - Pour débloquer si l'on a fait une mauvaise manip : CTRL C 2a : Verifier le hostname 2a-1 : Edit du 12/06/2019 : UN PETIT TUTO DANS LE TUTO POUR PERSONNALISER VOTRE HOSTNAME (si ca ne vous interresse pas, direction chapitre 2a-2) : Vous remarquerez que votre serveur porte un nom du genre ns12345678.IP.22.22.22.22.ovh.net C'est moche et pas du tout personnel. Vous pouvez changer cela en faisant plusieur choses : - Allez sur votre compte OVh, puis dans la ligne de votre domaine vous allez dans les DNS. . Vous ajouter une zone A et lui donnez un nom comme "monserveur.mondomaine.com". Ensuite vous la faite pointer sur l'IP de votre serveur. - Dans votre serveur, vous tapez : "nano /etc/hostname" et vous mettez votre nom d'hote c'est a dire : monserveur (sans le reste de la zone A) ensuite on tape "nano /etc/hosts" et vous remplacez les deux lignes contenant le nom de votre ancien serveur en mettant le votre a la place par exemple : 127.0.0.1 localhost 127.0.1.1 monserveur.mondomaine.com monserveur # The following lines are desirable for IPv6 capable hosts ::1 localhost ip6-localhost ip6-loopback ff02::1 ip6-allnodes ff02::2 ip6-allrouters 22.22.222.22 monserveur.mondomaine.com monserveur un CTRL X, un validation et voila.. Ensuite un "reboot" pour mettre en place pour de vrai. N'oubliez pas que votre DNS doit se propager et que cela peut prendre 24h 2a-2 : Si vous ne souhaitez pas changer votre hostname, une fois logué en root, la première chose à faire est de vérifier que votre host est bien configuré (notamment si vous n'êtes pas sur un serveur VPS OVH, ou si vous êtes sur un vrai dédié : "nano /etc/hostname" Vous vérifiez que le nom de votre serveur est présent et bien complet avec le nom par défaut, sinon vous corrigez. 2b : Changer le mot de passe du root Pour mieux vous rappeler du mdp root, nous allons le changer. Tapez « passwd root » Et choisissez un mot de passe qui vous plait. 2c : Faire la mise à jour des sources et installer les ordres critiques Pour mettre les bonnes sources d'applications pour votre débian, on fait "nano /etc/apt/sources.list" (ou "vi /etc/apt/sources.list" si nano n'est pas encore installé) et on efface tout ce qu'il y a d'écrit. Ensuite on rempli avec les choses suivantes : Pour débian 8 mettez à jour la liste des sources pour qu'elle contienne ceci : deb http://ftp.us.debian.org/debian jessie main contrib deb http://security.debian.org jessie/updates main contrib non-free deb http://ftp.us.debian.org/debian jessie-updates main Il se peut que le sourcelist ne soit plus d'actualité au moment ou vous lisez.. Au cas ou, rajoutez juste les contrib et non free a la fin de vos lignes existantes. Maintenant on lance la prise en compte des nouvelles sources « apt-get update », validez Si erreur "There is no public key available for the following key IDs" : apt-get install debian-archive-keyring apt-key update Normalement à ce stade on met à jour notre linux, mais pour éviter des erreurs plus tard nous allons dès maintenant installer des appli critiques : Installation de dialog (au cas ou) : "apt-get install dialog" puis les taches cron : apt-get install cron puis les complément de apt : " apt-get install apt-utils" Puis on met à jour notre linux “apt-get upgrade”, validez Maintenant que le système est à jour, on va pouvoir travailler correctement 2d : Configurer la langue et les caractères Par défaut, le serveur est configuré pour en_EN.utf8, nous allons le paramétrer pour les caractères français : « dpkg-reconfigure locales » Un panneau apparait. Faites naviguer la liste et cochez fr_FR.UTF-8, puis tab et validez Dans région par défaut, choisissez « fr_FR.UTF-8 » Nous avons donc configuré la langue française et le type de caractère à UTF-8 (ça tombe bien c'est ce qu'utilise prestashop) Note : Si le message "no locales installed on this server" apparait, lancez l'installation avec un "apt-get install locales" puis recommencez le chapitre 2 2e : Installer les programmes obligatoires Installation de mysql : “apt-get install mysql-server mysql-client” Vous devrez confirmer, puis donner le mot de passé que vous voulez pour l’utilisateur root Notez que sous Debian 8 (SI vous êtes en debian 7 allez directement à l'install d'apache) seul Mysqli est accepté, donc on install : "apt-get install php5-mysql" Cela empechera une futur erreur de ispconfig Installation d’apache : « apt-get install apache2 » Vous devrez confirmer en tapant Y à la question. Installer PHP : apt-get install php5 apt-get install php5-cgi apt-get install libapache2-mod-fcgid Et on relance le service « /etc/init.d/apache2 restart » Installation des modules optionnelles (redimensionnement graphique, module de traduction etc.. ) selon votre utilisation vous pouvez en ajouter ou en retirer : « apt-get install php5-curl php5-gd php-pear php5-pspell php5-recode php5-snmp php5-sqlite» Et on reboot « Reboot » La fenêtre SSH va se fermer. Relancez putty et reconnectez-vous en root avec votre nouveau mot de passe. Installation de phpmyadmin : « apt-get install phpmyadmin » Sur l’application en route, pointez « apache » avec la barre d’espace et validez A la prochaine question sur dbconfig-common, dites non. Optionnels mais conseillés : Installation de l’antivirus et d'autres modules (comme unzip par exemple). - Notez que vous pouvez adapter ces lignes. Par exemple, si vous ne voulez pas de serveur de mail sur votre serveur (vos mails sont gérés par OVH, par exemple), votre ligne pourra ressembler à ceci : « apt-get install zoo unzip bzip2 arj nomarch lzop cabextract apt-listchanges libnet-ldap-perl libauthen-sasl-perl daemon zip >> , puis vous passez direct au chapitre 2e-b - Sinon, la ligne complète donne ceci : « apt-get install amavisd-new spamassassin clamav clamav-daemon zoo unzip bzip2 arj nomarch lzop cabextract apt-listchanges libnet-ldap-perl libauthen-sasl-perl clamav-docs daemon zip » Ce qui installe clamAV, amavisd et spam-assassin, ainsi que les compresseurs et décompresseurs Comme c'est amavisd qui sera utilisé avec isp-config et que ce logiciel se sert des configs de spam-assasin, on va pouvoir l'annuler. "/etc/init.d/spamassassin stop" "update-rc.d -f spamassassin remove" On installe le serveurs de courrier et les appli utiles (serveur de mail et webmail) : « apt-get install postfix postfix-mysql getmail4» Aux questions répondez : « site internet », puis renseignez votre nom de VPSxxx.ovh.net (ou votre hostname si vous n'êtes pas chez ovh), puis SSL « non » Maintenant, on autorise mySQL à écouter partout : « nano /etc/mysql/my.cnf » Commentez la ligne bind-address = 127.0.0.1 Ce qui donne « # bind-address = 127.0.0.1 » Sauvez le fichier Relancez le service « /etc/init.d/mysql restart » Pour gagner de la vitesse de chargement, on active la directive "Expires" qui permet aux navigateurs de ne pas recharger les images a chaque fois : a2enmod expires 2e-b : Encore quelques programmes "apt-get install openssl rkhunter binutils" On installe maintenant FCGI, suExec, Pear, mcrypt et quelques modules utiles: « apt-get install libexpat1 php5-cgi apache2-suexec php-auth mcrypt » N'oubliez pas cette ligne necessaire pour l'installation de prestashop : apt-get install php5-intl La aussi j'ai adapté l'ancien tuto pour qu'il soit compatible avec debian 8 Puis on active les modules de redirections etc.. “a2enmod suexec rewrite ssl actions include” “a2enmod dav_fs dav auth_digest” On relance le service : « /etc/init.d/apache2 restart » Installation du serveur FTP : « apt-get install pure-ftpd-common pure-ftpd-mysql » « nano /etc/default/pure-ftpd-common » Et on change sur ce fichier la ligne VIRTUALCHROOT=false, en VIRTUALCHROOT=true Et on sauve Puis on relance le service « /etc/init.d/pure-ftpd-mysql restart » Optionnel (utile que si vous souhaitez ne pas utiliser le serveur DNS de votre opérateur) : Installation du serveur DNS « apt-get install bind9 dnsutils » 2e-c : Installation des logs et des stats adaptés à ISPCONFIG et installation de fail2ban: “apt-get install vlogger webalizer awstats geoip-database” « nano /etc/cron.d/awstats » Et dans ce fichier commentez toutes les lignes Installation de fail2ban : « apt-get install fail2ban » Puis on crée les fichiers de configuration pour chaque service « nano /etc/fail2ban/jail.conf » en mettant ces lignes en enabled= true: [ssh] enabled = true port = ssh filter = sshd logpath = /var/log/auth.log bantime = 86400 maxretry = 2 [pure-ftpd] enabled = true port = ftp,ftp-data,ftps,ftps-data filter = pure-ftpd logpath = /var/log/syslog bantime= 7400 maxretry = 3 [postfix] enabled = true port = smtp,ssmtp,submission filter = postfix logpath = /var/log/mail.log bantime = 86400 maxretry = 2 Moi j'ai été hard, j'ai mis 2 tentative maximum en erreur car les russes ont bien compris que tout le monde mettait 5 et ils tentent que 3 fois par 20 minutes... Vous pouvez remonter à 5 si vous avez peur de vous tromper vous même ... Mais bon si vous connaissez vos codes, normalement c'est zero mauvaises tentatives... 2e-d : INSTALLATION D'ISPCONFIG : (Avant d'installer ispconfig, si vous voulez avoir php-fpm en plus du reste : apt-get install php5-fpm) Lancez cette ligne de commande : ln -s /etc/apache2/sites-available/default-ssl.conf /etc/apache2/sites-enabled/000-default-ssl.conf Cela corrigera chez certains le fait qu'il n'y a pas de virtualhost SSL d'activé et évitera le message 'NameVirtualHost *:443 has no VirtualHosts' Maintenant tapez les ligne suivantes : cd /tmp wget http://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz tar xfz ISPConfig-3-stable.tar.gz cd ispconfig3_install/install/ php -q install.php (Si un message a propos de patch absent s'affiche, tapez apt-get install patch et relancez php -q install.php) Maintenant il faut remplir les zones demandées par ISPConfig : Select language (en,de) [en]: Faire entrer Installation mode (standard,expert) [standard]: Faire entrer Full qualified hostname (FQDN) of the server, eg server1.domain.tld [server1.example.com]: Taper le nom du Hostname du serveur MySQL server hostname [localhost]: Faire entrer MySQL root username [root]: Faire entrer MySQL root password []: Taper ici le mont de passe que vous avez défini à l'installation de MySql MySQL database to create [dbispconfig]: Faire entrer MySQL charset [utf8]: Faire entrer La il va y avoir une création des clés de sécurité puis il redemande ensuite de nouvelles informations : Country Name (2 letter code) [AU]: Saisir les deux lettres du pays du serveur (FR pour france) State or Province Name (full name) [some-State]: Taper le nom de votre département ou laisser vide Locality Name (eg, city) []: Taper le nom de la ville ou laisser vide Organization Name (eg, company) [internet Widgits Pty Ltd]: Taper le nom de la Boutique, ou laisser vide Organizational Unit Name (eg, section) []: Faire entrer Common Name (eg, YOUR name) []: Taper votre nom de famille ou laisser vide Email Address []: Taper votre adresse email de contact webmaster ou laisser vide Il mouline et termine l'installation. L’installation de base est terminée. ISPCONFIG GERE MAINTENANT LET'S ENCRYPT DONC : mkdir /opt/certbot cd /opt/certbot wget https://dl.eff.org/certbot-auto chmod a+x ./certbot-auto ./certbot-auto Puis quand il demande si on veux créer le certificat on fait cancel. C'est ISPC3 qui le fera pour nous. Pour acceder a ispconfig : Vpsxxxxx.ovh.net :8080 (ou votre hostname:8080 ou votre IP:8080 Pour acceder à phpmyadmin Vpsxxxxx.ovh.net/phpmyadmin Attention, si vous êtes dans les dernières versions, l'accès à phpmyadmin se fait avec : Vpsxxxxx.ovh.net:8080/phpmyadmin 3/ Réglages essentiels de sécurité 3a : Edition de php.ini pour autoriser l’importation des gros fichiers dans phpmyadmin : « nano /etc/php5/apache2/php.ini » En face de max_input_vars, mettre 20000 (Pour les fichiers de traduction de prestashop) Et mettez 20M en face de upload_max_filesize = !! Attention !! si vous choisissez le mode PHP-CGI pour vos site vous devez faire la même chose dans le dossier /etc/php5/CGI On relance le serveur : /etc/init.d/apache2 restart 3b : securiser et changer le port d’accès pour ispconfig « nano /etc/apache2/sites-available/ispconfig.vhost » Vous trouverez ceci : Listen 8080 NameVirtualHost *:8080 <VirtualHost _default_:8080> <IfModule mod_fcgid.c> À changer en ceci si vous voulez le port 7654 à la place du 8080 : Listen 7654 NameVirtualHost *:7654 <VirtualHost _default_:7654> <IfModule mod_fcgid.c> 3c : Changer l’adresse d’accès de phpmyadmin « nano /etc/phpmyadmin/apache.conf » Vous trouverez ceci : Alias /phpmyadmin /usr/share/phpmyadmin A changer en ceci (ou monraccourci = l’adresse souhaitée) Alias /monraccourci /usr/share/phpmyadmin 4 : Parametrer un nouveau site dans ISPCONFIG Dans ISP CONFIG : / Enlever les prefixes : Si on ne compte pas utiliser son dédier pour vendre des sites a des clients, on peut enlever les préfixes automatiques que ISP config met dans les paramètres. Onglet « system » : « Interface config » : onglet « sites » Supprimer tous les préfixes déjà préconfigurés. Cela évitera de ne plus se rappeler des différents login que ispconfig aurait modifié lui-même. / Créer son propre compte client : Histoire de ne pas avoir de messages de rappel a répétition ou de zones vides dans la config. Onglet « Client » « Ajouter un nouveau client » et on renseigne les zones / On crée l’espace du futur site web : Onglet « Site »: « Add new site » Sous onglet « domaine » : - Serveur : sélectionner son serveur - Client : le fameux client créé précédemment - Adresse ip : * (choisir l’etoile et ne pas choisir l’adresse IP du serveur, sauf si vous ne voulez jamais rajouter d’autres sites. En gros laisser l’étoile) - Domaine : nomdomaine.com (ne pas mettre le www.) - De CGI à SuEXEC, remplissez selon les technologies utilisées - Auto sous-domaine : *. - SSL : cochez si vous administrez via SSL - ]PHP : choisissez votre fonctionnement de PHP (fast-CGI) - Actif : Coché (évidemment) Et : ENREGISTRER / On crée l’utilisateur FTP pour le site : Onglet « site » : Sous onglet « utilisateur FTP » + Nouvel utilisateur FTP : puis Site web : on choisi le domaine concerné Nom d’utilisateur : Choisir un login (qui ne sera pas modifié puisqu’on a supprimé les préfixes) Choisir un mot de passe Quota de disque : -1 (c’est vous donc pas de restriction) Actif : ben oui On peut maintenant accéder via FTP a l’espace web et uploader le site dans le dossier « web » / La base de données : Sous ISPConfig, J’ai essayé l’onglet « base de données » de l’onglet « site », mais ça ne fait rien. Même si on crée un nouvelle base, cela ne la crée pas réellement (PHPmyadmin le confirme) Donc je passe par PHPmyadmin pour créer ma base de données puis l’importation pour transférer les tables . Sous phpmyadmin créez une nouvelle base de donnée (rappelez vous de son nom pour plus tard), puis dans cette base de données, grâce à l’onglet « importer », restaurez votre sauvegarde SQL que vous avez faite via votre mutualisé. Pour cela cliquez sur parcourir et allez cherchez le fichier Zip ou sql (c’est selon) puis cliquez sur « executer ». Ca mouline …. On attends (ça peut durer longtemps) … et hop c’est bon. Dans privileges, créez un nouvel utilisateur, donnez lui un nom, laissez « tout serveur », donnez lui un mot de passe, et les privilèges passe partout. (vous pouvez aussi donnez tous les droits sur cette base uniquement, en cliquant sur le choix plus bas, plus facile mais c’est plus risqué) . Cliquez sur « éxecuter » La base est prête 5 / Pointer votre DNS de domaine sur votre serveur Chez votre registar, accédez au zones DNS, puis dans la zone A, mettez votre serveur vps.xxxxx.ovh.com ou votre adresse IP de serveur Dans la zone MX, faites pareil (si vous voulez gérer vos mails sur votre serveur) 6 / Sécuriser son accès SSH Actuellement votre accès à distance est sur ROOT sur le port 22, c'est à dire sur l'utilisateur maître (un dieu en somme) sur le port par défaut. Nous allons changer cela afin de compliquer une éventuelle tentative d'utilisation de votre SSH par un tiers. 6a : Changement du port d'accès : Avec putty, accedez à votre serveur et loguez vous en root. puis : "nano /etc/ssh/sshd_config" vous allez avoir ceci : # What ports, IPs and protocols we listen for Port 22 # Use these options to restrict which interfaces/protocols sshd will bind to #ListenAddress :: #ListenAddress 0.0.0.0 Protocol 1 (Quelques fois protocol 2) à changer en ceci (ou 7654 est à changer dans le numéro de port que vous souhaitez) : # What ports, IPs and protocols we listen for Port 7654 # Use these options to restrict which interfaces/protocols sshd will bind to #ListenAddress :: #ListenAddress 0.0.0.0 Protocol 2 et sauvegardez 6b : Maintenant nous allons créer un utilisateur autre que root: Création de l'utilisateur : "adduser teteatoto" Pas bien compliqué ça ... Mais pour l'instant root peut toujours accéder au SSH 6c : Interdiction du SSH à root et autorisation d'accès à teteatoto Attention : Cette étape va interdire le login SSH de root, ne vous trompez pas concernant le nouveau nom d'utilisateur. Si vous l'oubliez = Réinstallation "nano /etc/ssh/sshd_config" vous allez avoir ceci : # Authentication: LoginGraceTime 120 PermitRootLogin yes StrictModes yes à changer en ceci : # Authentication: LoginGraceTime 120 PermitRootLogin no StrictModes yes AllowUsers teteàtoto sauvez le fichier relancez le service : "/etc/init.d/ssh restart" Dorénavant pour accéder au serveur en ssh vous devrez vous loguer en tant teteatoto (et mot de passe de teteatoto), puis dès que vous accedez à la ligne de commande, vous devrez demander les droits du root pour travailler à sa place avec la lignes suivante : "su -" Il sera demandé le mot de passe du root et une fois fait, hop vous avez pris sa place 7 / METTRE A JOUR CLAMAV SOUS DEBIAN si vous l'avez installé : ceci a été corrigé sous la dernière version d'ISPCONFIG, on ne fait rien donc .. 8 / VERIFIER QUE LE MODULE MOD_EXPIRES EST BIEN ACTIF Pour gagner de la vitesse dans l'affichage des pages il est important que les navigateurs sachent quand ils doivent recharger les images et quand les prendre dans le cache. Pour cela c'est le module 'expires' qui donne les instructions. Debian n'active pas toujours ce module par défaut, alors dans le doute on va le vérifier et si besoin l'activer : On lance la commande suivante : "a2enmod expires" Si on à la réponse 'expires already enabled' alors on est bon, rien besoin de rajouter. Si la réponse est 'Enabling module expires. To activate the new configuration, you need to run: service apache2 restart' Alors on écoute et on tape sagement : "service apache2 restart" Et hop, google vous dira merci. DERNIERS PETITS REGLAGES ET CHARGEMENTS : Je rajoute quelques utilitaires qui seront bien utiles si vous voulez décompresser des fichiers de sauvegardes ou bien en créer ou les transférer sur une autre serveur.. apt-get install unzip zip ftp Comme son nom l'indique unzip decompresse des archives zip, son petit frère zip les crée, et ftp est le mode ligne de commande pour transférer sur un ftp distant. Il ne reste plus qu'a créer le script qui va bien.. IMPORTER UNE BASE EXISTANTE MYSQL : Astuce pour ceux qui souhaitent faire une importation sans risque d'erreur d'un PHP.ini ou de phpmyadmin : en ssh : cd /var mkdir temp Dans le phpmyadmin de l'ancien serveur, faire une exportation de la bdd en format zip Copier ensuite ce fichier zip de vitre PC au nouveau VPS dans ce dossier temporaire. Lancez un unzip nomdelabase.zip, qui donnera un fichier nomdelabase.sql dans le nouveau phpmyadmin du vps créer la base de données (par exemple basetoto) Puis un nouveau uilisateur pour cette base. Ensuite en SSh faites : mysql -u utilisateur -p nomdelabasevps < nomdelabase.sql il suffit ensuite de donner le mot de passe de l'utilisateur et l'importation se fait en quelques secondes seulement.. puis : rm nomdelabase.* et le dossier est de nouveau propre De plus on contourne ainsi les limitations des PHP.ini ce qui sécurise encore un peu plus et permet de laisser le upload_max_filesize par défaut.. et voila. Vous avez terminé. EDIT DU 27-05-19 : Prestahop est compatible jusqu'au PHP 7.0 .voir 7.1 selon les versions N'installez pas de version de PHP plus haute que celles ci, sinon plantage assuré Vous venez de créer votre serveur dédié rien qu'à vous et en plus vous l'avez fait tout seul ! Félicitation ! Vous avez sans doute économisé plusieurs centaines d'euros de main d’œuvre et je sais par expérience que se lancer dans l'e-commerce demande de faire des économies un peu partout au début. Bonne administration et n’hésitez pas à poser des questions si vous rencontrez un soucis.
  4. Re bonjour .. Après test de ma 1.5.5.0 sur url de test (pas folle la guêpe lol) , je constate ces problèmes dans les règles paniers : Situation : -1 règle panier automatique (que nous nommons 5+1) disant : si 5 articles alors un 6 eme offert (cadeau) Compatible avec toutes les autres regles -1 regle panier manuelle (que nous nommons toto) disant : avec le code toto : -10% sur les articles de la catégories titi Compatible avec la règle 5+1 mais pas les autres - 1 regle manuelle "portgratuit" disant que pour 8 articles de la catégorie titi le port est gratuit, compatible avec toto et 5+1 Actions posant problèmes (pour mieux comprendre nous allons utiliser ques des produits de la catégorie titi dans le panier): - si je mets 5 articles, le 6eme apparait, mais si je ensuite je tape mon code toto, il est refusé sans message d'explication ou d'erreur. - Si je mets 4 articles, ma règle toto est acceptée et mes -10 % sont la, mais si j'ajoute un 5ème article, rien ne se passe et le 6eme article gratuit n'apparait pas. - Si je mets la règle toto seule, tout est ok. Si j'ajoute une règle non compatible avec toto, au lieu de m'indiquer "la règle de panier n'est pas compatible avec une règle déjà existante", il met "Vous ne pouvez pas utiliser ce bon de réduction avec ces produits" ce qui n'a rien à voir puisque la nouvelle règle n'est pas tributaire ni de produits, ni de catégorie. - Si je mets la regle port gratuit avec moins de 8 articles, au lieu de me dire "nombre d'articles insuffisant" il met "Vous ne pouvez pas utiliser ce bon de réduction avec ces produits". Et de toute façon si je mets plus de 8 articles, la regle 5+1 se met en route et j'ai ensuite le même message pour le port gratuit : "vous ne pouvez pas utiliser ce bon de réduction avec ces produits" Je precise que tous ces tests fonctionnent parfaitement sur ma version 1.5.4.1 sans aucun autre changement. Une correction est elle prévu pour la prochaine version ? (utilisant beaucoup les regles paniers, je ne peux pas basculer en mode prod)
  5. Bonsoir à tous, Voici un soucis de logique dans les calculs de prestashop qui peut nous couter très cher au final : (Bug sur la 1.5.4.1, a confirmer si sur la nouvelle version c'est pareil..) Si l'on crée une règle panier dans laquelle on offre un article (quels que soit les condiftions, par exemple au bout de 5 articles vendus), si on l'autorise à être cumulé avec une autre offre de réductions (10% par exemple), la réduction se fait non pas sur la valeur des 5 articles + un gratuit, mais sur 6 articles payant. Exemple chiffré : 5 articles à 5 euros + un 6 ème gratuit (valeur 7 euros) : Réduction de 10% sur la montant de la commande = 5X5 = 25 ; 10% de 25 € font 2.5 € Hors voici ce que donne prestashop : (5X5) + (1X7) = 32 ; 10% de 32 font 3.2 € Soit une somme perdu de 0.80 € Comme ça, ca ne parait pas grave, mais faisons maintenant la même chose sur des articles 10 fois plus chers et nous perdons 8 euros à chaque commande. mine de rien au bout de 100 commandes nous avons perdu 800 euros pour une mauvaise logique du module. Une correction existe t'elle ?
  6. En toute honneteté : Aucune idée .. 0.9.7 ça fait très vieux ça.. je ne sais pas si la structure était identique, et je dirais même que j'en serais étonné.
  7. SI tu as refais ton magasin de A a Z en réinstallation vierge, puis ensuite juste importé la BD, alors oui les mots de passes ne fonctionnerons pas car le fichier de configuration ne contiendra pas les mêmes clés que celles créées précédemment. Dans ce cas il faut que tu est une sauvegarde de tes anciens fichiers afin de remettre les même clés comme expliqué sur ce tuto. Si tu n'a fais qu'une simple mise à jour, et que tu n'a pas fait de reinstall vierge, alors normalement tes mots de passes sont toujours fonctionnels et il n'y a rien a modifier en plus. Cela dit tu peux toujours suivre le tuto pour voir si cela résout ton problème.
  8. net amélioration avec ce bout de code.. le panier réagit à la règle correctement Alors à savoir que par défaut mes deux fichiers ne ressemblaient en rien à ceux que vous aviez dans le github.. Les lignes n'étant pas toutes présentes. Donc j'ai carrément fait un copier/coller du contenu complet des deux fichiers et remplacé le contenu des miens. Vu que la structure des deux fichiers n'avaient rien à voir avec les vôtres, cela risque t'il de me poser un problème par la suite ? Je vous communique par exemple mon fichier original cartrule.php,et cart-summary.js et vous verrez qu'il manque plein de lignes présentes d'origine dans le votre (avant correction).. C'est très grave de les avoir tout bonnement remplacé ? merci d'avance files origine.zip
  9. Bonjour, changements effectués sur le fichier script. Aucune amélioration. J'ai effacé le cache pour ne pas avoir de vieille trace du fichier, mais rien n'y fait. Le bug reste identique Autre chose à faire ?
  10. for version 1.5.4.1, in baskets rules when you define a product offered (gift) under conditions of purchase 5 products in a particular category, when you reach the 5th product basket is well prove a product offered 6th marked above with 'free' Problem! then, If you remove one of the 5 products (so there are no more than 4), the offered product is still available! Yet the rule cart is no longer respected. This is a serious bug, because it is the loss of money. en francais : dans les règles paniers, lorsque vous définissez un produit offert (cadeau) sous conditions de l'achat de 5 produits d'une catégorie précise, une fois arrivé au 5eme produit le panier fait bien apparaitre un 6eme produit offert avec marqué dessus 'gratuit' Problème ! Si vous enlevez alors un des 5 produits payant (donc il n'en reste plus que 4), le produit offert reste encore offert ! Pourtant la règle panier n'est plus respectée. C'est un bug grave, car il s'agit la de perte d'argent. Une solution ?
  11. Vu que le bug est constaté, quelqu'un à t'il une solution ? Un dev peut il passer par la ou un modo qui s'y connaitrai en technique ? Car il est vrai que c'est un bug assez important, à partir du moment ou il change le volume de marge des ventes .. help ?
  12. edit : Version du prestashop 1.5.4.1 Bonjour a tous, dans les règles paniers, lorsque vous définissez un produit offert (cadeau) sous conditions de l'achat de 5 produits d'une catégorie précise, une fois arrivé au 5eme produit le panier fait bien apparaitre un 6eme produit offert avec marqué dessus 'gratuit' Problème ! Si vous enlevez alors un des 5 produits payant (donc il n'en reste plus que 4), le produit offert reste offert ! Pourtant la règle panier n'est plus respectée. Une idée pour corriger ce bug énorme qui fausse carrément la donne et me fait perdre beaucoup de marge ?
  13. Parfait, merci grafics. Si on supprime le class_index alors tout fonctionne à merveille. Bravo !
  14. J'ai bien mis les deux fichiers du zip dont celui du override qui n'existait pas d'ailleurs. Commande de test effectué et pas de nom de transporteur écrit. faut il déclaré le fichier du override quelque part ? @atlasgame : effectivement, je ne comprends d'ailleurs pas qu'ils n'aient toujours pas décidé de proposer un correctif concernant ces manques de la facture. Et j'espère qu'on leur à déja remonter l'info depuis le temps. @grafics: le override/controllers/front/PdfInvoiceController.php n'existe plus sur 1.5.4.1 donc je suppose que l'on ne gère que le fichier HTMLTemplateInvoice.php
  15. alors pour ma 1.5.4.1, j'ai fait tout ce qui est marqué depuis le début, et même les modifs de mfrederic4. Sur mes factures j'ai maintenant une belle ligne "transporteur" avec le poids du colis, mais toujours pas le nom du transporteur. A priori le $carrier ne renvoi aucune donnée car si je remplace {$carrier} par {$order->id_carrier} alors j'ai bien le numéro 33 qui s'affiche sur la facture. Au pire, si on n'arrive pas à mettre le nom sur la 1.5.4.1 , on peut mettre le logo ?
  16. Bon je l'ai placé en 0444. Aucun droit a part la lecture que ce soit en invité, groupe ou propriétaire. On verra
  17. Déja fait, J'ai enlevé les droits d'écriture et laissé que les droits de lecture sur ce fichier (455) Au bout d'une semaine le fichier est remplacé et les droits sont de nouveau en écriture De plus ça n’enlève rien au fait qu'il est inacceptable que Paypal fasse une intervention non autorisée sur les fichiers de mon serveur..
  18. et pourquoi ne pas la proposer en mise à jour directement ?
  19. Bonjour a tous, J'ai modifié le logo paypal FR_bnr_horizontal_solution_PP_327wx80h (qu'est tout moche et qui incite à l'utiliser pour les paiements CB) par un logo paypal perso afin que le client ne soit incité à l'utiliser qu'en payant avec son compte. La CB etant reservé à la banque. Le problème est que le logo tient environ une semaine puis se modifie tout seul et revient à l'état d'origine. Pourtant je ne fait pas la mise à jour du module ni du fichier. il ne s'agit donc pas d'un acte de ma part. Du coup je re-upload le fichier image et hop une semaine plus tard.. de nouveau l'ancien. Ce qui me fait dire que le module paypal communique sans doute avec un autre serveur pour que l'image revienne à l'état d'origine. Ce qui me semble totalement intrusif ! ! Si le logo change tout seul, c'est bien que paypal transmet un nouveau fichier sur mon site sans mon accord... Porte ouverte à de nombreux débordements il me semble. Quel moyen puis je avoir pour empecher cela ?
  20. Je viens de mettre à jour le module sitemap pour google. la il est en version 2.2.3 sur mon presta 1.5.4.1 Depuis, il genere un fichier 1_fr_0-sitemap.xml complétement vide. Tout fonctionnait impec avec la version precedente. c'est général ? en attendant une réponse je repasse sur l'ancien
  21. je up ce topic, car je confirme que firebug lite sous chrome est nettement moins sympa à utiliser que la version firefox. Pourquoi n'ont ils pas fait le même tout simplement ? Ici la gestion des CSS est carrément pourrie.. Beurk ..
  22. ok alors, je reviens pour mettre au clair tout ce que je viens de dire.. Car tout est faux.. En fait, le module utilisée n'est pas celui de troglogeek.. ils installent leur propre module. Celui de troglogeek est en fait uniquement celui qui est en téléchargement (je suppose qu'ils préférent qu'on télécharge celui la et qu'ils gardent le leur pour la prestation). Donc on remet tout a zéro : J'ai eu tout faux.
×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More