Attention, cet article a plus d'une année d'ancienneté. Il est possible que les informations présentées ne soient plus à jour, spécialement dans le cadre d'un article technique.
Bonjour à tous,
Suite à la demande de Xavier je vais aujourd’hui vous montrer comment monter un serveur web hautes performances pour Prestashop 🙂
Choisir son hébergeur :
Avant tout, il est nécessaire de choisir un très bon hébergeur pour votre serveur.
Oubliez tout de suite les hébergeurs low-cost et les hébergements mutualisés. Seuls les serveurs dédiés et les VPS haut de gamme pourront tenir une boutique Prestashop dans des périodes de grande affluence comme Noël.
Pour une nouvelle boutique, qui ne recevra que peut de visites au début je vous conseille les VPS cloud d’OVH. Dans un premier temps, ces vps vous permettront d’avoir une bonne puissance de feu à prix correct et en plus vous pourrez faire évoluer la puissance de votre VPS avec la croissance des visiteurs sur votre boutique.
En plus l’option de backup automatisée peut-être intéressante si vous ne voulez pas mettre en place un « vrai » serveur de backup.
Pour des e-commerces avec plus de volonté, ou encore pour des boutiques physiques qui veulent étendre leurs activités un dédié sera un très bon choix.
Les gammes START de chez Online ou SoYouStart de chez OVH correspondent parfaitement aux besoins que vous allez avoir.
Enfin, si votre boutique commence à recevoir des dizaines de milliers de visiteurs par mois alors un dédié très haut de gamme de chez OVH sera surement nécessaire pour la poursuite de vos activités.
Au passage dans cette procédure la boutique sera entièrement protégée par un certificat SSL (en https donc). Ça coûte plus cher, mais ça rapporte aussi plus de confiance auprès des clients et donc plus de ventes 😉
Lorsque vous commandez votre serveur installez le toujours avec un Debian 7 64 bits 🙂
Les composants de notre serveur :
- Debian 7 x64 ( Système d’exploitation )
- Apache mpm worker 2.x ( Serveur Apache en version multi-thread )
- MariaDB 10.x ( Serveur de base de données )
- Php5-fpm 5.5.x ( pour traiter les requêtes php avec apache )
- Apache Page Speed ( module de concaténation et de mise en cache pour apache )
- Nginx 1.6.x ( Reverse Proxy pour apache )
Installation des sources :
On va commencer par éditer la liste des sources pour le gestionnaire de paquets APT :
rm /etc/apt/sources.list nano /etc/apt/sources.list
Copiez les sources suivantes dans le fichier :
deb http://packages.dotdeb.org wheezy all deb-src http://packages.dotdeb.org wheezy all deb http://packages.dotdeb.org wheezy-php55 all deb-src http://packages.dotdeb.org wheezy-php55 all deb http://ftp.igh.cnrs.fr/pub/mariadb/repo/10.0/debian wheezy main deb-src http://ftp.igh.cnrs.fr/pub/mariadb/repo/10.0/debian wheezy main deb http://ftp.fr.debian.org/debian/ wheezy main contrib non-free deb-src http://ftp.fr.debian.org/debian/ wheezy main contrib non-free deb http://security.debian.org/ wheezy/updates main contrib non-free deb-src http://security.debian.org/ wheezy/updates main contrib non-free # wheezy-updates, previously known as 'volatile' deb http://ftp.fr.debian.org/debian/ wheezy-updates main contrib non-free deb-src http://ftp.fr.debian.org/debian/ wheezy-updates main contrib non-free
Lancez maintenant une mise à jour et installez les utilitaires htop et python-software-properties en même temps :
apt-get update && apt-get upgrade && apt-get install htop python-software-properties
J’aime bien installer l’utilitaire htop car je le trouve plus explicite que l’utilitaire top nativement intégré, voici la comparaison en images :
Maintenant on va ajouter les clés de nos repository personnalisés :
cd /tmp wget http://www.dotdeb.org/dotdeb.gpg apt-key add dotdeb.gpg apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xcbcb082a1bb943db add-apt-repository 'deb http://ftp.igh.cnrs.fr/pub/mariadb/repo/10.0/debian wheezy main'
Pour finir, mettez à jour vos listes avec cette commande une fois de plus :
apt-get update
Installation des composants du serveur :
On va d’abord installer MariaDB, RKHunter, Binutils, clamAv et 2-3 accessoires :
apt-get install mariadb-server openssl rkhunter binutils clamav clamav-daemon zoo unzip bzip2 arj nomarch lzop cabextract apt-listchanges libnet-ldap-perl libauthen-sasl-perl clamav-docs daemon libio-string-perl libio-socket-ssl-perl libnet-ident-perl zip libnet-dns-perl
Ensuite, on va installer Apache2 en mode Worker (multi-threadé), PHP5-FPM, FCGI, suExec, Pear, et mcrypt :
apt-get install apache2 apache2.2-common apache2-doc apache2-mpm-worker libapache2-mod-fastcgi php5-fpm apache2-utils libexpat1 ssl-cert php5 php5-common php5-gd php5-mysql php5-imap php5-cli php5-cgi libapache2-mod-fcgid apache2-suexec php-pear php-auth php5-mcrypt mcrypt php5-imagick imagemagick libruby libapache2-mod-ruby libapache2-mod-python php5-curl php5-intl php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl
On va maintenant déclarer quelques modules à apache :
a2enmod actions alias fastcgi && a2enmod fcgid && a2ensite default-ssl && a2enmod suexec rewrite ssl actions include && a2enmod dav_fs dav auth_digest && service apache2 restart
Ensuite, installez Pureftpd, bind9 et fail2ban :
apt-get install pure-ftpd-common pure-ftpd-mysql bind9 dnsutils fail2ban
Et pour finir, on installe Jailkit :
apt-get install build-essential autoconf automake1.9 libtool flex bison debhelper binutils-gold
cd /tmp wget http://olivier.sessink.nl/jailkit/jailkit-2.15.tar.gz tar xvfz jailkit-2.15.tar.gz cd jailkit-2.15 ./debian/rules binary
Vous pouvez maintenant installer le package .deb comme ceci :
cd .. dpkg -i jailkit_2.15-1_*.deb rm -rf jailkit-2.15*
Configuration des composants :
Si vous voulez un accès externe aux bases de données MariaDB, vous devez modifier le fichier de configuration de MariaDB :
nano /etc/mysql/my.cnf
Recherchez l’option bind-address à la ligne 47 et commentez la :
Avant :
bind-address = 127.0.0.1
Après :
#bind-address = 127.0.0.1
Sauvegardez en effectuant la combinaison de touches Ctrl+O et redémarrez MariaDB:
service mysql restart
Maintenant, téléchargez mon fichier de configuration pour php-fpm :
cd /etc/apache2/conf.d wget https://raw.githubusercontent.com/stylersnico/debian-scripts/master/php5-fpm.conf
Redémarrez les services associés :
service apache2 restart && service php5-fpm restart
Maintenant, on va modifier la configuration de notre serveur FTP :
nano /etc/default/pure-ftpd-common
Vérifiez que le démarrage soit en STANDALONE et que virtualchroot soit sur TRUE
[...] STANDALONE_OR_INETD=standalone [...] VIRTUALCHROOT=true [...]
On va maintenant autoriser les sessions par TLS pour plus de sécurité
echo 1 > /etc/pure-ftpd/conf/TLS mkdir -p /etc/ssl/private/
On va maintenant générer un certificat SSL dans le dossier que l’on vient de créer :
openssl req -x509 -nodes -days 7300 -newkey rsa:4096 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem
Changez les permissions du certificat
chmod 600 /etc/ssl/private/pure-ftpd.pem
Redémarrez le serveur FTP :
/etc/init.d/pure-ftpd-mysql restart
Pour que Fail2Ban surveille notre serveur FTP nous allons devoir créer un fichier de configuration spécifique :
nano /etc/fail2ban/jail.local
Remplissez le avec ceci :
[pureftpd] enabled = true port = ftp filter = pureftpd logpath = /var/log/syslog maxretry = 3
On va maintenant créer un filtre :
nano /etc/fail2ban/filter.d/pureftpd.conf
Et le remplir avec cela :
[Definition] failregex = .*pure-ftpd: \(.*@\) \[WARNING\] Authentication failed for user.* ignoreregex =
On va maintenant configurer Apache PageSpeed :
cd /tmp/ wget https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-stable_current_amd64.deb dpkg -i mod-pagespeed-*.deb apt-get -f install
Maintenant, redémarrez votre serveur pour qu’il soit propre avant l’installation d’ISP Config 3 :
reboot
Installation d’Isp Config 3 :
Pour avoir la dernière version stable, faites ces commandes :
cd /tmp wget http://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz tar xfz ISPConfig-3-stable.tar.gz cd ispconfig3_install/install/
lancez maintenant cette commande
php -q install.php
Suivez les instructions de l’installateur, mais lorsqu’il vous laissera le choix entre l’installation standard et expert, choisissez expert
Select language (en,de) [en]:
Installation mode (standard,expert) [standard]: expert
Lorsqu’il vous demandera pour la configuration des mails, il faudra lui répondre non, car nous n’avons pas installé postfix.
Configure Mail (y,n) [Y]: n
Vous pouvez laisser tous les autres paramètres par défaut
Votre webpanel sera ensuite accessible à cette adresse : https://[VOTREIP]:8080/
Les identifiants par défaut sont : admin/admin
N’oubliez pas de changer le mot de passe Administrateur après la 1ère connexion !
Configuration d’un nom de domaine :
Sur l’accueil, cliquez sur DNS :
Ensuite, cliquez sur le bouton Add new Dns Zone with Wizard :
Rentrer toutes les informations pour votre nom de domaine. Les champs NS correspondent aux serveurs de nom de votre domaine.
Création d’un site :
Maintenant, allez dans Sites et créez un nouveau site Web :
Ensuite sur la configuration de votre site choisissez PHP-FPM dans PHP.
Puis allez dans options et choisissez le proccess manager Ondemand.
Pour finir, réglez les options max_children, process timeout et max_requests comme ci-dessous :
Vous pouvez mettre des valeurs plus élevées.
Création d’une base de données :
Maintenant allez dans Datebase User et créez un utilisateur de base de données :
Ensuite, allez dans Databases et créer une nouvelle base en donnant les droits à l’utilisateur que vous venez de créer :
Création d’un accès FTP :
Allez dans Ftp et créez un nouvel utilisateur FTP en le liant à votre site :
Vous pouvez commencer à envoyer Prestashop sur votre FTP directement dans le dossier web en ayant supprimer tous les fichiers présents avant.
Installation du reverse Proxy Nginx :
On va commencer par installer Nginx et le module rpaf pour apache :
apt-get install libapache2-mod-rpaf nginx
Création du CSR et commande du certificat SSL :
Si vous ne voulez pas de certificat pour votre boutique vous pouvez jeter un œil à la fin de cet article 😉
Pour l’exemple j’utilise un certificat Positive SSL de Comodo sur Namecheap, mais n’hésitez pas à prendre un certificat avec de meilleurs garanties.
Ensuite, placez vous dans le dossier de Nginx :
cd /etc/nginx
Maintenant créez un dossier SSL et placez vous dedans :
mkdir ssl && cd ssl
On vas partir du principe que votre domaine s’appelle exemple.com.
Créez une clé avec la commande suivante, on va vous demander un mot de passe :
openssl genrsa -des3 -out exemple.com.key 2048
Maintenant lancez la commande suivante et rentrez le mot de passe que vous avez mis à l’étape précédente :
openssl rsa -in exemple.com.key -out exemple.com.key.nopass
Maintenant, créez le CSR et attention, remplissez bien les champs !
Le plus important c’est le CN (Common Name) qui doit correspondre à votre nom de domaine et ne mettez pas de Challenge Password !
openssl req -new -key exemple.com.key.nopass -out exemple.com.csr
Maintenant rendez-vous sur Namecheap et activez votre certificat. Dans le server type choissisez Apache/OpenSSL.
Lorsqu’on vous demandera votre CSR copiez bien tout le contenu de votre csr, les section begin et end comprises, exemple :
-----BEGIN CERTIFICATE REQUEST----- MIICoDCCAYgCAQAwWzELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUx ITAfBgNVBAoMGEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDEUMBIGA1UEAwwLZXhl bXBsZS5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDUhoWwIYgl M8eyxXQlhZvUJMMCg05YWsQIPXvyeO3RaJ2TvP/SQKZ0iOnMHmGHmz0sZfD5DvnJ sR7GdZp4eJYLpyupUu/0bFx5LqRn8des5OklKSzM57Z/UAYRlR+4VB6MrWHUN1D3 VVrHc4DPAIRdAycf+t9NGclCSo+F2kr4I0rmEPe7SuWYGvb+kLBHVwdZwqQL6Cf0 GCyiq/xglfH3aIy9V4cV1mSEaLMhyWQ9Qnq0QrKW7Yp9hZID+9JHHP5qqoCr4Tu+ t4XWCJALFaOZClKuP1oZhufq41ASM9rzUNHw4M0keSfFzYWO1ks9TAQD6uvXcFj5 AbbmaZQmfU6ZAgMBAAGgADANBgkqhkiG9w0BAQUFAAOCAQEAfMiXJ9hrF6aJu4p3 ET+hFoeqQcYcbWrzBo0uNshrdb4RmhHS3e4IPU0l6M6/mhW5cuJrk02eW7+fENx3 pD+/dWjjKI0MSxlSij5fLSeFxreCKYjPd7GaCzt/LaSJBLy7Abx73q35s38hZoMz o5L/SIjrjkIUOmHzqvbB6WWEM9uuUBXQ2jpSdyyPB36zOP8yj7+VkMzMsBR3cETJ IHbGj5SaF9i2rTgV0SxOZXvJ8Yl4tMarXmuqFxASMOQ3lUV4Xm07Qb0F1Kb4lB/c pFIIAe/7LAWfk1ycmwPAtQCd8Kf2zFhb5tp2UCsd1uMOMkI/NrK46uexdtcGGjMu f2gawg== -----END CERTIFICATE REQUEST-----
Ensuite vous allez recevoir un mail de comodo semblable à celui-ci contenant 4 fichier dans une archive zip, envoyez les dans votre dossier ssl :
Une fois que tous les fichiers sont dans votre dossier SSL, lancez la commande suivante :
cat exemple_com.crt AddTrustExternalCARoot.crt COMODORSAAddTrustCA.crt COMODORSADomainValidationSecureServerCA.crt > exemple.com.crt
Configuration du Reverse Proxy Nginx :
Maintenant on active rpaf et on redémarre apache :
a2enmod rpaf && service apache2 restart
Maintenant, regardez la configuration de rpaf et si cette ligne n’est pas présente, rajoutez la :
nano /etc/apache2/mods-available/rpaf.conf
RPAFproxy_ips 127.0.0.1 ::1
Maintenant on va modifier les ports d’écoute du serveur Apache :
nano /etc/apache2/ports.conf
Remplacez :
#NameVirtualHost *:80 Listen 127.0.0.1:80
#NameVirtualHost *:443 Listen 127.0.0.1:443
Par :
NameVirtualHost *:82 Listen 127.0.0.1:82
NameVirtualHost *:444 Listen 127.0.0.1:444
Et on va modifier tous les virtualhost existants :
sed -ie 's/*:80/*:82/g' /etc/apache2/sites-available/*.vhost sed -ie 's/*:443/*:444/g' /etc/apache2/sites-available/*.vhost
Maintenant, on va créer le fichier de configuration pour notre reverse proxy nginx :
rm /etc/nginx/conf.d/default cd /etc/nginx/sites-enabled rm * nano web1.conf
Remplissez le avec ceci :
server { listen 443 ssl default; listen [::]:443 ssl default ipv6only=on; server_name exemple.com; server_name_in_redirect on; resolver 127.0.0.1; access_log off; #SSL ssl_certificate /etc/nginx/ssl/exemple.com.crt; ssl_certificate_key /etc/nginx/ssl/exemple.com.key.nopass; ssl_session_cache shared:SSL:10m; ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; ssl_ciphers EECDH+ECDSA+AESGCM:EECDH+aRSA+AESGCM:EECDH+ECDSA+SHA384:EECDH+ECDSA+SHA256:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH+aRSA+RC4:EECDH:EDH+aRSA:RC4:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS; location ~* \.(jpg|jpeg|gif|png|ico|css|css|bmp|js)$ { root /var/www/$host/web; access_log off; expires 360d; set $memcached_key "$uri?$args"; memcached_pass 127.0.0.1:11211; error_page 404 502 504 = @fallback; proxy_buffers 16 16k; proxy_buffer_size 32k; fastcgi_buffer_size 32k; fastcgi_buffers 16 12k; proxy_pass http://127.0.0.1:82; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } location / { root /var/www/$host/web; index index.html index.htm index.php; access_log off; set $memcached_key "$uri?$args"; memcached_pass 127.0.0.1:11211; error_page 404 502 504 = @fallback; proxy_buffers 16 16k; proxy_buffer_size 32k; fastcgi_buffer_size 32k; fastcgi_buffers 16 12k; proxy_pass http://127.0.0.1:82; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } server { listen 80 default_server; listen [::]:80 default_server ipv6only=on; server_name exemple.com; return 301 https://$host$request_uri; }
Fine Tuning :
Si vous en êtes arriver là c’est déjà pas mal, maintenant on va modifier les configurations de Nginx pour améliorer les performances :
nano /etc/nginx/nginx.conf
Et remplacez le chiffre de la ligne worker_processes par le nombre de cœurs de votre processeur, par exemple pour un 2 cœurs :
worker_processes 2;
Rajoutez aussi cette ligne dans les balises http, vous pouvez mettre une valeur plus élevée :
client_max_body_size 20m;
Maintenant, redémarrez Nginx :
service nginx restart
Maintenant on va modifier la configuration de php-fpm :
nano /etc/php5/fpm/php.ini
Recherchez les lignes upload_max_filesize et post_max_size et mettez les valeurs suivantes ou des valeurs plus hautes encore :
upload_max_filesize = 100M post_max_size = 100M
Maintenant on va modifier la configuration d’Apache PageSpeed :
nano /etc/apache2/mods-available/pagespeed.conf
Cherchez les ligne suivante et dé-commentez les pour interdire la retouche des images par Apache PageSpeed, c’est long et inutile :
ModPagespeedDisableFilters rewrite_images ModPagespeedForbidFilters rewrite_images
Par contre, on peut activer la minification des fichiers javascript et CSS en dé-commentant les lignes suivantes :
ModPagespeedEnableFilters rewrite_javascript,rewrite_css ModPagespeedEnableFilters collapse_whitespace,elide_attributes
Et on demande à préserver les urls avec en dé-commentant les lignes suivantes :
ModPagespeedJsPreserveURLs on ModPagespeedImagePreserveURLs on ModPagespeedCssPreserveURLs on
Vous pouvez aussi modifier l’header qui renvoie par défaut la version de pagespeed en rajoutant cette ligne dans la configuration :
ModPagespeedXHeaderValue "Hidden"
Maintenant redémarrez apache :
service apache2 restart
Sécuriser le serveur :
Il n’y a pas de secrets, mettez des mots de passe fort partout !
En plus de ça, voici 2-3 astuces pour sécuriser votre serveur.
On va commencer par utiliser l’assistance de sécurisation de MariaDB avec la commande suivante :
mysql_secure_installation
Ensuite, vous pouvez regarder cet article pour blinder votre accès SSH !
Pour le reste je vous laisse jeter un oeil au liens utiles 😉
Intégration de Memcached :
Pour finir en beauté, on va lier tous les services web de notre serveur à Memcached pour des performances maximales !
Pour cela, je vous laisse consulter mon article sur l’installation de Memcached, il y a tout ce dont vous avez besoin 😉
Cacher les versions d’apache, php et Nginx :
Pour cacher la version d’Apache, ouvrez votre fichier de configuration :
nano /etc/apache2/apache2.conf
Et rajoutez ces 2 lignes à la fin :
ServerTokens ProductOnly ServerSignature Off
Maintenant, redémarrez Apache :
service apache2 restart
Pour php, ouvrez votre php.ini :
nano /etc/php5/fpm/php.ini
Recherchez la variable suivante et mettez la sur off :
expose_php = Off
Redémarrez php :
service php5-fpm restart
Pour nginx, ouvrez votre fichier de configuration de nginx :
nano /etc/nginx/nginx.conf
Dé-commentez la ligne suivante ou si elle n’est pas présente, ajoutez la :
server_tokens off;
Redémarrez Nginx :
service nginx restart
Maintenant les versions logicielles de votre serveur ne seront plus accessibles au monde 😉
root@xxx:/# curl -I http://www.abyssproject.net HTTP/1.1 200 OK Server: nginx Date: Wed, 20 Aug 2014 08:14:43 GMT Content-Type: text/html; charset=UTF-8 Connection: keep-alive X-Pingback: http://www.abyssproject.net/xmlrpc.php Link: <http://wp.me/P2RtI7-sB>; rel=shortlink X-Mod-Pagespeed: Web Server By Nicolas Simond <http://www.nicolas-simond.com> Vary: Accept-Encoding Cache-Control: max-age=0, no-cache
Bonus :
Si vous ne voulez pas d’une boutique en https vous pouvez utiliser cette configuration pour Nginx :
server { listen 80 default; listen [::]:80 default ipv6only=on; server_name exemple.com; server_name_in_redirect on; resolver 127.0.0.1; access_log off; location ~* \.(jpg|jpeg|gif|png|ico|css|css|bmp|js)$ { root /var/www/$host/web; access_log off; expires 360d; set $memcached_key "$uri?$args"; memcached_pass 127.0.0.1:11211; error_page 404 502 504 = @fallback; proxy_buffers 16 16k; proxy_buffer_size 32k; fastcgi_buffer_size 32k; fastcgi_buffers 16 12k; proxy_pass http://127.0.0.1:82; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } location / { root /var/www/$host/web; index index.html index.htm index.php; access_log off; set $memcached_key "$uri?$args"; memcached_pass 127.0.0.1:11211; error_page 404 502 504 = @fallback; proxy_buffers 16 16k; proxy_buffer_size 32k; fastcgi_buffer_size 32k; fastcgi_buffers 16 12k; proxy_pass http://127.0.0.1:82; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; }
Et voilà, j’ai enfin fait ce tutoriel complet pour créer un Serveur Web hautes performances pour Prestashop de A à Z, j’espère qu’il vous plaît ! N’hésitez pas à me payer une bière si ça vous a été utile ou à laisser un commentaire 🙂
N’oubliez pas ! Redémarrez votre serveur à la fin de l’installation pour partir sur quelque chose de propre 😉
Bonjour,
Le tuto est super intéressant, mais serait-il possible de le mettre à jour sur une debian 8 ?
En tout cas, je découvre ce site fortement intéressant. Merci de ce partage de connaissance.
Bonjour,
C’est une idée mais ça ne sera pas fait tout de suite, je n’ai pas beaucoup de temps en ce moment :/
Bonjour,
En voulant créer un nouveau domaine sur ce serveur, il est automatiquement redirigé en https. C’est très chiant et je n’ai pas trouvé comment désactiver cette redirection automatique.
Comment faire pour qu’il ne le soit pas, tout en conservant l’ancien en https ?
Sinon si je le met en https est-ce possible d’avoir 2 certificats sur la même ip de serveur ? Car si je le fait, il me prend le certificat du premier domaine.
Merci pour ton aide.
Cordialement
Manu
Bonjour,
Lors de l’installation d’ISP3 j’ai ce message d’erreur :
Unable to connect to the specified MySQL server Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2 « No such file or directory »)
Comment faire ?
Merci
Bonjour,
Mysql ne doit pas être démarrer.
Je vous recommande de suivre cette nouvelle procédure : https://www.abyssproject.net/2015/07/serveur-web-hautes-performances-prestashop-debian-8/
Bonjour,
Je n’arrive pas à activer le SSL…
Prestashop me renvoi un 404 not found… 🙁
Bonjour,
Tout d’abord merci pour ce tuto.
J’ai bien suivi la configuration mais je me retrouve avec un problème d’erreur 403 quand je veux faire des tests.
J’ai vu plusieurs post sur une histoire de permissions pour nginx mais rien y fait.
Une idée ? Je suis bloqué et j’ai besoin que ça fonctionne au plus vite.
Merci par avance !
Bon, impossible de faire marcher apache et nginx en même temps, il y a un problème de port 80 déjà utilisé , mais je ne vois pas où car les virtualhosts sont bien configurés. Pouvez vous m’aider ? Merci
Vous avez dû louper des parties.
En suivant la procédure Apache utilise le port 82 et Nginx le port 80.
Merci Nicolas pour ta réactivité, j’avais tout bien fait sauf que j’avais oublié de supprimer cette partie dans ports.conf : # If you add NameVirtualHost *:443 here, you will also have to change # the VirtualHost statement in /etc/apache2/sites-available/default-ssl # to # Server Name Indication for SSL named virtual hosts is currently not # supported by MSIE on Windows XP. Listen 443 Listen 443 Ensuite, j’ai été confronté à un autre problème de boucle de redirection avec prestashop en https (tout en ssl pour valider correctement le protocole dans le navigateur). C’est autre chose, mais pour ceux que ça intéressent… Voir plus »
Merci pour le partage Manu, je vais refaire une nouvelle version de cet article pour Debian 8. Plus propre, plus simple et où tout marchera du premier coup (ou presque 🙂 )
Génial, merci, après c’était quand même très clair. Ce qui serait super, c’est aussi de mettre des infos sur la façon de tuner au mieux suivant les besoins en détaillant un peu à quoi servent certains paramètres.
C’est noté, merci pour le retour Manu 😉
Bonjour apres avoir créér le source list et en lancant la commande suivante j’ai les erreurs suivantes vous pouvez m’aider?
W: Failed to fetch http://packages.dotdeb.org/dists/wheezy/Release Unable to find expected entry ‘all/binary-armhf/Packages’ in Release file (Wrong sources.list entry or malformed file)
W: Failed to fetch http://packages.dotdeb.org/dists/wheezy-php55/Release Unable to find expected entry ‘all/binary-armhf/Packages’ in Release file (Wrong sources.list entry or malformed file)
W: Failed to fetch http://ftp.igh.cnrs.fr/pub/mariadb/repo/10.0/debian/dists/wheezy/Release Unable to find expected entry ‘main/binary-armhf/Packages’ in Release file (Wrong sources.list entry or malformed file)
E: Some index files failed to download. They have been ignored, or old ones used instead.
Bonjour,
Vous êtes sur un serveur sous architecture ARM alors que cette procédure est faite pour un serveur sous architecture X86 ou X64. C’est incompatible.
bonjour j’ai laissé un message hier mais il n’apparait pas? je fais cette comme pour tester 🙂
Hello, je viens de suivre ton article à la lettre (j’ai voulu me débarrasser de plesk) et maintenant, je me retrouve avec un bon p’tit server.
Les performances sont nettement meilleures qu’avant et tout à fonctionné du premier coup.
Donc merci beaucoup, ca m’a évité de prendre un coup de chaud 😀
Bonjour,
Bon, j’arrive enfin a vouloir ce que je veux 🙂 J’ai installé memcached, mais cela demande Memcached (vous devez installer l’extension Memcache PECL) Et là, je n’arrive pas 🙁
Un dernière aide s’il vous plait ?
merci
Bonjour,
Après pas mal d’essais j’arrive toujours a une erreur :
ERR_TOO_MANY_REDIRECTS
J’ai migré prestashop, et si je désactive SSL dans la config elle ne se réactive pas. je dois la forcer sur mysql.
Je patauge la 🙁 vous auriez-une idée?
Dans Seo j’ai mis dans les deux: http://www.monsite.fr
et le chemin /
Merci d’avance
Résolu :
dans nginx.conf
remplacer
include /etc/nginx/sites-enabled/*;
par
include /etc/nginx/sites-enabled/web1.conf;
et relancer nginx
Bonjour,
Envisageable sur debian 8?
cordialement 🙂
Apriori ça bug ici : apt-get install apache2 apache2.2-common apache2-doc apache2-mpm-worker libapache2-mod-fastcgi php5-fpm apache2-utils libexpat1 ssl-cert php5 php5-common php5-gd php5-mysql php5-imap php5-cli php5-cgi libapache2-mod-fcgid apache2-suexec php-pear php-auth php5-mcrypt mcrypt php5-imagick imagemagick libruby libapache2-mod-ruby libapache2-mod-python php5-curl php5-intl php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl réponse : Package libapache2-mod-fastcgi is not available, but is referred to by another package. This may mean that the package is missing, has been obsoleted, or is only available from another source Package libapache2-mod-ruby is not available, but is referred to by another package. This may mean that the package is missing, has been obsoleted, or is… Voir plus »
Bonjour,
Debian 8 utilise Apache 2.4 et non plus Apache 2.2. La procédure à besoin d’être adaptée.
Bonjour,
Je me suis résigné :=) j’ai refait sur debian7. Bon tuto dans l’ensemble, mais pas toute a fait pour les novice comme moi :=) mais bon après c’est comme ça qu’on apprend !!