Jean Francois G Posted August 16, 2015 Share Posted August 16, 2015 (edited) Après mon tuto pour debian 7 et apache, je vous propose un tout nouveau tutoriel pour créer votre propre serveur VPS mais sous Nginx cette fois ci. Pourquoi nginx ? Car il est dit que nginx est de 3 à 4 fois plus reactif qu'apache, (mais aussi bien plus complexe à mettre en oeuvre). Avec mon serveur de test, ma latence de départ (le fameux wait) est passée de 1 seconde à 0,2 seconde. un exploit ! Quand à la version de debian, comme la version 8 est prête et qu'elle fonctionne avec les dernières versions de PHP, autant l'utiliser ici. Histoire d'accelerer encore plus l'ensemble on va utiliser PHP-FPM. Le principe reste le même : En suivant ligne par ligne le tutoriel, vous devez être capable de posséder et de préparer votre propre serveur dédié sans pratiquement de connaissance linux, et ainsi oublier les fameux "pour avoir un serveur dédié, tu dois impérativement payer un prestataire qui le fera.. ". Cela permet de respecter le fameux principe de prestashop : profiter d'un maximum de gratuité pour que les débutant puissent créer leurs magasins. Mais attention, si vous avez eu du mal avec la version apache, vous allez en avoir encore plus avec ginx. Par contre si vous persévérez et que vous terminez correctement votre serveur, vous allez adorer ! EDIT : Changement du tutoriel. Je me rends compte que mon tuto Nginx donnait un serveur ultra rapide et optimisé mais d'une difficulté telle à mettre en place que ce n'était plus ouvert à tout le monde, ce qui n'est pas mon objectif de départ. On change tout et on passe à une installation hyper simplifiée et générique. Merci à rose pour les lignes de commandes simplifiées NOTE : Nginx ne sait pas lire les fichiers htaccess ! Si vous avez un htaccess spécifique, vous devrez le faire retraduire en directives nginx. Des utilitaires existent pour ça. Certaines bibliothèques ne sont pas compatibles nginx. Attention de bien choisir votre configuration prestashop, au cas ou.. Allez c'est parti : 1 / On installe en une fois Nginx, mysql, la bibliothèque graphique gd, mcrypt et php-fpm : apt-get install nginx php5-fpm php5-cli php5-gd php5-mcrypt php5-mysql mysql-server mysql-client 2 / On crée la base de donnée de prestashop en ligne de commande (remplacer les mots en minuscule par les votres): CREATE DATABASE nomdelabaseprestashop CHARACTER SET utf8 COLLATE utf8_general_ci;GRANT ALL PRIVILEGES ON nomdelabaseprestashop.* TO utilisateurbase@localhost IDENTIFIED BY 'motdepassedelabase'; 3 / si vous démarrez de zéro avec un prestashop tout propre = on télécharge prestashop dans le répertoire par défaut : cd /var/www/default/public_html/wget http://www.prestashop.com/download/prestashop_numerodeversiondésirée.zipunzip prestashop_numerodeversiondésirée.zipmv prestashop/* .rm prestashop_numerodeversiondésirée.ziprmdir prestashop/ 4 / on changes les droits de propriétaire du dossier : chown -R www-data: /var/www/default/public_html/ 5 / On crée le fichier de config du site : nano /etc/nginx/sites-available/nomdudomaine.com et on copie ceci dedans : server { server_name nomdudomaine.com; listen 80; root /var/www/default/public_html; index index.php; rewrite ^/api/?(.*)$ /webservice/dispatcher.php?url=$1 last; rewrite ^/([0-9])(-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*.jpg$ /img/p/$1/$1$2.jpg last; rewrite ^/([0-9])([0-9])(-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*.jpg$ /img/p/$1/$2/$1$2$3.jpg last; rewrite ^/([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*.jpg$ /img/p/$1/$2/$3/$1$2$3$4.jpg last; rewrite ^/([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*.jpg$ /img/p/$1/$2/$3/$4/$1$2$3$4$5.jpg last; rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*.jpg$ /img/p/$1/$2/$3/$4/$5/$1$2$3$4$5$6.jpg last; rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$1$2$3$4$5$6$7.jpg last; rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$7/$1$2$3$4$5$6$7$8.jpg last; rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$7/$8/$1$2$3$4$5$6$7$8$9.jpg last; rewrite ^/c/([0-9]+)(-[_a-zA-Z0-9-]*)/[_a-zA-Z0-9-]*.jpg$ /img/c/$1$2.jpg last; rewrite ^/c/([a-zA-Z-]+)/[a-zA-Z0-9-]+.jpg$ /img/c/$1.jpg last; rewrite ^/([0-9]+)(-[_a-zA-Z0-9-]*)/[_a-zA-Z0-9-]*.jpg$ /img/c/$1$2.jpg last; try_files $uri $uri/ /index.php?$args; location ~* \.(jpg|jpeg|gif|css|png|js|ico|html)$ { access_log off; expires max; } location ~ \.php { fastcgi_index index.php; fastcgi_split_path_info ^(.+\.php)(.*)$; include /etc/nginx/fastcgi_params; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; [spam-filter] 6 / on crée le lien pour activer le domaine : ln -s /etc/nginx/sites-available/nomdudomaine.com /etc/nginx/sites-enabled/nomdudomaine.comet on redémarre : /etc/init.d/nginx restart 7 / Basculez les DNS Chez OVh, connectez-vous à votre compte et changez les DNS de votre domaine avec ceux de votre serveur. (24h de délai si vous n’avez pas changez le TTL au préalable) VOUS AVEZ FINI ! Si vous avez déjà un site existant, Il ne vous reste plus qu’a transférer votre site via FTP et d’importer votre base de données en ligne de commande SQL. Toutefois, pour une question pratique et pour éviter les bug avec nginx, une installation vierge de prestashop est nettement recommandée Edited September 16, 2015 by Jean Francois G (see edit history) Link to comment Share on other sites More sharing options...
Jean Francois G Posted August 17, 2015 Author Share Posted August 17, 2015 (edited) Astuce pour ceux qui souhaitent faire une importation sans risque d'erreur de nginx 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 ou les erreurs de ginx. Edited August 18, 2015 by Jean Francois G (see edit history) Link to comment Share on other sites More sharing options...
2FR3 Posted August 18, 2015 Share Posted August 18, 2015 Attention, tu a mis, mysql -u utilisateur -p nomdelabasevps < baseexportée.sql Alors que tu preconise un export en .zip Link to comment Share on other sites More sharing options...
Jean Francois G Posted August 18, 2015 Author Share Posted August 18, 2015 oups ! Corrigé Merci 2FR3 Link to comment Share on other sites More sharing options...
octopus23 Posted August 18, 2015 Share Posted August 18, 2015 (edited) Bonjour Jean François et merci pour le guide. Mon panneau ipsconfig marche à merveille, cependant je rencontre une anomalie sur l’accès FTP (TLS) (via mon client FileZilla). Il m'est impossible de récupérer le répertoire du serveur FTP distant (le vps) voici le log dans /var/log/syslog suite à une connexion via Filezilla (utilisateur crée via le panneau ipsconfig (login+mdp unique) Aug 18 21:55:27 vpsxxxxx pure-ftpd: ([email protected]) [INFO] New connection from xx.xx.xx.xx Aug 18 21:55:27 vpsxxxxx pure-ftpd: ([email protected]) [INFO] SSL/TLS: Enabled TLSv1/SSLv3 with AES256-GCM-SHA384, 256 secret bits cipher Aug 18 21:55:27 vpsxxxxx pure-ftpd: ([email protected]) [INFO] *erek is now logged in As-tu déjà fait l’expérience de cette erreur ? Edited August 18, 2015 by octopus23 (see edit history) Link to comment Share on other sites More sharing options...
Jean Francois G Posted August 19, 2015 Author Share Posted August 19, 2015 personnellement non, pas de soucis de ce coté la. D'autant que d'après tes logs et tes images, tout se connecte correctement.. Link to comment Share on other sites More sharing options...
2FR3 Posted August 19, 2015 Share Posted August 19, 2015 Bonjour, Essayez sans TLS (donc connexion simple), je suis pratiquement certain que le login/pass n'est pas bon. Link to comment Share on other sites More sharing options...
kingcrab Posted August 23, 2015 Share Posted August 23, 2015 (edited) Merci pour ces explications claires (j'en suis à l'étape 9). Tu as laissé des infos personnelles sur cette étape 9. Que faut-il mettre en server_name à cette étape? Merci pour ton aide Edited August 23, 2015 by kingcrab (see edit history) Link to comment Share on other sites More sharing options...
Oron Posted August 23, 2015 Share Posted August 23, 2015 Bonjour Je déplace ce topic dans le forum Installation de prestashop, votre tutoriel relève plus de l'installation d'un serveur et de prestashop que la configuration et utilisation de prestashop. C'est un tutoriel qui est nécessaire au début pas en cours d'utilisation. Link to comment Share on other sites More sharing options...
Jean Francois G Posted August 23, 2015 Author Share Posted August 23, 2015 ligne du chapitre 9 corrigée : Il faut mettre le nom du vps Merci pour les données perso.. corrigées aussi Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now