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...

Article mis à jour le 21/11/17.
Reprenons ce que nous dit
https://yeuxdelibad.net/Blog/?d=2017/11/08/16/00/51-debuter-avec-duniter-1-puis-heberger-un-noeud :
Pour rappel : Duniter est un logiciel. Son but est de permettre la production d'une nouvelle valeur numérique (ou électronique) ayant toutes les caractéristiques d'une « monnaie libre ». Nom de code de cette nouvelle valeur : la Ğ1 (prononcez « June », \ʒɥn\). La Ğ1 est désormais bien réelle : les toutes premières unités ont été créées le 8 mars 2017, et de nouvelles sont produites chaque jour par ses membres.
Le petit tuto ci-dessous reste non exhaustif voir même "simpliste" et n'aborde pas l'idée, le projet ou la philosophie de Duniter, de la Ğ1, etc. Il rappelle simplement les différentes étapes d'installation d'un "nœud" Duniter sous Debian/Ubuntu qui permettra de participer aux calculs nécessaires aux échanges de Ğ1.
J'utilise un PC sous Ubuntu 16.04 64 bits à la maison (auto-hébergé).
Connexion ADSL2 : Freebox V6 (+/- 7 MB/s)
PC : Intel i5, RAM 8 GB, SSD 120 GB
C'est parti :
a - On télécharge le paquet Debian (Debian/Ubuntu, ...) (version à vérifier sur
le github Duniter ) :
$ wget https://github.com/duniter/duniter/releases/download/1.6.13/duniter-server-v1.6.13-linux-x64.deb
b - On installe le serveur Duniter :
$ sudo dpkg -i duniter-server-v1.6.13-linux-x64.deb
c - On génère la clé :
$ duniter wizard key
Réponse aux questions :
------Modify you keypair? (y/N) y
------Key's salt : mettez ici un mot de passe, une phrase, ce que vous voulez...
------Key's password : mettez ici un mot de passe
d - On configure le réseau :
$ duniter wizard network
Réponse aux questions :
---IPv4 interface : déplacez-vous, le cas échéant avec les flèche du clavier pour choisir la bonne adresse Interne (Privée) et validez. Sur mon réseau local (MAISON), je suis connecté sur ma Freebox V6 en DHCP fixe. En l'occurrence, mon adresse IP internet est : 192.168.0.75
---IPv6 interface : déplacez-vous dans la liste avec les flèches du clavier pour choisir l'adresse et validez. Choisissez "none" si vous n'avez pas d'IPv6.
---Port : 10901
---Remote IPv4 : ici, on vous demande votre adresse IP publique (avec ma Freebox, c'est du type 82.xxx.xxx.xxx)
---Remote port : 10901
---Does this server has a DNS name? y ou n (répondez "y" si vous voulez héberger le nœud sur un serveur possédant un nom de domaine. Exemple : g1.spacejerk.fr)
e - On lance la synchronisation :
$ duniter sync g1.duniter.org 443
Prenez votre mal en patience, ça peut être assez long (20 minutes ou +..., selon votre connexion et votre matériel)
f - On lance le serveur :
Moi, je lance le serveur avec l'interface web, plus pratique :
$ duniter webstart --webmhost 192.168.0.75
Remarquez ici que je rajoute un argument à la commande duniter webstart : "--webmhost" me permet de spécifier l'adresse IP privée de mon réseau interne Freebox
Vous aurez alors accès à votre "interface web" à cette adresse : http://MON-DOMAINE:9220 ou bien http://MON-IP:9220
g - N'oubliez pas d'ouvrir le port suivant dans votre firewall (si vous en avez un) :
10901/tcp = serveur
g bis - Si comme moi votre Freebox est confgurée en mode "routeur", il
faut faire une redirection de ports vers votre IP privée (10901)
Attention : l'ouverture du port 9220 sur la box ou le firewall rend l'administration Duniter disponible à *tout utilisateur extérieur* et il
devient extrêmement facile de dérober la clé privée si vous n'avez
pas de protection supplémentaire (YunoHost, restriction d'accès par IP,
...)
Maintenant se pose la question : comment se connecter "proprement" à l'interface web du nœud, sans ouvrir le port 9220 ?
elois sur le
forum Duniter nous donne une très bonne astuce à base de SSH :
ssh -L PORT_LOCAL:localhost:9220 user@ip -p SSH_PORT
Ce qui donnerait chez moi, depuis mon PC maison :
ssh -L 8999:localhost:9220 citizenz@MON_IP -p 5001
Puis on tape l'adresse suivante dans son navigateur préféré :
http://localhost:8999
Et zou ! On arrive directement sur l'espace web d'admin du nœud ! C'est magique ! :D
h - S'inscrire sur CESIUM
Cesium est une application vous permettant de gérer votre compte en monnaie libre Ğ1.
URL :
https://g1.duniter.fr Il va falloir créer un compte. C'est nécessaire pour être inscrit dans le registre public du Ğ1. Vous créerez en même temps un "porte-feuille".
Remplissez complètement les infos demandées dans votre compte.
/!\ Retenez bien votre identifiant secret et votre mot de passe, essentiels pour vous connecter.Vous devez créez un compte "membre" pour pouvoir plus tard participer au dividende universel....
N.B. : En rentrant ses propres identifiant et mot de passe de membre, on relie le nœud à sa clé publique.
Pour toute info et complément, je vous renvoie vers plusieurs liens :
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 :

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 :
Voici un petit tuto simple, pratique et rapide pour configurer un certificat Let's Encrypt pour votre site web (avec Nginx). J'utilise un serveur Ubuntu 16.04.
PRÉREQUIS : Certbot a besoin d'un fichier vhost Nginx existant, même minimaliste, mais avec une partie "server { }" déjà en place.
Pour tout changement effectué, vérifiez la syntaxe Nginx avec cette commande : $ sudo nginx -t
1 - installation de Certbot (version stable) :
$ sudo add-apt-repository ppa:certbot/certbot
$ sudo apt update
$ sudo apt install python-certbot-nginx
Si la commande add-apt-repository n'est pas disponible, installer les 2 paquets suivants :
$ sudo apt install software-properties-common python-software-properties
2 - Obtention d'un certificat SSL Let's Encrypt :
$ sudo certbot --nginx -d example.com -d www.example.com
- Aucune autre option n'est à préciser. L'option --nginx s'occupe de tout, même de la config de votre fichier vhost !
- Vous remarquerez que Certbot a ajouté un fichier /etc/letsencrypt/options-ssl-nginx.conf qui comporte toutes les bonnes options.
- Si c'est votre première demande, vous devrez rentrer une adresse e-mail de contact et accepter les "termes du service". Vous devez ensuite choisir d'accepter les connexions HTTP et HTTPS ou seulement les connexions HTTPS pour votre site.
3 - Configuration supplémentaire avec Diffie-Hellman :
$ sudo mkdir -p /etc/nginx/ssl
$ sudo openssl dhparam -out /etc/nginx/ssl/dhparam.pem 2048
Puis dans votre fichier vhost nginx, ajoutez la ligne suivante :
ssl_dhparam /etc/nginx/ssl/dhparam.pem;
Ajoutez également les lignes suivantes :
ssl_stapling on;
ssl_stapling_verify on;
ssl_trusted_certificate /etc/letsencrypt/live/www.mondomaine.com/fullchain.pem;
# Google DNS, Open DNS, Dyn DNS
resolver 8.8.8.8 8.8.4.4 208.67.222.222 208.67.220.220 216.146.35.35 216.146.36.36 valid=300s;
resolver_timeout 3s;
Et relancer Nginx :
$ sudo /etc/init.d/nginx restart
4 - Renouvellement automatique des certificats
$ sudo crontab -e
15 3 * * * /usr/bin/certbot renew --quiet
Avec cette config (intégrant la config "par défaut" de certbot + l'ajout du Diffie Hellman), vous devriez obtenir un A sur SSL Labs (https://www.ssllabs.com/ssltest/ ).
SOURCES : https://www.digitalocean.com/community/tutorials/how-to-secure-nginx-with-let-s-encrypt-on-ubuntu-16-04