hébergement cantoute.com en quelques chiffres

Fin de la tempête!

La coupure indique le redémarrage de la mise à jour du noyau.
Ça a visiblement eu une bonne influence mais pour que ça ne fasse plus le yoyo sous stress il a fallu joué sur la configuration des pools php (duré de vie de processus en veille ramené à 60s et réduit son nombre maximum autorisé à 10 par compte)

 

Voilà enfin depuis quelques journées de suite ça trouve son équilibre

 

Stats
Journée 28 Aout 2018

69.499 hits
dont
22.035 par des crawlers (indexation des moteurs de recherche)

depuis 5.114 adresse ip différents

3483 186.51.208.99 (dialup.mobile.ancel.net.uy)
– et oui, visiblement je bosse 😉
1685 148.251.8.250 (Majestic.com) <= sucks?
j’ai bien des doutes quand à quoi il sert, en tout cas le robot est totalement idiot et redemande 20x la même chose, j’envisage de le bloquer tout simplement
1406 192.151.145.178 <= encore lui?!!! et qui redemande encore les même choses!
1195 192.0.101.226 <= jetpack
906 37.171.168.78 <= je ne suis pas le seul à bosser 🙂
901 5.9.100.40 Encore ce Majestic ?!!!
901 178.63.34.189 Encore lui???!!!!!
860 192.0.91.177 <= jetpack
835 148.251.9.145
802 95.216.11.34
774 62.138.2.243
750 144.76.40.222
715 178.154.200.15
608 204.12.226.26
569 5.9.152.73
527 5.9.61.101
472 192.0.102.40
445 64.64.28.125
334 194.247.173.123
324 86.193.196.171
313 211.57.200.67

 

 

Graphique de l’usage de la ram depuis la mise à jour… ça a pas été simple à stabiliser.

Simple php excel XLS générator

 

source http://php.net/manual/en/ref.dba.php

If you need a ‘download data’ button that
automatically fires up a spreadsheet (like Excel), find that fputcsv()
isn’t working as expected, that none of the installed DBA database
engines create a spreadsheet that can be opened, and that XLS generating
components are just too heavy weight, then this might just hit the
spot:


<?php
// simple table to present
$data = array(
array(
'col1','col2'),
array(
1,2),
array(
3,4)
);

// pretend content (which is XML) is XLS native
header(« Pragma: public »);
header(« Expires: 0 »);
header(« Cache-Control: must-revalidate, post-check=0, pre-check=0 »);
header(« Cache-Control: private », false);
header(« Content-Type: application/vnd.ms-excel »);
header(« Content-Disposition: attachment; filename=\ »sheet.xls\ »; » );

// construct skeleton
$dom = new DOMDocument(‘1.0’, ‘utf-8’);
$dom->formatOutput = $dom->preserveSpaces = true; // optional
$n = new DOMProcessingInstruction(‘mso-application’, ‘progid= »Excel.Sheet »‘);
$dom->appendChild($n);

$workbook = $dom->appendChild(new DOMElement(‘Workbook’));
$workbook->setAttribute(‘xmlns’,‘urn:schemas-microsoft-com:office:spreadsheet’);
$workbook->setAttribute(‘xmlns:o’,‘urn:schemas-microsoft-com:office:office’);
$workbook->setAttribute(‘xmlns:x’,‘urn:schemas-microsoft-com:office:excel’);
$workbook->setAttribute(‘xmlns:ss’,‘xmlns:ss= »urn:schemas-microsoft-com:office:spreadsheet’);
$workbook->setAttribute(‘xmlns:html’,http://www.w3.org/TR/REC-html40);

$styles = $workbook->appendChild(new DOMElement(‘Styles’));
$style = $styles->appendChild(new DOMElement(‘Style’));
$style->setAttribute(‘ss:ID’,‘Default’);
$worksheet = $workbook->appendChild(new DOMElement(‘Worksheet’));
$worksheet->setAttribute(‘ss:Name’,‘sheet1’);
$xmltable = $worksheet->appendChild(new DOMElement(‘Table’));

// populate with data
foreach ($data as $datarow) {
$xmlrow = $xmltable->appendChild(new DOMElement(‘Row’));
foreach (
$datarow as $datacell) {
$xmlcell = $xmlrow->appendChild(new DOMElement(‘Cell’));
$xmldata = $xmlcell->appendChild(new DOMElement(‘Data’, $datacell));
$xmldata->setAttribute(‘ss:Type’, is_numeric($datacell) ? ‘Number’ : ‘String’);
}
}

// display and quit
echo $dom->saveXML();
?>

Configuration d’un client mail pour compte@cantoute.com

Voici les paramètres de configuration standard

Préférez le protocole imap qui vous permettra une synchronisation de vos courriels via l’interface web https://mail.cantoute.com/

Avec le protocole pop, un courriel récupéré sur votre ordi ou votre téléphone sera supprimé du webmail (le client récupère le courrier et non le consulte comme avec le protocol imap)

Je vous recommande de préférer les version sécurisées imaps (ssl) et smtps ou smtp/tls pour l’envoie.
Depuis peut, cantoute s’est procuré des certificats valides 🙂

serveur de réception
imap(s): mail.cantoute.com
port: 993 (ssl) 143 (sans ssl) – (ce sont les ports génériques)
utilisateur: votre.adresse@domaine.com
pass: XXXXXXX

Remarques:
laissez le champ ‘Préfixe du chemin IMAP’ vide
Pour correspondre au webmail,
Sent : vos messages envoyés,
Drafts : vos brouillons
Trash : votre corbeille
(Attention, sensible à la casse – majuscules/minuscule)

 

serveur d’envoie
smtp: mail.cantoute.com
port: 465
utilisateur: votre.adresse@domaine.com
pass: XXXXXXX

 

Capture d’écran 2014-11-19 à 00.20.24

 

Capture d’écran 2014-11-19 à 00.22.32

 

Capture d’écran 2014-11-19 à 00.22.15

 

Capture d’écran 2014-11-19 à 00.23.46

 

Réplication Mysql Master-Master – La bonne méthode

 

http://stackoverflow.com/questions/2366018/how-to-re-sync-the-mysql-db-if-master-and-slave-have-different-database-incase-o

Il vous faudra au préalable avoir créé les users avec les droits de réplication

Sur le serveur A

Dans une console car il faudra maintenir la connexion pour tenir le verrou à l’écriture

$ mysql

mysql> RESET MASTER;
Query OK, 0 rows affected (0.37 sec)

mysql> FLUSH TABLES WITH READ LOCK;
Query OK, 0 rows affected (0.10 sec)

mysql> SHOW MASTER STATUS;
+---------------------+----------+--------------+---------------------------------------------------------+
| File                | Position | Binlog_Do_DB | Binlog_Ignore_DB                                        |
+---------------------+----------+--------------+---------------------------------------------------------+
| A-mysql-bin.000001 |     5235 |              | mysql,performance_schema,information_schema,test         |
+---------------------+----------+--------------+---------------------------------------------------------+
1 row in set (0.00 sec)

puis dumper les bases souhaitées depuis un terminal par exemple
mysqldump -uroot -p --all-databases > /a/path/mysqldump.sql
puis enfin dans la console mysql
UNLOCK TABLES;

 

Sur le serveur B

STOP SLAVE;

importer le dump

mysql < mysqldump.sql
RESET SLAVE;
CHANGE MASTER TO MASTER_HOST = 'serverA', MASTER_PORT = 3306, MASTER_USER = 'slaveuser',
MASTER_PASSWORD = 'xxxxx', MASTER_LOG_FILE = 'A-mysql-bin.000001', MASTER_LOG_POS = 5235;
SLAVE START;

On peut dors et déjà vérifier que la réplication se fait du serveur A vers le serveur B en ajoutant une db ‘bidon’ sur A elle apparaitra sur B. Pour la supprimer il faudra le faire depuis A (sur B ne doit se tenir aucune écriture)

 

Puis il suffit de vérouiller les table en READ sur serveur B et de faire la même chose dans l’autre sens

Sur B saisir dans mysql

mysql> RESET MASTER;
mysql> FLUSH TABLES WITH READ LOCK;
mysql> SHOW MASTER STATUS;
+---------------------+----------+--------------+---------------------------------------------------------+
| File                | Position | Binlog_Do_DB | Binlog_Ignore_DB                                        |
+---------------------+----------+--------------+---------------------------------------------------------+
| B-mysql-bin.000001 |      107 |              | mysql,performance_schema,information_schema,test         |
+---------------------+----------+--------------+---------------------------------------------------------+

Puis sur A
CHANGE MASTER TO MASTER_HOST = 'serverB', MASTER_PORT = 3306, MASTER_USER = 'slaveuser', MASTER_PASSWORD = 'xxxxxx', MASTER_LOG_FILE = 'B-mysql-bin.000001', MASTER_LOG_POS = 107;
SLAVE START;

A ce stade tout devrait être en ordre et la syncro devrait fonctionner dans les deux sens.

 

Sur B ne  pas oublier de lever le verrou

UNLOCK TABLES;

 

 

 

linux: Identifier les sites web (dns) pointant sur une ip virtuelle/failover

 

Chez online.net, un certain nombre d’adresses ip doivent migrer.

Une fois avoir configurer le serveur pour qu’il fonctionne sur l’ancienne ip et la nouvelle conjointement il reste à configurer les dns de chaqu’un des sites hébergés.

Cette ligne de commande permet d’afficher les sites web accédant au serveur sur son ancienne ip 1.2.3.4

# tcpdump -i eth0 -s 0 -A 'dst host 1.2.3.4 and tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x47455420' | grep Host\:

solution inspirée de ces deux articles

http://stackoverflow.com/…-response-header-and-response-body
http://serverfault.com/…capturing-traffic-coming-to-a-specific-virtual-interface

 

5 sep 2014: correction d’une erreur de guillemets typographiques

 

DNS et Hébergement cantoute.com

Actuellement ( juin 2018 ) chez gandi la configuration DNS ressemble à ceci
Info: ne pas copier coller la ligne en vert, garder celle du registrar.

@ 10800 IN SOA ns1.gandi.net. hostmaster.gandi.net. 1528388676 10800 3600 604800 10800
@ 3600 IN A 212.129.2.151
@ 3600 IN MX 10 mail.cantoute.com.
@ 3600 IN TXT "v=spf1 mx -all"
www 3600 IN CNAME @

# optionnel mais recommendé (auto-configuration des client mails)
_imaps._tcp 60 IN SRV 1 1 993 mail.cantoute.com.
_pop3s._tcp 60 IN SRV 3 1 995 mail.cantoute.com.
_submission._tcp 60 IN SRV 0 1 465 mail.cantoute.com.
_autodiscover._tcp 60 IN SRV 0 0 443 autoconf.cantoute.com.

hébergement cantoute – afficher les erreurs php

à la racine du site, on peut désormais placer un fichier nommé php.ini qui peut
redéfinir la configuration de php au besoin.

pour afficher les erreurs voici quoi y mettre

; 
; php.ini
; 

display_errors = On

; n'afficher que les erreurs
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT

; afficher aussi les avertissements
; error_reporting = E_ALL

MacBook OSX Lion – Mise en veille en fermant le capot

https://discussions.apple.com/message/18160133#18160133

 

I have found that this command in Terminal restores Snow Leopard functionality in Lion to closed-lid/clamshell mode.

 

1. Open up Terminal in /Applications/Utilities

2. Type the following command:     sudo nvram boot-args=’iog=0x0′

3. Press return

4. You will see a warning about using the sudo command. PLEASE make sure you typed the command into Terminal correctly. Mispelling sudo commands can be… dangerous.

5. Type in your password to confirm the command and press return.

6. You should see nothing visible change.

7. Restart your Mac and the Snow Leopard functionality should be restored!

 

Note: Resetting the PRAM will erase this modification. If you are ever told by Apple to reset the PRAM or need to for another reason, you will have to do these steps again. The mod holds as long as the PRAM is kept intact!

Setting iTunes buffer size

In a terminal this will set buffer size to 128k. After restart, itunes radio streams will take a few seconds to start, but should play with less interruptions.

defaults write com.apple.iTunes stream-buffer-size 128000

to set back to default

defaults write com.apple.iTunes stream-buffer-size 0

Mise en veille lente sur mac book pro….

En fait par défaut les portables apple avant de se mettre en veille font une sauvegarde de la ram sur le disque dur, ce qui peut prendre bien du temps… et pour la durée de vie du disque il est souhaitable que l’ordinateur ne bouge pas avant que le voyant de veille se mette à varier…

La commande suivante permet de différencier si l’ordinateur est sur batterie ( -b ) d’utliser le mode hibernate 25 (une copie de la ram est faite sur disque et l’ordi par en veille profonde, la restauration sera plus lente, mais la batterie ne sera pas utilisée durant la veille)

si l’ordinateur est raccordé au secteur ( -c ) hibernatemode 0 désactive le "SafeSleep« . Le portable ne fera pas une copie de la ram.  Rapide à se mettre en veille et à se réveillé, mais si vous débranchez le chargeur, la batterie se consommera au rythme de 30% par 24h.

Ainsi si on souhaite mettre le portable en veille profonde, il ne faut lui fermer le clapet qu’une fois débranché le chargeur.

Dans un terminal saisir ceci.

sudo pmset -b hibernatemode 25 && sudo pmset -c hibernatemode 0

Vous sera demandé votre mot de passe (il n’apparait rien en le saisissant, c’est normal)  puis validez.

Attention: ne pas essayer de arguments à tâtons pour la valeur hibernatemode.  Ne pas essayer d’autres valeurs que 0, 3, ou 25

For your sake and mine, please don't use anything other 0, 3, or 25.

https://developer.apple.com/library/mac/#documentation/darwin/reference/manpages/man1/pmset.1.html

Pour désactiver SafeSleep dans tous les cas d’alimentation

sudo pmset -a hibernatemode 0

 

Mysql – Restoring a single database from a full dump

http://pento.net/2009/04/16/extracting-a-database-from-a-mysqldump-file/

Restoring a single database from a full dump is pretty easy, using the mysql command line client’s --one-database option:

mysql> mysql -u root -p --one-database db_to_restore < fulldump.sql

But what if you don’t want to restore the database, you just want to extract it out of the dump file? Well, that happens to be easy as well, thanks to the magic of sed:

shell> sed -n '/^-- Current Database: `test`/,/^-- Current Database: `/p' fulldump.sql > test.sql

You just need to change “test” to be the name of the database you want extracted.

Désactiver Spotlight sur Mac OSX 10.5

Disable Spotlight Move these two files to another safe location and then reboot your mac

/System/Library/LaunchAgents/com.apple.Spotlight.plist
/System/Library/LaunchDaemons/com.apple.metadata.mds.plist

If you want to re-enable Spotlight just move those files back to their original location, reboot, and Spotlight will work again. Please backup the files, if you delete them you will not be able to re-enable Spotlight without a system reinstall!

Format image des capture écran dans Mac Mail.

 

 

Par défaut, quand on copie colle une image dans mail (par la combinaison de touches ctrl-cmd-4 par exemple) l’image est attachée au format tiff

Surtout pour que vos amis qui sont pas sur mac puissent facilement voir l’image (et aussi pour que le mail soit 4 fois moins lourd), il est préférable que ce soit au format png ou jpg

En ouvrant un terminal, tappez ces deux lignes

defaults write com.apple.screencapture type png
killall SystemUIServer

 

le format jpg est surement plus léger, même si png sera plus ‘propre’

defaults write com.apple.screencapture type jpg
killall SystemUIServer

http://www.jhuskisson.com/articles/changing-the-default-mac-screen-shot-image-type