Installer Linux Ubuntu sur un laptop Dell Inspiron 15-7580 - La bagarre !

Rédigé par citizenz - - 8 commentaires

J'ai acheté dernièrement un nouveau PC portable (laptop). Après quelques recherches mon choix s'est porté sur un Dell Inspiron 15-7580 :
- processeur i7
- 16 Go RAM DDR4
- SSD Nvme 512 Go
- Ecran 15 '
- etc.
Évidemment, comme la plupart des PC, ce Dell n'échappe pas à la règle : il est livré avec Windows 10 (Famille).
Je ne souhaitais pas supprimer Windows 10 car il m'est utile pour certains travaux et la compilation de binaires (Cryptomonnaie, etc.). mais je souhaitais installer Linux Ubuntu pour l'utiliser comme OS principal.
Par contre évidemment, il y a un peu de boulot avant de voir tourner un Ubuntu sur ce laptop. Depuis le "secure boot" en passant par l'étape de configuration du disque, il faut "cravacher" un peu.
Voici donc résumées ci-après les différentes étapes de cette install.
Sans cela, impossible d'installer nativement Gnu/Linux sur ce PC !

1 - Préparation

- Activer le mode AHCI
Pour installer Ubuntu, vous devez passer le lecteur de stockage en mode AHCI.
    1- Sous Windows 10, lancer la console Windows (cmd) en mode admin
    2- Puis tapez : bcdedit /set {current} safeboot minimal
    3- Rebootez le PC
    4- Au démarrage, pressez F2 lorsque vous voyez le logo Dell
    5- Sélectionnez Mode AHCI dans les options SATA sous Système Configuration
    6- Cliquez Appliquer et Sortie
    7- Connectez vous sous Windows de manière normale
    8- Ouvrez de nouveau la console (cmd) en admin et tapez : bcdedit /deletevalue {current} safeboot
    9- Rebootez

- Partitionner le disque
    1- Depuis le menu Démarrer, dans la recherche, tapez disk management et ouvrez l'appli
    2- Repérez votre disque et la partition Windows (c'est souvent la plus grande partition)
    3- Faites un clic droit et sélectionnez Redimensionner le disque
    4- Redimensionnez à la taille voulue (j'ai personnellement un DD de 512 Go : j'ai laissé 200 Go pour Ubuntu)
    5- Cela devrait être très rapide. Vérifiez enfin si vous voyez désormais une partition "espace non alloué". Ce sera votre future partition Ubuntu

2 - Installation d'Ubuntu

- Toujours sous Windows 10, Insérez votre clé USB avec Ubuntu
- Rebootez
- Pressez F12 quand vous voyez le logo Dell
- Dans la liste qui apparaît, sélectionnez celle avec "Boot from UEFI"...
- Sélectionnez ensuite "Essayer Ubuntu sans l'installer"
- Pressez la lettre E
- On va légèrement modifier le démarrage de Grub : ajoutez nomodeset avant quiet splash (cela donnera donc : nomodeset quiet splash)
- Pressez F10
- Lancez l'installeur Ubuntu sur le bureau
- Sélectionnez Enable Insecure Boot Mode durant l'installation et notez bien le mot de passe que vous avez entré

Ubuntu est maintenant installé... Il y a encore quelques trucs à régler.
Après l'installation et le reboot, vous allez voir un écran bleu Perform MOK management :
    1- Sélectionnez Change Secure Boot State
    2- Entrez le mot de passe
    3- Sélectionnez Yes pour Disable Secure Boot

Après cela, le PC va rebooter et vous verrez l'écran avec les options de boot.

Vous pourrez enfin profiter pleinement de votre Ubuntu avec tous les pilotes et drivers (notamment pour la carte Nvidia).

[TUTO] Auto-héberger un noeud DUNITER sous Debian/Ubuntu

Rédigé par citizenz - - 15 commentaires

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, Nginx et XFCE : accéder à ses médias en ligne facilement

Rédigé par citizenz - - 2 commentaires

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 :

Firewall : utiliser UFW sur Scaleway

Rédigé par citizenz - - 2 commentaires

Scaleway  vous connaissez ? C'est le service de "Cloud Computing" lancé par Online en 2015 à base d'instances reposant sur des serveurs dédiés, et non des machines virtualisées.
Quand on arrive la première fois sur Scaleway, c'est la surprise et l'étonnement : il faut un peu de temps pour s'habituer aux volumes, snapshots, images, etc.
Vous avez aussi un onglet sécurité qui vous permet de définir des règles pour le firewall (Default security group).
A savoir également que par défaut les ports SMTP sont fermés pour éviter tout soucis de spam. Il faut expressément demander au support de les ouvrir.

Concernant le firewall, vous pouvez évidemment choisir de ne pas utiliser le service offert par Scaleway et utiliser par exemple UFW.
PROBLÈME : si vous activez UFW sur votre serveur Scaleway : ça freeze illico-presto !
Mais il y a une astuce simple pour y remédier (exemple pour Debian / Ubuntu ...), en 5 étapes :

1 - On change la politique INPUT par défaut à ACCEPT et non plus DROP
$ sudo vim /etc/default/ufw
DEFAULT_INPUT_POLICY="ACCEPT"

2 - On ajoute une règle DROP-ALL à la fin du fichier suivant, juste avant la ligne finale COMMIT :
$ sudo vim /etc/ufw/after.rules
-A ufw-reject-input -j DROP

3 - On désactive le logging d'UFW. Scaleway n'aime pas trop :
$ sudo ufw logging off

4 - On n'oublie surtout pas d'activer SSH pour pouvoir accéder au serveur :
$ sudo ufw allow ssh

5 - enfin on active UFW :
$ sudo ufw enable

Vous pouvez activer d'autres règles évidemment... je vous laisse sur mon autre post pour tout cela.
Et hop !

Bloquer les spams facilement avec Nginx

Rédigé par citizenz - - 8 commentaires

Vous pouvez facilement bloquer une partie des spams qui viennent polluer votre site web (vos commentaires, etc.) avec quelques lignes dans votre fichier de conf Nginx. Je peux vous certifier que c'est assez efficace.
Dans votre block server {  }, mettez les lignes suivantes :

## Block spam
set $block_spam 0;
if ($query_string ~ "\b(ultram|unicauca|valium|viagra|vicodin|xanax|ypxaieo)\b") {
    set $block_spam 1;
}
if ($query_string ~ "\b(erections|hoodia|huronriveracres|impotence|levitra|libido)\b") {
    set $block_spam 1;
}
if ($query_string ~ "\b(ambien|blue\spill|cialis|cocaine|ejaculation|erectile)\b") {
    set $block_spam 1;
}
if ($query_string ~ "\b(lipitor|phentermin|pro[sz]ac|sandyauer|tramadol|troyhamby)\b") {
    set $block_spam 1;
}
if ($block_spam = 1) {
    return 403;
}

Sources : Korben , Howtoforge

UPDATE 15/08/17 - 15:36 :
Fil RSS des articles de cette catégorie