(Cette version a été marquée pour être traduite) |
|||
(27 révisions intermédiaires par 2 utilisateurs non affichées) | |||
Ligne 3 : | Ligne 3 : | ||
|Main_Picture_annotation={"version":"3.5.0","objects":[{"type":"image","version":"3.5.0","originX":"left","originY":"top","left":-20,"top":11,"width":4032,"height":3024,"fill":"rgb(0,0,0)","stroke":null,"strokeWidth":0,"strokeDashArray":null,"strokeLineCap":"butt","strokeDashOffset":0,"strokeLineJoin":"miter","strokeMiterLimit":4,"scaleX":0.16,"scaleY":0.16,"angle":0,"flipX":false,"flipY":false,"opacity":1,"shadow":null,"visible":true,"clipTo":null,"backgroundColor":"","fillRule":"nonzero","paintFirst":"fill","globalCompositeOperation":"source-over","transformMatrix":null,"skewX":0,"skewY":0,"crossOrigin":"","cropX":0,"cropY":0,"src":"https://wiki.lowtechlab.org/images/e/e9/Serveur_orangepi-raspberry_nextcloud_en_photovolta_que_autonome_IMG_20230821_171328_268.jpg","filters":[]}],"height":450.16574585635357,"width":600} | |Main_Picture_annotation={"version":"3.5.0","objects":[{"type":"image","version":"3.5.0","originX":"left","originY":"top","left":-20,"top":11,"width":4032,"height":3024,"fill":"rgb(0,0,0)","stroke":null,"strokeWidth":0,"strokeDashArray":null,"strokeLineCap":"butt","strokeDashOffset":0,"strokeLineJoin":"miter","strokeMiterLimit":4,"scaleX":0.16,"scaleY":0.16,"angle":0,"flipX":false,"flipY":false,"opacity":1,"shadow":null,"visible":true,"clipTo":null,"backgroundColor":"","fillRule":"nonzero","paintFirst":"fill","globalCompositeOperation":"source-over","transformMatrix":null,"skewX":0,"skewY":0,"crossOrigin":"","cropX":0,"cropY":0,"src":"https://wiki.lowtechlab.org/images/e/e9/Serveur_orangepi-raspberry_nextcloud_en_photovolta_que_autonome_IMG_20230821_171328_268.jpg","filters":[]}],"height":450.16574585635357,"width":600} | ||
|Licences=Attribution (CC BY) | |Licences=Attribution (CC BY) | ||
− | |Description=<translate>Tutoriel pour mettre en place un serveur nextcloud (équivalent drive google mais libre et adapté à l'organisation collective) sur un ordinateur monocarte autonome (alimenté en photovoltaïque avec stockage) | + | |Description=<translate><!--T:1--> |
+ | Tutoriel pour mettre en place un serveur nextcloud (équivalent drive google mais libre et adapté à l'organisation collective) sur un ordinateur monocarte autonome (alimenté en photovoltaïque avec stockage) | ||
<br><br> | <br><br> | ||
Ce tutoriel n'est pas tout à fait "lowtech" en première approche dans la mesure où il s'agit d'informatique et de photovoltaique. | Ce tutoriel n'est pas tout à fait "lowtech" en première approche dans la mesure où il s'agit d'informatique et de photovoltaique. | ||
Ligne 18 : | Ligne 19 : | ||
Les commandes sont celles pour un systeme debian | Les commandes sont celles pour un systeme debian | ||
<br><br> | <br><br> | ||
− | Enfin, le tuto est fait avec un modem 4G (et connexion filaire à un orange pi qui n'a pas de carte wifi par défaut), ce | + | Enfin, le tuto est fait avec un modem 4G (et connexion filaire à un orange pi qui n'a pas de carte wifi par défaut), et mis a jour ce 10 avril pour raspberry pi connecté au "partage wifi" de votre téléphone. (voir etap 6 pour wifi en wpa3 et etap 16 pour wifi en wpa2)</translate> |
|Area=Energy, Tools | |Area=Energy, Tools | ||
|Type=Tutorial | |Type=Tutorial | ||
Ligne 24 : | Ligne 25 : | ||
|Duration=3 | |Duration=3 | ||
|Duration-type=hour(s) | |Duration-type=hour(s) | ||
− | |Cost= | + | |Cost=165 |
|Currency=EUR (€) | |Currency=EUR (€) | ||
|Tags=debian, photovoltaique, nextcloud, ordinateur monocarte, orange pi | |Tags=debian, photovoltaique, nextcloud, ordinateur monocarte, orange pi | ||
}} | }} | ||
{{Introduction | {{Introduction | ||
− | |Introduction=<translate>Tutoriel pour mettre en place un serveur nextcloud (équivalent drive google mais libre et adapté à l'organisation collective) sur un ordinateur monocarte autonome (alimenté en photovoltaïque avec stockage) | + | |Introduction=<translate><!--T:2--> |
− | + | Tutoriel pour mettre en place un serveur nextcloud (équivalent drive google mais libre et adapté à l'organisation collective) sur un ordinateur monocarte autonome (alimenté en photovoltaïque avec stockage) | |
+ | <!--T:3--> | ||
Ce tutoriel n'est pas tout à fait "lowtech" en première approche dans la mesure où il s'agit d'informatique et de photovoltaique. | Ce tutoriel n'est pas tout à fait "lowtech" en première approche dans la mesure où il s'agit d'informatique et de photovoltaique. | ||
− | + | <!--T:4--> | |
Cependant, il se veut le plus didactique possible et rejoint la philosophie lowtech de partager les savoirs faires, éviter la tech inaccessible par la rétention d'information, la complexification by design ou la dépendance propriétaire by design. | Cependant, il se veut le plus didactique possible et rejoint la philosophie lowtech de partager les savoirs faires, éviter la tech inaccessible par la rétention d'information, la complexification by design ou la dépendance propriétaire by design. | ||
− | + | <!--T:5--> | |
On donne aussi un outil de dimensionnement photovoltaïque avec quelques explication. A vous de dimensionner pour une informatique lowtech, qui ne fonctionne que sur une plage horaire calé sur les rythmes du soleil, cad qui respecte les temporalités humaines. | On donne aussi un outil de dimensionnement photovoltaïque avec quelques explication. A vous de dimensionner pour une informatique lowtech, qui ne fonctionne que sur une plage horaire calé sur les rythmes du soleil, cad qui respecte les temporalités humaines. | ||
− | + | <!--T:6--> | |
Nextcloud (service accessible sur framasoft ici : <nowiki>https://www.frama.space/abc/fr/</nowiki>) est un service assez cool pour s'organiser à plusieurs et permet de partager des fichiers, avoir un annuaire, un chat, de travailler en cooperation sur des fichiers libreoffice voire même de faire des visios. | Nextcloud (service accessible sur framasoft ici : <nowiki>https://www.frama.space/abc/fr/</nowiki>) est un service assez cool pour s'organiser à plusieurs et permet de partager des fichiers, avoir un annuaire, un chat, de travailler en cooperation sur des fichiers libreoffice voire même de faire des visios. | ||
+ | <!--T:7--> | ||
On peut aussi imaginer des infokiosques mobiles sur ce principe. | On peut aussi imaginer des infokiosques mobiles sur ce principe. | ||
− | + | <!--T:8--> | |
Le tuto remet en question le marché des vpns, le photovoltaique avec stockage neuf et cher (en réalité le photovoltaique est devenu trop competitif face au pétrole et encore plus face au nucléaire!), et le marché des gafam et leur design de surveillance nocif pour la confiance et le lien social. | Le tuto remet en question le marché des vpns, le photovoltaique avec stockage neuf et cher (en réalité le photovoltaique est devenu trop competitif face au pétrole et encore plus face au nucléaire!), et le marché des gafam et leur design de surveillance nocif pour la confiance et le lien social. | ||
+ | <!--T:9--> | ||
Les commandes sont celles pour un systeme debian | Les commandes sont celles pour un systeme debian | ||
+ | <!--T:10--> | ||
+ | Enfin, le tuto est fait avec un modem 4G (et connexion filaire à un orange pi qui n'a pas de carte wifi par défaut), et mis a jour ce 10 avril pour raspberry pi connecté au "partage wifi" de votre téléphone. (voir etap 6 pour wifi en wpa3 et etap 16 pour wifi en wpa2) | ||
− | + | <!--T:11--> | |
− | + | <br />Voir https://solar.lowtechmagazine.com/fr/ pour aller plus loin dans les approches "internet low tech" (notamment "Comment créer un Internet low-tech")</translate> | |
− | |||
}} | }} | ||
{{Materials | {{Materials | ||
|Material=<translate></translate> | |Material=<translate></translate> | ||
− | |Tools=<translate>autonomie.ods</translate> | + | |Tools=<translate><!--T:12--> |
+ | autonomie.ods</translate> | ||
|Tuto_Attachments={{Tuto Attachments | |Tuto_Attachments={{Tuto Attachments | ||
|Attachment=Serveur_orangepi-raspberry_nextcloud_en_photovolta_que_autonome_autonomie_.ods | |Attachment=Serveur_orangepi-raspberry_nextcloud_en_photovolta_que_autonome_autonomie_.ods | ||
Ligne 63 : | Ligne 69 : | ||
}} | }} | ||
{{Tuto Step | {{Tuto Step | ||
− | |Step_Title=<translate>Materiel</translate> | + | |Step_Title=<translate><!--T:13--> |
− | |Step_Content=<translate>Les liens vers le materiel photovoltaïque utilisé sont dans le fichier autonomie.ods ( lisible avec libreoffice) attaché à ce tutoriel. | + | Materiel</translate> |
+ | |Step_Content=<translate><!--T:14--> | ||
+ | Les liens vers le materiel photovoltaïque utilisé sont dans le fichier autonomie.ods ( lisible avec libreoffice) attaché à ce tutoriel. | ||
+ | <!--T:15--> | ||
+ | - raspberry pi : | ||
+ | <!--T:16--> | ||
+ | 42€ sur leboncoin | ||
+ | |||
+ | <!--T:17--> | ||
-Orange pi : | -Orange pi : | ||
+ | <!--T:18--> | ||
Carte utilisée: Orange pi 5 | Carte utilisée: Orange pi 5 | ||
+ | <!--T:19--> | ||
ordinateur monocarte avec 4,8,16 ou 32 Go de ram | ordinateur monocarte avec 4,8,16 ou 32 Go de ram | ||
+ | <!--T:20--> | ||
Un processeur à 2,4Ghz ARM Cortex-A55 | Un processeur à 2,4Ghz ARM Cortex-A55 | ||
+ | <!--T:21--> | ||
Cette carte est compatible avec les disques nvme pcie 2.0 ssd 2242 ou 2230 (le pcie étant rétrocompatible cad que les 3.0, 4.0, 5.0 fonctionnent à vitesse réduite sur l'orange pi 5) | Cette carte est compatible avec les disques nvme pcie 2.0 ssd 2242 ou 2230 (le pcie étant rétrocompatible cad que les 3.0, 4.0, 5.0 fonctionnent à vitesse réduite sur l'orange pi 5) | ||
+ | <!--T:22--> | ||
Meme principe qu'ici [[Spécial:AjouterDonnées/Tutorial/Ordinateur low-tech|Ordinateur low-tech]] mais un peu plus puissant et on peut y brancher un disque dur (pratique pour nextcloud qui est fait pour héberger des fichiers) et ca démarre tout seul sur clé usb. | Meme principe qu'ici [[Spécial:AjouterDonnées/Tutorial/Ordinateur low-tech|Ordinateur low-tech]] mais un peu plus puissant et on peut y brancher un disque dur (pratique pour nextcloud qui est fait pour héberger des fichiers) et ca démarre tout seul sur clé usb. | ||
+ | <!--T:23--> | ||
Prix: 143€ neuf sur aliexpress en version 16 Go au 2 août 2023 | Prix: 143€ neuf sur aliexpress en version 16 Go au 2 août 2023 | ||
+ | <!--T:24--> | ||
En occasion leboncoin, on trouve plus facilement des raspberry aux alentours de 100€. | En occasion leboncoin, on trouve plus facilement des raspberry aux alentours de 100€. | ||
+ | <!--T:25--> | ||
Il est nécessaire d'acheter une petit boitier à 10€ (ou en fabriquer un ) en plus pour éviter que la carte soit à nue | Il est nécessaire d'acheter une petit boitier à 10€ (ou en fabriquer un ) en plus pour éviter que la carte soit à nue | ||
− | + | <!--T:26--> | |
-Stockage/disque dur: | -Stockage/disque dur: | ||
+ | <!--T:27--> | ||
Ici on utilise une clé usb Kingston 32Go et une carte nvme samsung de 512Go. | Ici on utilise une clé usb Kingston 32Go et une carte nvme samsung de 512Go. | ||
+ | <!--T:28--> | ||
On peut brancher une disque dur de plus grande capacité soit en usb, soit une carte nvme (nvme pcie 2.0 ssd 2242 ou 2230. compatible avec les pcie 3.0 4.0 et superieur mais la vitesse est réduite). | On peut brancher une disque dur de plus grande capacité soit en usb, soit une carte nvme (nvme pcie 2.0 ssd 2242 ou 2230. compatible avec les pcie 3.0 4.0 et superieur mais la vitesse est réduite). | ||
+ | <!--T:29--> | ||
Une carte nvme samsung 2242 de 500Go coute 50€ environ au 2 août 2023. | Une carte nvme samsung 2242 de 500Go coute 50€ environ au 2 août 2023. | ||
− | + | <!--T:30--> | |
-clé usb : 10€ | -clé usb : 10€ | ||
− | + | <!--T:31--> | |
-cable rj45: 5€ | -cable rj45: 5€ | ||
− | + | <!--T:32--> | |
-Box internet ou modem 4G selon votre connection internet. | -Box internet ou modem 4G selon votre connection internet. | ||
− | + | <!--T:33--> | |
-Panneau solaire: Ici on utilise un panneau flexible de 120W acheté 115€ neuf mais on en trouve à 30€ d'occasion sur leboncoin équivalent en puissance. | -Panneau solaire: Ici on utilise un panneau flexible de 120W acheté 115€ neuf mais on en trouve à 30€ d'occasion sur leboncoin équivalent en puissance. | ||
+ | <!--T:34--> | ||
Note: Pour le besoin théorique. Voir fichier autonomie.ods | Note: Pour le besoin théorique. Voir fichier autonomie.ods | ||
− | + | <!--T:35--> | |
-batterie de voiture usée: utiliser sa précédente batterie de voiture plomb acide lorsqu'elle commence à lacher quand il fait trop chaud! | -batterie de voiture usée: utiliser sa précédente batterie de voiture plomb acide lorsqu'elle commence à lacher quand il fait trop chaud! | ||
− | + | <!--T:36--> | |
-convertisseur batterie 12/24V-usb 5V: 20€ evitez amazon si vous le pouvez) | -convertisseur batterie 12/24V-usb 5V: 20€ evitez amazon si vous le pouvez) | ||
+ | <!--T:37--> | ||
+ | - regulateur pwm 30A: 30€ neuf si on ne prend pas de la marque | ||
− | - | + | <!--T:38--> |
− | + | - DRL (interupteur jour/nuit 13V): 1,5€ neuf | |
− | - DRL (interupteur jour/nuit 13V): 1,5€ neuf | ||
+ | <!--T:39--> | ||
(mot clé "Kit de feux de jour à LED pour voiture, contrôleur marche/arrêt automatique DRL") | (mot clé "Kit de feux de jour à LED pour voiture, contrôleur marche/arrêt automatique DRL") | ||
+ | <!--T:40--> | ||
+ | -cable electrique mc4: 20€ | ||
− | - | + | <!--T:41--> |
+ | Total prix d'occasion orangepi: 256,50€ | ||
− | Total prix | + | <!--T:42--> |
+ | Total prix neuf orangepi: 431,50€ | ||
− | Total prix | + | <!--T:43--> |
+ | Total prix d'occasion raspberry: 165€ | ||
+ | <!--T:44--> | ||
Voir fichier autonomie.ods | Voir fichier autonomie.ods | ||
− | + | <!--T:45--> | |
-</translate> | -</translate> | ||
|Step_Picture_00=Serveur_orangepi-raspberry_nextcloud_en_photovolta_que_autonome_IMG_20230821_192859_778.jpg | |Step_Picture_00=Serveur_orangepi-raspberry_nextcloud_en_photovolta_que_autonome_IMG_20230821_192859_778.jpg | ||
Ligne 140 : | Ligne 174 : | ||
}} | }} | ||
{{Tuto Step | {{Tuto Step | ||
− | |Step_Title=<translate>Installation de nextcloud 1/4</translate> | + | |Step_Title=<translate><!--T:46--> |
− | |Step_Content=<translate>1.Téléchargement de dietpi et préparation de la clé usb | + | Installation de nextcloud 1/4</translate> |
+ | |Step_Content=<translate><!--T:47--> | ||
+ | 1.Téléchargement de dietpi et préparation de la clé usb | ||
+ | <!--T:48--> | ||
+ | Pour l'installation, je vous conseille d'utiliser dietpi. L'interet de dietpi est notamment la legereté du systeme pour des ordinateurs monocartes, mais aussi l'installation automatique de logiciels libres par un menu relativement "user friendly". On peut mentionner parmis tous les logiciels installables automatiquement au démarrage du systeme (https://dietpi.com/dietpi-software.html) des applis de domotique, interessante pour économiser de l'énergie en fonction de la meteo, mais aussi les relais "tor" pour contribuer au réseau relativement anonymisant tor, interessant pour les "éco terroristes" que nous sommes. | ||
− | + | <!--T:49--> | |
− | + | Il faut aussi mentionner "younohost" (https://yunohost.org/fr) qui est français et qui fait le même boulot que dietpi pour les raspberry et qui est aussi "user friendly" sinon plus. Je n'ai pas encore testé yunohost car j'avais mis de côté le raspberry pi suite à des bugs de souris trop étranges. Mes recherches pour éviter les bugs de souris trop étranges n'ayant pas abouti positivement (purism, odroid, raspberry, orangpi, macbook, windows, voir section sécurité), je ne peux que faire état de ce que j'ai effectivement essayé. | |
− | |||
− | |||
− | |||
− | |||
+ | <!--T:50--> | ||
https://dietpi.com/#download | https://dietpi.com/#download | ||
+ | <!--T:51--> | ||
+ | ( pour younohost : https://yunohost.org/fr/install/hardware:arm) | ||
+ | <!--T:52--> | ||
Selectionner votre ordinateur monocarte (orange pi dans le cas présent) puis telecharger | Selectionner votre ordinateur monocarte (orange pi dans le cas présent) puis telecharger | ||
− | + | <!--T:53--> | |
Dezipper l'archive obtenue. | Dezipper l'archive obtenue. | ||
− | + | <!--T:54--> | |
Utiliser ensuite balena etcher pour créer une clé usb bootable pour installer dietpi sur votre ordinateur monocarte (orange pi 5 dans le cas présent mais ca fonctionne pareil sur d'autres ordinateurs monocartes). | Utiliser ensuite balena etcher pour créer une clé usb bootable pour installer dietpi sur votre ordinateur monocarte (orange pi 5 dans le cas présent mais ca fonctionne pareil sur d'autres ordinateurs monocartes). | ||
− | + | <!--T:55--> | |
https://etcher.balena.io/#download-etcher | https://etcher.balena.io/#download-etcher | ||
− | + | <!--T:56--> | |
Double cliquer sur le fichier téléchargé | Double cliquer sur le fichier téléchargé | ||
− | + | <!--T:57--> | |
Selectionner l'image de dietpi téléchargée, selectionner votre clé usb, cliquer sur flash. | Selectionner l'image de dietpi téléchargée, selectionner votre clé usb, cliquer sur flash. | ||
− | + | <!--T:58--> | |
Il ne vous reste plus qu'à brancher la clé usb sur le orangepi et il bootera automatiquement sur la clé usb. | Il ne vous reste plus qu'à brancher la clé usb sur le orangepi et il bootera automatiquement sur la clé usb. | ||
− | + | <!--T:59--> | |
Pour un raspberry pi, on utilise une carte sd mais on peut configurer le boot usb également (voir ici : https://makerhelp.fr/booter-un-raspberry-pi-4-sur-un-disque-dur-ou-un-ssd-en-usb/). | Pour un raspberry pi, on utilise une carte sd mais on peut configurer le boot usb également (voir ici : https://makerhelp.fr/booter-un-raspberry-pi-4-sur-un-disque-dur-ou-un-ssd-en-usb/). | ||
− | + | <!--T:60--> | |
2. Installation de nextcloud | 2. Installation de nextcloud | ||
− | + | <!--T:61--> | |
Allumer votre orangepi/raspberrypi avec la clé usb branchée. | Allumer votre orangepi/raspberrypi avec la clé usb branchée. | ||
− | + | <!--T:62--> | |
Le login par défaut au démarrage est root et le mot de passe dietpi. | Le login par défaut au démarrage est root et le mot de passe dietpi. | ||
+ | <!--T:63--> | ||
+ | Suivre les menus que vous propose dietpi au premier démarrage pour installer le service nextcloud. C'es très facile, c'est en anglais et tout est automatisé. J'ai mis les images des menus à sélectionner pour l'installation de nextcloud dans cette etape et les étapes 3 à 6. | ||
− | + | <!--T:64--> | |
− | |||
− | |||
Vous pouvez vous déplacer dans les menus au clavier avec les fleches et la touche tab. | Vous pouvez vous déplacer dans les menus au clavier avec les fleches et la touche tab. | ||
− | + | <!--T:65--> | |
Selectionner avec espace et valider avec entree. | Selectionner avec espace et valider avec entree. | ||
− | + | <!--T:66--> | |
Voir images des étapes 3 à 6 pour le déroulement de l'installation et les entrées à sélectionner. | Voir images des étapes 3 à 6 pour le déroulement de l'installation et les entrées à sélectionner. | ||
− | + | <!--T:67--> | |
− | |||
<br /></translate> | <br /></translate> | ||
|Step_Picture_00=Serveur_orangepi-raspberry_nextcloud_en_photovolta_que_autonome_10.png | |Step_Picture_00=Serveur_orangepi-raspberry_nextcloud_en_photovolta_que_autonome_10.png | ||
Ligne 209 : | Ligne 246 : | ||
}} | }} | ||
{{Tuto Step | {{Tuto Step | ||
− | |Step_Title=<translate>Installation de nextcloud 2/4</translate> | + | |Step_Title=<translate><!--T:68--> |
− | |Step_Content=<translate>Voir images</translate> | + | Installation de nextcloud 2/4</translate> |
+ | |Step_Content=<translate><!--T:69--> | ||
+ | Voir images</translate> | ||
|Step_Picture_00=Serveur_orangepi-raspberry_nextcloud_en_photovolta_que_autonome_05.jpg | |Step_Picture_00=Serveur_orangepi-raspberry_nextcloud_en_photovolta_que_autonome_05.jpg | ||
|Step_Picture_01=Serveur_orangepi-raspberry_nextcloud_en_photovolta_que_autonome_06.jpg | |Step_Picture_01=Serveur_orangepi-raspberry_nextcloud_en_photovolta_que_autonome_06.jpg | ||
Ligne 219 : | Ligne 258 : | ||
}} | }} | ||
{{Tuto Step | {{Tuto Step | ||
− | |Step_Title=<translate>Installation de nextcloud 3/4</translate> | + | |Step_Title=<translate><!--T:70--> |
− | |Step_Content=<translate>Voir images</translate> | + | Installation de nextcloud 3/4</translate> |
+ | |Step_Content=<translate><!--T:71--> | ||
+ | Voir images</translate> | ||
|Step_Picture_00=Serveur_orangepi-raspberry_nextcloud_en_photovolta_que_autonome_11.jpg | |Step_Picture_00=Serveur_orangepi-raspberry_nextcloud_en_photovolta_que_autonome_11.jpg | ||
|Step_Picture_01=Serveur_orangepi-raspberry_nextcloud_en_photovolta_que_autonome_12.jpg | |Step_Picture_01=Serveur_orangepi-raspberry_nextcloud_en_photovolta_que_autonome_12.jpg | ||
Ligne 229 : | Ligne 270 : | ||
}} | }} | ||
{{Tuto Step | {{Tuto Step | ||
− | |Step_Title=<translate>Installation de nextcloud 4/4</translate> | + | |Step_Title=<translate><!--T:72--> |
− | |Step_Content=<translate>Voir images</translate> | + | Installation de nextcloud 4/4</translate> |
+ | |Step_Content=<translate><!--T:73--> | ||
+ | Voir images</translate> | ||
|Step_Picture_00=Serveur_orangepi-raspberry_nextcloud_en_photovolta_que_autonome_17.jpg | |Step_Picture_00=Serveur_orangepi-raspberry_nextcloud_en_photovolta_que_autonome_17.jpg | ||
|Step_Picture_01=Serveur_orangepi-raspberry_nextcloud_en_photovolta_que_autonome_18.jpg | |Step_Picture_01=Serveur_orangepi-raspberry_nextcloud_en_photovolta_que_autonome_18.jpg | ||
Ligne 238 : | Ligne 281 : | ||
}} | }} | ||
{{Tuto Step | {{Tuto Step | ||
− | |Step_Title=<translate>configuration du reseau local</translate> | + | |Step_Title=<translate><!--T:74--> |
− | |Step_Content=<translate> | + | configuration du reseau local ethernet ou wifi</translate> |
+ | |Step_Content=<translate><!--T:566--> | ||
+ | <u>'''Si vous n'avez pas de box et que vous avez un orangepi ou un raspberrypi et que vous voulez vous connecter à un wifi (par exemple le wifi d'un smartphone en partage de connexion)'''</u> | ||
− | ( | + | <!--T:567--> |
+ | Dietpi fournit un utilitaire pour configurer automatiquement le wifi qui fonctionne sur raspberry. Chez moi ca ne fonctionne que si le réseau est en wpa2. Si vous voulez activer le WPA3 ou si vous voulez configurer votre wifi à la main, voici les étapes à suivre. | ||
+ | |||
+ | <!--T:568--> | ||
+ | Linux est un peu compliqué pour la gestion des réseaux. Il existe une multitude de programmes permettant de gérer les réseaux (networking, network interfaces, ifup, wpa_supplicant, network_manager, ifconfig, ip...). | ||
+ | |||
+ | <!--T:569--> | ||
+ | Si vous vous y connaissez je vous laisse choisir ce qui vous convient le mieux. | ||
+ | |||
+ | <!--T:570--> | ||
+ | Sinon, on utilisera les programmes installés par défaut dans dietpi pour la gestion des interfaces wifi : wpa_supplicant et dhclient. | ||
+ | |||
+ | <!--T:571--> | ||
+ | Commencer par brancher un adaptateur usb wifi à votre orangepi ou verifier que votre adaptateur | ||
+ | wifi sur votre raspberry pi est bien détecté. | ||
+ | |||
+ | <!--T:572--> | ||
+ | Sur un orangepi: verifier que l'adaptateur est bien détecté en tapant | ||
+ | <pre>lsusb</pre> | ||
+ | |||
+ | <!--T:573--> | ||
+ | Cette commande va lister les périphériques usb et vous devriez voir votre clé usb wifi dans la liste. | ||
+ | Verifier ensuite que les drivers de votre clé ont bien été chargés en tapant: | ||
+ | <pre>dmesg | grep usb</pre> | ||
+ | ou pour lire tous les pilotes chargés par linux en tapant | ||
+ | <pre>dmesg | less</pre> | ||
+ | |||
+ | <!--T:574--> | ||
+ | Vous pouvez trouver à cette adresse une liste d'adaptateur usb qui fonctionnent nativement sous linux : | ||
+ | https://github.com/morrownr/USB-WiFi/blob/main/home/USB_WiFi_Adapters_that_are_supported_with_Linux_in-kernel_drivers.md | ||
+ | |||
+ | <!--T:575--> | ||
+ | Sur un orange pi ou raspberry pi : taper la commande | ||
+ | <pre>ip a</pre> | ||
+ | |||
+ | <!--T:576--> | ||
+ | Vous devriez voir votre adaptateur wifi sous le nom d'interface wlan0. | ||
+ | On supposera dans la suite du tuto que le nom de l'interface est wlan0. | ||
+ | Si ce n'est pas le cas, remplacer wlan0 par le nom de votre interface. | ||
+ | |||
+ | <!--T:577--> | ||
+ | Nou allons vérifier que votre interface est bien déclarée. Ouvrir le fichier | ||
+ | /etc/network/interfaces en tapant: | ||
+ | <pre>nano /etc/network/interfaces</pre> | ||
+ | |||
+ | <!--T:578--> | ||
+ | Vous devez avoir les lignes suivantes. Si elles n'y sont pas ajouter les. | ||
+ | |||
+ | <!--T:579--> | ||
+ | <pre> | ||
+ | auto wlan0 | ||
+ | iface wlan0 inet dhcp | ||
+ | wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf | ||
+ | </pre> | ||
+ | |||
+ | <!--T:580--> | ||
+ | Nous allons maintenant configurer wpa_supplicant pour activer la connection wifi. | ||
+ | |||
+ | <!--T:581--> | ||
+ | Pour cela, editer le fichier /etc/wpa_supplicant/wpa_supplicant.conf en tapant les | ||
+ | commandes suivantes: | ||
+ | (remplacer votre.ssid par le nom que vous donnez à votre reseau wifi | ||
+ | et votre.password par votre mot de passe) | ||
+ | |||
+ | <!--T:582--> | ||
+ | <pre> | ||
+ | echo "ctrl_interface=/run/wpa_supplicant" | sudo tee /etc/wpa_supplicant/wpa_supplicant.conf | ||
+ | echo "ap_scan=1" | sudo tee -a /etc/wpa_supplicant/wpa_supplicant.conf | ||
+ | echo "update_config=1" | sudo tee -a /etc/wpa_supplicant/wpa_supplicant.conf | ||
+ | echo "network={" | sudo tee -a /etc/wpa_supplicant/wpa_supplicant.conf | ||
+ | echo 'ssid="votre.ssid"' | sudo tee -a /etc/wpa_supplicant/wpa_supplicant.conf | ||
+ | echo "scan_ssid=1" | sudo tee -a /etc/wpa_supplicant/wpa_supplicant.conf | ||
+ | echo "proto=WPA RSN" | sudo tee -a /etc/wpa_supplicant/wpa_supplicant.conf | ||
+ | </pre> | ||
+ | |||
+ | <!--T:583--> | ||
+ | Maintenant, la configuration differe si votre wifi est un wifi WPA2 ou WPA3. | ||
+ | |||
+ | <!--T:584--> | ||
+ | Si cest un wpa2, ajouter: | ||
+ | <pre> | ||
+ | echo "key_mgmt=WPA-PSK | sudo tee -a /etc/wpa_supplicant/wpa_supplicant.conf | ||
+ | echo 'psk="votre.password"' | sudo tee -a /etc/wpa_supplicant/wpa_supplicant.conf | ||
+ | echo "}" | sudo tee -a /etc/wpa_supplicant/wpa_supplicant.conf | ||
+ | </pre> | ||
+ | |||
+ | <!--T:585--> | ||
+ | Si cest un wpa3, ajouter: | ||
+ | <pre> | ||
+ | echo "key_mgmt=SAE | sudo tee -a /etc/wpa_supplicant/wpa_supplicant.conf | ||
+ | echo 'sae_password="votre.password"' | sudo tee -a /etc/wpa_supplicant/wpa_supplicant.conf | ||
+ | echo "ieee80211w=2" | sudo tee -a /etc/wpa_supplicant/wpa_supplicant.conf | ||
+ | echo "}" | sudo tee -a /etc/wpa_supplicant/wpa_supplicant.conf | ||
+ | </pre> | ||
+ | |||
+ | <!--T:586--> | ||
+ | Lancer maintenant wpa_supplicant avec les commandes: | ||
+ | <pre> | ||
+ | export PATH="/usr/sbin:$PATH" | ||
+ | sudo wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf | ||
+ | </pre> | ||
+ | |||
+ | <!--T:587--> | ||
+ | Lancer ensuite dhclient pour obtenir une ip sur votre reseau: | ||
+ | <pre> | ||
+ | sudo dhclient wlan0 | ||
+ | </pre> | ||
+ | |||
+ | <!--T:588--> | ||
+ | Verifier que vous etes connecté: | ||
+ | <pre> | ||
+ | curl google.com | ||
+ | </pre> | ||
+ | |||
+ | <!--T:589--> | ||
+ | Voilà vous êtes connecté. | ||
+ | |||
+ | <!--T:590--> | ||
+ | Si ca ne fonctionne pas bien chez vous, je vous conseille les liens suivants pour débugguer ou comprendre mieux à quoi servent ces commandes: | ||
+ | https://wiki.archlinux.org/title/Wpa_supplicant | ||
+ | https://doc.ubuntu-fr.org/wifi_ligne_de_commande | ||
+ | https://www.linuxbabe.com/command-line/ubuntu-server-16-04-wifi-wpa-supplicant | ||
+ | |||
+ | |||
+ | <!--T:591--> | ||
+ | Pour automatiser la connection au démarrage de l'ordinateur: | ||
+ | |||
+ | <!--T:592--> | ||
+ | <pre> | ||
+ | sudo cp /lib/systemd/system/wpa_supplicant.service /etc/systemd/system/wpa_supplicant.service | ||
+ | sudo nano /etc/systemd/system/wpa_supplicant.service | ||
+ | </pre> | ||
+ | |||
+ | <!--T:593--> | ||
+ | Votre fichier doit ressembler à cela: | ||
+ | |||
+ | <!--T:594--> | ||
+ | <pre> | ||
+ | [Unit] | ||
+ | Description=WPA Supplicant | ||
+ | Before=network.target | ||
+ | After=dbus.service | ||
+ | Wants=network.target | ||
+ | IgnoreOnIsolate=true | ||
+ | |||
+ | <!--T:595--> | ||
+ | [Service] | ||
+ | Type=dbus | ||
+ | BusName=fi.w1.wpa_supplicant1 | ||
+ | ExecStart=/sbin/wpa_supplicant -u -s -c /etc/wpa_supplicant/wpa_supplicant.conf -i wlan0 | ||
+ | Group=netdev | ||
+ | RuntimeDirectory=wpa_supplicant | ||
+ | RuntimeDirectoryMode=0750 | ||
+ | Restart=always | ||
+ | |||
+ | <!--T:596--> | ||
+ | [Install] | ||
+ | WantedBy=multi-user.target | ||
+ | </pre> | ||
+ | |||
+ | <!--T:597--> | ||
+ | Lancer ensuite la commande pour automatiser le demarrage du service au boot: | ||
+ | <pre>sudo systemctl enable wpa_supplicant.service</pre> | ||
+ | |||
+ | <!--T:598--> | ||
+ | Editer ensuite le service dhclient pour automatiser son demarrage: | ||
+ | |||
+ | <!--T:599--> | ||
+ | <pre>sudo nano /etc/systemd/system/dhclient.service</pre> | ||
+ | |||
+ | <!--T:600--> | ||
+ | Ajouter le texte suivant : | ||
+ | <!--T:601--> | ||
+ | <pre> | ||
+ | [Unit] | ||
+ | Description= DHCP Client | ||
+ | Before=network.target | ||
+ | <!--T:602--> | ||
+ | [Service] | ||
+ | Type=forking | ||
+ | ExecStart=/sbin/dhclient wlan0 -v | ||
+ | ExecStop=/sbin/dhclient wlan0 -r | ||
+ | Restart=always | ||
− | + | <!--T:603--> | |
+ | [Install] | ||
+ | WantedBy=multi-user.target | ||
+ | </pre> | ||
− | + | <!--T:604--> | |
+ | puis lancer la commande: | ||
− | + | <!--T:605--> | |
+ | <pre>sudo systemctl enable dhclient.service</pre> | ||
− | |||
− | + | <!--T:606--> | |
+ | '''<u>Si vous avez une box:</u>''' | ||
− | + | <!--T:607--> | |
+ | Brancher le orangepi ou le raspberry pi à votre box internet | ||
− | + | <!--T:608--> | |
+ | (avec un cable rj45 pour le orange pi qui n'a pas le wifi par défaut, avec un cable rj45 ou en wifi pour votre raspberry pi) | ||
+ | <!--T:609--> | ||
Pour obtenir l'ip de votre dietpi ou raspberry pi, taper la commande suivante: | Pour obtenir l'ip de votre dietpi ou raspberry pi, taper la commande suivante: | ||
− | + | <!--T:610--> | |
'''ip a''' | '''ip a''' | ||
− | + | <!--T:611--> | |
L'adresse ip s'affiche (192.168.2.2 sur l'image jointe) | L'adresse ip s'affiche (192.168.2.2 sur l'image jointe) | ||
+ | <!--T:612--> | ||
+ | Verifier que votre serveur est accessible depuis un autre ordinateur connecté à votre box ou routeur connecté au modem 4g ou réseau wifi en tapant dans la barre de votre navigateur (en remplacant adresse_ip par l'adresse trouvée avec la commande ip a) | ||
− | + | <!--T:613--> | |
− | |||
'''<nowiki>http://adresse_ip/nextcloud/</nowiki>''' | '''<nowiki>http://adresse_ip/nextcloud/</nowiki>''' | ||
+ | <!--T:614--> | ||
'''<u>Rendre votre réseau local accessible depuis internet:</u>''' | '''<u>Rendre votre réseau local accessible depuis internet:</u>''' | ||
+ | <!--T:615--> | ||
+ | Si vous n'avez pas de box internet ('''reseau wifi de votre telephone ou modem 4g ou box 4g, se reporter aux etapes 7 et 8''') | ||
− | + | <!--T:616--> | |
+ | Si vous avez une box internet: | ||
+ | <!--T:617--> | ||
+ | Pour rendre votre dietpi accessible depuis internet, il faut aller dans la configuration de votre box et | ||
+ | |||
+ | <!--T:618--> | ||
dans la section "NAT" "Port Forwarding" mettre le port 80 et renseigner l'ip trouvée précedemment ainsi que le port 443 et renseigner l'ip trouvée précédemment également. | dans la section "NAT" "Port Forwarding" mettre le port 80 et renseigner l'ip trouvée précedemment ainsi que le port 443 et renseigner l'ip trouvée précédemment également. | ||
+ | <!--T:619--> | ||
+ | Je n'ai pas de box donc je n'ai pas pu vous faire de screenshot mais vous trouverez des ressources sur internet pour cela. Par exemple https://pratiquepc.fr/ouvrir-des-ports-sur-une-livebox/ | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | <!--T:620--> | ||
+ | '''<u>Si vous voulez vous connecter en ssh à votre serveur dietpi depuis un autre ordinateur:</u>''' | ||
+ | |||
+ | |||
+ | <!--T:621--> | ||
+ | Pour se connecter en ssh sans login avec dropbear au orange pi/raspberry pi | ||
+ | |||
+ | <!--T:622--> | ||
+ | copier votre clé publique ssh dans le fichier authorized_keys | ||
+ | |||
+ | <!--T:623--> | ||
+ | placé dans ~/.ssh/authorized_keys | ||
+ | |||
+ | <!--T:624--> | ||
+ | ne pas oublier de faire un chmod 0600 sur ce fichier | ||
+ | |||
+ | |||
+ | <!--T:625--> | ||
+ | Pour le orange pi, qui utilise dropbear: | ||
+ | |||
+ | <!--T:626--> | ||
+ | ajouter la ligne DROPBEAR_EXTRA_ARGS="-s" | ||
+ | |||
+ | <!--T:627--> | ||
+ | au fichier /etc/default/dropbear | ||
− | |||
+ | <!--T:628--> | ||
Vous pouvez ensuite trouver votre ip publique (celle accessible par tous sur internet) en tapant depuis votre console dietpi | Vous pouvez ensuite trouver votre ip publique (celle accessible par tous sur internet) en tapant depuis votre console dietpi | ||
+ | <!--T:629--> | ||
'''curl ifconfig.me''' | '''curl ifconfig.me''' | ||
+ | <!--T:630--> | ||
(si curl n'est pas installé lancer la commande apt update && apt install curl) | (si curl n'est pas installé lancer la commande apt update && apt install curl) | ||
+ | <!--T:631--> | ||
Une fois la configuration NAT/Port Forwarding effectué, tester si nextcloud est accessible sur internet en rentrant l'adresse suivante dans la barre de votre navigateur internet: | Une fois la configuration NAT/Port Forwarding effectué, tester si nextcloud est accessible sur internet en rentrant l'adresse suivante dans la barre de votre navigateur internet: | ||
+ | <!--T:632--> | ||
'''[http://adresse_ip_publique>/nextcloud/ <nowiki>http://adresse_ip_publique</nowiki>/nextcloud/]''' | '''[http://adresse_ip_publique>/nextcloud/ <nowiki>http://adresse_ip_publique</nowiki>/nextcloud/]''' | ||
+ | <!--T:633--> | ||
(remplacer adresse_ip_publique par l'adresse trouvée précédemment | (remplacer adresse_ip_publique par l'adresse trouvée précédemment | ||
+ | <!--T:634--> | ||
Attention les navigateurs peuvent être un peu capricieux sans le https, si vous voulez tester en sortant du diagnostic une possible erreur navigateur taper dans un terminal linux : | Attention les navigateurs peuvent être un peu capricieux sans le https, si vous voulez tester en sortant du diagnostic une possible erreur navigateur taper dans un terminal linux : | ||
+ | <!--T:635--> | ||
curl '''[http://adresse_ip_publique>/nextcloud/ <nowiki>http://adresse_ip_publique</nowiki>/nextcloud/]'''</translate> | curl '''[http://adresse_ip_publique>/nextcloud/ <nowiki>http://adresse_ip_publique</nowiki>/nextcloud/]'''</translate> | ||
|Step_Picture_00=Serveur_orangepi-raspberry_nextcloud_en_photovolta_que_autonome_change-ubuntu-ip-address-step-7.jpg | |Step_Picture_00=Serveur_orangepi-raspberry_nextcloud_en_photovolta_que_autonome_change-ubuntu-ip-address-step-7.jpg | ||
}} | }} | ||
{{Tuto Step | {{Tuto Step | ||
− | |Step_Title=<translate>configuration d'un vpn wireguard pour rendre accessible votre serveur depuis une box 4g ou un modem 4g</translate> | + | |Step_Title=<translate><!--T:83--> |
− | |Step_Content=<translate><nowiki>[ATTENTION, cette section remet en question le marché des vpns!!]</nowiki> | + | configuration d'un vpn wireguard pour rendre accessible votre serveur depuis une box 4g ou un modem 4g</translate> |
− | + | |Step_Content=<translate><!--T:84--> | |
− | + | <nowiki>[ATTENTION, cette section remet en question le marché des vpns!!]</nowiki> | |
+ | <!--T:85--> | ||
+ | Cette section n'est utile que pour les connections 4G ou en wifi sur téléphone (4G ou 5G) | ||
+ | <!--T:86--> | ||
La 4g a l'avantage d'être mobile, avec une tres faible consommation du modem autour de 5W, et vous pouvez trouver des modems 4g sans wifi pour limiter la surface d'attaque de votre serveur (exemple netgear lm1200 autour de 150€). | La 4g a l'avantage d'être mobile, avec une tres faible consommation du modem autour de 5W, et vous pouvez trouver des modems 4g sans wifi pour limiter la surface d'attaque de votre serveur (exemple netgear lm1200 autour de 150€). | ||
− | + | <!--T:87--> | |
'''qu'est ce qu'un vpn?''' | '''qu'est ce qu'un vpn?''' | ||
+ | <!--T:88--> | ||
Les VPN sont principalement connus pour les "clients" vpn. C'est à dire que vous l'utilisez sur votre ordinateur pour vous "anonymiser". | Les VPN sont principalement connus pour les "clients" vpn. C'est à dire que vous l'utilisez sur votre ordinateur pour vous "anonymiser". | ||
− | Le vpn est en fait un tunnel entre votre ordinateur et un ordinateur distant à partir duquel partent vos requetes vers internet. Tout votre traffic en direction d'internet va passer par ce tunnel. | + | <!--T:89--> |
+ | Le vpn est en fait un tunnel entre votre ordinateur et un ordinateur distant à partir duquel partent vos requetes vers internet. Tout votre traffic en direction d'internet va passer par ce tunnel. | ||
− | Internet pense ainsi que vos requetes proviennent de cet ordinateur distant. C'est à dire que votre ip publique devient celle de cet ordinateur distant. | + | <!--T:90--> |
+ | Internet pense ainsi que vos requetes proviennent de cet ordinateur distant. C'est à dire que votre ip publique devient celle de cet ordinateur distant. | ||
+ | <!--T:91--> | ||
Votre fournisseur d'accès ne voit que le traffic entre votre ordinateur et cet ordinateur distant, ce qui vous "anonymise". | Votre fournisseur d'accès ne voit que le traffic entre votre ordinateur et cet ordinateur distant, ce qui vous "anonymise". | ||
− | + | <!--T:92--> | |
En réalité, vous êtes anonyme vis à vis de votre fournisseur d'acces à internet, mais vous ne faites que déplacer la confiance vers votre fournisseur vpn qui lui peut voir votre traffic. | En réalité, vous êtes anonyme vis à vis de votre fournisseur d'acces à internet, mais vous ne faites que déplacer la confiance vers votre fournisseur vpn qui lui peut voir votre traffic. | ||
+ | <!--T:93--> | ||
+ | Le vpn a aussi d'autres utilités comme vous donner accès à des sites qui filtrent l'accès selon la "provenance" de votre adresse ip publique. | ||
− | + | <!--T:94--> | |
− | |||
− | |||
Vous pouvez tout à fait créer votre propre serveur vpn, et dans notre cas, ce serveur vpn permettra de rediriger les requetes internet faites sur ce serveur vers votre orange pi/raspberry pi en passant par le tunnel (dans l'autre sens que lorsque vous l'utilisez en tant que client pour accéder à internet). | Vous pouvez tout à fait créer votre propre serveur vpn, et dans notre cas, ce serveur vpn permettra de rediriger les requetes internet faites sur ce serveur vers votre orange pi/raspberry pi en passant par le tunnel (dans l'autre sens que lorsque vous l'utilisez en tant que client pour accéder à internet). | ||
− | + | <!--T:95--> | |
Et nous allons voir comment. | Et nous allons voir comment. | ||
+ | <!--T:96--> | ||
+ | '''Créer un serveur sur gandi.net''' | ||
− | + | <!--T:97--> | |
− | |||
− | |||
Créer un compte sur gandi.net, puis créer un serveur dans gandicloud vps. Voir les images jointes pour la création en 3 clics du serveur qui coute 5€/mois. | Créer un compte sur gandi.net, puis créer un serveur dans gandicloud vps. Voir les images jointes pour la création en 3 clics du serveur qui coute 5€/mois. | ||
+ | <!--T:98--> | ||
+ | Pour créer une clé ssh et se logger voir | ||
− | + | <!--T:99--> | |
− | |||
<nowiki>https://docs.gandi.net/fr/hebergement_web/connexion/cle_ssh.html</nowiki> | <nowiki>https://docs.gandi.net/fr/hebergement_web/connexion/cle_ssh.html</nowiki> | ||
+ | <!--T:100--> | ||
<nowiki>https://docs.gandi.net/fr/cloud/operations_courantes/connexion_serveur.html</nowiki> | <nowiki>https://docs.gandi.net/fr/cloud/operations_courantes/connexion_serveur.html</nowiki> | ||
− | + | <!--T:101--> | |
Une fois loggé sur le serveur, | Une fois loggé sur le serveur, | ||
+ | <!--T:102--> | ||
lancer la commande pour installer wireguard et les dépendances nécessaires | lancer la commande pour installer wireguard et les dépendances nécessaires | ||
+ | <!--T:103--> | ||
<blockquote>sudo apt update && sudo apt install wireguard resolvconf iptables nano -y</blockquote> | <blockquote>sudo apt update && sudo apt install wireguard resolvconf iptables nano -y</blockquote> | ||
+ | <!--T:104--> | ||
+ | Lancer la même commande sur votre orange pi/raspberry pi. | ||
− | + | <!--T:105--> | |
− | |||
− | |||
lancer ensuite les commandes suivantes sur votre | lancer ensuite les commandes suivantes sur votre | ||
serveur et sur le orange pi/raspberry pi pour creer les cles privés et publiques de wireguard | serveur et sur le orange pi/raspberry pi pour creer les cles privés et publiques de wireguard | ||
Ligne 368 : | Ligne 663 : | ||
</blockquote> | </blockquote> | ||
+ | <!--T:106--> | ||
Afficher la clé publique sur votre orange pi/raspberry pi en tapant | Afficher la clé publique sur votre orange pi/raspberry pi en tapant | ||
<blockquote>sudo cat /etc/wireguard/public_key</blockquote> | <blockquote>sudo cat /etc/wireguard/public_key</blockquote> | ||
Ligne 373 : | Ligne 669 : | ||
<blockquote>sudo cat /etc/wireguard/public_key</blockquote> | <blockquote>sudo cat /etc/wireguard/public_key</blockquote> | ||
+ | <!--T:107--> | ||
Entrer ensuite les commandes suivantes pour créer un fichier de configuration /etc/wireguard/wg0.conf sur votre serveur: | Entrer ensuite les commandes suivantes pour créer un fichier de configuration /etc/wireguard/wg0.conf sur votre serveur: | ||
+ | <!--T:108--> | ||
Taper les lignes suivantes (remplacer cle_publique_du_orange_pi_ou_raspberry_pi par celle affichée précédemment) : | Taper les lignes suivantes (remplacer cle_publique_du_orange_pi_ou_raspberry_pi par celle affichée précédemment) : | ||
+ | <!--T:109--> | ||
<blockquote>echo "[Interface]" <span>|</span> sudo tee /etc/wireguard/wg0.conf | <blockquote>echo "[Interface]" <span>|</span> sudo tee /etc/wireguard/wg0.conf | ||
<br><br> | <br><br> | ||
Ligne 391 : | Ligne 690 : | ||
echo "AllowedIPs=10.10.0.2/32" <span>|</span> sudo tee -a /etc/wireguard/wg0.conf</blockquote> | echo "AllowedIPs=10.10.0.2/32" <span>|</span> sudo tee -a /etc/wireguard/wg0.conf</blockquote> | ||
+ | <!--T:110--> | ||
Entrer ensuite la commande suivante sur le serveur pour lancer et activer le service vpn | Entrer ensuite la commande suivante sur le serveur pour lancer et activer le service vpn | ||
<blockquote>sudo systemctl start wg-quick@wg0 | <blockquote>sudo systemctl start wg-quick@wg0 | ||
Ligne 396 : | Ligne 696 : | ||
sudo systemctl enable wg-quick@wg0</blockquote> | sudo systemctl enable wg-quick@wg0</blockquote> | ||
+ | <!--T:111--> | ||
taper ensuite <blockquote>curl ifconfig.me</blockquote> pour obtenir l'ip publique de votre serveur | taper ensuite <blockquote>curl ifconfig.me</blockquote> pour obtenir l'ip publique de votre serveur | ||
− | + | <!--T:112--> | |
Taper les lignes suivantes (remplacer cle_publique_du_serveur par celle affichée précédemment et ip_publique_du_serveur par celle affichée précédemment) : | Taper les lignes suivantes (remplacer cle_publique_du_serveur par celle affichée précédemment et ip_publique_du_serveur par celle affichée précédemment) : | ||
+ | <!--T:113--> | ||
<blockquote>echo "[Interface]" <span>|</span> sudo tee /etc/wireguard/wg0.conf | <blockquote>echo "[Interface]" <span>|</span> sudo tee /etc/wireguard/wg0.conf | ||
<br><br> | <br><br> | ||
Ligne 415 : | Ligne 717 : | ||
echo "Endpoint=ip_publique_du_serveur:12345" <span>|</span> sudo tee -a /etc/wireguard/wg0.conf</blockquote> | echo "Endpoint=ip_publique_du_serveur:12345" <span>|</span> sudo tee -a /etc/wireguard/wg0.conf</blockquote> | ||
+ | <!--T:114--> | ||
La ligne AllowedIPS définit les ips de destination (sortantes) qui passeront par le tunnel et seront chiffrées mais aussi les ips entrantes autorisées. | La ligne AllowedIPS définit les ips de destination (sortantes) qui passeront par le tunnel et seront chiffrées mais aussi les ips entrantes autorisées. | ||
Si vous souhaitez configurer votre "client" (orange pi ou raspberry pi) pour utiliser le vpn pour accéder à internet, remplacer AllowedIPs=10.10.0.1/32 par AllowedIPs=0.0.0.0/0 | Si vous souhaitez configurer votre "client" (orange pi ou raspberry pi) pour utiliser le vpn pour accéder à internet, remplacer AllowedIPs=10.10.0.1/32 par AllowedIPs=0.0.0.0/0 | ||
Ligne 420 : | Ligne 723 : | ||
Il est alors important de bien configurer son firewall sur le serveur! | Il est alors important de bien configurer son firewall sur le serveur! | ||
+ | <!--T:115--> | ||
Pour vérifier que wireguard fonctionne, lancer la commande suivante sur le serveur vpn: | Pour vérifier que wireguard fonctionne, lancer la commande suivante sur le serveur vpn: | ||
<blockquote>ping 10.10.10.2 -c 4</blockquote> | <blockquote>ping 10.10.10.2 -c 4</blockquote> | ||
Le ping doit fonctionner | Le ping doit fonctionner | ||
+ | <!--T:116--> | ||
Ca ne fonctionne de façon systématique chez moi, mais je suis sur que si vous essayez loin de l'oeil de sauron votre météo numérique ira mieux que la mienne, et ca fonctionnera chez vous ;)</translate> | Ca ne fonctionne de façon systématique chez moi, mais je suis sur que si vous essayez loin de l'oeil de sauron votre météo numérique ira mieux que la mienne, et ca fonctionnera chez vous ;)</translate> | ||
|Step_Picture_00=Serveur_orangepi-raspberry_nextcloud_en_photovolta_que_autonome_gandi_1.png | |Step_Picture_00=Serveur_orangepi-raspberry_nextcloud_en_photovolta_que_autonome_gandi_1.png | ||
Ligne 429 : | Ligne 734 : | ||
}} | }} | ||
{{Tuto Step | {{Tuto Step | ||
− | |Step_Title=<translate>configuration d'un vpn openvpn pour rendre accessible votre serveur depuis une box 4g ou un modem 4g</translate> | + | |Step_Title=<translate><!--T:117--> |
− | |Step_Content=<translate><nowiki>Dans le cas où ca ne fonctionnerait pas avec wireguard, vous pouvez utiliser openvpn, (qui est configurable sans ligne de commande à la souris!). </nowiki> | + | configuration d'un vpn openvpn pour rendre accessible votre serveur depuis une box 4g ou un modem 4g</translate> |
− | + | |Step_Content=<translate><!--T:118--> | |
+ | <nowiki>Dans le cas où ca ne fonctionnerait pas avec wireguard, vous pouvez utiliser openvpn, (qui est configurable sans ligne de commande à la souris!). </nowiki> | ||
+ | <!--T:119--> | ||
+ | '''<u>Configuration du serveur proxy gandi.net:</u><br />''' | ||
Pour cela suivez les étapes suivantes (https://openvpn.net/vpn-server-resources/installing-openvpn-access-server-on-a-linux-system/): | Pour cela suivez les étapes suivantes (https://openvpn.net/vpn-server-resources/installing-openvpn-access-server-on-a-linux-system/): | ||
− | Update du 27/11/23: il n'y a pas de version bookworm d'openvpn-as disponible pour debian. Pensez à installer | + | <!--T:120--> |
+ | Update du 27/11/23: il n'y a pas de version bookworm d'openvpn-as disponible pour debian. Pensez à installer debian version bullseye | ||
+ | <!--T:121--> | ||
<blockquote>apt update && apt -y install ca-certificates wget net-tools gnupg | <blockquote>apt update && apt -y install ca-certificates wget net-tools gnupg | ||
<br> | <br> | ||
+ | <!--T:122--> | ||
<br> | <br> | ||
wget https://as-repository.openvpn.net/as-repo-public.asc -qO /etc/apt/trusted.gpg.d/as-repository.asc | wget https://as-repository.openvpn.net/as-repo-public.asc -qO /etc/apt/trusted.gpg.d/as-repository.asc | ||
<br> | <br> | ||
+ | <!--T:123--> | ||
<br> | <br> | ||
echo "deb [arch=amd64 signed-by=/etc/apt/trusted.gpg.d/as-repository.asc] http://as-repository.openvpn.net/as/debian bullseye main" <span>|</span> sudo tee /etc/apt/sources.list.d/openvpn-as-repo.list | echo "deb [arch=amd64 signed-by=/etc/apt/trusted.gpg.d/as-repository.asc] http://as-repository.openvpn.net/as/debian bullseye main" <span>|</span> sudo tee /etc/apt/sources.list.d/openvpn-as-repo.list | ||
<br> | <br> | ||
+ | <!--T:124--> | ||
<br> | <br> | ||
apt update && apt -y install openvpn-as | apt update && apt -y install openvpn-as | ||
<br> | <br> | ||
+ | <!--T:125--> | ||
<br> | <br> | ||
+ | <!--T:126--> | ||
</blockquote> | </blockquote> | ||
− | Si les commandes ci-dessus ne fonctionnent pas, il est possible qu'openvpn ait mis a jour des éléments. Merci alors de se reporter à https://openvpn.net/access-server/, s'inscrire, et suivre les instructions d'installation | + | <!--T:127--> |
+ | Si les commandes ci-dessus ne fonctionnent pas, il est possible qu'openvpn ait mis a jour des éléments. Merci alors de se reporter à https://openvpn.net/access-server/, s'inscrire, et suivre les instructions d'installation | ||
+ | <!--T:128--> | ||
+ | Rendez vous ensuite sur la page de configuration du serveur: https://<adresse_ip_du_serveur> | ||
− | + | <!--T:129--> | |
+ | login:openvpn | ||
− | + | <!--T:130--> | |
− | |||
password: indiqué dans le log de l'installation | password: indiqué dans le log de l'installation | ||
+ | |||
+ | <!--T:131--> | ||
<br><br> | <br><br> | ||
screen 1: | screen 1: | ||
Ligne 469 : | Ligne 789 : | ||
reentrer vos login/password | reentrer vos login/password | ||
+ | <!--T:132--> | ||
screen2: | screen2: | ||
Network settings: Activer UDP seulement et port 1194 puis save settings | Network settings: Activer UDP seulement et port 1194 puis save settings | ||
+ | <!--T:133--> | ||
screen3: | screen3: | ||
VPN Settings: remplir les champs comme indiqué sur le screenshot puis save settings | VPN Settings: remplir les champs comme indiqué sur le screenshot puis save settings | ||
+ | <!--T:134--> | ||
screen 4 et 5: | screen 4 et 5: | ||
User Management/User permission : changer le mot de passe dans local password et entrer l'adresse ip fixe du screeenshot puis save settings. | User Management/User permission : changer le mot de passe dans local password et entrer l'adresse ip fixe du screeenshot puis save settings. | ||
Ligne 482 : | Ligne 805 : | ||
https://adresse_ip_du_serveur:943 | https://adresse_ip_du_serveur:943 | ||
+ | <!--T:135--> | ||
screen 6: | screen 6: | ||
User Management/User profile: cliquer sur new profile | User Management/User profile: cliquer sur new profile | ||
Ligne 489 : | Ligne 813 : | ||
Ouvrir le fichier de configuration et trouver la ligne auth-user-pass et la remplacer par la ligne suivante: | Ouvrir le fichier de configuration et trouver la ligne auth-user-pass et la remplacer par la ligne suivante: | ||
<blockquote>auth-user-pass auth.txt</blockquote> | <blockquote>auth-user-pass auth.txt</blockquote> | ||
− | <br><br> | + | |
+ | <!--T:136--> | ||
+ | '''<u>Configuration du orangepi/raspberrypi</u>''' | ||
+ | <br><br><br> | ||
Lancer ensuite sur le orangepi raspberry pi: | Lancer ensuite sur le orangepi raspberry pi: | ||
− | <blockquote>sudo apt update && sudo apt install openvpn | + | <blockquote>sudo apt update && sudo apt install openvpn</blockquote> |
− | < | + | |
+ | <!--T:137--> | ||
+ | <br> | ||
Copier le fichier de configuration télécharger vers /etc/openvpn/client/openvpn.conf sur votre orangepi/raspberry pi | Copier le fichier de configuration télécharger vers /etc/openvpn/client/openvpn.conf sur votre orangepi/raspberry pi | ||
<br><br> | <br><br> | ||
creer un fichier auth.txt dans /etc/openvpn/client/ dans lequel vous copiez les deux lignes suivantes en remplacant password par votre mot de passe: | creer un fichier auth.txt dans /etc/openvpn/client/ dans lequel vous copiez les deux lignes suivantes en remplacant password par votre mot de passe: | ||
− | openvpn | + | <br><br> |
+ | <blockquote> | ||
+ | openvpn<br> | ||
password | password | ||
+ | </blockquote> | ||
<br><br> | <br><br> | ||
Lancer ensuite le client vpn: | Lancer ensuite le client vpn: | ||
Ligne 512 : | Ligne 844 : | ||
}} | }} | ||
{{Tuto Step | {{Tuto Step | ||
− | |Step_Title=<translate>Rediriger les requetes du serveur vpn vers le orange pi-raspberry pi</translate> | + | |Step_Title=<translate><!--T:138--> |
− | |Step_Content=<translate>Pour rediriger les requetes sur le serveur vers le orange pi / raspberry pi, on met en place un serveur logiciel web nginx: | + | Rediriger les requetes du serveur vpn vers le orange pi-raspberry pi</translate> |
− | + | |Step_Content=<translate><!--T:139--> | |
+ | Pour rediriger les requetes sur le serveur vers le orange pi / raspberry pi, on met en place un serveur logiciel web nginx: | ||
+ | <!--T:140--> | ||
<blockquote>sudo apt install nginx -y</blockquote> | <blockquote>sudo apt install nginx -y</blockquote> | ||
− | + | <!--T:141--> | |
On ouvre ensuite le fichier de configuration de ce logiciel serveur web: | On ouvre ensuite le fichier de configuration de ce logiciel serveur web: | ||
+ | <!--T:142--> | ||
<blockquote>sudo nano /etc/nginx/sites-enabled/default</blockquote> | <blockquote>sudo nano /etc/nginx/sites-enabled/default</blockquote> | ||
+ | <!--T:143--> | ||
+ | Remplacer le contenu du fichier par ce qui suit: | ||
− | + | <!--T:144--> | |
− | |||
− | |||
<blockquote>server { | <blockquote>server { | ||
+ | <!--T:145--> | ||
listen 80; | listen 80; | ||
− | server_name localhost; | + | <!--T:146--> |
+ | server_name localhost; | ||
+ | <!--T:147--> | ||
server_tokens off; | server_tokens off; | ||
+ | <!--T:148--> | ||
add_header Permissions-Policy "accelerometer=(),autoplay=(),camera=(),display-capture=(),document-domain=(),encrypted-media=(),fullscreen=(),geolocation=(),gyroscope=(),magnetometer=(),microphone=(),midi=(),payment=(),picture-in-picture=(),publickey-credentials-get=(),screen-wake-lock=(),sync-xhr=(self),usb=(),web-share=(),xr-spatial-tracking=()"; | add_header Permissions-Policy "accelerometer=(),autoplay=(),camera=(),display-capture=(),document-domain=(),encrypted-media=(),fullscreen=(),geolocation=(),gyroscope=(),magnetometer=(),microphone=(),midi=(),payment=(),picture-in-picture=(),publickey-credentials-get=(),screen-wake-lock=(),sync-xhr=(self),usb=(),web-share=(),xr-spatial-tracking=()"; | ||
+ | <!--T:149--> | ||
add_header Strict-Transport-Security "max-age=31536000 ; includeSubDomains"; | add_header Strict-Transport-Security "max-age=31536000 ; includeSubDomains"; | ||
+ | <!--T:150--> | ||
add_header X-Frame-Options "SAMEORIGIN"; | add_header X-Frame-Options "SAMEORIGIN"; | ||
+ | <!--T:151--> | ||
add_header X-Content-Type-Options nosniff; | add_header X-Content-Type-Options nosniff; | ||
+ | <!--T:152--> | ||
add_header Content-Security-Policy "script-src 'self';"; | add_header Content-Security-Policy "script-src 'self';"; | ||
+ | <!--T:153--> | ||
add_header X-Permitted-Cross-Domain-Policies none; | add_header X-Permitted-Cross-Domain-Policies none; | ||
+ | <!--T:154--> | ||
add_header Referrer-Policy no-referrer; | add_header Referrer-Policy no-referrer; | ||
+ | <!--T:155--> | ||
add_header Clear-Site-Data "cache,cookies,storage"; | add_header Clear-Site-Data "cache,cookies,storage"; | ||
+ | <!--T:156--> | ||
location / { | location / { | ||
+ | <!--T:157--> | ||
proxy_pass <nowiki>http://10.10.0.2</nowiki>; | proxy_pass <nowiki>http://10.10.0.2</nowiki>; | ||
+ | <!--T:158--> | ||
proxy_set_header Host $host; | proxy_set_header Host $host; | ||
+ | <!--T:159--> | ||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; | proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; | ||
− | proxy_set_header X-Real-IP $remote_addr; | + | <!--T:160--> |
+ | proxy_set_header X-Real-IP $remote_addr; | ||
+ | <!--T:161--> | ||
proxy_set_header X-Forwarded-Proto $scheme; | proxy_set_header X-Forwarded-Proto $scheme; | ||
+ | <!--T:162--> | ||
client_max_body_size 20M; | client_max_body_size 20M; | ||
+ | <!--T:163--> | ||
limit_except GET HEAD POST {deny all;} | limit_except GET HEAD POST {deny all;} | ||
+ | <!--T:164--> | ||
} | } | ||
− | + | <!--T:165--> | |
− | |||
}</blockquote> | }</blockquote> | ||
− | + | <!--T:166--> | |
Nginx va rediriger les requetes faites sur l'ip publique de votre serveur vers le nextcloud de votre orange pi / raspberry pi (ligne proxy_pass <nowiki>http://10.10.0.2</nowiki>;) | Nginx va rediriger les requetes faites sur l'ip publique de votre serveur vers le nextcloud de votre orange pi / raspberry pi (ligne proxy_pass <nowiki>http://10.10.0.2</nowiki>;) | ||
+ | <!--T:167--> | ||
+ | Vous pouvez tester si cela fonctionne en vous rendant sur la page: | ||
− | + | <!--T:168--> | |
− | + | http://ip_publique_de_votre_serveur_gandi/nextcloud/ | |
− | http://ip_publique_de_votre_serveur_gandi/nextcloud/ | ||
+ | <!--T:169--> | ||
(notez bien que c'est en http et pas https) | (notez bien que c'est en http et pas https) | ||
+ | <!--T:170--> | ||
Attention, de nombreux navigateurs n'acceptent plus tres bien les redirections en http, voir la section https pour configurer le https (il faudra prendre un nom de domaine).</translate> | Attention, de nombreux navigateurs n'acceptent plus tres bien les redirections en http, voir la section https pour configurer le https (il faudra prendre un nom de domaine).</translate> | ||
}} | }} | ||
{{Tuto Step | {{Tuto Step | ||
− | |Step_Title=<translate>Nom de domaine et adresse fixe</translate> | + | |Step_Title=<translate><!--T:171--> |
− | |Step_Content=<translate>Le nom de domaine est l'adresse dans votre navigateur : par exemple lowtechlab.org. | + | Nom de domaine et adresse fixe</translate> |
− | + | |Step_Content=<translate><!--T:172--> | |
+ | Le nom de domaine est l'adresse dans votre navigateur : par exemple lowtechlab.org. | ||
+ | <!--T:173--> | ||
Il vous permet de rendre votre serveur accessible plus facilement avec une adresse facilement memorisable. Il ne fait qu'associer le nom de domaine à l'adresse ip de votre serveur vpn ou l'adresse ip de votre box. | Il vous permet de rendre votre serveur accessible plus facilement avec une adresse facilement memorisable. Il ne fait qu'associer le nom de domaine à l'adresse ip de votre serveur vpn ou l'adresse ip de votre box. | ||
+ | <!--T:174--> | ||
+ | Que vous enregistriez un nom de domaine pour rediriger vers votre adresse ip ou pas (c'est nécessaire pour avoir le https cependant), il faut noter que par défaut, les fournisseurs d'accès vous octroient une adresse ip différente à chaque connexion. | ||
− | + | <!--T:175--> | |
− | + | Si vous souhaitez une adresse ip fixe, il faut en faire la demande à votre fournisseur d'accès. Ce n'est malheureusement plus très répandue dans les offres grands publics. Orange propose à la place un "DynDns" qui vous propose une adresse en lettres correspondant à votre adresse ip mais à laquelle vous ne pouvez pas rattacher facilement un nom de domaine. Certains gestionnaires de nom de domaine, comme infomaniak, proposent tout de même d'enregistrer un nom de domaine pour le dyndns qui est acessible assez facilement sans surcout chez les principaux opérateurs. | |
− | |||
− | Si vous souhaitez une adresse ip fixe, il faut en faire la demande à votre fournisseur d'accès. Ce n'est malheureusement plus très répandue dans les offres grands publics. Orange propose à la place un "DynDns" qui vous propose une adresse en lettres correspondant à votre adresse ip mais à laquelle vous ne pouvez pas rattacher facilement un nom de domaine. Certains gestionnaires de nom de domaine, comme infomaniak, proposent tout de même d'enregistrer un nom de domaine pour le dyndns qui est acessible assez facilement sans surcout chez les principaux opérateurs. | ||
− | |||
+ | <!--T:176--> | ||
Si vous avez un accès en 4G, il n'est pas possible d'avoir une adresse ip fixe et votre adresse ip publique correspondra à un "pool". C'est à dire que l'opérateur alloue une adresse ip publique pour plusieurs clients, ne vous permettant pas d'utiliser la technique du NAT/Port Forwarding pour rendre votre dietpi accessible sur internet. | Si vous avez un accès en 4G, il n'est pas possible d'avoir une adresse ip fixe et votre adresse ip publique correspondra à un "pool". C'est à dire que l'opérateur alloue une adresse ip publique pour plusieurs clients, ne vous permettant pas d'utiliser la technique du NAT/Port Forwarding pour rendre votre dietpi accessible sur internet. | ||
+ | <!--T:177--> | ||
Il faudra alors prendre un nom de domaine pour votre serveur vpn qui redirige les requetes vers votre dietpi. | Il faudra alors prendre un nom de domaine pour votre serveur vpn qui redirige les requetes vers votre dietpi. | ||
− | + | <!--T:178--> | |
Voir image jointe pour l'enregistrement d'un nom de domaine: c'est la ligne nom "@" type A qu'il faut renseigner avec l'adresse ip publique de votre box ou de votre serveur vpn. | Voir image jointe pour l'enregistrement d'un nom de domaine: c'est la ligne nom "@" type A qu'il faut renseigner avec l'adresse ip publique de votre box ou de votre serveur vpn. | ||
− | + | <!--T:179--> | |
− | |||
<br /></translate> | <br /></translate> | ||
|Step_Picture_00=Serveur_orangepi-raspberry_nextcloud_en_photovolta_que_autonome_gandi3.png | |Step_Picture_00=Serveur_orangepi-raspberry_nextcloud_en_photovolta_que_autonome_gandi3.png | ||
}} | }} | ||
{{Tuto Step | {{Tuto Step | ||
− | |Step_Title=<translate>Configuration https sur serveur gandi vpn</translate> | + | |Step_Title=<translate><!--T:180--> |
− | |Step_Content=<translate>Si vous avez un serveur | + | Configuration https sur serveur gandi vpn</translate> |
− | + | |Step_Content=<translate><!--T:181--> | |
− | + | Si vous avez un serveur proxy | |
− | |||
+ | <!--T:182--> | ||
+ | Sur votre serveur gandi, effectuer les opérations suivantes: | ||
− | Creer un fichier /etc/nginx/conf.d/dietpi.conf et copier les lignes suivante: | + | <!--T:183--> |
+ | Creer un fichier /etc/nginx/conf.d/dietpi.conf et copier les lignes suivante: | ||
+ | <!--T:184--> | ||
<blockquote>server { | <blockquote>server { | ||
+ | <!--T:185--> | ||
listen 80; | listen 80; | ||
+ | <!--T:186--> | ||
server_name localhost; | server_name localhost; | ||
+ | <!--T:187--> | ||
server_tokens off; | server_tokens off; | ||
+ | <!--T:188--> | ||
add_header Permissions-Policy "accelerometer=(),autoplay=(),camera=(),display-capture=(),document-domain=(),encrypted-media=(),fullscreen=(),geolocation=(),gyroscope=(),magnetometer=(),microphone=(),midi=(),payment=(),picture-in-picture=(),publickey-credentials-get=(),screen-wake-lock=(),sync-xhr=(self),usb=(),web-share=(),xr-spatial-tracking=()"; | add_header Permissions-Policy "accelerometer=(),autoplay=(),camera=(),display-capture=(),document-domain=(),encrypted-media=(),fullscreen=(),geolocation=(),gyroscope=(),magnetometer=(),microphone=(),midi=(),payment=(),picture-in-picture=(),publickey-credentials-get=(),screen-wake-lock=(),sync-xhr=(self),usb=(),web-share=(),xr-spatial-tracking=()"; | ||
+ | <!--T:189--> | ||
add_header Strict-Transport-Security "max-age=31536000 ; includeSubDomains"; | add_header Strict-Transport-Security "max-age=31536000 ; includeSubDomains"; | ||
+ | <!--T:190--> | ||
add_header X-Frame-Options "SAMEORIGIN"; | add_header X-Frame-Options "SAMEORIGIN"; | ||
+ | <!--T:191--> | ||
add_header X-Content-Type-Options nosniff; | add_header X-Content-Type-Options nosniff; | ||
+ | <!--T:192--> | ||
add_header Content-Security-Policy "script-src 'self';"; | add_header Content-Security-Policy "script-src 'self';"; | ||
+ | <!--T:193--> | ||
add_header X-Permitted-Cross-Domain-Policies none; | add_header X-Permitted-Cross-Domain-Policies none; | ||
+ | <!--T:194--> | ||
add_header Referrer-Policy no-referrer; | add_header Referrer-Policy no-referrer; | ||
+ | <!--T:195--> | ||
<nowiki>#</nowiki>add_header Clear-Site-Data "cache,cookies,storage"; | <nowiki>#</nowiki>add_header Clear-Site-Data "cache,cookies,storage"; | ||
+ | <!--T:196--> | ||
return 301 <nowiki>https://$host$request_uri</nowiki>; | return 301 <nowiki>https://$host$request_uri</nowiki>; | ||
+ | <!--T:197--> | ||
location / { | location / { | ||
+ | <!--T:198--> | ||
return 301 <nowiki>https://$host$request_uri</nowiki>; | return 301 <nowiki>https://$host$request_uri</nowiki>; | ||
+ | <!--T:199--> | ||
} | } | ||
+ | <!--T:200--> | ||
}</blockquote> | }</blockquote> | ||
+ | <!--T:201--> | ||
lancer ensuite les commandes suivantes: | lancer ensuite les commandes suivantes: | ||
+ | <!--T:202--> | ||
<blockquote>sudo apt install letsencrypt | <blockquote>sudo apt install letsencrypt | ||
<br><br> | <br><br> | ||
Ligne 673 : | Ligne 1 053 : | ||
sudo apt install python3-certbot-nginx</blockquote> | sudo apt install python3-certbot-nginx</blockquote> | ||
+ | <!--T:203--> | ||
obtenir les certificats (rempalcer __domain__ par votre domaine): | obtenir les certificats (rempalcer __domain__ par votre domaine): | ||
+ | <!--T:204--> | ||
<blockquote>sudo certbot certonly --nginx -d __domain__</blockquote> | <blockquote>sudo certbot certonly --nginx -d __domain__</blockquote> | ||
− | copier ensuite les lignes suivante dans votre fichier /etc/nginx/conf.d/dietpi.conf | + | <!--T:205--> |
+ | copier ensuite les lignes suivante dans votre fichier /etc/nginx/conf.d/dietpi.conf | ||
+ | <!--T:206--> | ||
en remplacant __domain__ par votre domaine | en remplacant __domain__ par votre domaine | ||
+ | <!--T:207--> | ||
<blockquote>server { | <blockquote>server { | ||
+ | <!--T:208--> | ||
listen 80; | listen 80; | ||
+ | <!--T:209--> | ||
server_name localhost; | server_name localhost; | ||
+ | <!--T:210--> | ||
server_tokens off; | server_tokens off; | ||
+ | <!--T:211--> | ||
add_header Permissions-Policy "accelerometer=(),autoplay=(),camera=(),display-capture=(),document-domain=(),encrypted-media=(),fullscreen=(),geolocation=(),gyroscope=(),magnetometer=(),microphone=(),midi=(),payment=(),picture-in-picture=(),publickey-credentials-get=(),screen-wake-lock=(),sync-xhr=(self),usb=(),web-share=(),xr-spatial-tracking=()"; | add_header Permissions-Policy "accelerometer=(),autoplay=(),camera=(),display-capture=(),document-domain=(),encrypted-media=(),fullscreen=(),geolocation=(),gyroscope=(),magnetometer=(),microphone=(),midi=(),payment=(),picture-in-picture=(),publickey-credentials-get=(),screen-wake-lock=(),sync-xhr=(self),usb=(),web-share=(),xr-spatial-tracking=()"; | ||
+ | <!--T:212--> | ||
add_header Strict-Transport-Security "max-age=31536000 ; includeSubDomains"; | add_header Strict-Transport-Security "max-age=31536000 ; includeSubDomains"; | ||
+ | <!--T:213--> | ||
add_header X-Frame-Options "SAMEORIGIN"; | add_header X-Frame-Options "SAMEORIGIN"; | ||
+ | <!--T:214--> | ||
add_header X-Content-Type-Options nosniff; | add_header X-Content-Type-Options nosniff; | ||
+ | <!--T:215--> | ||
add_header Content-Security-Policy "script-src 'self';"; | add_header Content-Security-Policy "script-src 'self';"; | ||
+ | <!--T:216--> | ||
add_header X-Permitted-Cross-Domain-Policies none; | add_header X-Permitted-Cross-Domain-Policies none; | ||
+ | <!--T:217--> | ||
add_header Referrer-Policy no-referrer; | add_header Referrer-Policy no-referrer; | ||
+ | <!--T:218--> | ||
<nowiki>#</nowiki>add_header Clear-Site-Data "cache,cookies,storage"; | <nowiki>#</nowiki>add_header Clear-Site-Data "cache,cookies,storage"; | ||
+ | <!--T:219--> | ||
return 301 <nowiki>https://$host$request_uri</nowiki>; | return 301 <nowiki>https://$host$request_uri</nowiki>; | ||
+ | <!--T:220--> | ||
location / { | location / { | ||
+ | <!--T:221--> | ||
return 301 <nowiki>https://$host$request_uri</nowiki>; | return 301 <nowiki>https://$host$request_uri</nowiki>; | ||
+ | <!--T:222--> | ||
} | } | ||
+ | <!--T:223--> | ||
} | } | ||
+ | <!--T:224--> | ||
server { | server { | ||
+ | <!--T:225--> | ||
listen 443 ssl http2; | listen 443 ssl http2; | ||
+ | <!--T:226--> | ||
server_name localhost; | server_name localhost; | ||
+ | <!--T:227--> | ||
server_tokens off; | server_tokens off; | ||
+ | <!--T:228--> | ||
ssl_certificate /etc/letsencrypt/live/__domain__/fullchain.pem; | ssl_certificate /etc/letsencrypt/live/__domain__/fullchain.pem; | ||
+ | <!--T:229--> | ||
ssl_certificate_key /etc/letsencrypt/live/__domain__/privkey.pem; | ssl_certificate_key /etc/letsencrypt/live/__domain__/privkey.pem; | ||
+ | <!--T:230--> | ||
include /etc/letsencrypt/options-ssl-nginx.conf; | include /etc/letsencrypt/options-ssl-nginx.conf; | ||
+ | <!--T:231--> | ||
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; | ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; | ||
+ | <!--T:232--> | ||
add_header Permissions-Policy "accelerometer=(),autoplay=(),camera=(),display-capture=(),document-domain=(),encrypted-media=(),fullscreen=(),geolocation=(),gyroscope=(),magnetometer=(),microphone=(),midi=(),payment=(),picture-in-picture=(),publickey-credentials-get=(),screen-wake-lock=(),sync-xhr=(self),usb=(),web-share=(),xr-spatial-tracking=()"; | add_header Permissions-Policy "accelerometer=(),autoplay=(),camera=(),display-capture=(),document-domain=(),encrypted-media=(),fullscreen=(),geolocation=(),gyroscope=(),magnetometer=(),microphone=(),midi=(),payment=(),picture-in-picture=(),publickey-credentials-get=(),screen-wake-lock=(),sync-xhr=(self),usb=(),web-share=(),xr-spatial-tracking=()"; | ||
+ | <!--T:233--> | ||
add_header Strict-Transport-Security "max-age=31536000 ; includeSubDomains"; | add_header Strict-Transport-Security "max-age=31536000 ; includeSubDomains"; | ||
+ | <!--T:234--> | ||
add_header X-Frame-Options "SAMEORIGIN"; | add_header X-Frame-Options "SAMEORIGIN"; | ||
+ | <!--T:235--> | ||
add_header X-Content-Type-Options nosniff; | add_header X-Content-Type-Options nosniff; | ||
+ | <!--T:236--> | ||
add_header Content-Security-Policy "script-src 'self';"; | add_header Content-Security-Policy "script-src 'self';"; | ||
+ | <!--T:237--> | ||
add_header X-Permitted-Cross-Domain-Policies none; | add_header X-Permitted-Cross-Domain-Policies none; | ||
+ | <!--T:238--> | ||
add_header Referrer-Policy no-referrer; | add_header Referrer-Policy no-referrer; | ||
+ | <!--T:239--> | ||
<nowiki>#</nowiki>add_header Clear-Site-Data "cache,cookies,storage"; | <nowiki>#</nowiki>add_header Clear-Site-Data "cache,cookies,storage"; | ||
+ | <!--T:240--> | ||
location / { | location / { | ||
+ | <!--T:241--> | ||
proxy_pass <nowiki>http://10.10.10.2</nowiki>; | proxy_pass <nowiki>http://10.10.10.2</nowiki>; | ||
+ | <!--T:242--> | ||
proxy_set_header Host $host; | proxy_set_header Host $host; | ||
+ | <!--T:243--> | ||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; | proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; | ||
+ | <!--T:244--> | ||
proxy_set_header X-Real-IP $remote_addr; | proxy_set_header X-Real-IP $remote_addr; | ||
+ | <!--T:245--> | ||
proxy_set_header X-Forwarded-Proto $scheme; | proxy_set_header X-Forwarded-Proto $scheme; | ||
+ | <!--T:246--> | ||
client_max_body_size 20M; | client_max_body_size 20M; | ||
+ | <!--T:247--> | ||
limit_except GET HEAD POST {deny all;} | limit_except GET HEAD POST {deny all;} | ||
+ | <!--T:248--> | ||
} | } | ||
+ | <!--T:249--> | ||
}</blockquote> | }</blockquote> | ||
+ | <!--T:250--> | ||
redémarrer nginx | redémarrer nginx | ||
+ | <!--T:251--> | ||
<blockquote>sudo systemctl restart nginx</blockquote> | <blockquote>sudo systemctl restart nginx</blockquote> | ||
− | + | <!--T:252--> | |
Une fois ces étapes réalisées, votre serveur est accessible en ligne en https en tapant dans votre navigateur | Une fois ces étapes réalisées, votre serveur est accessible en ligne en https en tapant dans votre navigateur | ||
https://votre_domaine/nextcloud/ | https://votre_domaine/nextcloud/ | ||
+ | <!--T:253--> | ||
Vous pouvez alors configurer nextcloud en ligne par le compte administrateur | Vous pouvez alors configurer nextcloud en ligne par le compte administrateur | ||
login par défaut sur dietpi: admin | login par défaut sur dietpi: admin | ||
Ligne 781 : | Ligne 1 211 : | ||
}} | }} | ||
{{Tuto Step | {{Tuto Step | ||
− | |Step_Title=<translate>Configuration https sur dietpi si vous etes branché en box</translate> | + | |Step_Title=<translate><!--T:254--> |
− | |Step_Content=<translate>Je n'ai pas de box, je vous updaterai quand ce sera le cas et prooftesté! :)</translate> | + | Configuration https sur dietpi si vous etes branché en box</translate> |
+ | |Step_Content=<translate><!--T:255--> | ||
+ | Je n'ai pas de box, je vous updaterai quand ce sera le cas et prooftesté! :)</translate> | ||
}} | }} | ||
{{Tuto Step | {{Tuto Step | ||
− | |Step_Title=<translate>Rendre votre serveur nomade et autonome énergétiquement en photovoltaique</translate> | + | |Step_Title=<translate><!--T:256--> |
− | |Step_Content=<translate> | + | Rendre votre serveur nomade et autonome énergétiquement en photovoltaique</translate> |
+ | |Step_Content=<translate><!--T:257--> | ||
+ | Que ce soit pour des raisons écologiques, ou pour d'autres raisons, il est intéressant d'avoir un serveur autonome énergétiquement, | ||
+ | <!--T:258--> | ||
+ | qui ne dépendra pas des aléas du réseau électrique. | ||
− | + | <!--T:259--> | |
− | + | NB: pour une version légèrement modifié du dimensionnement photovoltaïque (production moyenne/par intervalle calée sur modèle jrc en décembre au lieu du nombre d'heure d'ensoleillement minimum), voir mon autre tuto ici: | |
− | |||
+ | <!--T:260--> | ||
+ | [[Dimensionner une installation photovoltaïque autonome]] | ||
+ | <!--T:261--> | ||
videos: | videos: | ||
− | bases debutant(panneaux, regulateur, onduleur, conso/prod): | + | <!--T:262--> |
+ | bases debutant(panneaux, regulateur, onduleur, conso/prod): https://www.youtube.com/watch?v=8Ft4XQj9lQ4 | ||
+ | <!--T:263--> | ||
montage simple kit myshop solaires pour 230V: https://www.youtube.com/watch?v=SvmPEhPq_S8 | montage simple kit myshop solaires pour 230V: https://www.youtube.com/watch?v=SvmPEhPq_S8 | ||
− | + | <!--T:264--> | |
− | |||
kit prêts à acheter (si vous avez des subventions et des collègues qui coopèrent bien): | kit prêts à acheter (si vous avez des subventions et des collègues qui coopèrent bien): | ||
+ | <!--T:265--> | ||
https://allo.solar/kit-solaire-1650w-230v-autoconsommation-aps.html?gclid=EAIaIQobChMIkY_fxvu-gAMVyLfVCh014gadEAYYASABEgJd8_D_BwE | https://allo.solar/kit-solaire-1650w-230v-autoconsommation-aps.html?gclid=EAIaIQobChMIkY_fxvu-gAMVyLfVCh014gadEAYYASABEgJd8_D_BwE | ||
− | + | <!--T:266--> | |
solution de stockage intermédiaire intégrée (cher et pas tres lowtech): | solution de stockage intermédiaire intégrée (cher et pas tres lowtech): | ||
+ | <!--T:267--> | ||
Station énergie portable extensible 230V BLUETTI AC200MAX | Station énergie portable extensible 230V BLUETTI AC200MAX | ||
− | EcoFlow River 2 pro | + | <!--T:268--> |
− | + | EcoFlow River 2 pro | |
+ | <!--T:269--> | ||
kits semi lowtech (celui utilisé dans ce guide): | kits semi lowtech (celui utilisé dans ce guide): | ||
+ | <!--T:270--> | ||
panneaux photovoltaïque 120W et batterie de voiture plomb acide. | panneaux photovoltaïque 120W et batterie de voiture plomb acide. | ||
− | + | <!--T:271--> | |
kit vraiment lowtech: | kit vraiment lowtech: | ||
+ | <!--T:272--> | ||
fabriquer sa batterie lithium à partir de déchets: voir barnabé chaillot | fabriquer sa batterie lithium à partir de déchets: voir barnabé chaillot | ||
+ | <!--T:273--> | ||
https://www.youtube.com/watch?v=_hwj7Ds50lU | https://www.youtube.com/watch?v=_hwj7Ds50lU | ||
+ | <!--T:274--> | ||
+ | rappel de base: branchement en série (+ sur - et + sur -) on ajoute le voltage et on garde le meme amperage, branchement en paralelle (+ sur +, - sur -) on ajoute l'amperage et on garde le meme voltage | ||
− | + | <!--T:275--> | |
− | < | ||
− | |||
idem pour les batteries: à mettre en paralelle pour garder la meme tension (voltage) | idem pour les batteries: à mettre en paralelle pour garder la meme tension (voltage) | ||
+ | <!--T:276--> | ||
+ | La première problématique du photovoltaïque lowtech autonome est le dimensionnement de l'installation (Se reporter à mon autre tuto | ||
− | + | <!--T:277--> | |
+ | [[Dimensionner une installation photovoltaïque autonome]]) | ||
− | Pour cela on trouve pas mal d'informations sur internet. | + | <!--T:278--> |
+ | Pour cela on trouve pas mal d'informations sur internet. | ||
+ | <!--T:279--> | ||
Vous pouvez utiliser la feuille libreoffice en piece jointe en haut de ce tutoriel pour du dimensionnement "bricolé". | Vous pouvez utiliser la feuille libreoffice en piece jointe en haut de ce tutoriel pour du dimensionnement "bricolé". | ||
+ | <!--T:280--> | ||
+ | Le dimensionnement - le besoin journalier: | ||
− | + | <!--T:281--> | |
− | < | ||
− | |||
Le orange pi consomme environ 20W | Le orange pi consomme environ 20W | ||
+ | <!--T:282--> | ||
Un disque usb supplémentaire consomme environ 5W | Un disque usb supplémentaire consomme environ 5W | ||
+ | <!--T:283--> | ||
Un modem 4G consomme environ 5W | Un modem 4G consomme environ 5W | ||
+ | <!--T:284--> | ||
Soit un besoin constant de 35W en prenant 16% de marge d'erreur. | Soit un besoin constant de 35W en prenant 16% de marge d'erreur. | ||
− | + | <!--T:285--> | |
Le besoin journalier pour un serveur qui tourne 24h/24: 35W*24h=840Wh | Le besoin journalier pour un serveur qui tourne 24h/24: 35W*24h=840Wh | ||
+ | <!--T:286--> | ||
Le besoin journalier pour un serveur qui tourne en journéee seulement: | Le besoin journalier pour un serveur qui tourne en journéee seulement: | ||
+ | <!--T:287--> | ||
en été: 35W*14h=490Wh | en été: 35W*14h=490Wh | ||
− | en hiver: 35W*8h=280Wh | + | <!--T:288--> |
+ | en hiver: 35W*8h=280Wh | ||
− | Notez qu'il s'agit là d'un besoin moyen et si vous souhaitez dimensionner | + | <!--T:289--> |
+ | Notez qu'il s'agit là d'un besoin moyen et si vous souhaitez dimensionner | ||
+ | <!--T:290--> | ||
pour des usages divers, il est recommander de procéder de façon plus précise | pour des usages divers, il est recommander de procéder de façon plus précise | ||
+ | <!--T:291--> | ||
en calculant les besoins temps réels. | en calculant les besoins temps réels. | ||
+ | <!--T:292--> | ||
+ | Le dimensionnement du stockage par le temps d'autonomie : | ||
− | < | + | <!--T:293--> |
− | |||
Estimer les pertes à 20% et augmenter le besoin en consquénce: | Estimer les pertes à 20% et augmenter le besoin en consquénce: | ||
+ | <!--T:294--> | ||
besoin 24h/24=840/0,80=1050Wh | besoin 24h/24=840/0,80=1050Wh | ||
+ | <!--T:295--> | ||
Estimer le temps d'autonomie voulue: | Estimer le temps d'autonomie voulue: | ||
+ | <!--T:296--> | ||
exemple 24h | exemple 24h | ||
+ | <!--T:297--> | ||
On va alors dimensionner le stockage pour tenir 24h. | On va alors dimensionner le stockage pour tenir 24h. | ||
+ | <!--T:298--> | ||
Pour des batteries en 12V: 1050Wh/12V=87,5Ah | Pour des batteries en 12V: 1050Wh/12V=87,5Ah | ||
+ | <!--T:299--> | ||
Etant donné qu'on veut limiter la décharge des batteries à 50%, on prendra donc | Etant donné qu'on veut limiter la décharge des batteries à 50%, on prendra donc | ||
+ | <!--T:300--> | ||
87,5Ah/0,5=175Ah | 87,5Ah/0,5=175Ah | ||
+ | <!--T:301--> | ||
Soit 2100 Wh en 12V | Soit 2100 Wh en 12V | ||
− | + | <!--T:302--> | |
Selon les caractéristiques des panneaux (voir feuille de calcul), on peut estimer la recharge de la batterie lorsque l'ensoleillement est minimal (en décembre). | Selon les caractéristiques des panneaux (voir feuille de calcul), on peut estimer la recharge de la batterie lorsque l'ensoleillement est minimal (en décembre). | ||
+ | <!--T:303--> | ||
+ | Le dimensionnement par la méthode du nombre de jours voulues pour recharger entierement les batteries: | ||
− | < | + | <!--T:304--> |
− | |||
− | |||
Si on veut pouvoir recharger les batteries en un jour en hiver, il faut considérer la puissance produite par vos panneaux au jour d'hiver avec le moins d'ensoleillement. | Si on veut pouvoir recharger les batteries en un jour en hiver, il faut considérer la puissance produite par vos panneaux au jour d'hiver avec le moins d'ensoleillement. | ||
− | + | <!--T:305--> | |
Si on prend 3,5h pour le minimum, le nombre de panneaux nécessaire de puissance x Watt sera: | Si on prend 3,5h pour le minimum, le nombre de panneaux nécessaire de puissance x Watt sera: | ||
+ | <!--T:306--> | ||
C_batterie:Capacité batterie en Wh | C_batterie:Capacité batterie en Wh | ||
+ | <!--T:307--> | ||
Dans notre exemple 2100Wh | Dans notre exemple 2100Wh | ||
+ | <!--T:308--> | ||
T_hiver:temps de recharge journalier minimal en hiver (en h) | T_hiver:temps de recharge journalier minimal en hiver (en h) | ||
+ | <!--T:309--> | ||
Dans notre exemple 3,5h | Dans notre exemple 3,5h | ||
+ | <!--T:310--> | ||
B_hiver:besoin journalier hors temps ensoleillement en hiver (en Wh) | B_hiver:besoin journalier hors temps ensoleillement en hiver (en Wh) | ||
+ | <!--T:311--> | ||
Dans notre exemple (24h-3,5h)*35W=897Wh | Dans notre exemple (24h-3,5h)*35W=897Wh | ||
+ | <!--T:312--> | ||
n_voulus:nombre de jour voulus pour recharger entierement la batterie | n_voulus:nombre de jour voulus pour recharger entierement la batterie | ||
+ | <!--T:313--> | ||
Dans notre exemple 1 | Dans notre exemple 1 | ||
+ | <!--T:314--> | ||
I:amperage sortie d'un panneau photovoltaique | I:amperage sortie d'un panneau photovoltaique | ||
− | Dans notre exemple 7A | + | <!--T:315--> |
+ | Dans notre exemple 7A | ||
+ | <!--T:316--> | ||
U:tension sortie d'un panneau photovoltaique | U:tension sortie d'un panneau photovoltaique | ||
+ | <!--T:317--> | ||
Dans notre exemple 12V | Dans notre exemple 12V | ||
+ | <!--T:318--> | ||
Nb_panneaux=C_batterie+B_hiver*n_nvoulus/T_hiver*I*U*n_voulus | Nb_panneaux=C_batterie+B_hiver*n_nvoulus/T_hiver*I*U*n_voulus | ||
− | + | <!--T:319--> | |
Dans l'exemple: | Dans l'exemple: | ||
+ | <!--T:320--> | ||
Nb_panneaux=(2100+897*1)/(3,5*12*7*1) | Nb_panneaux=(2100+897*1)/(3,5*12*7*1) | ||
+ | <!--T:321--> | ||
Il faudra donc 10 panneaux de 84W de 7A 12V | Il faudra donc 10 panneaux de 84W de 7A 12V | ||
− | + | <!--T:322--> | |
Noter que la valeur cardinale ici est à la ligne 42 du fichier joint, il s'agit | Noter que la valeur cardinale ici est à la ligne 42 du fichier joint, il s'agit | ||
− | de l'ensoleillement journalier minimal en décembre à production nominale. Des valeurs de référence peuvent être trouvées sur | + | <!--T:323--> |
− | + | de l'ensoleillement journalier minimal en décembre à production nominale. Des valeurs de référence peuvent être trouvées sur | |
− | |||
+ | <!--T:324--> | ||
+ | <nowiki>https://re.jrc.ec.europa.eu/api/v5_2/seriescalc?lat=44.203142&lon=0.616363&loss=14&angle=45&aspect=0&startyear=2005&endyear=2005&pvcalculation=1&peakpower=1&pvtechchoice=crystSi&browser=0&outputformat=csv</nowiki> | ||
+ | <!--T:325--> | ||
Mais rien ne vaut une mesure empirique pour vérifier tout ca. | Mais rien ne vaut une mesure empirique pour vérifier tout ca. | ||
− | Le graphique en illustration provient du monitoring de deux installations à 400km de distance d'une entreprise qui installe et suit du photovoltaïque depuis 2018. J'attend de mesurer tout ça avec un voltmetre fiable sur plusieurs panneaux achetés d'occasions pour updater ce tuto en décembre! :) | + | <!--T:326--> |
+ | Le graphique en illustration provient du monitoring de deux installations à 400km de distance d'une entreprise qui installe et suit du photovoltaïque depuis 2018. J'attend de mesurer tout ça avec un voltmetre fiable sur plusieurs panneaux achetés d'occasions pour updater ce tuto en décembre! :) | ||
+ | <!--T:327--> | ||
Tout commentaire et "retour d'experience" est bienvenu à ce sujet en bas de cette page! | Tout commentaire et "retour d'experience" est bienvenu à ce sujet en bas de cette page! | ||
− | |||
− | |||
− | + | <!--T:328--> | |
+ | Le dimensionnement par la méthode essais et erreurs | ||
+ | <!--T:329--> | ||
+ | La feuille de calcul propose aux lignes 41 et 42 d'ajuster le nombre de panneaux et le temps d'ensoleillement moyen en décembre et donne le besoin journalier hors temps ensoleillement hiver en Wh et la recharge batterie journaliere maximale en hiver (en Ah et Wh). En faisant des essais sur les deux paramètres, on peut obtenir le nombre de panneaux minimum pour que la(les) batterie(s) se recharge(nt) positivement en hiver. | ||
− | La problématique principale du photovoltaïque lowtech autonome est le stockage de l'énergie. | + | <!--T:330--> |
+ | La problématique principale du photovoltaïque lowtech autonome est le stockage de l'énergie. | ||
− | Vous pouvez lire les caractéristiques des panneaux qu'on vous a donné ou trouvés sur leboncoin à pas cher: | + | <!--T:331--> |
+ | Vous pouvez lire les caractéristiques des panneaux qu'on vous a donné ou trouvés sur leboncoin à pas cher: | ||
+ | <!--T:332--> | ||
-puissance crete: elles s'aditionnent pour obtenir la puissance nécessaire trouvée lors de la phase de dimensionnement. | -puissance crete: elles s'aditionnent pour obtenir la puissance nécessaire trouvée lors de la phase de dimensionnement. | ||
− | - | + | <!--T:333--> |
− | + | -tension : 12V,24V ou 48V. voir regles série/paralelle pour leur additions | |
− | |||
+ | <!--T:334--> | ||
+ | -intensité: variable selon les modèles mais souvent inferieure à 10A. voir regles série/paralelle pour leur additions | ||
+ | <!--T:335--> | ||
Pour recharger des batteries, en principe, si vous connectez votre panneaux en direct sur une batterie, il suffit que la tension à la sortie de vos panneaux soit la même que celles de vos batterie, et ca devrait charger. | Pour recharger des batteries, en principe, si vous connectez votre panneaux en direct sur une batterie, il suffit que la tension à la sortie de vos panneaux soit la même que celles de vos batterie, et ca devrait charger. | ||
− | + | <!--T:336--> | |
Il y a un composants importants à retenir pour charger correctement vos batteries: | Il y a un composants importants à retenir pour charger correctement vos batteries: | ||
− | < | + | <!--T:337--> |
− | + | le regulateur ou controleur de charge | |
− | |||
− | |||
− | |||
+ | <!--T:338--> | ||
+ | il en existe de trois sortes: les tor (tout ou rien) les mppt (Maximum power point tracking) et les pwm (Pulse Width Modulation) | ||
+ | <!--T:339--> | ||
Ils sont composés d'un adaptateur DC/DC (courant continu vers courant continu) et d'un coupe circuit. Le mppt comprend également un adaptateur d'impédence (il a une résistance pour adapter l'amperage injecté dans la batterie). Les mppt accepte des puissances nominales plus élevées, cad des tensions et intensité plus élevées. | Ils sont composés d'un adaptateur DC/DC (courant continu vers courant continu) et d'un coupe circuit. Le mppt comprend également un adaptateur d'impédence (il a une résistance pour adapter l'amperage injecté dans la batterie). Les mppt accepte des puissances nominales plus élevées, cad des tensions et intensité plus élevées. | ||
− | + | <!--T:340--> | |
Le régulateur ou controleur de charge permet principalement de couper le circuit quand la batterie est rechargée en surveillant la tension et l'intensité de charge. Il coupe le circuit si leurs valeurs dépassent les intervalles de référence (pour cela le regulateur arrete la charge temporairement et mesure la tension aux bornes des batteries). | Le régulateur ou controleur de charge permet principalement de couper le circuit quand la batterie est rechargée en surveillant la tension et l'intensité de charge. Il coupe le circuit si leurs valeurs dépassent les intervalles de référence (pour cela le regulateur arrete la charge temporairement et mesure la tension aux bornes des batteries). | ||
+ | <!--T:341--> | ||
Le mppt a un "algorithme" électronique intégré qui va chercher le point de puissance optimal grace a son adaptateur d'impedance. | Le mppt a un "algorithme" électronique intégré qui va chercher le point de puissance optimal grace a son adaptateur d'impedance. | ||
+ | <!--T:342--> | ||
+ | Si vous connectez plusieurs panneaux et plusieurs batteries, il est recommandé d'avoir un regulateur pour couper la charge correctement lorsque la batterie est chargée. | ||
− | + | <!--T:343--> | |
− | |||
Les tensions de charge de référence sont 12V,24V et 48V. | Les tensions de charge de référence sont 12V,24V et 48V. | ||
− | + | <!--T:344--> | |
Cependant, les prix des modèles augmentent avec la puissance nominales (qui va dépendre de l'amperage) qu'ils acceptent. | Cependant, les prix des modèles augmentent avec la puissance nominales (qui va dépendre de l'amperage) qu'ils acceptent. | ||
− | + | <!--T:345--> | |
Pour limiter l'intensité du courant de la production photovoltaïque, il est plus judicieux d'utiliser des panneaux de plus forte puissance qui sont généralement à des tensions plus élevées | Pour limiter l'intensité du courant de la production photovoltaïque, il est plus judicieux d'utiliser des panneaux de plus forte puissance qui sont généralement à des tensions plus élevées | ||
− | (rappel P=U*I, | + | <!--T:346--> |
− | + | (rappel P=U*I, | |
− | |||
+ | <!--T:347--> | ||
+ | rappel E=P*t se conserve dans un systeme fermé). | ||
+ | <!--T:348--> | ||
note: si le systeme de stockage par batterie ou l'appareil connecté à vos panneaux n'absorbe pas toute la puissance produite, et si le régulateur de charge ne coupe pas le circuit, le reste sera dégagé en chaleur. | note: si le systeme de stockage par batterie ou l'appareil connecté à vos panneaux n'absorbe pas toute la puissance produite, et si le régulateur de charge ne coupe pas le circuit, le reste sera dégagé en chaleur. | ||
+ | <!--T:349--> | ||
+ | L'amperage va aussi dependre de la capacité de stockage de vos batteries, dimensionnées pour couvrir vos besoins pendant une periode définie au dimensionnement. | ||
− | + | <!--T:350--> | |
− | + | Le courant de charge est calculé en divisant par 4 ou 5 la capacité nominale de la batterie exprimée en Ah qui devrait alors se recharger en 4 ou 5h. Cependant une batterie se rechargera aussi avec un courant de charge de la capacité nominale de la batterie divisée par 20 mais plus lentement (en 20h). | |
− | |||
− | Le courant de charge est calculé en divisant par 4 ou 5 la capacité nominale de la batterie exprimée en Ah qui devrait alors se recharger en 4 ou 5h. Cependant une batterie se rechargera aussi avec un courant de charge de la capacité nominale de la batterie divisée par 20 mais plus lentement (en 20h). | ||
+ | <!--T:351--> | ||
Dimensionnez et/ou agencez vos panneaux en conséquence. | Dimensionnez et/ou agencez vos panneaux en conséquence. | ||
+ | <!--T:352--> | ||
Des montages de panneaux serie+paralelle peuvent permettrent d'ajuster tension et amperage. | Des montages de panneaux serie+paralelle peuvent permettrent d'ajuster tension et amperage. | ||
− | + | <!--T:353--> | |
Il y a enfin un dernier point sur lequel être attentif: le déclenchement de la recharge de la batterie par le regulateur/controleur de charge (qui déclenche quand la tension de la batterie diminue en dessous d'un certain seuil). | Il y a enfin un dernier point sur lequel être attentif: le déclenchement de la recharge de la batterie par le regulateur/controleur de charge (qui déclenche quand la tension de la batterie diminue en dessous d'un certain seuil). | ||
− | + | <!--T:354--> | |
En effet, si la puissance soutirée à la batterie est trop faible, il est possible que le temps nécessaire à la décharger avec votre consommation journalière pour déclencher la recharge dans le régulateur dépasse le temps d'ensoleillement journalier. La batterie ne se recharge alors pas du tout pendant la journée. | En effet, si la puissance soutirée à la batterie est trop faible, il est possible que le temps nécessaire à la décharger avec votre consommation journalière pour déclencher la recharge dans le régulateur dépasse le temps d'ensoleillement journalier. La batterie ne se recharge alors pas du tout pendant la journée. | ||
+ | <!--T:355--> | ||
+ | Dans ce cas, votre batterie ne se rechargera qu'un jour sur deux ou sur trois (selon le seuil de déclenchement de la recharge du regulateur). | ||
− | + | <!--T:356--> | |
− | + | C'est un paramètre à prendre en compte dans le dimensionnement (non inclus dans la feuille de calcul). | |
− | C'est un paramètre à prendre en compte | ||
− | |||
+ | <!--T:357--> | ||
Le régulateur a 3 phases: | Le régulateur a 3 phases: | ||
+ | <!--T:358--> | ||
+ | 1.bulk: le regulateur laisse passer le courant | ||
− | + | <!--T:359--> | |
− | + | 2.floating: le regulateur alterne interupteur fermée et ouvert à une fréquence donnée pour maintenir la batterie chargée | |
− | |||
− | floating: le regulateur alterne interupteur fermée et ouvert à une fréquence donnée pour maintenir la batterie chargée | ||
− | En outre il faut prendre des précautions car la charge des batteries présente certains risques. | + | <!--T:360--> |
+ | En outre il faut prendre des précautions car la charge des batteries présente certains risques. | ||
− | absorption (pour les mppt): la tension de charge augmente un peu pour créer une difference de potentiel suffisante pour continuer à charger la batterie presque pleine. | + | <!--T:361--> |
+ | 3.absorption (pour les mppt): la tension de charge augmente un peu pour créer une difference de potentiel suffisante pour continuer à charger la batterie presque pleine. | ||
+ | <!--T:362--> | ||
En théorie le courant de charge diminue lorsque la batterie est presque rechargée (courant de queue etc.) | En théorie le courant de charge diminue lorsque la batterie est presque rechargée (courant de queue etc.) | ||
− | + | <!--T:363--> | |
La charge de batteries en paralelle ou en série sur des batteries usagées qui n'ont pas les mêmes tensions ou intensité présente en théorie des risques. En effet vous lirez un peu partout que la résistance des fils pour relier ces batteries | La charge de batteries en paralelle ou en série sur des batteries usagées qui n'ont pas les mêmes tensions ou intensité présente en théorie des risques. En effet vous lirez un peu partout que la résistance des fils pour relier ces batteries | ||
− | créee des différences de potentiels entre les batteries qui produisent des décharges d'une batterie envers une autre | + | <!--T:364--> |
− | + | créee des différences de potentiels entre les batteries qui produisent des décharges d'une batterie envers une autre etc. | |
− | |||
− | + | <!--T:365--> | |
+ | créant des risques d'explosion, de degazage pour les batteries plomb etc. | ||
+ | <!--T:366--> | ||
+ | Il faut bien se rapeller que les batteries sont des assemblages de composants unitaires de faible tension mis en séries et en paralelle pour obtenir un générateur de l'intensité et la tension voulue et qu'à priori faire de même avec des batterie entiere ne présente pas vraiment de risques.. | ||
− | On parle souvent de "battery management system" (bms) "intégré" pour les batteries lithium ion. | + | <!--T:367--> |
+ | On parle souvent de "battery management system" (bms) "intégré" pour les batteries lithium ion. | ||
+ | <!--T:368--> | ||
En réalité le régulateur de charge est déjà un "bms". En théorie, le bms intégré s'assure que les tensions et les intensités de chaque unité composant la batterie est la même et la rééquilibre au besoin. | En réalité le régulateur de charge est déjà un "bms". En théorie, le bms intégré s'assure que les tensions et les intensités de chaque unité composant la batterie est la même et la rééquilibre au besoin. | ||
+ | <!--T:369--> | ||
On peut bien sûr s'interroger si tout ceci n'est pas une façon de rendre le stockage de l'énergie plus cher avec des composants BMS artificiellement chers et si ce n'est pas une façon d'éviter de réutiliser des unités de batteries usagées. | On peut bien sûr s'interroger si tout ceci n'est pas une façon de rendre le stockage de l'énergie plus cher avec des composants BMS artificiellement chers et si ce n'est pas une façon d'éviter de réutiliser des unités de batteries usagées. | ||
+ | <!--T:370--> | ||
+ | Il est par exemple étonnant qu'il n'existe pas de BMS pour rééquilibrer automatiquement des batteries plomb acide, ce qui rendrait utilisable toutes les batteries mises au rebut de l'industrie automobile pour stocker l'énergie photovoltaïque sans risque! | ||
− | + | <!--T:371--> | |
− | + | Dans tous les cas, si vous réutilisez des batteries au plomb, utilisez un régulateur pour éviter de continuer à charger vos batteries rechargées (risques de production d'hydrogene) -ou si vous n'en utilisez pas dimensionnez avec beaucoup de soin-, évitez les décharges profondes, et maintenez les batteries à une temperature constante autant que possible.</translate> | |
− | |||
− | Dans tous les cas, si vous réutilisez des batteries au plomb, utilisez un régulateur pour éviter de continuer à charger vos batteries rechargées (risques de production d'hydrogene) -ou si vous n'en utilisez pas dimensionnez avec beaucoup de soin-, évitez les décharges profondes, et maintenez les batteries à une temperature constante autant que possible. | ||
− | |||
− | |||
|Step_Picture_00=Serveur_orangepi-raspberry_nextcloud_en_photovolta_que_autonome_2.6kWc.png | |Step_Picture_00=Serveur_orangepi-raspberry_nextcloud_en_photovolta_que_autonome_2.6kWc.png | ||
|Step_Picture_01=Serveur_orangepi-raspberry_nextcloud_en_photovolta_que_autonome_9kWc.png | |Step_Picture_01=Serveur_orangepi-raspberry_nextcloud_en_photovolta_que_autonome_9kWc.png | ||
}} | }} | ||
{{Tuto Step | {{Tuto Step | ||
− | |Step_Title=<translate>Montage et test</translate> | + | |Step_Title=<translate><!--T:372--> |
− | |Step_Content=<translate>On dimensionne sur un dixieme de la puissance de panneaux et un quart de la capacité de batterie de ce que la théorie nous a indiqué pour être autonome 24h/24h et en capacité de recharger en un seul jour en hiver, soit un panneau de 120W et une vieille batterie de voiture de 45Ah en 12V. | + | Montage et test</translate> |
− | + | |Step_Content=<translate><!--T:373--> | |
+ | On dimensionne sur un dixieme de la puissance de panneaux et un quart de la capacité de batterie de ce que la théorie nous a indiqué pour être autonome 24h/24h et en capacité de recharger en un seul jour en hiver, soit un panneau de 120W et une vieille batterie de voiture de 45Ah en 12V. | ||
+ | <!--T:374--> | ||
C'est raccord avec une approche lowtech de ne faire tourner le serveur que lorsqu'il fait jour, pour une informatique qui respecte la temporalité humaine. | C'est raccord avec une approche lowtech de ne faire tourner le serveur que lorsqu'il fait jour, pour une informatique qui respecte la temporalité humaine. | ||
+ | <!--T:375--> | ||
Pour être bien en hiver (à hypothèse 3,5h d'ensoleillement moyen), il faudrait une batterie de plus de 58Ah, mais pour raisons budgétaire, on fait pour l'instant avec ce qu'on a! :). | Pour être bien en hiver (à hypothèse 3,5h d'ensoleillement moyen), il faudrait une batterie de plus de 58Ah, mais pour raisons budgétaire, on fait pour l'instant avec ce qu'on a! :). | ||
− | + | <!--T:376--> | |
Le regulateur utilisé n'accepte pas les panneaux 40V donc on n'a pas utilisé le panneau photovoltaïque d'occasion de 180W à 20€ trouvé sur leboncoin, mais je ne manquerai pas d'updater ce tuto avec des raccordement de panneaux et de batteries dès que j'aurai le materiel et avec les valeurs de production hivernale si j'y arrive! | Le regulateur utilisé n'accepte pas les panneaux 40V donc on n'a pas utilisé le panneau photovoltaïque d'occasion de 180W à 20€ trouvé sur leboncoin, mais je ne manquerai pas d'updater ce tuto avec des raccordement de panneaux et de batteries dès que j'aurai le materiel et avec les valeurs de production hivernale si j'y arrive! | ||
+ | <!--T:377--> | ||
+ | '''<u>Etapes de montage:</u>''' | ||
− | + | <!--T:378--> | |
− | |||
− | |||
<br /> | <br /> | ||
+ | <!--T:379--> | ||
#Raccorder un cable electrique de la borne + de la batterie à la borne + du regulateur pwm (sortie batterie). Raccorder un cable electrique de la borne - de la batterie à la borne - du regulateur pwm (sortie batterie) | #Raccorder un cable electrique de la borne + de la batterie à la borne + du regulateur pwm (sortie batterie). Raccorder un cable electrique de la borne - de la batterie à la borne - du regulateur pwm (sortie batterie) | ||
#Raccorder les panneaux aux cables mc4. Brancher le côté dénudé du cable + au + du régulateur pwm (entree panneaux). Brancher le côté dénudé du cable - au - du régulateur pwm (entree panneaux). | #Raccorder les panneaux aux cables mc4. Brancher le côté dénudé du cable + au + du régulateur pwm (entree panneaux). Brancher le côté dénudé du cable - au - du régulateur pwm (entree panneaux). | ||
Ligne 1 085 : | Ligne 1 595 : | ||
#Pour automatiser le fonctionnement quand il fait jour et éteindre quand il fait nuit, on utiliser un module DRL (Daytime Running Light) de voiture. Le module est un interupteur qui laisse passer le courant quand la tension est supérieure à 13V (quand le panneau solaire charge la batterie). L'interrupteur est à brancher borne + du IN sur le + de la batterie, borne - du IN sur le - de la batterie, borne + du out sur la pince rouge et borne - du out sur la pince rouge (entre la batterie et le convertisseur 12V batterie/5V USB). | #Pour automatiser le fonctionnement quand il fait jour et éteindre quand il fait nuit, on utiliser un module DRL (Daytime Running Light) de voiture. Le module est un interupteur qui laisse passer le courant quand la tension est supérieure à 13V (quand le panneau solaire charge la batterie). L'interrupteur est à brancher borne + du IN sur le + de la batterie, borne - du IN sur le - de la batterie, borne + du out sur la pince rouge et borne - du out sur la pince rouge (entre la batterie et le convertisseur 12V batterie/5V USB). | ||
− | + | <!--T:380--> | |
Attendre quelques minutes que ca boot. Et voilà , votre serveur nextcloud est accessible en ligne ! :) | Attendre quelques minutes que ca boot. Et voilà , votre serveur nextcloud est accessible en ligne ! :) | ||
− | + | <!--T:381--> | |
Notez que si vous voulez alimenter quelque chose en courant alternatif 220V, la seule chose qu'il manque au montage est un convertisseur DC/AC (courant continu alternatif) qu'on trouve facilement en magasin de camping car ou sur leboncoin.</translate> | Notez que si vous voulez alimenter quelque chose en courant alternatif 220V, la seule chose qu'il manque au montage est un convertisseur DC/AC (courant continu alternatif) qu'on trouve facilement en magasin de camping car ou sur leboncoin.</translate> | ||
|Step_Picture_00=Serveur_orangepi-raspberry_nextcloud_en_photovolta_que_autonome_IMG_20230821_171458_820.jpg | |Step_Picture_00=Serveur_orangepi-raspberry_nextcloud_en_photovolta_que_autonome_IMG_20230821_171458_820.jpg | ||
Ligne 1 098 : | Ligne 1 608 : | ||
}} | }} | ||
{{Tuto Step | {{Tuto Step | ||
− | |Step_Title=<translate>Securisation du serveur</translate> | + | |Step_Title=<translate><!--T:382--> |
− | |Step_Content=<translate>Au niveau sécurité, les failles connues des cpus peuvent être trouvées sous linux en faisant: | + | Securisation du serveur</translate> |
+ | |Step_Content=<translate><!--T:383--> | ||
+ | Au niveau sécurité, les failles connues des cpus peuvent être trouvées sous linux en faisant: | ||
+ | <!--T:384--> | ||
<blockquote>grep -r . /sys/devices/system/cpu/vulnerabilities</blockquote> | <blockquote>grep -r . /sys/devices/system/cpu/vulnerabilities</blockquote> | ||
+ | <!--T:385--> | ||
Cette commande sur le orange pi (cpu CortexA55) avec dietpi installé donne: | Cette commande sur le orange pi (cpu CortexA55) avec dietpi installé donne: | ||
<blockquote> | <blockquote> | ||
/sys/devices/system/cpu/vulnerabilities/spectre_v2:Mitigation: Unprivileged eBPF enabled | /sys/devices/system/cpu/vulnerabilities/spectre_v2:Mitigation: Unprivileged eBPF enabled | ||
+ | <!--T:386--> | ||
/sys/devices/system/cpu/vulnerabilities/itlb_multihit:Not affected | /sys/devices/system/cpu/vulnerabilities/itlb_multihit:Not affected | ||
+ | <!--T:387--> | ||
/sys/devices/system/cpu/vulnerabilities/mmio_stale_data:Not affected | /sys/devices/system/cpu/vulnerabilities/mmio_stale_data:Not affected | ||
+ | <!--T:388--> | ||
/sys/devices/system/cpu/vulnerabilities/mds:Not affected | /sys/devices/system/cpu/vulnerabilities/mds:Not affected | ||
+ | <!--T:389--> | ||
/sys/devices/system/cpu/vulnerabilities/l1tf:Not affected | /sys/devices/system/cpu/vulnerabilities/l1tf:Not affected | ||
+ | <!--T:390--> | ||
/sys/devices/system/cpu/vulnerabilities/spec_store_bypass:Mitigation: Speculative Store Bypass disabled via prctl | /sys/devices/system/cpu/vulnerabilities/spec_store_bypass:Mitigation: Speculative Store Bypass disabled via prctl | ||
+ | <!--T:391--> | ||
/sys/devices/system/cpu/vulnerabilities/tsx_async_abort:Not affected | /sys/devices/system/cpu/vulnerabilities/tsx_async_abort:Not affected | ||
+ | <!--T:392--> | ||
/sys/devices/system/cpu/vulnerabilities/spectre_v1:Mitigation: __user pointer sanitization | /sys/devices/system/cpu/vulnerabilities/spectre_v1:Mitigation: __user pointer sanitization | ||
+ | <!--T:393--> | ||
/sys/devices/system/cpu/vulnerabilities/retbleed:Not affected | /sys/devices/system/cpu/vulnerabilities/retbleed:Not affected | ||
+ | <!--T:394--> | ||
/sys/devices/system/cpu/vulnerabilities/srbds:Not affected | /sys/devices/system/cpu/vulnerabilities/srbds:Not affected | ||
+ | <!--T:395--> | ||
/sys/devices/system/cpu/vulnerabilities/meltdown:Not affected | /sys/devices/system/cpu/vulnerabilities/meltdown:Not affected | ||
</blockquote> | </blockquote> | ||
+ | <!--T:396--> | ||
Ayant testé un orange pi un raspberry pi et un odroid, le probleme reste le même. | Ayant testé un orange pi un raspberry pi et un odroid, le probleme reste le même. | ||
<br><br> | <br><br> | ||
<u>basiques:</u> | <u>basiques:</u> | ||
− | + | <!--T:397--> | |
on peut passer sa vie à augmenter la sécurité d'un systeme informatique... | on peut passer sa vie à augmenter la sécurité d'un systeme informatique... | ||
+ | <!--T:398--> | ||
trouver le bon compromis et évaluer les risques ou appats en termes financiers. | trouver le bon compromis et évaluer les risques ou appats en termes financiers. | ||
+ | <!--T:399--> | ||
Le hack est toujours possible, et vu le nombre de failles 0day non encore publié, quel que soit le systeme d'exploitation, la question est moins d'avoir un système infaillible, que de savoir de qui on cherche à se protéger quand on cherche à "sécuriser" ou réduire sa surface d'attaque. | Le hack est toujours possible, et vu le nombre de failles 0day non encore publié, quel que soit le systeme d'exploitation, la question est moins d'avoir un système infaillible, que de savoir de qui on cherche à se protéger quand on cherche à "sécuriser" ou réduire sa surface d'attaque. | ||
+ | <!--T:400--> | ||
Je pense que la philosophie libre reste supérieure en termes de sécurité car auditable et réparable plus vite par la "commu", mais il faut bien avouer que les reglages par défaut ne sont pas tip top car linux a été pensé pour être stable au départ (rappelez vous des écrans bleux windows il y a 30 ans), et pas "sécurisé". | Je pense que la philosophie libre reste supérieure en termes de sécurité car auditable et réparable plus vite par la "commu", mais il faut bien avouer que les reglages par défaut ne sont pas tip top car linux a été pensé pour être stable au départ (rappelez vous des écrans bleux windows il y a 30 ans), et pas "sécurisé". | ||
+ | <!--T:401--> | ||
Ayant subi des hacks que je considère très avancés et pas à la portée du premier venu(et ce quel que soit le système d'exploitation, quelle que soit la machine, et quel que soit le niveau de sécurisation -hors compilation de kernel-), j'ai cherché à sécuriser mes dispositifs numériques et j'en arrive aujourd'hui à penser que la "souveraineté" numérique n'existe pas ou plus, les failles créent un marché de la sécurité, ca fait travailler des gens... | Ayant subi des hacks que je considère très avancés et pas à la portée du premier venu(et ce quel que soit le système d'exploitation, quelle que soit la machine, et quel que soit le niveau de sécurisation -hors compilation de kernel-), j'ai cherché à sécuriser mes dispositifs numériques et j'en arrive aujourd'hui à penser que la "souveraineté" numérique n'existe pas ou plus, les failles créent un marché de la sécurité, ca fait travailler des gens... | ||
Voir l'article intéressant de w0nderfall au sujet de la sécurité sous linux: https://wonderfall.space/linux-securite/ | Voir l'article intéressant de w0nderfall au sujet de la sécurité sous linux: https://wonderfall.space/linux-securite/ | ||
− | + | <!--T:402--> | |
Cependant quelques éléments car c'est un sujet sur lequel on trouve peu d'informations didactiques rassemblées. | Cependant quelques éléments car c'est un sujet sur lequel on trouve peu d'informations didactiques rassemblées. | ||
<br> | <br> | ||
+ | <!--T:403--> | ||
-'''<u>principe de limiter surface d'attaque</u>''' | -'''<u>principe de limiter surface d'attaque</u>''' | ||
<nowiki>:</nowiki> principe général, la sécurisation ne fait que diminuer la surface d'attaque potentielle | <nowiki>:</nowiki> principe général, la sécurisation ne fait que diminuer la surface d'attaque potentielle | ||
+ | <!--T:404--> | ||
<br>-'''<u>acces physique sécurisé et config logicielle liée:</u>''' | <br>-'''<u>acces physique sécurisé et config logicielle liée:</u>''' | ||
<br> | <br> | ||
+ | <!--T:405--> | ||
- <u>acces physique</u>: à vous de voir | - <u>acces physique</u>: à vous de voir | ||
+ | <!--T:406--> | ||
-<u>mot de passe grub</u> | -<u>mot de passe grub</u> | ||
<br><br> | <br><br> | ||
Ligne 1 162 : | Ligne 1 695 : | ||
<blockquote>grub-mkpasswd-pbkdf2</blockquote> | <blockquote>grub-mkpasswd-pbkdf2</blockquote> | ||
+ | <!--T:407--> | ||
Copier le texte qui commence par grub.pbkdf2.sha512.10000.xy | Copier le texte qui commence par grub.pbkdf2.sha512.10000.xy | ||
+ | <!--T:408--> | ||
où xy est une longue suite de lettres et de chiffres | où xy est une longue suite de lettres et de chiffres | ||
+ | <!--T:409--> | ||
Ajouter les lignes suivantes à un fichier /etc/grub.d/42_pw | Ajouter les lignes suivantes à un fichier /etc/grub.d/42_pw | ||
+ | <!--T:410--> | ||
en remplacant user par votre nom d'utilisateur linux et pw par le | en remplacant user par votre nom d'utilisateur linux et pw par le | ||
+ | <!--T:411--> | ||
texte précemment copié | texte précemment copié | ||
<blockquote> | <blockquote> | ||
+ | <!--T:412--> | ||
cat << EOF | cat << EOF | ||
+ | <!--T:413--> | ||
set superusers=user | set superusers=user | ||
+ | <!--T:414--> | ||
password_pbkdf2 pw | password_pbkdf2 pw | ||
+ | <!--T:415--> | ||
EOF | EOF | ||
</blockquote> | </blockquote> | ||
− | lancer ensuite la commande | + | lancer ensuite la commande |
+ | <!--T:416--> | ||
<blockquote>update-grub</blockquote> | <blockquote>update-grub</blockquote> | ||
− | + | <!--T:417--> | |
-<u>bons mots de passes en general</u> | -<u>bons mots de passes en general</u> | ||
+ | <!--T:418--> | ||
pour changer le mot de passer de l'utilisateur courant taper | pour changer le mot de passer de l'utilisateur courant taper | ||
+ | <!--T:419--> | ||
<blockquote>passwd</blockquote> | <blockquote>passwd</blockquote> | ||
+ | <!--T:420--> | ||
pour changer le mot de passe de l'utilisateur root taper | pour changer le mot de passe de l'utilisateur root taper | ||
+ | <!--T:421--> | ||
<blockquote>sudo passwd root</blockquote> | <blockquote>sudo passwd root</blockquote> | ||
− | + | <!--T:422--> | |
-éventuellement <u>vérification d'intégrité du boot</u> (voir ordinateurs de purism par exemple) | -éventuellement <u>vérification d'intégrité du boot</u> (voir ordinateurs de purism par exemple) | ||
− | + | <!--T:423--> | |
-<u>chiffrer (crypter) ses supports de stockage</u>: | -<u>chiffrer (crypter) ses supports de stockage</u>: | ||
+ | <!--T:424--> | ||
https://doc.ubuntu-fr.org/tutoriel/chiffrer_ses_donnees | https://doc.ubuntu-fr.org/tutoriel/chiffrer_ses_donnees | ||
+ | <!--T:425--> | ||
https://www.dwarmstrong.org/remote-unlock-dropbear/ | https://www.dwarmstrong.org/remote-unlock-dropbear/ | ||
− | + | <!--T:426--> | |
<u>'''sécurité d'un serveur''':</u> | <u>'''sécurité d'un serveur''':</u> | ||
+ | <!--T:427--> | ||
-<u>apt update automatisé</u> : https://www.linuxtricks.fr/wiki/debian-activer-les-mises-a-jour-automatique-avec-unattended-upgrades | -<u>apt update automatisé</u> : https://www.linuxtricks.fr/wiki/debian-activer-les-mises-a-jour-automatique-avec-unattended-upgrades | ||
− | + | <!--T:428--> | |
-<u>ssh renforcé</u> : | -<u>ssh renforcé</u> : | ||
− | + | <!--T:429--> | |
lignes à inclure dans votre configuration ssh (/etc/ssh/sshd_config): | lignes à inclure dans votre configuration ssh (/etc/ssh/sshd_config): | ||
<blockquote> | <blockquote> | ||
+ | <!--T:430--> | ||
Port 22 #changer sur un autre port si vous le souhaitez | Port 22 #changer sur un autre port si vous le souhaitez | ||
+ | <!--T:431--> | ||
Protocol 2 | Protocol 2 | ||
+ | <!--T:432--> | ||
PermitRootLogin no | PermitRootLogin no | ||
+ | <!--T:433--> | ||
StrictModes yes | StrictModes yes | ||
+ | <!--T:434--> | ||
PermitEmptyPasswords no | PermitEmptyPasswords no | ||
+ | <!--T:435--> | ||
X11Forwarding no | X11Forwarding no | ||
+ | <!--T:436--> | ||
Ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com,aes128-gcm@openssh.com,aes256-ctr,aes192-ctr,aes128-ctr | Ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com,aes128-gcm@openssh.com,aes256-ctr,aes192-ctr,aes128-ctr | ||
+ | <!--T:437--> | ||
MACs hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-512,hmac-sha2-256,umac-128@openssh.com | MACs hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-512,hmac-sha2-256,umac-128@openssh.com | ||
+ | <!--T:438--> | ||
KexAlgorithms curve25519-sha256,curve25519-sha256@libssh.org,diffie-hellman-group14-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,ecdh-sha2-nistp521,ecdh-sha2-nistp384,ecdh-sha2-nistp256,diffie-hellman-group-exchange-sha256 | KexAlgorithms curve25519-sha256,curve25519-sha256@libssh.org,diffie-hellman-group14-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,ecdh-sha2-nistp521,ecdh-sha2-nistp384,ecdh-sha2-nistp256,diffie-hellman-group-exchange-sha256 | ||
+ | <!--T:439--> | ||
AllowTcpForwarding no | AllowTcpForwarding no | ||
+ | <!--T:440--> | ||
MaxSessions 1 | MaxSessions 1 | ||
+ | <!--T:441--> | ||
UsePAM yes | UsePAM yes | ||
+ | <!--T:442--> | ||
AllowUsers user #remplacer par les utilisateurs autorisées | AllowUsers user #remplacer par les utilisateurs autorisées | ||
+ | <!--T:443--> | ||
AllowGroups group #remplacer par les groupes autorisés | AllowGroups group #remplacer par les groupes autorisés | ||
+ | <!--T:444--> | ||
PasswordAuthentication no | PasswordAuthentication no | ||
+ | <!--T:445--> | ||
AuthorizedKeysFile .ssh/authorized_keys | AuthorizedKeysFile .ssh/authorized_keys | ||
</blockquote> | </blockquote> | ||
− | -<u>firewall logiciel</u>: | + | <!--T:446--> |
+ | -<u>firewall logiciel</u>: | ||
+ | <!--T:447--> | ||
ufw: https://doc.ubuntu-fr.org/ufw | ufw: https://doc.ubuntu-fr.org/ufw | ||
− | ou fichier de configuration iptables: | + | <!--T:448--> |
+ | ou fichier de configuration iptables: | ||
+ | <!--T:449--> | ||
https://gitlab.com/aurelpere/bp028-hardening/-/blob/main/rhel_iptables_ipv4/files/server_firewall.sh | https://gitlab.com/aurelpere/bp028-hardening/-/blob/main/rhel_iptables_ipv4/files/server_firewall.sh | ||
+ | <!--T:450--> | ||
-<u>backup</u>: | -<u>backup</u>: | ||
regle du 321 : 3 copies, 2 supports de stockages differents, 1 copie sur un autre lieux que les autres. | regle du 321 : 3 copies, 2 supports de stockages differents, 1 copie sur un autre lieux que les autres. | ||
borgbackup reste un standard pour sa fiabilité dans la communauté du libre (je confirme apres avoir testé plusieurs trucs) et offre un cloud pas cher pour stocker des sauvegardes "remote" qui finance le developpement de son logiciel libre. | borgbackup reste un standard pour sa fiabilité dans la communauté du libre (je confirme apres avoir testé plusieurs trucs) et offre un cloud pas cher pour stocker des sauvegardes "remote" qui finance le developpement de son logiciel libre. | ||
− | + | <!--T:451--> | |
fail2ban: https://doc.ubuntu-fr.org/fail2ban | fail2ban: https://doc.ubuntu-fr.org/fail2ban | ||
+ | <!--T:452--> | ||
fail2ban pour nextcloud: https://tuxicoman.jesuislibre.net/2015/01/fail2ban-pour-owncloud-7-sur-debian-jessie.html | fail2ban pour nextcloud: https://tuxicoman.jesuislibre.net/2015/01/fail2ban-pour-owncloud-7-sur-debian-jessie.html | ||
− | + | <!--T:453--> | |
-<u>desactiver ipv6</u> (ou configurer le firewall aussi pour ipv6) | -<u>desactiver ipv6</u> (ou configurer le firewall aussi pour ipv6) | ||
+ | <!--T:454--> | ||
3 méthodes pour désactiver ipv6: | 3 méthodes pour désactiver ipv6: | ||
+ | <!--T:455--> | ||
1.dans grub | 1.dans grub | ||
+ | <!--T:456--> | ||
2.avec sysctl | 2.avec sysctl | ||
+ | <!--T:457--> | ||
ajouter les lignes suivantes à /etc/systcl.conf | ajouter les lignes suivantes à /etc/systcl.conf | ||
<blockquote> | <blockquote> | ||
+ | <!--T:458--> | ||
net.ipv6.conf.all.disable_ipv6 = 1 | net.ipv6.conf.all.disable_ipv6 = 1 | ||
+ | <!--T:459--> | ||
net.ipv6.conf.default.disable_ipv6 = 1 | net.ipv6.conf.default.disable_ipv6 = 1 | ||
+ | <!--T:460--> | ||
net.ipv6.conf.all.router_solicitations = 0 | net.ipv6.conf.all.router_solicitations = 0 | ||
+ | <!--T:461--> | ||
net.ipv6.conf.default.router_solicitations = 0 | net.ipv6.conf.default.router_solicitations = 0 | ||
+ | <!--T:462--> | ||
net.ipv6.conf.all.accept_ra_rtr_pref = 0 | net.ipv6.conf.all.accept_ra_rtr_pref = 0 | ||
+ | <!--T:463--> | ||
net.ipv6.conf.default.accept_ra_rtr_pref = 0 | net.ipv6.conf.default.accept_ra_rtr_pref = 0 | ||
+ | <!--T:464--> | ||
net.ipv6.conf.all.accept_ra_pinfo = 0 | net.ipv6.conf.all.accept_ra_pinfo = 0 | ||
+ | <!--T:465--> | ||
net.ipv6.conf.default.accept_ra_pinfo = 0 | net.ipv6.conf.default.accept_ra_pinfo = 0 | ||
+ | <!--T:466--> | ||
net.ipv6.conf.all.accept_ra_defrtr = 0 | net.ipv6.conf.all.accept_ra_defrtr = 0 | ||
+ | <!--T:467--> | ||
net.ipv6.conf.default.accept_ra_defrtr = 0 | net.ipv6.conf.default.accept_ra_defrtr = 0 | ||
+ | <!--T:468--> | ||
net.ipv6.conf.all.autoconf = 0 | net.ipv6.conf.all.autoconf = 0 | ||
+ | <!--T:469--> | ||
net.ipv6.conf.default.autoconf = 0 | net.ipv6.conf.default.autoconf = 0 | ||
+ | <!--T:470--> | ||
net.ipv6.conf.all.accept_redirects = 0 | net.ipv6.conf.all.accept_redirects = 0 | ||
+ | <!--T:471--> | ||
net.ipv6.conf.default.accept_redirects = 0 | net.ipv6.conf.default.accept_redirects = 0 | ||
+ | <!--T:472--> | ||
net.ipv6.conf.all.accept_source_route = 0 | net.ipv6.conf.all.accept_source_route = 0 | ||
+ | <!--T:473--> | ||
net.ipv6.conf.default.accept_source_route = 0 | net.ipv6.conf.default.accept_source_route = 0 | ||
+ | <!--T:474--> | ||
net.ipv6.conf.all.max_addresses = 1 | net.ipv6.conf.all.max_addresses = 1 | ||
+ | <!--T:475--> | ||
net.ipv6.conf.default.max_addresses = 1 | net.ipv6.conf.default.max_addresses = 1 | ||
</blockquote> | </blockquote> | ||
+ | <!--T:476--> | ||
3.avec le network manager nmcli | 3.avec le network manager nmcli | ||
+ | <!--T:477--> | ||
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/configuring_and_managing_networking/using-networkmanager-to-disable-ipv6-for-a-specific-connection_configuring-and-managing-networking | https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/configuring_and_managing_networking/using-networkmanager-to-disable-ipv6-for-a-specific-connection_configuring-and-managing-networking | ||
− | + | <!--T:478--> | |
-<u>sécuriser le serveur en cas de multi utilisateur ou autres utilisateurs ayant obtenu un accès:</u> | -<u>sécuriser le serveur en cas de multi utilisateur ou autres utilisateurs ayant obtenu un accès:</u> | ||
− | + | <!--T:479--> | |
listes de fichiers à sécuriser (permissions etc.): https://linuxfr.org/forums/linux-general/posts/liste-des-fichiers-linux-a-securiser-owner-group-permissions-setuid-setgid-sticky-bit | listes de fichiers à sécuriser (permissions etc.): https://linuxfr.org/forums/linux-general/posts/liste-des-fichiers-linux-a-securiser-owner-group-permissions-setuid-setgid-sticky-bit | ||
− | + | <!--T:480--> | |
guides de durcissement anssi : https://www.ssi.gouv.fr/guide/recommandations-de-securite-relatives-a-un-systeme-gnulinux/ | guides de durcissement anssi : https://www.ssi.gouv.fr/guide/recommandations-de-securite-relatives-a-un-systeme-gnulinux/ | ||
− | + | <!--T:481--> | |
<u>'''Pour aller plus loin en termes de sécurité''':</u> | <u>'''Pour aller plus loin en termes de sécurité''':</u> | ||
− | + | <!--T:482--> | |
<u>firewall physique</u> libre: pcengines/ logiciel libre OPNSense | <u>firewall physique</u> libre: pcengines/ logiciel libre OPNSense | ||
− | + | <!--T:483--> | |
<u>fail2ban avec listes géographiques</u>: https://thecustomizewindows.com/2016/11/fail2ban-geoip-action-script-block-ssh-country/ | <u>fail2ban avec listes géographiques</u>: https://thecustomizewindows.com/2016/11/fail2ban-geoip-action-script-block-ssh-country/ | ||
− | + | <!--T:484--> | |
Créer un <u>sas de connection</u> à votre service en ligne (MySafeip): https://linuxfr.org/news/mysafeip-un-tiers-de-confiance-pour-votre-pare-feu | Créer un <u>sas de connection</u> à votre service en ligne (MySafeip): https://linuxfr.org/news/mysafeip-un-tiers-de-confiance-pour-votre-pare-feu | ||
+ | <!--T:485--> | ||
sécuriser les services systemd linux: https://github.com/juju4/ansible-harden-systemd | sécuriser les services systemd linux: https://github.com/juju4/ansible-harden-systemd | ||
− | + | <!--T:486--> | |
<u>compiler un kernel</u> : | <u>compiler un kernel</u> : | ||
+ | <!--T:487--> | ||
[https://doc.ubuntu-fr.org/tutoriel/comment_compiler_un_kernel_de_kernel.orghttps://github.com/robertdebock/ansible-role-kernel https://doc.ubuntu-fr.org/tutoriel/comment_compiler_un_kernel_de_kernel.org] | [https://doc.ubuntu-fr.org/tutoriel/comment_compiler_un_kernel_de_kernel.orghttps://github.com/robertdebock/ansible-role-kernel https://doc.ubuntu-fr.org/tutoriel/comment_compiler_un_kernel_de_kernel.org] | ||
+ | <!--T:488--> | ||
[https://doc.ubuntu-fr.org/tutoriel/comment_compiler_un_kernel_de_kernel.orghttps://github.com/robertdebock/ansible-role-kernel https://github.com/robertdebock/ansible-role-kernel]</translate> | [https://doc.ubuntu-fr.org/tutoriel/comment_compiler_un_kernel_de_kernel.orghttps://github.com/robertdebock/ansible-role-kernel https://github.com/robertdebock/ansible-role-kernel]</translate> | ||
+ | }} | ||
+ | {{Tuto Step | ||
+ | |Step_Title=<translate><!--T:489--> | ||
+ | Activer le wifi lors de l'installation (par exemple avec un raspberry)</translate> | ||
+ | |Step_Content=<translate><!--T:490--> | ||
+ | wpa2: | ||
+ | |||
+ | <!--T:491--> | ||
+ | Lorsque vous démarrez pour la premiere fois votre raspberry avec dietpi sur la clé usb ou la carte sd, le programme d'installation va vous afficher un menu suite à une erreur ("Checking ipv4 network connectivity") [...] ping: connect: Network is unreachabel") | ||
+ | |||
+ | <!--T:492--> | ||
+ | Aller alors dans "network-settings" puis suivez les menus indiqués dans les images jointes | ||
+ | |||
+ | <!--T:493--> | ||
+ | wpa3: voir etape 6</translate> | ||
+ | |Step_Picture_00=Serveur_orangepi-raspberry_nextcloud_en_photovolta_que_autonome_wifi2.jpg | ||
+ | |Step_Picture_01=Serveur_orangepi-raspberry_nextcloud_en_photovolta_que_autonome_wifi3.jpg | ||
+ | |Step_Picture_02=Serveur_orangepi-raspberry_nextcloud_en_photovolta_que_autonome_wifiscan.jpg | ||
+ | |Step_Picture_03=Serveur_orangepi-raspberry_nextcloud_en_photovolta_que_autonome_wifiscan2.jpg | ||
+ | |Step_Picture_04=Serveur_orangepi-raspberry_nextcloud_en_photovolta_que_autonome_wifiscan3.jpg | ||
+ | |Step_Picture_05=Serveur_orangepi-raspberry_nextcloud_en_photovolta_que_autonome_wifiscan4.jpg | ||
}} | }} | ||
{{Notes | {{Notes | ||
− | |Notes=<translate>Pas de remerciements, c'est galère et on m'a pas aidé ;) | + | |Notes=<translate><!--T:494--> |
+ | Pas de remerciements, c'est galère et on m'a pas aidé ;) | ||
+ | <!--T:495--> | ||
Le tuto et son contenu ne sont pas issus d'expertise ou de formation spécifique mais de bidouillages et d'informations glanées ça et là donc soyez indulgents ;) | Le tuto et son contenu ne sont pas issus d'expertise ou de formation spécifique mais de bidouillages et d'informations glanées ça et là donc soyez indulgents ;) | ||
+ | <!--T:496--> | ||
Tout retour d'experience est bienvenu dans les commentaires</translate> | Tout retour d'experience est bienvenu dans les commentaires</translate> | ||
}} | }} |
Tutorial de Aurelpere | Catégories : Énergie, Outils
Tutoriel pour mettre en place un serveur nextcloud (équivalent drive google mais libre et adapté à l'organisation collective) sur un ordinateur monocarte autonome (alimenté en photovoltaïque avec stockage)
Ce tutoriel n'est pas tout à fait "lowtech" en première approche dans la mesure où il s'agit d'informatique et de photovoltaique.
Cependant, il se veut le plus didactique possible et rejoint la philosophie lowtech de partager les savoirs faires, éviter la tech inaccessible par la rétention d'information, la complexification by design ou la dépendance propriétaire by design.
On donne aussi un outil de dimensionnement photovoltaïque avec quelques explication. A vous de dimensionner pour une informatique lowtech, qui ne fonctionne que sur une plage horaire calé sur les rythmes du soleil, cad qui respecte les temporalités humaines.
Nextcloud (service accessible sur framasoft ici : https://www.frama.space/abc/fr/) est un service assez cool pour s'organiser à plusieurs et permet de partager des fichiers, avoir un annuaire, un chat, de travailler en cooperation sur des fichiers libreoffice voire même de faire des visios.
On peut aussi imaginer des infokiosques mobiles sur ce principe.
Le tuto remet en question le marché des vpns, le photovoltaique avec stockage neuf et cher (en réalité le photovoltaique est devenu trop competitif face au pétrole et encore plus face au nucléaire!), et le marché des gafam et leur design de surveillance nocif pour la confiance et le lien social.
Les commandes sont celles pour un systeme debian
Enfin, le tuto est fait avec un modem 4G (et connexion filaire à un orange pi qui n'a pas de carte wifi par défaut), et mis a jour ce 10 avril pour raspberry pi connecté au "partage wifi" de votre téléphone. (voir etap 6 pour wifi en wpa3 et etap 16 pour wifi en wpa2)
Tutoriel pour mettre en place un serveur nextcloud (équivalent drive google mais libre et adapté à l'organisation collective) sur un ordinateur monocarte autonome (alimenté en photovoltaïque avec stockage)
Ce tutoriel n'est pas tout à fait "lowtech" en première approche dans la mesure où il s'agit d'informatique et de photovoltaique.
Cependant, il se veut le plus didactique possible et rejoint la philosophie lowtech de partager les savoirs faires, éviter la tech inaccessible par la rétention d'information, la complexification by design ou la dépendance propriétaire by design.
On donne aussi un outil de dimensionnement photovoltaïque avec quelques explication. A vous de dimensionner pour une informatique lowtech, qui ne fonctionne que sur une plage horaire calé sur les rythmes du soleil, cad qui respecte les temporalités humaines.
Nextcloud (service accessible sur framasoft ici : https://www.frama.space/abc/fr/) est un service assez cool pour s'organiser à plusieurs et permet de partager des fichiers, avoir un annuaire, un chat, de travailler en cooperation sur des fichiers libreoffice voire même de faire des visios.
On peut aussi imaginer des infokiosques mobiles sur ce principe.
Le tuto remet en question le marché des vpns, le photovoltaique avec stockage neuf et cher (en réalité le photovoltaique est devenu trop competitif face au pétrole et encore plus face au nucléaire!), et le marché des gafam et leur design de surveillance nocif pour la confiance et le lien social.
Les commandes sont celles pour un systeme debian
Enfin, le tuto est fait avec un modem 4G (et connexion filaire à un orange pi qui n'a pas de carte wifi par défaut), et mis a jour ce 10 avril pour raspberry pi connecté au "partage wifi" de votre téléphone. (voir etap 6 pour wifi en wpa3 et etap 16 pour wifi en wpa2)
debian, photovoltaique, nextcloud, ordinateur monocarte, orange pi
Tutoriel pour mettre en place un serveur nextcloud (équivalent drive google mais libre et adapté à l'organisation collective) sur un ordinateur monocarte autonome (alimenté en photovoltaïque avec stockage)
Ce tutoriel n'est pas tout à fait "lowtech" en première approche dans la mesure où il s'agit d'informatique et de photovoltaique.
Cependant, il se veut le plus didactique possible et rejoint la philosophie lowtech de partager les savoirs faires, éviter la tech inaccessible par la rétention d'information, la complexification by design ou la dépendance propriétaire by design.
On donne aussi un outil de dimensionnement photovoltaïque avec quelques explication. A vous de dimensionner pour une informatique lowtech, qui ne fonctionne que sur une plage horaire calé sur les rythmes du soleil, cad qui respecte les temporalités humaines.
Nextcloud (service accessible sur framasoft ici : https://www.frama.space/abc/fr/) est un service assez cool pour s'organiser à plusieurs et permet de partager des fichiers, avoir un annuaire, un chat, de travailler en cooperation sur des fichiers libreoffice voire même de faire des visios.
On peut aussi imaginer des infokiosques mobiles sur ce principe.
Le tuto remet en question le marché des vpns, le photovoltaique avec stockage neuf et cher (en réalité le photovoltaique est devenu trop competitif face au pétrole et encore plus face au nucléaire!), et le marché des gafam et leur design de surveillance nocif pour la confiance et le lien social.
Les commandes sont celles pour un systeme debian
Enfin, le tuto est fait avec un modem 4G (et connexion filaire à un orange pi qui n'a pas de carte wifi par défaut), et mis a jour ce 10 avril pour raspberry pi connecté au "partage wifi" de votre téléphone. (voir etap 6 pour wifi en wpa3 et etap 16 pour wifi en wpa2)
autonomie.ods
Les liens vers le materiel photovoltaïque utilisé sont dans le fichier autonomie.ods ( lisible avec libreoffice) attaché à ce tutoriel.
- raspberry pi :
42€ sur leboncoin
-Orange pi :
Carte utilisée: Orange pi 5
ordinateur monocarte avec 4,8,16 ou 32 Go de ram
Un processeur à 2,4Ghz ARM Cortex-A55
Cette carte est compatible avec les disques nvme pcie 2.0 ssd 2242 ou 2230 (le pcie étant rétrocompatible cad que les 3.0, 4.0, 5.0 fonctionnent à vitesse réduite sur l'orange pi 5)
Meme principe qu'ici Ordinateur low-tech mais un peu plus puissant et on peut y brancher un disque dur (pratique pour nextcloud qui est fait pour héberger des fichiers) et ca démarre tout seul sur clé usb.
Prix: 143€ neuf sur aliexpress en version 16 Go au 2 août 2023
En occasion leboncoin, on trouve plus facilement des raspberry aux alentours de 100€.
Il est nécessaire d'acheter une petit boitier à 10€ (ou en fabriquer un ) en plus pour éviter que la carte soit à nue
-Stockage/disque dur:
Ici on utilise une clé usb Kingston 32Go et une carte nvme samsung de 512Go.
On peut brancher une disque dur de plus grande capacité soit en usb, soit une carte nvme (nvme pcie 2.0 ssd 2242 ou 2230. compatible avec les pcie 3.0 4.0 et superieur mais la vitesse est réduite).
Une carte nvme samsung 2242 de 500Go coute 50€ environ au 2 août 2023.
-clé usb : 10€
-cable rj45: 5€
-Box internet ou modem 4G selon votre connection internet.
-Panneau solaire: Ici on utilise un panneau flexible de 120W acheté 115€ neuf mais on en trouve à 30€ d'occasion sur leboncoin équivalent en puissance.
Note: Pour le besoin théorique. Voir fichier autonomie.ods
-batterie de voiture usée: utiliser sa précédente batterie de voiture plomb acide lorsqu'elle commence à lacher quand il fait trop chaud!
-convertisseur batterie 12/24V-usb 5V: 20€ evitez amazon si vous le pouvez)
- regulateur pwm 30A: 30€ neuf si on ne prend pas de la marque
- DRL (interupteur jour/nuit 13V): 1,5€ neuf
(mot clé "Kit de feux de jour à LED pour voiture, contrôleur marche/arrêt automatique DRL")
-cable electrique mc4: 20€
Total prix d'occasion orangepi: 256,50€
Total prix neuf orangepi: 431,50€
Total prix d'occasion raspberry: 165€
Voir fichier autonomie.ods
-
1.Téléchargement de dietpi et préparation de la clé usb
Pour l'installation, je vous conseille d'utiliser dietpi. L'interet de dietpi est notamment la legereté du systeme pour des ordinateurs monocartes, mais aussi l'installation automatique de logiciels libres par un menu relativement "user friendly". On peut mentionner parmis tous les logiciels installables automatiquement au démarrage du systeme (https://dietpi.com/dietpi-software.html) des applis de domotique, interessante pour économiser de l'énergie en fonction de la meteo, mais aussi les relais "tor" pour contribuer au réseau relativement anonymisant tor, interessant pour les "éco terroristes" que nous sommes.
Il faut aussi mentionner "younohost" (https://yunohost.org/fr) qui est français et qui fait le même boulot que dietpi pour les raspberry et qui est aussi "user friendly" sinon plus. Je n'ai pas encore testé yunohost car j'avais mis de côté le raspberry pi suite à des bugs de souris trop étranges. Mes recherches pour éviter les bugs de souris trop étranges n'ayant pas abouti positivement (purism, odroid, raspberry, orangpi, macbook, windows, voir section sécurité), je ne peux que faire état de ce que j'ai effectivement essayé.
( pour younohost : https://yunohost.org/fr/install/hardware:arm)
Selectionner votre ordinateur monocarte (orange pi dans le cas présent) puis telecharger
Dezipper l'archive obtenue.
Utiliser ensuite balena etcher pour créer une clé usb bootable pour installer dietpi sur votre ordinateur monocarte (orange pi 5 dans le cas présent mais ca fonctionne pareil sur d'autres ordinateurs monocartes).
https://etcher.balena.io/#download-etcher
Double cliquer sur le fichier téléchargé
Selectionner l'image de dietpi téléchargée, selectionner votre clé usb, cliquer sur flash.
Il ne vous reste plus qu'à brancher la clé usb sur le orangepi et il bootera automatiquement sur la clé usb.
Pour un raspberry pi, on utilise une carte sd mais on peut configurer le boot usb également (voir ici : https://makerhelp.fr/booter-un-raspberry-pi-4-sur-un-disque-dur-ou-un-ssd-en-usb/).
2. Installation de nextcloud
Allumer votre orangepi/raspberrypi avec la clé usb branchée.
Le login par défaut au démarrage est root et le mot de passe dietpi.
Suivre les menus que vous propose dietpi au premier démarrage pour installer le service nextcloud. C'es très facile, c'est en anglais et tout est automatisé. J'ai mis les images des menus à sélectionner pour l'installation de nextcloud dans cette etape et les étapes 3 à 6.
Vous pouvez vous déplacer dans les menus au clavier avec les fleches et la touche tab.
Selectionner avec espace et valider avec entree.
Voir images des étapes 3 à 6 pour le déroulement de l'installation et les entrées à sélectionner.
Si vous n'avez pas de box et que vous avez un orangepi ou un raspberrypi et que vous voulez vous connecter à un wifi (par exemple le wifi d'un smartphone en partage de connexion)
Dietpi fournit un utilitaire pour configurer automatiquement le wifi qui fonctionne sur raspberry. Chez moi ca ne fonctionne que si le réseau est en wpa2. Si vous voulez activer le WPA3 ou si vous voulez configurer votre wifi à la main, voici les étapes à suivre.
Linux est un peu compliqué pour la gestion des réseaux. Il existe une multitude de programmes permettant de gérer les réseaux (networking, network interfaces, ifup, wpa_supplicant, network_manager, ifconfig, ip...).
Si vous vous y connaissez je vous laisse choisir ce qui vous convient le mieux.
Sinon, on utilisera les programmes installés par défaut dans dietpi pour la gestion des interfaces wifi : wpa_supplicant et dhclient.
Commencer par brancher un adaptateur usb wifi à votre orangepi ou verifier que votre adaptateur wifi sur votre raspberry pi est bien détecté.
Sur un orangepi: verifier que l'adaptateur est bien détecté en tapant
lsusb
Cette commande va lister les périphériques usb et vous devriez voir votre clé usb wifi dans la liste. Verifier ensuite que les drivers de votre clé ont bien été chargés en tapant:
dmesg | grep usb
ou pour lire tous les pilotes chargés par linux en tapant
dmesg | less
Vous pouvez trouver à cette adresse une liste d'adaptateur usb qui fonctionnent nativement sous linux : https://github.com/morrownr/USB-WiFi/blob/main/home/USB_WiFi_Adapters_that_are_supported_with_Linux_in-kernel_drivers.md
Sur un orange pi ou raspberry pi : taper la commande
ip a
Vous devriez voir votre adaptateur wifi sous le nom d'interface wlan0. On supposera dans la suite du tuto que le nom de l'interface est wlan0. Si ce n'est pas le cas, remplacer wlan0 par le nom de votre interface.
Nou allons vérifier que votre interface est bien déclarée. Ouvrir le fichier /etc/network/interfaces en tapant:
nano /etc/network/interfaces
Vous devez avoir les lignes suivantes. Si elles n'y sont pas ajouter les.
auto wlan0 iface wlan0 inet dhcp wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
Nous allons maintenant configurer wpa_supplicant pour activer la connection wifi.
Pour cela, editer le fichier /etc/wpa_supplicant/wpa_supplicant.conf en tapant les commandes suivantes: (remplacer votre.ssid par le nom que vous donnez à votre reseau wifi et votre.password par votre mot de passe)
echo "ctrl_interface=/run/wpa_supplicant" | sudo tee /etc/wpa_supplicant/wpa_supplicant.conf echo "ap_scan=1" | sudo tee -a /etc/wpa_supplicant/wpa_supplicant.conf echo "update_config=1" | sudo tee -a /etc/wpa_supplicant/wpa_supplicant.conf echo "network={" | sudo tee -a /etc/wpa_supplicant/wpa_supplicant.conf echo 'ssid="votre.ssid"' | sudo tee -a /etc/wpa_supplicant/wpa_supplicant.conf echo "scan_ssid=1" | sudo tee -a /etc/wpa_supplicant/wpa_supplicant.conf echo "proto=WPA RSN" | sudo tee -a /etc/wpa_supplicant/wpa_supplicant.conf
Maintenant, la configuration differe si votre wifi est un wifi WPA2 ou WPA3.
Si cest un wpa2, ajouter:
echo "key_mgmt=WPA-PSK | sudo tee -a /etc/wpa_supplicant/wpa_supplicant.conf echo 'psk="votre.password"' | sudo tee -a /etc/wpa_supplicant/wpa_supplicant.conf echo "}" | sudo tee -a /etc/wpa_supplicant/wpa_supplicant.conf
Si cest un wpa3, ajouter:
echo "key_mgmt=SAE | sudo tee -a /etc/wpa_supplicant/wpa_supplicant.conf echo 'sae_password="votre.password"' | sudo tee -a /etc/wpa_supplicant/wpa_supplicant.conf echo "ieee80211w=2" | sudo tee -a /etc/wpa_supplicant/wpa_supplicant.conf echo "}" | sudo tee -a /etc/wpa_supplicant/wpa_supplicant.conf
Lancer maintenant wpa_supplicant avec les commandes:
export PATH="/usr/sbin:$PATH" sudo wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf
Lancer ensuite dhclient pour obtenir une ip sur votre reseau:
sudo dhclient wlan0
Verifier que vous etes connecté:
curl google.com
Voilà vous êtes connecté.
Si ca ne fonctionne pas bien chez vous, je vous conseille les liens suivants pour débugguer ou comprendre mieux à quoi servent ces commandes: https://wiki.archlinux.org/title/Wpa_supplicant https://doc.ubuntu-fr.org/wifi_ligne_de_commande https://www.linuxbabe.com/command-line/ubuntu-server-16-04-wifi-wpa-supplicant
Pour automatiser la connection au démarrage de l'ordinateur:
sudo cp /lib/systemd/system/wpa_supplicant.service /etc/systemd/system/wpa_supplicant.service sudo nano /etc/systemd/system/wpa_supplicant.service
Votre fichier doit ressembler à cela:
[Unit] Description=WPA Supplicant Before=network.target After=dbus.service Wants=network.target IgnoreOnIsolate=true [Service] Type=dbus BusName=fi.w1.wpa_supplicant1 ExecStart=/sbin/wpa_supplicant -u -s -c /etc/wpa_supplicant/wpa_supplicant.conf -i wlan0 Group=netdev RuntimeDirectory=wpa_supplicant RuntimeDirectoryMode=0750 Restart=always [Install] WantedBy=multi-user.target
Lancer ensuite la commande pour automatiser le demarrage du service au boot:
sudo systemctl enable wpa_supplicant.service
Editer ensuite le service dhclient pour automatiser son demarrage:
sudo nano /etc/systemd/system/dhclient.service
Ajouter le texte suivant :
[Unit] Description= DHCP Client Before=network.target [Service] Type=forking ExecStart=/sbin/dhclient wlan0 -v ExecStop=/sbin/dhclient wlan0 -r Restart=always [Install] WantedBy=multi-user.target
puis lancer la commande:
sudo systemctl enable dhclient.service
Si vous avez une box:
Brancher le orangepi ou le raspberry pi à votre box internet
(avec un cable rj45 pour le orange pi qui n'a pas le wifi par défaut, avec un cable rj45 ou en wifi pour votre raspberry pi)
Pour obtenir l'ip de votre dietpi ou raspberry pi, taper la commande suivante:
ip a
L'adresse ip s'affiche (192.168.2.2 sur l'image jointe)
Verifier que votre serveur est accessible depuis un autre ordinateur connecté à votre box ou routeur connecté au modem 4g ou réseau wifi en tapant dans la barre de votre navigateur (en remplacant adresse_ip par l'adresse trouvée avec la commande ip a)
http://adresse_ip/nextcloud/
Rendre votre réseau local accessible depuis internet:
Si vous n'avez pas de box internet (reseau wifi de votre telephone ou modem 4g ou box 4g, se reporter aux etapes 7 et 8)
Si vous avez une box internet:
Pour rendre votre dietpi accessible depuis internet, il faut aller dans la configuration de votre box et
dans la section "NAT" "Port Forwarding" mettre le port 80 et renseigner l'ip trouvée précedemment ainsi que le port 443 et renseigner l'ip trouvée précédemment également.
Je n'ai pas de box donc je n'ai pas pu vous faire de screenshot mais vous trouverez des ressources sur internet pour cela. Par exemple https://pratiquepc.fr/ouvrir-des-ports-sur-une-livebox/
Si vous voulez vous connecter en ssh à votre serveur dietpi depuis un autre ordinateur:
Pour se connecter en ssh sans login avec dropbear au orange pi/raspberry pi
copier votre clé publique ssh dans le fichier authorized_keys
placé dans ~/.ssh/authorized_keys
ne pas oublier de faire un chmod 0600 sur ce fichier
Pour le orange pi, qui utilise dropbear:
ajouter la ligne DROPBEAR_EXTRA_ARGS="-s"
au fichier /etc/default/dropbear
Vous pouvez ensuite trouver votre ip publique (celle accessible par tous sur internet) en tapant depuis votre console dietpi
curl ifconfig.me
(si curl n'est pas installé lancer la commande apt update && apt install curl)
Une fois la configuration NAT/Port Forwarding effectué, tester si nextcloud est accessible sur internet en rentrant l'adresse suivante dans la barre de votre navigateur internet:
http://adresse_ip_publique/nextcloud/
(remplacer adresse_ip_publique par l'adresse trouvée précédemment
Attention les navigateurs peuvent être un peu capricieux sans le https, si vous voulez tester en sortant du diagnostic une possible erreur navigateur taper dans un terminal linux :
[ATTENTION, cette section remet en question le marché des vpns!!]
Cette section n'est utile que pour les connections 4G ou en wifi sur téléphone (4G ou 5G)
La 4g a l'avantage d'être mobile, avec une tres faible consommation du modem autour de 5W, et vous pouvez trouver des modems 4g sans wifi pour limiter la surface d'attaque de votre serveur (exemple netgear lm1200 autour de 150€).
qu'est ce qu'un vpn?
Les VPN sont principalement connus pour les "clients" vpn. C'est à dire que vous l'utilisez sur votre ordinateur pour vous "anonymiser".
Le vpn est en fait un tunnel entre votre ordinateur et un ordinateur distant à partir duquel partent vos requetes vers internet. Tout votre traffic en direction d'internet va passer par ce tunnel.
Internet pense ainsi que vos requetes proviennent de cet ordinateur distant. C'est à dire que votre ip publique devient celle de cet ordinateur distant.
Votre fournisseur d'accès ne voit que le traffic entre votre ordinateur et cet ordinateur distant, ce qui vous "anonymise".
En réalité, vous êtes anonyme vis à vis de votre fournisseur d'acces à internet, mais vous ne faites que déplacer la confiance vers votre fournisseur vpn qui lui peut voir votre traffic.
Le vpn a aussi d'autres utilités comme vous donner accès à des sites qui filtrent l'accès selon la "provenance" de votre adresse ip publique.
Vous pouvez tout à fait créer votre propre serveur vpn, et dans notre cas, ce serveur vpn permettra de rediriger les requetes internet faites sur ce serveur vers votre orange pi/raspberry pi en passant par le tunnel (dans l'autre sens que lorsque vous l'utilisez en tant que client pour accéder à internet).
Et nous allons voir comment.
Créer un serveur sur gandi.net
Créer un compte sur gandi.net, puis créer un serveur dans gandicloud vps. Voir les images jointes pour la création en 3 clics du serveur qui coute 5€/mois.
Pour créer une clé ssh et se logger voir
https://docs.gandi.net/fr/hebergement_web/connexion/cle_ssh.html
https://docs.gandi.net/fr/cloud/operations_courantes/connexion_serveur.html
Une fois loggé sur le serveur,
lancer la commande pour installer wireguard et les dépendances nécessaires
sudo apt update && sudo apt install wireguard resolvconf iptables nano -y
Lancer la même commande sur votre orange pi/raspberry pi.
lancer ensuite les commandes suivantes sur votre serveur et sur le orange pi/raspberry pi pour creer les cles privés et publiques de wireguard
sudo mkdir -p /etc/wireguard
sudo sh -c 'wg genkey | (umask 0077 && tee /etc/wireguard/private_key) | wg pubkey > /etc/wireguard/public_key'
Afficher la clé publique sur votre orange pi/raspberry pi en tapant
sudo cat /etc/wireguard/public_key
Afficher egalement la clé publique sur votre serveur en tapant
sudo cat /etc/wireguard/public_key
Entrer ensuite les commandes suivantes pour créer un fichier de configuration /etc/wireguard/wg0.conf sur votre serveur:
Taper les lignes suivantes (remplacer cle_publique_du_orange_pi_ou_raspberry_pi par celle affichée précédemment) :
echo "[Interface]" | sudo tee /etc/wireguard/wg0.conf
echo "Address=10.10.0.1/24" | sudo tee -a /etc/wireguard/wg0.conf
echo "PrivateKey=$(sudo cat /etc/wireguard/private_key)" | sudo tee -a /etc/wireguard/wg0.conf
echo "ListenPort=12345" | sudo tee -a /etc/wireguard/wg0.conf
echo "[Peer]" | sudo tee -a /etc/wireguard/wg0.conf
echo "PublicKey=cle_publique_du_orange_pi_ou_raspberry_pi" | sudo tee -a /etc/wireguard/wg0.conf
echo "AllowedIPs=10.10.0.2/32" | sudo tee -a /etc/wireguard/wg0.conf
Entrer ensuite la commande suivante sur le serveur pour lancer et activer le service vpn
taper ensuitesudo systemctl start wg-quick@wg0
sudo systemctl enable wg-quick@wg0
pour obtenir l'ip publique de votre serveurcurl ifconfig.me
Taper les lignes suivantes (remplacer cle_publique_du_serveur par celle affichée précédemment et ip_publique_du_serveur par celle affichée précédemment) :
echo "[Interface]" | sudo tee /etc/wireguard/wg0.conf
echo "Address=10.10.0.2/24" | sudo tee -a /etc/wireguard/wg0.conf
echo "PrivateKey=$(sudo cat /etc/wireguard/private_key)" | sudo tee -a /etc/wireguard/wg0.conf
echo "[Peer]" | sudo tee -a /etc/wireguard/wg0.conf
echo "PublicKey=cle_publique_du_serveur" | sudo tee -a /etc/wireguard/wg0.conf
echo "AllowedIPs=10.10.0.1/32" | sudo tee -a /etc/wireguard/wg0.conf
echo "Endpoint=ip_publique_du_serveur:12345" | sudo tee -a /etc/wireguard/wg0.conf
La ligne AllowedIPS définit les ips de destination (sortantes) qui passeront par le tunnel et seront chiffrées mais aussi les ips entrantes autorisées. Si vous souhaitez configurer votre "client" (orange pi ou raspberry pi) pour utiliser le vpn pour accéder à internet, remplacer AllowedIPs=10.10.0.1/32 par AllowedIPs=0.0.0.0/0 En définissant 0.0.0.0/0 on indique que tout le traffic du orange pi/raspberry pi passera par le tunnel wireguard et toutes les ip entrantes seront autorisées. Il est alors important de bien configurer son firewall sur le serveur!
Pour vérifier que wireguard fonctionne, lancer la commande suivante sur le serveur vpn:
ping 10.10.10.2 -c 4
Le ping doit fonctionner
Ca ne fonctionne de façon systématique chez moi, mais je suis sur que si vous essayez loin de l'oeil de sauron votre météo numérique ira mieux que la mienne, et ca fonctionnera chez vous ;)
Dans le cas où ca ne fonctionnerait pas avec wireguard, vous pouvez utiliser openvpn, (qui est configurable sans ligne de commande à la souris!).
Configuration du serveur proxy gandi.net:
Pour cela suivez les étapes suivantes (https://openvpn.net/vpn-server-resources/installing-openvpn-access-server-on-a-linux-system/):
Update du 27/11/23: il n'y a pas de version bookworm d'openvpn-as disponible pour debian. Pensez à installer debian version bullseye
apt update && apt -y install ca-certificates wget net-tools gnupg
wget https://as-repository.openvpn.net/as-repo-public.asc -qO /etc/apt/trusted.gpg.d/as-repository.asc
echo "deb [arch=amd64 signed-by=/etc/apt/trusted.gpg.d/as-repository.asc] http://as-repository.openvpn.net/as/debian bullseye main" | sudo tee /etc/apt/sources.list.d/openvpn-as-repo.list
apt update && apt -y install openvpn-as
Si les commandes ci-dessus ne fonctionnent pas, il est possible qu'openvpn ait mis a jour des éléments. Merci alors de se reporter à https://openvpn.net/access-server/, s'inscrire, et suivre les instructions d'installation
Rendez vous ensuite sur la page de configuration du serveur: https://<adresse_ip_du_serveur>
login:openvpn
password: indiqué dans le log de l'installation
screen 1:
go to admin panel
reentrer vos login/password
screen2: Network settings: Activer UDP seulement et port 1194 puis save settings
screen3: VPN Settings: remplir les champs comme indiqué sur le screenshot puis save settings
screen 4 et 5:
User Management/User permission : changer le mot de passe dans local password et entrer l'adresse ip fixe du screeenshot puis save settings.
Puis update running server.
Pour vous reconnecter à l'interface de configuration:
https://adresse_ip_du_serveur:943
screen 6:
User Management/User profile: cliquer sur new profile
puis Cliquer sur create profile.
Renommer le fichier de configuration téléchargé en openvpn.conf
Ouvrir le fichier de configuration et trouver la ligne auth-user-pass et la remplacer par la ligne suivante:
auth-user-pass auth.txt
Configuration du orangepi/raspberrypi
Lancer ensuite sur le orangepi raspberry pi:
sudo apt update && sudo apt install openvpn
Copier le fichier de configuration télécharger vers /etc/openvpn/client/openvpn.conf sur votre orangepi/raspberry pi
creer un fichier auth.txt dans /etc/openvpn/client/ dans lequel vous copiez les deux lignes suivantes en remplacant password par votre mot de passe:
openvpn
password
Lancer ensuite le client vpn:
sudo systemctl start openvpn-client@openvpn
Si vous voulez que le client se connecte automatiquement au lancement de la machine taper
sudo systemctl enable openvpn-client@openvpn
Pour rediriger les requetes sur le serveur vers le orange pi / raspberry pi, on met en place un serveur logiciel web nginx:
sudo apt install nginx -y
On ouvre ensuite le fichier de configuration de ce logiciel serveur web:
sudo nano /etc/nginx/sites-enabled/default
Remplacer le contenu du fichier par ce qui suit:
server {
listen 80;
server_name localhost;
server_tokens off;
add_header Permissions-Policy "accelerometer=(),autoplay=(),camera=(),display-capture=(),document-domain=(),encrypted-media=(),fullscreen=(),geolocation=(),gyroscope=(),magnetometer=(),microphone=(),midi=(),payment=(),picture-in-picture=(),publickey-credentials-get=(),screen-wake-lock=(),sync-xhr=(self),usb=(),web-share=(),xr-spatial-tracking=()";
add_header Strict-Transport-Security "max-age=31536000 ; includeSubDomains";
add_header X-Frame-Options "SAMEORIGIN";
add_header X-Content-Type-Options nosniff;
add_header Content-Security-Policy "script-src 'self';";
add_header X-Permitted-Cross-Domain-Policies none;
add_header Referrer-Policy no-referrer;
add_header Clear-Site-Data "cache,cookies,storage";
location / {
proxy_pass http://10.10.0.2;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
client_max_body_size 20M;
limit_except GET HEAD POST {deny all;}
}
}
Nginx va rediriger les requetes faites sur l'ip publique de votre serveur vers le nextcloud de votre orange pi / raspberry pi (ligne proxy_pass http://10.10.0.2;)
Vous pouvez tester si cela fonctionne en vous rendant sur la page:
http://ip_publique_de_votre_serveur_gandi/nextcloud/
(notez bien que c'est en http et pas https)
Attention, de nombreux navigateurs n'acceptent plus tres bien les redirections en http, voir la section https pour configurer le https (il faudra prendre un nom de domaine).
Le nom de domaine est l'adresse dans votre navigateur : par exemple lowtechlab.org.
Il vous permet de rendre votre serveur accessible plus facilement avec une adresse facilement memorisable. Il ne fait qu'associer le nom de domaine à l'adresse ip de votre serveur vpn ou l'adresse ip de votre box.
Que vous enregistriez un nom de domaine pour rediriger vers votre adresse ip ou pas (c'est nécessaire pour avoir le https cependant), il faut noter que par défaut, les fournisseurs d'accès vous octroient une adresse ip différente à chaque connexion.
Si vous souhaitez une adresse ip fixe, il faut en faire la demande à votre fournisseur d'accès. Ce n'est malheureusement plus très répandue dans les offres grands publics. Orange propose à la place un "DynDns" qui vous propose une adresse en lettres correspondant à votre adresse ip mais à laquelle vous ne pouvez pas rattacher facilement un nom de domaine. Certains gestionnaires de nom de domaine, comme infomaniak, proposent tout de même d'enregistrer un nom de domaine pour le dyndns qui est acessible assez facilement sans surcout chez les principaux opérateurs.
Si vous avez un accès en 4G, il n'est pas possible d'avoir une adresse ip fixe et votre adresse ip publique correspondra à un "pool". C'est à dire que l'opérateur alloue une adresse ip publique pour plusieurs clients, ne vous permettant pas d'utiliser la technique du NAT/Port Forwarding pour rendre votre dietpi accessible sur internet.
Il faudra alors prendre un nom de domaine pour votre serveur vpn qui redirige les requetes vers votre dietpi.
Voir image jointe pour l'enregistrement d'un nom de domaine: c'est la ligne nom "@" type A qu'il faut renseigner avec l'adresse ip publique de votre box ou de votre serveur vpn.
Si vous avez un serveur proxy
Sur votre serveur gandi, effectuer les opérations suivantes:
Creer un fichier /etc/nginx/conf.d/dietpi.conf et copier les lignes suivante:
server {
listen 80;
server_name localhost;
server_tokens off;
add_header Permissions-Policy "accelerometer=(),autoplay=(),camera=(),display-capture=(),document-domain=(),encrypted-media=(),fullscreen=(),geolocation=(),gyroscope=(),magnetometer=(),microphone=(),midi=(),payment=(),picture-in-picture=(),publickey-credentials-get=(),screen-wake-lock=(),sync-xhr=(self),usb=(),web-share=(),xr-spatial-tracking=()";
add_header Strict-Transport-Security "max-age=31536000 ; includeSubDomains";
add_header X-Frame-Options "SAMEORIGIN";
add_header X-Content-Type-Options nosniff;
add_header Content-Security-Policy "script-src 'self';";
add_header X-Permitted-Cross-Domain-Policies none;
add_header Referrer-Policy no-referrer;
#add_header Clear-Site-Data "cache,cookies,storage";
return 301 https://$host$request_uri;
location / {
return 301 https://$host$request_uri;
}
}
lancer ensuite les commandes suivantes:
sudo apt install letsencrypt
wget https://raw.githubusercontent.com/certbot/certbot/master/certbot-nginx/certbot_nginx/_internal/tls_configs/options-ssl-nginx.conf
sudo cp options-ssl-nginx.conf /etc/letsencrypt/options-ssl-nginx.conf
wget https://raw.githubusercontent.com/certbot/certbot/master/certbot/certbot/ssl-dhparams.pem
sudo cp ssl-dhparams.pem /etc/letsencrypt/ssl-dhparams.pem
sudo rm /etc/nginx/sites-enabled/default
sudo apt remove certbot
sudo apt install python3-certbot-nginx
obtenir les certificats (rempalcer __domain__ par votre domaine):
sudo certbot certonly --nginx -d __domain__
copier ensuite les lignes suivante dans votre fichier /etc/nginx/conf.d/dietpi.conf
en remplacant __domain__ par votre domaine
server {
listen 80;
server_name localhost;
server_tokens off;
add_header Permissions-Policy "accelerometer=(),autoplay=(),camera=(),display-capture=(),document-domain=(),encrypted-media=(),fullscreen=(),geolocation=(),gyroscope=(),magnetometer=(),microphone=(),midi=(),payment=(),picture-in-picture=(),publickey-credentials-get=(),screen-wake-lock=(),sync-xhr=(self),usb=(),web-share=(),xr-spatial-tracking=()";
add_header Strict-Transport-Security "max-age=31536000 ; includeSubDomains";
add_header X-Frame-Options "SAMEORIGIN";
add_header X-Content-Type-Options nosniff;
add_header Content-Security-Policy "script-src 'self';";
add_header X-Permitted-Cross-Domain-Policies none;
add_header Referrer-Policy no-referrer;
#add_header Clear-Site-Data "cache,cookies,storage";
return 301 https://$host$request_uri;
location / {
return 301 https://$host$request_uri;
}
}
server {
listen 443 ssl http2;
server_name localhost;
server_tokens off;
ssl_certificate /etc/letsencrypt/live/__domain__/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/__domain__/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
add_header Permissions-Policy "accelerometer=(),autoplay=(),camera=(),display-capture=(),document-domain=(),encrypted-media=(),fullscreen=(),geolocation=(),gyroscope=(),magnetometer=(),microphone=(),midi=(),payment=(),picture-in-picture=(),publickey-credentials-get=(),screen-wake-lock=(),sync-xhr=(self),usb=(),web-share=(),xr-spatial-tracking=()";
add_header Strict-Transport-Security "max-age=31536000 ; includeSubDomains";
add_header X-Frame-Options "SAMEORIGIN";
add_header X-Content-Type-Options nosniff;
add_header Content-Security-Policy "script-src 'self';";
add_header X-Permitted-Cross-Domain-Policies none;
add_header Referrer-Policy no-referrer;
#add_header Clear-Site-Data "cache,cookies,storage";
location / {
proxy_pass http://10.10.10.2;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
client_max_body_size 20M;
limit_except GET HEAD POST {deny all;}
}
}
redémarrer nginx
sudo systemctl restart nginx
Une fois ces étapes réalisées, votre serveur est accessible en ligne en https en tapant dans votre navigateur https://votre_domaine/nextcloud/
Vous pouvez alors configurer nextcloud en ligne par le compte administrateur login par défaut sur dietpi: admin mot de passe par défaut sur dietpi: mot de passe entrée à l'installation de dietpi
Je n'ai pas de box, je vous updaterai quand ce sera le cas et prooftesté! :)
Que ce soit pour des raisons écologiques, ou pour d'autres raisons, il est intéressant d'avoir un serveur autonome énergétiquement,
qui ne dépendra pas des aléas du réseau électrique.
NB: pour une version légèrement modifié du dimensionnement photovoltaïque (production moyenne/par intervalle calée sur modèle jrc en décembre au lieu du nombre d'heure d'ensoleillement minimum), voir mon autre tuto ici:
Dimensionner une installation photovoltaïque autonome
videos:
bases debutant(panneaux, regulateur, onduleur, conso/prod): https://www.youtube.com/watch?v=8Ft4XQj9lQ4
montage simple kit myshop solaires pour 230V: https://www.youtube.com/watch?v=SvmPEhPq_S8
kit prêts à acheter (si vous avez des subventions et des collègues qui coopèrent bien):
solution de stockage intermédiaire intégrée (cher et pas tres lowtech):
Station énergie portable extensible 230V BLUETTI AC200MAX
EcoFlow River 2 pro
kits semi lowtech (celui utilisé dans ce guide):
panneaux photovoltaïque 120W et batterie de voiture plomb acide.
kit vraiment lowtech:
fabriquer sa batterie lithium à partir de déchets: voir barnabé chaillot
https://www.youtube.com/watch?v=_hwj7Ds50lU
rappel de base: branchement en série (+ sur - et + sur -) on ajoute le voltage et on garde le meme amperage, branchement en paralelle (+ sur +, - sur -) on ajoute l'amperage et on garde le meme voltage
idem pour les batteries: à mettre en paralelle pour garder la meme tension (voltage)
La première problématique du photovoltaïque lowtech autonome est le dimensionnement de l'installation (Se reporter à mon autre tuto
Dimensionner une installation photovoltaïque autonome)
Pour cela on trouve pas mal d'informations sur internet.
Vous pouvez utiliser la feuille libreoffice en piece jointe en haut de ce tutoriel pour du dimensionnement "bricolé".
Le dimensionnement - le besoin journalier:
Le orange pi consomme environ 20W
Un disque usb supplémentaire consomme environ 5W
Un modem 4G consomme environ 5W
Soit un besoin constant de 35W en prenant 16% de marge d'erreur.
Le besoin journalier pour un serveur qui tourne 24h/24: 35W*24h=840Wh
Le besoin journalier pour un serveur qui tourne en journéee seulement:
en été: 35W*14h=490Wh
en hiver: 35W*8h=280Wh
Notez qu'il s'agit là d'un besoin moyen et si vous souhaitez dimensionner
pour des usages divers, il est recommander de procéder de façon plus précise
en calculant les besoins temps réels.
Le dimensionnement du stockage par le temps d'autonomie :
Estimer les pertes à 20% et augmenter le besoin en consquénce:
besoin 24h/24=840/0,80=1050Wh
Estimer le temps d'autonomie voulue:
exemple 24h
On va alors dimensionner le stockage pour tenir 24h.
Pour des batteries en 12V: 1050Wh/12V=87,5Ah
Etant donné qu'on veut limiter la décharge des batteries à 50%, on prendra donc
87,5Ah/0,5=175Ah
Soit 2100 Wh en 12V
Selon les caractéristiques des panneaux (voir feuille de calcul), on peut estimer la recharge de la batterie lorsque l'ensoleillement est minimal (en décembre).
Le dimensionnement par la méthode du nombre de jours voulues pour recharger entierement les batteries:
Si on veut pouvoir recharger les batteries en un jour en hiver, il faut considérer la puissance produite par vos panneaux au jour d'hiver avec le moins d'ensoleillement.
Si on prend 3,5h pour le minimum, le nombre de panneaux nécessaire de puissance x Watt sera:
C_batterie:Capacité batterie en Wh
Dans notre exemple 2100Wh
T_hiver:temps de recharge journalier minimal en hiver (en h)
Dans notre exemple 3,5h
B_hiver:besoin journalier hors temps ensoleillement en hiver (en Wh)
Dans notre exemple (24h-3,5h)*35W=897Wh
n_voulus:nombre de jour voulus pour recharger entierement la batterie
Dans notre exemple 1
I:amperage sortie d'un panneau photovoltaique
Dans notre exemple 7A
U:tension sortie d'un panneau photovoltaique
Dans notre exemple 12V
Nb_panneaux=C_batterie+B_hiver*n_nvoulus/T_hiver*I*U*n_voulus
Dans l'exemple:
Nb_panneaux=(2100+897*1)/(3,5*12*7*1)
Il faudra donc 10 panneaux de 84W de 7A 12V
Noter que la valeur cardinale ici est à la ligne 42 du fichier joint, il s'agit
de l'ensoleillement journalier minimal en décembre à production nominale. Des valeurs de référence peuvent être trouvées sur
https://re.jrc.ec.europa.eu/api/v5_2/seriescalc?lat=44.203142&lon=0.616363&loss=14&angle=45&aspect=0&startyear=2005&endyear=2005&pvcalculation=1&peakpower=1&pvtechchoice=crystSi&browser=0&outputformat=csv
Mais rien ne vaut une mesure empirique pour vérifier tout ca.
Le graphique en illustration provient du monitoring de deux installations à 400km de distance d'une entreprise qui installe et suit du photovoltaïque depuis 2018. J'attend de mesurer tout ça avec un voltmetre fiable sur plusieurs panneaux achetés d'occasions pour updater ce tuto en décembre! :)
Tout commentaire et "retour d'experience" est bienvenu à ce sujet en bas de cette page!
Le dimensionnement par la méthode essais et erreurs
La feuille de calcul propose aux lignes 41 et 42 d'ajuster le nombre de panneaux et le temps d'ensoleillement moyen en décembre et donne le besoin journalier hors temps ensoleillement hiver en Wh et la recharge batterie journaliere maximale en hiver (en Ah et Wh). En faisant des essais sur les deux paramètres, on peut obtenir le nombre de panneaux minimum pour que la(les) batterie(s) se recharge(nt) positivement en hiver.
La problématique principale du photovoltaïque lowtech autonome est le stockage de l'énergie.
Vous pouvez lire les caractéristiques des panneaux qu'on vous a donné ou trouvés sur leboncoin à pas cher:
-puissance crete: elles s'aditionnent pour obtenir la puissance nécessaire trouvée lors de la phase de dimensionnement.
-tension : 12V,24V ou 48V. voir regles série/paralelle pour leur additions
-intensité: variable selon les modèles mais souvent inferieure à 10A. voir regles série/paralelle pour leur additions
Pour recharger des batteries, en principe, si vous connectez votre panneaux en direct sur une batterie, il suffit que la tension à la sortie de vos panneaux soit la même que celles de vos batterie, et ca devrait charger.
Il y a un composants importants à retenir pour charger correctement vos batteries:
le regulateur ou controleur de charge
il en existe de trois sortes: les tor (tout ou rien) les mppt (Maximum power point tracking) et les pwm (Pulse Width Modulation)
Ils sont composés d'un adaptateur DC/DC (courant continu vers courant continu) et d'un coupe circuit. Le mppt comprend également un adaptateur d'impédence (il a une résistance pour adapter l'amperage injecté dans la batterie). Les mppt accepte des puissances nominales plus élevées, cad des tensions et intensité plus élevées.
Le régulateur ou controleur de charge permet principalement de couper le circuit quand la batterie est rechargée en surveillant la tension et l'intensité de charge. Il coupe le circuit si leurs valeurs dépassent les intervalles de référence (pour cela le regulateur arrete la charge temporairement et mesure la tension aux bornes des batteries).
Le mppt a un "algorithme" électronique intégré qui va chercher le point de puissance optimal grace a son adaptateur d'impedance.
Si vous connectez plusieurs panneaux et plusieurs batteries, il est recommandé d'avoir un regulateur pour couper la charge correctement lorsque la batterie est chargée.
Les tensions de charge de référence sont 12V,24V et 48V.
Cependant, les prix des modèles augmentent avec la puissance nominales (qui va dépendre de l'amperage) qu'ils acceptent.
Pour limiter l'intensité du courant de la production photovoltaïque, il est plus judicieux d'utiliser des panneaux de plus forte puissance qui sont généralement à des tensions plus élevées
(rappel P=U*I,
rappel E=P*t se conserve dans un systeme fermé).
note: si le systeme de stockage par batterie ou l'appareil connecté à vos panneaux n'absorbe pas toute la puissance produite, et si le régulateur de charge ne coupe pas le circuit, le reste sera dégagé en chaleur.
L'amperage va aussi dependre de la capacité de stockage de vos batteries, dimensionnées pour couvrir vos besoins pendant une periode définie au dimensionnement.
Le courant de charge est calculé en divisant par 4 ou 5 la capacité nominale de la batterie exprimée en Ah qui devrait alors se recharger en 4 ou 5h. Cependant une batterie se rechargera aussi avec un courant de charge de la capacité nominale de la batterie divisée par 20 mais plus lentement (en 20h).
Dimensionnez et/ou agencez vos panneaux en conséquence.
Des montages de panneaux serie+paralelle peuvent permettrent d'ajuster tension et amperage.
Il y a enfin un dernier point sur lequel être attentif: le déclenchement de la recharge de la batterie par le regulateur/controleur de charge (qui déclenche quand la tension de la batterie diminue en dessous d'un certain seuil).
En effet, si la puissance soutirée à la batterie est trop faible, il est possible que le temps nécessaire à la décharger avec votre consommation journalière pour déclencher la recharge dans le régulateur dépasse le temps d'ensoleillement journalier. La batterie ne se recharge alors pas du tout pendant la journée.
Dans ce cas, votre batterie ne se rechargera qu'un jour sur deux ou sur trois (selon le seuil de déclenchement de la recharge du regulateur).
C'est un paramètre à prendre en compte dans le dimensionnement (non inclus dans la feuille de calcul).
Le régulateur a 3 phases:
1.bulk: le regulateur laisse passer le courant
2.floating: le regulateur alterne interupteur fermée et ouvert à une fréquence donnée pour maintenir la batterie chargée
En outre il faut prendre des précautions car la charge des batteries présente certains risques.
3.absorption (pour les mppt): la tension de charge augmente un peu pour créer une difference de potentiel suffisante pour continuer à charger la batterie presque pleine.
En théorie le courant de charge diminue lorsque la batterie est presque rechargée (courant de queue etc.)
La charge de batteries en paralelle ou en série sur des batteries usagées qui n'ont pas les mêmes tensions ou intensité présente en théorie des risques. En effet vous lirez un peu partout que la résistance des fils pour relier ces batteries
créee des différences de potentiels entre les batteries qui produisent des décharges d'une batterie envers une autre etc.
créant des risques d'explosion, de degazage pour les batteries plomb etc.
Il faut bien se rapeller que les batteries sont des assemblages de composants unitaires de faible tension mis en séries et en paralelle pour obtenir un générateur de l'intensité et la tension voulue et qu'à priori faire de même avec des batterie entiere ne présente pas vraiment de risques..
On parle souvent de "battery management system" (bms) "intégré" pour les batteries lithium ion.
En réalité le régulateur de charge est déjà un "bms". En théorie, le bms intégré s'assure que les tensions et les intensités de chaque unité composant la batterie est la même et la rééquilibre au besoin.
On peut bien sûr s'interroger si tout ceci n'est pas une façon de rendre le stockage de l'énergie plus cher avec des composants BMS artificiellement chers et si ce n'est pas une façon d'éviter de réutiliser des unités de batteries usagées.
Il est par exemple étonnant qu'il n'existe pas de BMS pour rééquilibrer automatiquement des batteries plomb acide, ce qui rendrait utilisable toutes les batteries mises au rebut de l'industrie automobile pour stocker l'énergie photovoltaïque sans risque!
Dans tous les cas, si vous réutilisez des batteries au plomb, utilisez un régulateur pour éviter de continuer à charger vos batteries rechargées (risques de production d'hydrogene) -ou si vous n'en utilisez pas dimensionnez avec beaucoup de soin-, évitez les décharges profondes, et maintenez les batteries à une temperature constante autant que possible.
On dimensionne sur un dixieme de la puissance de panneaux et un quart de la capacité de batterie de ce que la théorie nous a indiqué pour être autonome 24h/24h et en capacité de recharger en un seul jour en hiver, soit un panneau de 120W et une vieille batterie de voiture de 45Ah en 12V.
C'est raccord avec une approche lowtech de ne faire tourner le serveur que lorsqu'il fait jour, pour une informatique qui respecte la temporalité humaine.
Pour être bien en hiver (à hypothèse 3,5h d'ensoleillement moyen), il faudrait une batterie de plus de 58Ah, mais pour raisons budgétaire, on fait pour l'instant avec ce qu'on a! :).
Le regulateur utilisé n'accepte pas les panneaux 40V donc on n'a pas utilisé le panneau photovoltaïque d'occasion de 180W à 20€ trouvé sur leboncoin, mais je ne manquerai pas d'updater ce tuto avec des raccordement de panneaux et de batteries dès que j'aurai le materiel et avec les valeurs de production hivernale si j'y arrive!
Etapes de montage:
Attendre quelques minutes que ca boot. Et voilà , votre serveur nextcloud est accessible en ligne ! :)
Notez que si vous voulez alimenter quelque chose en courant alternatif 220V, la seule chose qu'il manque au montage est un convertisseur DC/AC (courant continu alternatif) qu'on trouve facilement en magasin de camping car ou sur leboncoin.
Au niveau sécurité, les failles connues des cpus peuvent être trouvées sous linux en faisant:
grep -r . /sys/devices/system/cpu/vulnerabilities
Cette commande sur le orange pi (cpu CortexA55) avec dietpi installé donne:
/sys/devices/system/cpu/vulnerabilities/spectre_v2:Mitigation: Unprivileged eBPF enabled
/sys/devices/system/cpu/vulnerabilities/itlb_multihit:Not affected
/sys/devices/system/cpu/vulnerabilities/mmio_stale_data:Not affected
/sys/devices/system/cpu/vulnerabilities/mds:Not affected
/sys/devices/system/cpu/vulnerabilities/l1tf:Not affected
/sys/devices/system/cpu/vulnerabilities/spec_store_bypass:Mitigation: Speculative Store Bypass disabled via prctl
/sys/devices/system/cpu/vulnerabilities/tsx_async_abort:Not affected
/sys/devices/system/cpu/vulnerabilities/spectre_v1:Mitigation: __user pointer sanitization
/sys/devices/system/cpu/vulnerabilities/retbleed:Not affected
/sys/devices/system/cpu/vulnerabilities/srbds:Not affected
/sys/devices/system/cpu/vulnerabilities/meltdown:Not affected
Ayant testé un orange pi un raspberry pi et un odroid, le probleme reste le même.
basiques:
on peut passer sa vie à augmenter la sécurité d'un systeme informatique...
trouver le bon compromis et évaluer les risques ou appats en termes financiers.
Le hack est toujours possible, et vu le nombre de failles 0day non encore publié, quel que soit le systeme d'exploitation, la question est moins d'avoir un système infaillible, que de savoir de qui on cherche à se protéger quand on cherche à "sécuriser" ou réduire sa surface d'attaque.
Je pense que la philosophie libre reste supérieure en termes de sécurité car auditable et réparable plus vite par la "commu", mais il faut bien avouer que les reglages par défaut ne sont pas tip top car linux a été pensé pour être stable au départ (rappelez vous des écrans bleux windows il y a 30 ans), et pas "sécurisé".
Ayant subi des hacks que je considère très avancés et pas à la portée du premier venu(et ce quel que soit le système d'exploitation, quelle que soit la machine, et quel que soit le niveau de sécurisation -hors compilation de kernel-), j'ai cherché à sécuriser mes dispositifs numériques et j'en arrive aujourd'hui à penser que la "souveraineté" numérique n'existe pas ou plus, les failles créent un marché de la sécurité, ca fait travailler des gens... Voir l'article intéressant de w0nderfall au sujet de la sécurité sous linux: https://wonderfall.space/linux-securite/
Cependant quelques éléments car c'est un sujet sur lequel on trouve peu d'informations didactiques rassemblées.
-principe de limiter surface d'attaque : principe général, la sécurisation ne fait que diminuer la surface d'attaque potentielle
-acces physique sécurisé et config logicielle liée:
- acces physique: à vous de voir
-mot de passe grub
Lancer dans un terminal:
grub-mkpasswd-pbkdf2
Copier le texte qui commence par grub.pbkdf2.sha512.10000.xy
où xy est une longue suite de lettres et de chiffres
Ajouter les lignes suivantes à un fichier /etc/grub.d/42_pw
en remplacant user par votre nom d'utilisateur linux et pw par le
texte précemment copié
cat << EOF
set superusers=user
password_pbkdf2 pw
EOF
lancer ensuite la commande
update-grub
-bons mots de passes en general
pour changer le mot de passer de l'utilisateur courant taper
passwd
pour changer le mot de passe de l'utilisateur root taper
sudo passwd root
-éventuellement vérification d'intégrité du boot (voir ordinateurs de purism par exemple)
-chiffrer (crypter) ses supports de stockage:
https://doc.ubuntu-fr.org/tutoriel/chiffrer_ses_donnees
https://www.dwarmstrong.org/remote-unlock-dropbear/
sécurité d'un serveur:
-apt update automatisé : https://www.linuxtricks.fr/wiki/debian-activer-les-mises-a-jour-automatique-avec-unattended-upgrades
-ssh renforcé :
lignes à inclure dans votre configuration ssh (/etc/ssh/sshd_config):
Port 22 #changer sur un autre port si vous le souhaitez
Protocol 2
PermitRootLogin no
StrictModes yes
PermitEmptyPasswords no
X11Forwarding no
Ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com,aes128-gcm@openssh.com,aes256-ctr,aes192-ctr,aes128-ctr
MACs hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-512,hmac-sha2-256,umac-128@openssh.com
KexAlgorithms curve25519-sha256,curve25519-sha256@libssh.org,diffie-hellman-group14-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,ecdh-sha2-nistp521,ecdh-sha2-nistp384,ecdh-sha2-nistp256,diffie-hellman-group-exchange-sha256
AllowTcpForwarding no
MaxSessions 1
UsePAM yes
AllowUsers user #remplacer par les utilisateurs autorisées
AllowGroups group #remplacer par les groupes autorisés
PasswordAuthentication no
AuthorizedKeysFile .ssh/authorized_keys
-firewall logiciel:
ufw: https://doc.ubuntu-fr.org/ufw
ou fichier de configuration iptables:
https://gitlab.com/aurelpere/bp028-hardening/-/blob/main/rhel_iptables_ipv4/files/server_firewall.sh
-backup: regle du 321 : 3 copies, 2 supports de stockages differents, 1 copie sur un autre lieux que les autres. borgbackup reste un standard pour sa fiabilité dans la communauté du libre (je confirme apres avoir testé plusieurs trucs) et offre un cloud pas cher pour stocker des sauvegardes "remote" qui finance le developpement de son logiciel libre.
fail2ban: https://doc.ubuntu-fr.org/fail2ban
fail2ban pour nextcloud: https://tuxicoman.jesuislibre.net/2015/01/fail2ban-pour-owncloud-7-sur-debian-jessie.html
-desactiver ipv6 (ou configurer le firewall aussi pour ipv6)
3 méthodes pour désactiver ipv6:
1.dans grub
2.avec sysctl
ajouter les lignes suivantes à /etc/systcl.conf
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.all.router_solicitations = 0
net.ipv6.conf.default.router_solicitations = 0
net.ipv6.conf.all.accept_ra_rtr_pref = 0
net.ipv6.conf.default.accept_ra_rtr_pref = 0
net.ipv6.conf.all.accept_ra_pinfo = 0
net.ipv6.conf.default.accept_ra_pinfo = 0
net.ipv6.conf.all.accept_ra_defrtr = 0
net.ipv6.conf.default.accept_ra_defrtr = 0
net.ipv6.conf.all.autoconf = 0
net.ipv6.conf.default.autoconf = 0
net.ipv6.conf.all.accept_redirects = 0
net.ipv6.conf.default.accept_redirects = 0
net.ipv6.conf.all.accept_source_route = 0
net.ipv6.conf.default.accept_source_route = 0
net.ipv6.conf.all.max_addresses = 1
net.ipv6.conf.default.max_addresses = 1
3.avec le network manager nmcli
-sécuriser le serveur en cas de multi utilisateur ou autres utilisateurs ayant obtenu un accès:
listes de fichiers à sécuriser (permissions etc.): https://linuxfr.org/forums/linux-general/posts/liste-des-fichiers-linux-a-securiser-owner-group-permissions-setuid-setgid-sticky-bit
guides de durcissement anssi : https://www.ssi.gouv.fr/guide/recommandations-de-securite-relatives-a-un-systeme-gnulinux/
Pour aller plus loin en termes de sécurité:
firewall physique libre: pcengines/ logiciel libre OPNSense
fail2ban avec listes géographiques: https://thecustomizewindows.com/2016/11/fail2ban-geoip-action-script-block-ssh-country/
Créer un sas de connection à votre service en ligne (MySafeip): https://linuxfr.org/news/mysafeip-un-tiers-de-confiance-pour-votre-pare-feu
sécuriser les services systemd linux: https://github.com/juju4/ansible-harden-systemd
compiler un kernel :
https://doc.ubuntu-fr.org/tutoriel/comment_compiler_un_kernel_de_kernel.org
wpa2:
Lorsque vous démarrez pour la premiere fois votre raspberry avec dietpi sur la clé usb ou la carte sd, le programme d'installation va vous afficher un menu suite à une erreur ("Checking ipv4 network connectivity") [...] ping: connect: Network is unreachabel")
Aller alors dans "network-settings" puis suivez les menus indiqués dans les images jointes
wpa3: voir etape 6
Pas de remerciements, c'est galère et on m'a pas aidé ;)
Le tuto et son contenu ne sont pas issus d'expertise ou de formation spécifique mais de bidouillages et d'informations glanées ça et là donc soyez indulgents ;)
Tout retour d'experience est bienvenu dans les commentaires
fr none 0 Published
Vous avez entré un nom de page invalide, avec un ou plusieurs caractères suivants :
< > @ ~ : * € £ ` + = / \ | [ ] { } ; ? #