Bonjour,
Il y a 2 semaines nous avons du changer d'hébergement. Nous avions avant un mutualisé chez gandi.net
(simple hosting taille s)
Le problème c'est que le nombre de process php était limité à 2 donc la charge augmenté rapidement.
Les ralentissements ne se ressentaient pas trop puisqu'il y avait varnish comme cache http qui limité la casse je suppose.
Sachant que le nombre de visiteur augmente tous les mois il fallait trouver une solution avant de rencontrer les problèmes.
Pour vous donner une idée du traffic sur 30j en ce moment on n'a 11.000 utilisateurs et 100.000 pages vues.
Donc j'ai cherché un hébergement, au début je me suis tourné vers les solutions cloud de runabove
https://www.runabove.com/index.xml (ovh).
Mais j'ai abandonné car pas facile dans un premier temps à prendre en main (notamment object storage) et
surtout le prix.
Bref j'ai fini par choisir un vps cloud de chez ovh
https://www.ovh.com/fr/vps/vps-cloud.xml
quelque chose de beaucoup plus basique.
Nos besoins :
Pour faire tourner mondedie.fr il faut un serveur web, un système de gestion de bases de données et un serveur mail au minimum.
Pour cela j'ai choisi nginx pour le serveur web et mysql pour la gestion des bases de donnée.
Le serveur mail j'ai suivi l'excellent tuto de Hardware 😀.
J'ai fais aussi le choix de ne surtout pas installer de panel du genre webmin cpanel etc. On fera tout à l'ancienne via ssh
Au moment de faire de rapide sécurisation sur le serveur vient la question de comment up le forum sur le vps.
Nous sur mondedie.fr on développe le site en collaboration via git. Et le dépôt se trouve sur bitbucket, donc je clone bêtement le site via git.
Mais sinon, on aurait pu imaginer une solution comme le sftp.
Pour nginx c'est très rapide un fichier conf comme ça suffit largement!
server {
# petite redirection
listen 80;
server_name www.mondedie.fr;
return 301 http://mondedie.fr$request_uri;
}
server {
listen 80;
server_name mondedie.fr;
charset utf-8;
root /dossier/du/forum;
location / {
index index.php;
}
location ~* \.php$ {
try_files $uri =404; ## code 404 si pas de fichier.
fastcgi_index index.php;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}
location ~* \.(jpg|jpeg|gif|css|png|js|woff|ttf|svg|eot)$ {
expires 30d;
access_log off;
}
## error message
error_page 404 = /404.html;
## log
access_log /var/log/nginx/mondediefr-access.log combined;
error_log /var/log/nginx/mondediefr-error.log error;
}
Ah oui pour php, j'ai installé php-fpm il se trouve dans les dépôts dotdeb pas de surprise.
Sinon un rapide hors sujet, ça sert à rien je pense d'installer varnish par dessus comme on peut le voir dans certain tuto.
Surtout que nginx propose aussi ce genre de chose (voir proxy_cache)
Mais surtout si il y a des optimisations à faire elles sont au niveau du code, bien minifier les js et css voir même le html et déjà vous allez sentir la différence.
Y a pleins d'outils qui peuvent vous aider gtmetrix
test de mondedie ou pagespeed de google.
Pour la gestion des bases de donnée j'ai aptitude mysql

Pour la sécurisation de mysql je vous recommande fortement d'utiliser le script "mysql_secure_installation"
Ensuite je vous recommande d'autoriser les connexions à mysql que en local.
# vim /etc/mysql/my.conf
bind-address = 127.0.0.1
Alors maintenant pour gérer les bases de donnée il y a deux solutions :
- je suis faible et j'utilise phpmyadmin

- je fais un tunnel ssh ( #badass #IdéeDeHydrog3n)
En effet il y a pleins de logiciels qui permettent de se connecter à vos bases de donnée via un tunnel ssh
mysql worbench
http://www.mysql.fr/products/workbench/ ou encore sequel pro pour ceux qui utilise mac osx comme moi.
Ou à l'ancienne via un terminal
ssh -f -L 66306:127.0.0.1:3306 user@domaine.tld -p 22
mysql -h 127.0.0.1 -P 66306 -u root -p
Une fois tout ça fait, j'ai mis le forum hébergé sur le mutualisé en maintenance.
Pour éviter que des gens postent des messages pendant le changement de DNS.
D'ailleurs j'ai profité de l'occasion pour changer le système anti-spam du forum avec la solution recaptcha qui fait très bien son boulot.
J'utilise toujours l'api stopforumspam
http://stopforumspam.com/ . J'ai tout recodé pour être conforme au nouveau standard de fluxbb depuis la mise à jour 1.5.8.
Et je ne test plus le pseudo, comme ça j'espère éviter les faux positif comme on me l'avait signalé.
Bon maintenant la question des mails.
J'ai suivi le tuto de Hardware ici
http://mondedie.fr/d/5750
Donc pas de surprise tout a fonctionné normalement...
Nan je déconne, en réalité tout fonctionne oui, mais j'avais un souci important avec les adresses mail microsoft (outlook, msn, live, hotmail)
Avec Hardware on n'a regardé sans rien trouver.
Jusqu'au moment ou j'ai envoyé un ticket chez microsoft.
Pour cela il faut avoir un compte mail chez eux et envoyer via leur formulaire votre ip.
voir ici :
https://postmaster.live.com/snds/?lc=1033
et ici :
https://support.live.com/eform.aspx?productKey=edfsmsbl3&ct=eformts&scrx=1
Et là miracle...
Microsoft God of mail wrote:Nous avons terminé de vérifier la ou les adresses IP que vous nous avez envoyées. Le tableau suivant contient les résultats de notre investigation.
Deblocage conditionnel
92.222.170.105
Notre investigation a déterminé qu’il n’a pas de blocages actifs sur ces adresses IP. Toutefois, quelques messages ont été filtrés. Nous avons confirmé que ces adresses IP remplissent les conditions requises pour le déblocage conditionnel, mais elles peuvent être soumises à une limite du nombre d’envoi d’emails jusqu’à qu’elles établissent une bonne réputation. Notez que ce déblocage ne garantit pas que vos emails arrivent à la boîte de réception des destinataires.
Le déblocage peut prendre de 24 à 48 heures pour être effectif dans notre système.
Si, passé ce délai, votre problème n’est pas encore résolu, répondez à ce message et un des membres de notre équipe vous contactera pour procéder à une investigation plus approfondie.
ON n'est en conditionnel les gens!!!
Bon faut pas s'enflammer mes emails vont dans les spam hein! mais au moins ils ne sont pas bloqué.
Donc voilà comment on peut s'y prendre pour faire tourner un petit site web de la façon là plus light possible.