_
~ DAMOLAB - Les tambouilles textes, teks et hacks ~
"Soleil rouge le matin, fait trembler le marin." - dicton
DAMOLAB (#TAGS) _./._ XBNF blog _./._ Blog _./._

Mettre en place un site web Apache sur Rasperry PI


| FR | par DAMO | | 17/02/2022 19h00 | (last update 21/12/2025 18h09) | Commentaires |
#DWB #DAMOLAB #RASPBERRY #LINUX #APACHE
Comment installer et réaliser un équivalent de ce serveur web apache sur Raspberry PI
|


1) Préparer l'image de l'OS



Page de Téléchargement de l'OS :
raspbian distribution

L'installation Manuelle n'est plus référencée sur le site,
vous allez utiliser un installeur graphique rpi-imager depuis Windows ou Linux,
pour ma part je travail sur un OS noble, je vous laisse deviner lequel...

Prendre une version rescente (plutôt que votre répo pas forcément à jour),
pour cela télécharger sur le page : Raspberry Pi Imager / Download for Debian or Ubuntu (x86_64)

/!\\ bien vérifier que vous êtes sur le bon site...
(cliquer sur le cadenat et vérifier les informations du site)

Installer l'installeur RPI, le package Linux Debian :
# dpkg -i rpi-imager-amd64_1.9.6_amd64.deb


2) Installation de l'OS sur la carte SD




Insérer la card SD sur votre poste et suivre les "bonnes" instructions ...

Document d'intallation

Lancer l'installeur (pas besoin d'être root)

# rpi-imager 


Vous devriez voir une fenêtre "Raspberry PI Imager v1.9.6".

Selectionner les trois informations suivantes :
  • choisir le model de RPI
  • puis l'OS Linux souhaitez
  • bien choisir le support cible /!\\ les données du support seront écrasés


En ce qui me concerne:
  • PI Modèle 2 avec port HDMI défecteux
  • OS: GNU/Linux 11 Debian bullseye / Legacy 32 bits
  • mini-carte SD 8Go


/!\\ les données et les partitions du device de stockage cible vont être intégralement écrasé sans retour arrière possible !
=> identifier le device (support cible) avec précision : /dev/sd?, /dev/hd?, ...
=> réaliser une sauvegarde de toutes vos données

/!\\ pour vérifier les périphériques de stockage :
lsblk -p

fdisk -l [device}



Puis customiser vos paramètres (clavier, hostname, ssh, ...)

Procéder à l'installation de votre carte SD.

Puis retirer la carte SD et l'insérer dans votre raspberry PI.

Attention à l'adresse du RPI, votre router peut l'allouer, je détaillerais dans un autre article.

/!\\ il est important de renouveller votre clef SSH de votre équipement de travail,
voir aussi changer le mot de passe du compte pi du RPI.

Vous pouvez échanger les clefs afin d'éviter de devoir entrer le pass à chaque fois et
utiliser des scripts de transfert.


3) Configuration de base du raspberry PI



Insérer la carte SD dans le Raspberry PI éteint, brancher un écran HDMI + clavier USB + cable Ethernet.

Brancher l'alimentation, votre OS doit se charger et la lecture de la carte SD fait flasher la LED verte.

La phase de démarrage de l'OS va :
  • automatiquement redimensionner la partition de root pour épouser la taille maximale de la carte SD
  • attribuer une addresse IP que votre réseau aura choisis.


Dans mon cas, en l'absence d'affichage, je connecte en ssh après avoir trouvé l'IP alloué à mon PI.
J'utilise aussi un RPI modèle 1 dont l'écran fonctionne.

Attendre le prompt de login / [CRTL]+[ALT]+[F1]

Se loger :
login: pi
Password: raspberry (ou autre si vous l'avez pré-configuré avec rpi-imager

/!\\ Si le clavier est en Qwerty, voici l'emplacement des touches Qwerty

Si c'est le cas, passer root (super-utilisateur)

pi# sudo su -


root# raspi-config


Entrer dans le menu "Localisation Option" puis
configurer la Local par défault fr_FR.UTF8
changer le Time zone pour Europe/Paris
"Change keyboard layout" EX: Logiteck / Français

Sortir de l'outil.

Tester le clavier en regardant par exemple la version de votre Raspbian :

root@pi-web# cat /etc/*eleas*
PRETTY_NAME="Raspbian GNU/Linux 11 (bullseye)"
...


Configurer le nom de votre machine.

# vi /etc/hostname
pi-web
:wq


Choisir une addresse IP disponible sur votre réseau local pour votre framboise.
(cad xx.yy.zz.ww dans le sous-réseau xx.yy...)


# vi /etc/hosts
...
xx.yy.zz.ww  pi-web
...
:wq

# cp dhcpcd.conf dhcpcd.conf.orig

# vi /etc/dhcpcd.conf
...
:wq

#  diff dhcpcd.conf.orig dhcpcd.conf
< #static ip_address=...
< ...
---
> static ip_address={ip addr}/{mask}
> static routers={ip router}
> static domain_name_servers={ip router}

# reboot


Après redémarrage, se reconnecter et vérifier l'address IP :

root# ifconfig


En local (Host manager), ajouter le nom du serveur (pi-web)

# vi /etc/hosts
...
{ip addr}	pi-web
...


4) Connexion SSH pour administrer le serveur



Activer SSH, SSH va nous permettre de nous connecter de façon crypté entre le raspberry et une machine client,
la sécurité repose sur la compléxité des mots de passe.

root# raspi-config


Entrer dans le menu "Interfacing Options" et
configurer [P2 SSH] et répondre Yes pour activer le serveur/daemon SSHD
Sortir du menu.


Vous êtes normalement prêt pour tout faire à distance en connectant a partir de votre Linux.

ssh pi@pi-web


Afin d'éviter d'entrer le mot de passe à chaque connection SSH,
échanger la clef de votre utilisateur Unix vers la framboise.

user@manager-host# ssh-copy-id pi@pi-web


Le user sera prêt pour toute connection SSH :

user@manager-host# ssh pi@pi-web hostname


Vous pouvez maintenant complexifier le mot de passe de l'utilisateur principal pi :

user@manager-host# ssh pi@pi-web 
pi@pi-web# passwd


Entrer le mot de passe courant : raspberry
Puis entrer le nouveau mot de passe deux nouvelles fois.

A partir de maintenant, nous ferons tout à distance, ce qui est bien plus souple à piloter.

Débrancher soigneusement (a froid, framboise arrêté) :
- le clavier,
- la souris
- l'écran

On garde simplement nos cables vitaux que sont l'alimentation et le réseau .


5) Installation et configuration du serveur web Apache



root@pi-web# apt-get update


root@pi-web# apt-get install apache2


Vérifier que le serveur apache est fonctionnel pour butiner l'URL suivante :

http://pi-web

Par défault, le fichier index.html et les documents HTML du site sont dans /var/www/html.

6) Securisation du serveur



Ref. security tips
Ref. hardening
Ref. version
Ref. modules
Ref. tools


root@pi-web:/etc/apache2# cp conf-available/security.conf conf-available/security.conf.orig

root@pi-web:/etc/apache2# vi conf-available/security.conf
...
ServerSignature Off
...
ServerTokens Prod
...



Redémarrage du serveur apache2 pour prise en compte :

 /etc/init.d/apache2 restart 


Des articles suivront pour décrire le fonctionnement des cgi, création d'un blog, ...

Re-tester avec L'URL suivante :
http://pi-web

Nous voila prêt pour les étapes suivantes :
- déployer des pages web statiques : .html, images, texte, sons ...
- sécuriser votre serveur (mot de passe login/ssh, fermer les serveurs inutils)
- enregistrer votre IP publique de votre box vers un DNS


7) Cloud basé sur NGINX avec Kuberneties



Pour aller plus loin et étendre la capacité d'accueil de votre site, vous pouvez dupliquer sur plusieurs RPI.

Cet article explique comment mettre en oeuvre un cloud de framboises en loadbalancing avec le très bon NGINX :
Kubernetes/NGINX/RASPBERRY

Autre article sur le load-balancer de NGINX



0.1) DamoLab


DamoLab@Sourceforge
DamoLab@DockerHub

0.2) Calculette composants radio


Electro-slide

0.3) Technologies


-- IA --
Mistral IA (le chat) (i)

-- Cyber-securité --
Shodan (i)11
Have I been pwned ? (i)
personal-data-leak-check
Osint
Zataz actualités

-- Adresses IP --
Mes Infos (IP, UA, ...)
info IP: WHOIS,ping,...
info IP: WHOIS,ping,...
info IP: Locallisation
info IP: abus
DNS checker

-- Mails --
GMX
Hushmail - mail temporaire sécurisé

encode/decode email for defeating bots
 $_='mailto: matt@org';s/(.)/chr(ord($1)+5)/eg;$_ 


-- Linux --
News LinuxFr
Mind-map Linux
Tutorials
crontab

-- Blogs Teks --
@TechWorldwithNana
@Cookieconnect
@GoCloudArchitects
@grafikart
@Underscore_
@cybernewsenfrancais


-- Geek Code --

décoder un GC

GCS d>+(---) s- a+ C++$ UL+>$ UOS++$
P++++>$ L++ E W++(++) N(+) o-- K+ w>--- O- M>+ PS+>+++ PE-- Y+@ t-(+) >5 X+ R>+ !tv b+
D---- D+ G e+++ h---- r+++ z+++



Rescue NEO...
(JS by Rezmason)


Nom/surnom:
Message:


revenir sur l'article
#DWB #DAMOLAB #RASPBERRY #LINUX #APACHE

Aucun commentaire.

dans
une
galaxy
lointaine
Charte du site damolab.zapto.org est motorisé par

"La force est une sorte de fluide crée par tout être vivant, une énergie qui nous entoure et nous pénètre, et qui maintient la galaxie en un tout unique."
- Obi-Wan à Luke Yoda