CitizenZ

Blog Libre, Geek & Crypto

Postfix, la fonction mail() de PHP et SMTPUTF8

Rédigé par citizenz 2 commentaires
J'ai dernièrement mis en place un formulaire de contact en php sur mon site web (serveur sous Ubuntu Server 16.04). La fonction mail() de PHP permettant d'envoyer le message du visiteur au webmaster.
Mais le code qui fonctionnait bien auparavant sur un autre serveur "similaire" me retournait désormais une erreur de type : "SMTPUTF8 is required but was not offered by host".
Après quelques recherches sur le Net, il s'avère qu'il faut ajouter le code suivant au main.cf de Postfix :
smtputf8_autodetect_classes = all

Sur la page du site de Postfix (http://www.postfix.org/SMTPUTF8_README.html ), il est bien précisé que si on a des paramètres non-ASCII pour "myorigin" ou "mydomain" ou que notre configuration introduit l'UTF-8 avec des aliases virtuels, conical mappings ou BBC mappings, alors on doit appliquer l’auto-détection SMTPUTF8 à tous les mails.
Un peu technique tout ça...

Améliorer le minage de cryptomonnaies avec son CPU

Rédigé par citizenz Aucun commentaire

Si on veut miner des cryptomonnaies avec son CPU, c'est possible (mais c'est long !). Autant avoir un bon processeur (I5, I7, XEON, etc.).
Pour obtenir un meilleur taux de hash (hashrate), il est important d'activer l'option "Huge Pages" (si vous avez un processeur "compatible").
Par exemple sur un Intel I5-2400, avec le mineur Xmrig-CPU (cryptonight), je faisais à peine du 120 H/s avec un processeur à 75 % (3 threads).
Avec le "Huge Pages" activé, je suis passé à 200 H/s.

Su un PC traditiopnnel, sous Ubuntu 16.04 par exemple, on peut activer facilement cette option :

# echo 'vm.nr_hugepages=128' >> /etc/sysctl.conf
# sysctl -p

... et on reboot

Mais sur un serveur OVH Kimsufi (par exemple), il va falloir installer un autre noyau (kernel) que l'original fourni par OVH car sinon vous allez vous retrouvez avec cette erreur :
sysctl: cannot stat /proc/sys/vm/nr_hugepages: No such file or directory
A moins qu'à l'installation vous ayez choisi d'installer le noyau de la distribution et pas celui d'OVH auquel cas, tout devrait fonctionner sans changement.

Installation d'un nouveau noyau sur le serveur d'OVH Kimsufi (exemple sous Ubuntu 16.04)
On met à jour :

# apt update
On installe le kernel de la distrib :
# apt install linux-image-generic
On déplace le kernel d'OVH :
# mkdir ~/ovh.d
# mv /etc/grub.d/06_OVHkernel ~/ovh.d
On met à jour Grub :
# update-grub
... et on redémarre... sur le nouveau noyau
# reboot

Basé sur l'article de Thomas (Virtubox) : jesuisadmin.fr/miner-du-monero-xmr-stack...

Petit compte-rendu de minage...

Rédigé par citizenz 1 commentaire

PARTIE 1 : le matériel
Cela fait plus de 6 mois que je mine...
Pas énormément, car mes moyens sont très limités. Je possède un rig de minage fait maison de A à Z :

  • le support, en bois : je me suis basé sur ce que j'ai vu sur le Net. Quelques découpes et quelques clous plus tard, j'obtenais un assez bon résultat à mon gout...
  • la carte mère (MSI B250 PC MATE) qui comporte quand même 2 x PCI-E x16 et 3 PCI-E x1
  • le processeur : un celeron basique 3 GHz
  • 4 GB de RAM DDR4
  • 1 clavier + 1 souris
  • 1 lecteur de carte USB 2.0 + une microSD 8GB
  • HiveOS (base Ubuntu)
  • 1 carte graphique Sapphyre RX570 4 GB (Elpida). En suivant les tutos et infos trouvées sur le site cryptofr.com, j'ai pu assez facilement changer le BIOS de la carte puis trouver des réglage d'overclocking qui me permettent de gagner encore en puissance de hash. Du coup ma carte fait du 810 H/s ce qui visiblement ne semble pas trop mal :)
  • 1 carte graphique MSI GTX 1050ti (Gaming X) 4 GB qui tourne aux alentours de 310 H/s (c'est à dire comme une GTX 760 !!!)

Pour la petite histoire, j'ai une autre carte : MSI GTX 760 Gaming X Twin Frozr que je n'ai jamais réussi à installer avec d'autres cartes, soit sous WINDOWS 10, soit sous Ubuntu voir ArchLinux ou Manjaro, soit sous HiveOS.
Dès que j'installe cette GTX 760 à côté des autres cartes, le système plante ou certaines cartes ne sont plus reconnues...
Étrange, je n'ai jamais pu avoir d'explications tangibles, outre le fait qu'il y ait un soucis de drivers et d'incompatibilité.
C'est ballot... et je suis "obligé" de mettre cette carte sur mon PC de bureau.
Seule, elle tourne à merveille (310 H/s pour du Monero par exemple avec XmRig).

Après plusieurs semaines à miner du Monero (XMR) et voyant le niveau de difficulté augmenter, j'ai dernièrement choisi de me tourner vers d'autres altcoins :

  • ETN (Electroneum) mais il semble que la difficulté est aussi augmentée ces derniers jours...
  • SUMO (Sumokoin)
  • GRFT (Graft)

J'ai notamment découvert un nouveau pool de minage FR cryptonote (anypool.fr/ ) mais ceci fera l'objet d'un prochain post !

A suivre PARTIE 2 : les résultats du minage... bientôt.

WebDAV, Nginx et XFCE : accéder à ses médias en ligne facilement

Rédigé par citizenz Aucun commentaire

WebDAV c'est quoi ? Laissons faire les présentations par le Wiki Ubuntu :

WebDAV, en entier : Web-based Distributed Authoring and Versioning, est un protocole déjà ancien (1996) et curieusement peu connu. Il permet pourtant une chose essentielle : écrire sur le Web, au lieu de seulement surfer (c'est-à-dire seulement lire).
C'est un protocole ouvert, le W3C (organisme qui "normalise le web") en a confié le développement à l'IETF qui avait déjà normalisé HTTP.
Pour résumer, WebDAV est une extension du HTTP. Au delà des GET et POST bien connus, WebDAV rajoute les verbes PUT, DELETE, COPY, PROPFIND, etc. Pour les curieux, la norme est là : http://tools.ietf.org/html/rfc2518. Étant une simple extension au protocole HTTP, WebDAV fonctionne dans à peu près toutes les situations où la navigation n'est pas bloquée.

Ceci étant dit, j'avais besoin de configurer un accès web pour les fichiers vidéos situés sur mon serveur. Il existe pléthore de solutions de streaming etc. mais ça n'est pas ce que je souhaitais. L'idéal ? Ouvrir tous mes médias directement depuis mon "Explorateur de fichiers", Thunar en l’occurrence puisque je suis sous XFCE.

Je n'ai pas été chercher bien loin et je me suis souvenu de WebDAV, que j'avais déjà utilisé "rapidement" il y a quelques temps.

Objectifs ? Configurer Nginx avec WebDAV et pouvoir accéder tranquillement à mes fichiers depuis mon bureau. C'est parti.

NGINX

Pour configurer Nginx rien de bien compliqué. Il vous faut néanmoins et avant tout installer un nouveau paquet sur votre serveur afin d'utiliser WebDAV:

$ sudo apt install nginx-extras

Puis il faut créer l'hôte virtuel Nginx. J'ai choisi d'utiliser un domaine du type media.mondomaine.fr pour l'exemple. On va donc créer un fichier comme suit :

$ sudo vim /etc/nginx/conf.d/media.mondomaine.fr.conf

Dans ce fichier, nous allons placer les éléments suivants :

server {
        listen 80;
        server_name media.mondomaine.fr;
        root /CHEMIN/MONREPERTOIRE/FICHIERS; # ----> A CHANGER avec le bon chemin de votre répertoire
        index index.php index.html index.htm;
        access_log /var/log/media-access.log combined;
        error_log /var/log/media-error.log error;

        location / {
                try_files $uri $uri/ /index.html;
                client_body_temp_path   /temp;
                dav_methods             PUT DELETE MKCOL COPY MOVE;
                dav_ext_methods         PROPFIND OPTIONS;
                create_full_put_path    on;
                dav_access              user:rw group:rw all:rw;
                autoindex               on;
                auth_basic "Mot de passe :";
                auth_basic_user_file "/etc/nginx/passwd/media_pass";
}

        # PARTIE HTTPS
        listen 443 ssl http2; # managed by Certbot
        ssl_certificate /etc/letsencrypt/live/media.mondomaine.fr/fullchain.pem; # managed by Certbot ---> MONDOMAINE.FR A CHANGER
        ssl_certificate_key /etc/letsencrypt/live/media.mondomaine.fr/privkey.pem; # managed by Certbot ---> MONDOMAINE.FR A CHANGER
        include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
        ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

        if ($scheme != "https") {
                return 301 https://$host$request_uri;
        } # managed by Certbot

}

La première partie du fichier est "traditionnelle...

La deuxième partie Location / est plus spécifique. On peut y voir la configuration propre à WebDAV : dav_methods, dav_ext_methods, dav_access , ...

J'ai de plus protégé l'accès à mon répertoire avec un accès restreint, tout simple et très traditionnel, en créant premièrement un nouveau répertoire /et/nginx/passwd :

$ sudo mkdir -p /etc/nginx/passwd

... puis :

$ sudo htpasswd -c /etc/nginx/passwd/media_pass mumbly

Il n'y a plus qu'à rentrer le mot de passe associé à l'utilisateur mumbly. Si httpasswd ne fonctionne pas, installer le paquet suivant :

$ sudo apt install apache2-utils

Puis j'ai configuré une partie HTTPS avec certbot et le plugin --nginx. Je vous renvoie à mon post à ce sujet .

Une fois fait, on teste d'abord la config de Nginx avec :

$ nginx -t
Si tout est ok, on redémarre Nginx :
$ sudo /etc/init.d/nginx restart

Reste la partie "Bureau" sous XFCE et Thunar et ici rien de difficile. J'ai configuré cet accès sur un PC équipé de Xubuntu. Peut-être y aura t-il une "autre config" sous un autre système, je n'ai pas testé ailleurs.

Avec Thunar, on peut rentrer directement - dans la barre d'adresse - l'adresse de notre répertoire WebDAV de la manière suivante :

davs://mumbly@media.mondomaine.fr/FICHIERS # à adapter avec votre VRAI chemin ...

Voila ce que ça donne en "réel" sur mon PC :

[NOTE] Locale française sur Ubuntu Server

Rédigé par citizenz Aucun commentaire
Si vous démarrez sur un serveur VPS fraîchement pourvu d'un serveur Ubuntu (par exemple sur Pulseheberg), il se peut que vous n'ayez pas, par défaut, la locale FR de configurée (vous serez en EN).
Pour forcer Ubuntu Server à prendre en compte la langue française avec un encodage de caractères en UTF-8, il faut installer le package language-pack-fr, indiquer dans le fichier /etc/default/locale la valeur fr_FR.UTF-8 à la variable LANG puis lancer une reconfiguration des locales, comme suit : 

$ sudo apt install language-pack-fr
$ sudo if [ -f /etc/default/locale ]; then cp /etc/default/locale /etc/default/locale_default; fi
$ sudo echo "LANG=fr_FR.UTF-8" > /etc/default/locale
$ sudo dpkg-reconfigure locales

Les modifications seront effectives à la prochaine connexion.

Cette note est largement inspirée de l'article suivant :
Fil RSS des articles de cette catégorie