
Apprenez à configurer un serveur Web personnel avec un Raspberry Pi 3 – Monter un serveur MineCraft
Un serveur Web personnel est «le cloud», sauf que vous le possédez et le contrôlez, contrairement à une grande entreprise.
Posséder un petit cloud présente de nombreux avantages, notamment la personnalisation, le stockage gratuit, les services Internet gratuits, un chemin d'accès aux logiciels open source, une sécurité de haute qualité, un contrôle total sur votre contenu, la possibilité d'apporter des modifications rapides, un endroit pour expérimenter code, et bien plus encore. La plupart de ces avantages sont incommensurables, mais financièrement, ces avantages peuvent vous faire économiser plus de 100 $ par mois.
J'aurais pu utiliser AWS, mais je préfère une liberté totale, un contrôle total sur la sécurité et apprendre comment les choses sont construites.
- Hébergement Web indépendant: pas de BlueHost ou DreamHost
- Stockage dans le cloud: pas de Dropbox, Box, Google Drive, Microsoft Azure, iCloud ou AWS
- Sécurité sur site
- HTTPS: chiffrons
- Analytique: Google
- OpenVPN: Ne nécessite pas d'accès Internet privé (à environ 7 $ par mois)
Choses que j'ai utilisées:
- Raspberry Pi 3 modèle B
- Carte MicroSD (32 Go recommandés, cartes SD compatibles Raspberry Pi)
- Lecteur de carte microSD USB
- câble Ethernet
- Routeur connecté au Wi-Fi
- Boîtier Raspberry Pi
- Câble MicroUSB Amazon Basics
- Chargeur mural Apple
- Souris USB
- Clavier USB
- câble HDMI
- Moniteur (avec entrée HDMI)
- Macbook Pro
Étape 1: Configuration du Raspberry Pi
Téléchargez la version la plus récente de Raspbian (le système d'exploitation Raspberry Pi). La version ZIP de Raspbian Jessie est idéale [1]. Décompressez ou extrayez le fichier téléchargé. Copiez-le sur la carte SD. Pi Filler facilite ce processus. Téléchargez Pi Filer 1.3 ou la version la plus récente. Décompressez ou extrayez le fichier téléchargé et ouvrez-le. Vous devriez être accueilli avec cette invite:
<img alt = "Pi Filler prompt" class = "media-image attr__typeof__foaf: Image img__fid__344686 img__view_mode__default attr__format__default attr__field_file_image_alt_text[und][0][value]__Pi Filler prompt attr__field_file_image_title_text[und][0][value]__Pi attr__field_file_image_caption[und][0][value]__
Image de Mitchell McLaughlin, CC BY-SA 4.0
attr__field_file_image_caption[und][0][format]__panopoly_wysiwyg_text attr__field_folder[und]__9402 "height =" 188 "src =" https://opensource.com/sites/default/files/2-image_by_mitchell_mclaughlin_cc_by-sa_4.0.png "title =" Pi Filler prompt "typeof =" foaf: Image "width = "422" />
Assurez-vous que le lecteur de carte USB n'est PAS encore inséré. Si c'est le cas, éjectez-le. Continuez en cliquant sur Continuer. Un explorateur de fichiers devrait apparaître. Localisez le fichier Raspberry Pi OS non compressé à partir de votre Mac ou PC et sélectionnez-le. Vous devriez voir une autre invite comme celle illustrée ci-dessous:
<img alt = "invite de lecteur de carte USB" class = "media-image attr__typeof__foaf: Image img__fid__344691 img__view_mode__default attr__format__default attr__field_file_image_alt_text[und][0][value]__ invite de lecteur de carte USB attr__field_file_image_title_text[und][0][value]__USB attr__field_file_image_caption[und][0][value]__
Image de Mitchell McLaughlin, CC BY-SA 4.0
attr__field_file_image_caption[und][0][format]__panopoly_wysiwyg_text attr__field_folder[und]__9402 "height =" 222 "src =" https://opensource.com/sites/default/files/3-image_by_mitchell_mclaughlin_cc_by-sa_4.0.png "title =" Lecteur de carte USB "typeof =" foaf: Image "width = "420" />
Insérez la carte MicroSD (32 Go recommandés, 16 Go minimum) dans le lecteur de carte MicroSD USB. Insérez ensuite le lecteur USB dans le Mac ou le PC. Vous pouvez renommer la carte SD en "Raspberry" pour la distinguer des autres. Cliquez sur Continuer. Assurez-vous que la carte SD est vide. Pi Filler sera effacer tout le stockage précédent lors de l'exécution. Si vous devez sauvegarder la carte, faites-le maintenant. Lorsque vous êtes prêt à continuer, le système d'exploitation Raspbian sera écrit sur la carte SD. Cela devrait prendre entre une et trois minutes. Une fois l'écriture terminée, éjectez le lecteur USB, retirez la carte SD et insérez-la dans le logement pour carte SD du Raspberry Pi. Mettez le Raspberry Pi sous tension en branchant le cordon d'alimentation au mur. Il devrait commencer à démarrer. La connexion par défaut du Raspberry Pi est:
nom d'utilisateur: pi
mot de passe: framboise
Lorsque le Raspberry Pi a terminé le démarrage pour la première fois, un écran de configuration intitulé "Options de configuration" devrait apparaître comme l'image ci-dessous [2]:
<img alt = "Configuration de la configuration logicielle du Raspberry Pi" class = "media-image attr__typeof__foaf: Image img__fid__344696 img__view_mode__default attr__format__default attr__field_file_image_alt_text[und][0][value]Configuration de la configuration du logiciel __Raspberry Pi attr__field_file_image_title_text[und][0][value]__Raspberry attr__field_file_image_caption[und][0][value]__
Image de Mitchell McLaughlin, CC BY-SA 4.0
attr__field_file_image_caption[und][0][format]__panopoly_wysiwyg_text attr__field_folder[und]__9402 "height =" 329 "src =" https://opensource.com/sites/default/files/4-image_by_mitchell_mclaughlin_cc_by-sa_4.0.png "title =" Configuration de la configuration du logiciel Raspberry Pi "typeof =" foaf: Image " largeur = "550" />
Sélectionnez l'option "Expand Filesystem" et appuyez sur la touche Entrée [3]. En outre, je recommande de sélectionner la deuxième option, "Modifier le mot de passe utilisateur". C'est important pour la sécurité. Il personnalise également votre Raspberry Pi.
(Remarque: pour une couche supplémentaire de sécurité, installez fail2ban. Fail2Ban bloque les demandes suspectes provenant d'Internet. Par exemple, s'il y a trop de tentatives pour deviner le mot de passe, il bloquera cette adresse IP. Il peut être installé en tapant dans le terminal : $ sudo apt-get install fail2ban)
Sélectionnez la troisième option dans la liste des options de configuration, "Activer le démarrage sur le bureau / Scratch" et appuyez sur la touche Entrée. Il vous amènera à une autre fenêtre intitulée "Choisissez l'option de démarrage" comme indiqué dans l'image ci-dessous.
<img alt = "Choose boot option" class = "media-image attr__typeof__foaf: Image img__fid__344701 img__view_mode__default attr__format__default attr__field_file_image_alt_text[und][0][value]__Choisissez l'option de démarrage attr__field_file_image_title_text[und][0][value]__Choisissez attr__field_file_image_caption[und][0][value]__
Image de Mitchell McLaughlin, CC BY-SA 4.0
attr__field_file_image_caption[und][0][format]__panopoly_wysiwyg_text attr__field_folder[und]__9402 "height =" 330 "src =" https://opensource.com/sites/default/files/5-image_by_mitchell_mclaughlin_cc_by-sa_4.0.png "title =" Choisissez l'option de démarrage "typeof =" foaf: Image "width = "550" />
Dans la fenêtre "Choose boot option", sélectionnez la deuxième option, "Desktop log in as user 'pi' at the graphical desktop" et appuyez sur le bouton Entrée [4]. Une fois cela fait, vous serez ramené à la page "Options de configuration". Sinon, sélectionnez le bouton "OK" en bas de cette fenêtre et vous serez ramené à la fenêtre précédente.
Une fois ces deux étapes terminées, sélectionnez le bouton "Terminer" en bas de la page et il devrait redémarrer automatiquement. Si ce n'est pas le cas, utilisez la commande suivante dans le terminal pour redémarrer.
$ sudo reboot
Après le redémarrage de l'étape précédente, si tout s'est bien passé, vous vous retrouverez sur le bureau similaire à l'image ci-dessous.
<img alt = "Raspberry Pi desktop" class = "media-image attr__typeof__foaf: Image img__fid__344706 img__view_mode__default attr__format__default attr__field_file_image_alt_text[und][0][value]__Raspberry Pi desktop attr__field_file_image_title_text[und][0][value]__Raspberry attr__field_file_image_caption[und][0][value]__
Image de Mitchell McLaughlin, CC BY-SA 4.0
attr__field_file_image_caption[und][0][format]__panopoly_wysiwyg_text attr__field_folder[und]__9402 "height =" 452 "src =" https://opensource.com/sites/default/files/6-image_by_mitchell_mclaughlin_cc_by-sa_4.0.png "title =" Bureau Raspberry Pi "typeof =" foaf: Image "width = "700" />
Une fois sur le bureau, ouvrez un terminal et entrez les commandes suivantes pour mettre à jour le firmware du Raspberry Pi.
$ sudo mise à jour apt-get$ sudo mise à niveau apt-get -y
$ sudo apt-get dist-upgrade -y
$ sudo rpi-update
Cela peut prendre quelques minutes. Maintenant, le Raspberry Pi est à jour et fonctionne.
Étape 2: configuration du Raspberry Pi
SSH, qui signifie Secure Shell, est un protocole de réseau cryptographique qui vous permet de transférer en toute sécurité des données entre votre ordinateur et votre Raspberry Pi. Vous pouvez contrôler votre Raspberry Pi à partir de la ligne de commande de votre Mac sans moniteur ni clavier.
Pour utiliser SSH, vous devez d'abord avoir l'adresse IP de votre Pi. Ouvrez le terminal et saisissez:
$ sudo ifconfig
Si vous utilisez Ethernet, consultez la section "eth0". Si vous utilisez le Wi-Fi, consultez la section "wlan0".
Recherchez «inet addr» suivi d'une adresse IP – quelque chose comme 192.168.1.115, une adresse IP par défaut commune que j'utiliserai pendant la durée de cet article.
Avec cette adresse, ouvrez le terminal et tapez:
$ ssh pi@192.168.1.115
Pour SSH sur PC, voir la note de bas de page [5].
Entrez le mot de passe par défaut "framboise" lorsque vous y êtes invité, sauf si vous l'avez modifié.
Vous êtes maintenant connecté via SSH.
Bureau à distance
L'utilisation d'une interface graphique (interface utilisateur graphique) est parfois plus simple qu'une ligne de commande. Sur la ligne de commande du Raspberry Pi (en utilisant SSH), tapez:
$ sudo installation d'apt-get xrdp
Xrdp prend en charge le client Microsoft Remote Desktop pour Mac et PC.
Sur Mac, accédez à l'App Store et recherchez «Microsoft Remote Desktop». Télécharge le. (Pour un PC, voir la note de bas de page [6].)
Après l'installation, recherchez sur votre Mac un programme appelé «Microsoft Remote Desktop». Ouvrez-le. Vous devriez voir ceci:
Cliquez sur "Nouveau" pour configurer une connexion à distance. Remplissez les blancs comme indiqué ci-dessous.
Enregistrez-le en quittant la fenêtre "Nouveau".
Vous devriez maintenant voir la connexion à distance répertoriée sous «Mes bureaux». Double-cliquez dessus.
Après un bref chargement, vous devriez voir votre bureau Raspberry Pi dans une fenêtre sur votre écran, qui ressemble à ceci:
<img alt = "Raspberry Pi desktop" class = "media-image attr__typeof__foaf: Image img__fid__344721 img__view_mode__default attr__format__default attr__field_file_image_alt_text[und][0][value]__Raspberry Pi desktop attr__field_file_image_title_text[und][0][value]__Raspberry attr__field_file_image_caption[und][0][value]__
Image de Mitchell McLaughlin, CC BY-SA 4.0
attr__field_file_image_caption[und][0][format]__panopoly_wysiwyg_text attr__field_folder[und]__9402 "height =" 452 "src =" https://opensource.com/sites/default/files/6-image_by_mitchell_mclaughlin_cc_by-sa_4.0_0.png "title =" Bureau Raspberry Pi "typeof =" foaf: Image "width = "700" />
Parfait. Désormais, vous n'avez plus besoin d'une souris, d'un clavier ou d'un moniteur séparés pour contrôler le Pi. Il s'agit d'une configuration beaucoup plus légère.
Adresse IP locale statique
Parfois, l'adresse IP locale 192.168.1.115 change. Nous devons le rendre statique. Type:
$ sudo ifconfig
Notez à partir de la section "eth0" ou de la section "wlan0", l '"add inet" (IP actuelle de Pi), le "bcast" (la plage IP de diffusion) et le "mask" (adresse de masque de sous-réseau). Tapez ensuite:
$ netstat -nr
Notez la «destination» et la «passerelle / réseau».
<img alt = "Configuration d’une adresse IP locale" class = "media-image attr__typeof__foaf: Image img__fid__344726 img__view_mode__default attr__format__default attr__field_file_image_alt_text[und][0][value]__Configuration d'une adresse IP locale attr__field_file_image_title_text[und][0][value]__Setting attr__field_file_image_caption[und][0][value]__
Image de Mitchell McLaughlin, CC BY-SA 4.0
attr__field_file_image_caption[und][0][format]__panopoly_wysiwyg_text attr__field_folder[und]__9402 "height =" 97 "src =" https://opensource.com/sites/default/files/setting_up_local_ip_address.png "title =" Configuration d'une adresse IP locale "typeof =" foaf: Image "width =" 568 " />
Les enregistrements cumulatifs doivent ressembler à ceci:
adresse nette 192.168.1.115
bcast 192.168.1.255
masque 255.255.255.0
passerelle 192.168.1.1
réseau 192.168.1.1
destination 192.168.1.0
Ces informations vous permettent de définir facilement une adresse IP interne statique. Type:
$ sudo nano /etc/dhcpcd.conf
Ne pas utiliser / etc / network / interfaces.
Ensuite, tout ce que vous devez faire est de l'ajouter au bas du fichier, en remplaçant la bonne adresse IP que vous souhaitez.
interface eth0
statique adresse IP= 192.168.1.115
statique routeurs= 192.168.1.1
statique nom_domaine_serveurs= 192.168.1.1
Une fois que vous avez défini l'adresse IP interne statique, redémarrez le Raspberry Pi avec:
$ sudo redémarrer
Après le redémarrage, à partir du type de terminal:
$ sudo ifconfig
Vos nouveaux paramètres statiques devraient apparaître pour votre Raspberry Pi.
Adresse IP globale statique
Si votre FAI (fournisseur de services Internet) vous a déjà donné une adresse IP externe statique, vous pouvez passer directement à la section de redirection de port. Sinon, continuez à lire.
Vous avez configuré SSH, un bureau distant et une adresse IP interne statique, donc les ordinateurs à l'intérieur du réseau local sauront où trouver le Pi. Mais vous ne pouvez toujours pas accéder à votre Raspberry Pi depuis l'extérieur du réseau Wi-Fi local. Vous avez besoin que votre Raspberry Pi soit accessible publiquement de n'importe où sur Internet. Cela nécessite une adresse IP externe statique [7].
Cela peut être un processus sensible au départ. Appelez votre FAI et demandez une adresse IP statique externe (parfois appelée global statique). Le FAI détient le pouvoir de décision, donc je serais extrêmement prudent avec eux. Ils peuvent refuser votre demande d'adresse IP externe statique. S'ils le font, vous ne pouvez pas blâmer le FAI car il existe un risque juridique et opérationnel avec ce type de demande. Ils ne veulent surtout pas que les clients utilisent des services Internet à moyenne ou grande échelle. Ils pourraient explicitement vous demander pourquoi vous avez besoin d'une adresse IP externe statique. Il est probablement préférable d'être honnête et de leur dire que vous prévoyez d'héberger un site Web personnel à faible trafic ou un petit service Internet à but non lucratif similaire. Si tout se passe bien, ils devraient ouvrir un ticket et vous appeler dans une semaine ou deux avec une adresse.
Transfert de port
Cette adresse IP globale statique nouvellement obtenue attribuée par votre FAI sert à accéder au routeur. Le Raspberry Pi est toujours inaccessible. Vous devez configurer la redirection de port pour accéder spécifiquement au Raspberry Pi.
Les ports sont des voies virtuelles où l'information circule sur Internet. Vous devez parfois transférer un port afin de rendre un ordinateur, comme le Raspberry Pi, accessible à Internet car il se trouve derrière un routeur réseau. Une vidéo YouTube intitulée Qu'est-ce que TCP / IP, port, routage, intranet, pare-feu, Internet par VollmilchTV m'a aidé à comprendre visuellement les ports.
La redirection de port peut être utilisée pour des projets comme un serveur Web Raspberry Pi ou des applications comme la VoIP ou le téléchargement poste à poste. Vous pouvez choisir parmi plus de 65 000 ports, vous pouvez donc attribuer un port différent à chaque application Internet que vous créez.
La façon de configurer la redirection de port peut dépendre de votre routeur. Si vous avez un Linksys, une vidéo YouTube intitulée Comment aller en ligne avec votre serveur Apache Ubuntu par Gabriel Ramirez explique comment le configurer. Si vous ne disposez pas d'un Linksys, lisez la documentation fournie avec votre routeur afin de personnaliser et de définir les ports à transmettre.
Vous devrez transférer le port pour SSH ainsi que le bureau distant.
Une fois que vous pensez que la redirection de port est configurée, vérifiez si elle fonctionne via SSH en tapant:
$ ssh pi@your_global_ip_address
Il devrait vous demander le mot de passe.
Vérifiez si la redirection de port fonctionne également pour le bureau distant. Ouvrez Microsoft Remote Desktop. Vos paramètres de connexion à distance précédents doivent être enregistrés, mais vous devez mettre à jour le champ "Nom du PC" avec l'adresse IP externe statique (par exemple, 195.198.227.116) au lieu de l'adresse interne statique (par exemple, 192.168.1.115).
Maintenant, essayez de vous connecter via un bureau distant. Il devrait se charger brièvement et arriver sur le bureau du Pi.
<img alt = "Raspberry Pi desktop" class = "media-image attr__typeof__foaf: Image img__fid__344731 img__view_mode__default attr__format__default attr__field_file_image_alt_text[und][0][value]__Raspberry Pi desktop attr__field_file_image_title_text[und][0][value]__Raspberry attr__field_file_image_caption[und][0][value]__
Image de Mitchell McLaughlin, CC BY-SA 4.0
attr__field_file_image_caption[und][0][format]__panopoly_wysiwyg_text attr__field_folder[und]__9402 "height =" 452 "src =" https://opensource.com/sites/default/files/6-image_by_mitchell_mclaughlin_cc_by-sa_4.0_1.png "title =" Bureau Raspberry Pi "typeof =" foaf: Image "width = "700" />
Bon travail. Le Raspberry Pi est désormais accessible depuis Internet et prêt pour des projets avancés.
En option, vous pouvez conserver deux connexions à distance à votre Pi. L'un via Internet et l'autre via le LAN (réseau local). C'est facile à installer. Dans Microsoft Remote Desktop, conservez une connexion distante appelée «Pi Internet» et une autre appelée «Pi Local». Configurez le "nom PC" de Pi Internet sur l'adresse IP externe statique, par exemple 195.198.227.116. Configurez le "nom PC" de Pi Local sur l'adresse IP interne statique, par exemple 192.168.1.115. Maintenant, vous avez la possibilité de vous connecter globalement ou localement.
Si vous ne l'avez pas déjà vu, regardez Comment aller en ligne avec votre serveur Apache Ubuntu par Gabriel Ramirez comme transition vers le projet 2. Il vous montrera l'architecture technique derrière votre projet. Dans notre cas, vous utilisez un Raspberry Pi au lieu d'un serveur Ubuntu. Le DNS dynamique se situe entre la société de domaine et votre routeur, ce que Ramirez omet. En plus de cette subtilité, la vidéo est parfaite pour expliquer visuellement le fonctionnement du système. Vous remarquerez peut-être que ce didacticiel couvre la configuration du Raspberry Pi et la redirection de port, qui est côté serveur ou serveur principal. Voir la source d'origine pour des projets plus avancés couvrant le nom de domaine, DNS dynamique, Jekyll (générateur HTML statique) et Apache (hébergement Web), qui est côté client ou frontal.
Notes de bas de page
[1] Je ne recommande pas de commencer avec le système d'exploitation NOOBS. Je préfère commencer par le système d'exploitation Raspbian Jessie entièrement fonctionnel.
[2] Si "Options d'installation" ne s'affiche pas, vous pouvez toujours le trouver en ouvrant Terminal et en exécutant cette commande:
$ sudo-raspi-config
[3] Nous faisons cela pour utiliser tout l'espace présent sur la carte SD comme une partition complète. Tout cela ne fait qu'étendre le système d'exploitation pour s'adapter à tout l'espace sur la carte SD, qui peut ensuite être utilisé comme mémoire de stockage pour le Raspberry Pi.
[4] Nous le faisons parce que nous voulons démarrer dans un environnement de bureau familier. Si nous ne faisons pas cette étape, le Raspberry Pi démarre dans un terminal à chaque fois sans interface graphique.
[5]
<img alt = "PuTTY configuration" class = "media-image attr__typeof__foaf: Image img__fid__344736 img__view_mode__default attr__format__default attr__field_file_image_alt_text[und][0][value]Configuration de __PuTTY attr__field_file_image_title_text[und][0][value]__PuTTY attr__field_file_image_caption[und][0][value]__
Image de Mitchell McLaughlin, CC BY-SA 4.0
attr__field_file_image_caption[und][0][format]__panopoly_wysiwyg_text attr__field_folder[und]__9402 "height =" 224 "src =" https://opensource.com/sites/default/files/putty_configuration.png "title =" Configuration PuTTY "typeof =" foaf: Image "width =" 477 "/>
Téléchargez et exécutez PuTTY ou un autre client SSH pour Windows. Saisissez votre adresse IP dans le champ, comme indiqué dans la capture d'écran ci-dessus. Gardez le port par défaut à 22. Appuyez sur Entrée et PuTTY ouvrira une fenêtre de terminal, qui vous demandera votre nom d'utilisateur et votre mot de passe. Remplissez-les et commencez à travailler à distance sur votre Pi.
[6] S'il n'est pas déjà installé, téléchargez Microsoft Remote Desktop. Recherchez Microsoft Remote Desktop sur votre ordinateur. Exécuter. Saisissez l'adresse IP lorsque vous y êtes invité. Ensuite, une fenêtre xrdp apparaîtra, vous demandant votre nom d'utilisateur et votre mot de passe.
[7] Le routeur a une adresse IP externe attribuée dynamiquement, donc en théorie, il peut être accessible momentanément depuis Internet, mais vous aurez besoin de l'aide de votre FAI pour le rendre accessible en permanence. Si ce n'était pas le cas, vous devrez reconfigurer la connexion à distance à chaque utilisation.
Pour la source originale, visitez les projets informatiques Full-Stack de Mitchell McLaughlin.
Commentaires
Laisser un commentaire