
LâOrange PI Zero 2 est une carte de dĂ©veloppement puissante offrant de nombreuses possibilitĂ©s avec son processeur 4 coeurs 64 bits (H6), 1GB, ethernet, WIFI, Bluetooth, HDMI, USB pour environ 40âŹ. Allez faire un tour sur aliexpress.com. Attention Ă ne pas le confondre avec l’Orange Pi Zero qui utilise un processeur H3, 32 bits.
Installation Operating System
Allez sur le site Armbian pour tĂ©lĂ©charger l’image de la version « Bullseye », version non stable Ă ce jour, pour l’Orange Pi Zero 2 . Flashez l’image sur une carte SD de minimum 16 Go. Connectez l’Orange Pi au rĂ©seau et trouvez son adresse IP. Connectez vous en ssh (logiciel Bitwise par exemple) avec l’utilisateur ‘root’ et le mot de passe ‘1234’.

Activez le bureau (Desktop) pour pouvoir accĂ©der en mode graphique. Dans une fenĂȘtre terminal :
armbian-config
Faite l’installation du Desktop. Une fois terminĂ©, revenez au menu System et choisissez Enable Desktop
Cela active le Desktop pour l’utilisateur non root uniquement.
Dans la fenĂȘtre ‘Terminal’ faites les mises Ă jour:
– apt-get update
– apt-get upgrade
Installez TightVNC server pour avoir un accĂšs graphique Ă distance via l’extension VNC client du navigateur Chrome ou TightVNC pour Windows.
apt-get install tightvncserver
Lancez VNC en mode manuel :
vncserver :1
Il vous sera demandĂ© un mot de passe. Ne mettez pas plus de 8 caractĂšres. Vous pouvez Ă prĂ©sent tester VNC avec par exemple lâextension VNC de chrome en se connectant sur âadresse_ip_orangepi:5901â.
Pour un lancement automatisé on va créer un fichier de script:
nano /usr/local/bin/mon_vnc.sh
#!/bin/bash
PATH="$PATH:/usr/bin/"
DISPLAY="1"
DEPTH="16"
GEOMETRY="1920x1080"
OPTIONS="-depth ${DEPTH} -geometry ${GEOMETRY} :${DISPLAY}"
case "$1" in
start)
/usr/bin/vncserver ${OPTIONS}
;;
stop)
/usr/bin/vncserver -kill :${DISPLAY}
;;
restart)
$0 stop
$0 start
;;
esac
exit 0
Copiez le texte ci-dessus et copiez le dans nano avec un click bouton droit si vous utilisez Bitwise SSH. Pensez Ă rendre ce fichier executable.
chmod +x /usr/local/bin/mon_vnc.sh
On peut à présent réaliser les 3 opérations suivantes :
/usr/local/bin/mon_vnc.sh start
/usr/local/bin/mon_vnc.sh stop
/usr/local/bin/mon_vnc.sh restart
Pour un lancement automatique de VNC au boot de lâorange pi on crĂ©e un service dans âsystemdâ.
nano /lib/systemd/system/mon_vnc.service
[Unit]
Description=Manage Mon Serveur VNC
[Service]
Type=forking
ExecStart=/usr/local/bin/mon_vnc.sh start
ExecStop=/usr/local/bin/mon_vnc.sh stop
ExecReload=/usr/local/bin/mon_vnc.sh restart
User=root
[Install]
WantedBy=multi-user.target
Pour la prise en compte de ce nouveau service dans systemd.
systemctl daemon-reload
systemctl enable mon_vnc.service
A présent vous pouvez rebooter votre systÚme et vérifier avec VNC la connection en mode graphique.
systemctl start mon_vnc.service
systemctl stop mon_vnc.service
systemctl restart mon_vnc.service
systemctl status mon_vnc.service

A présent vous avez un OrangePi Zero 2 contrÎlable à distance depuis un PC sur votre réseau.
Installation Samba
Pour Ă©changer des fichiers facilement entre lâOrangePi et un PC sur le rĂ©seau, il est intĂ©ressant dâinstaller Samba qui permettra de le voir directement.
Installez Samba.
apt-get install samba samba-common-bin
Il faut modifier le fichier de configuration pour lâadapter au rĂ©seau et dĂ©finir les autorisations.
nano /etc/samba/smb.conf
Tout en bas du fichier rajouter les lignes suivantes :
[OpiZero2]
comment = Samba on Orange Pi
path = /
writable = yes
guest ok = yes
guest only = yes
create mode = 0777
directory mode = 0777
share modes = yes
Avec path = / on accÚde directement à la racine du systÚme pour avoir la liberté de naviguer partout. Attention à mettre, si besoin, les autorisations chmod ⊠qui vont bien.
Relancez samba .
systemctl restart smbd.service
A prĂ©sent lâOrangePi devrait ĂȘtre visible des autres PC sur le rĂ©seau. On peut changer son nom sur le rĂ©seau en tapant dans une fenĂȘtre de terminal :
hostnamectl set-hostname nouveau-nom
Installation du serveur web Apache 2
Apache2 est lâune des applications de serveur web les plus utilisĂ©es au monde, robuste et fiable. Elle tourne parfaitement sur des SBC (Single-Board Computer) comme lâOrange Pi ZĂ©ro 2.
Commencez par une mise Ă jour du systĂšme:
apt-get update
apt-get upgrade
ProcĂ©dez Ă l’installation :
apt install apache2 -y
Testez le fonctionnement dâApache en ouvrant la page web Ă lâadresse IP de votre Orange PI
http://<adresse IP> ex: http://192.168.0.100

Par défaut, le site web se trouve dans le dossier /var/www/html/et Apache retourne le fichier/var/www/html/index.html.
Le fichier de configuration d’Apache est Ă adapter, en particulier si vous souhaitez mettre des pages dynamiques dans le dossier /var/www/html/cgi-bin.
nano /etc/apache2/sites-available/000-default.conf
<VirtualHost *:80>
ServerName localhost
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ScriptAlias "/cgi-bin/" "/var/www/html/cgi-bin/"
<Directory "/var/www/html/cgi-bin/">
AllowOverride None
Options +ExecCGI
AddHandler cgi-script .cgi .pl .py
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Activez le module cgid pour les pages dynamiques en tapant :
a2enmod cgid
puis
systemctl restart apache2
TEST DES SCRIPTS DYNAMIQUES
CGI (Common Gateway Interface) dĂ©finit une mĂ©thode dâinteraction entre un serveur web et des programmes gĂ©nĂ©rateurs de contenu externes, plus souvent appelĂ©s programmes CGI ou scripts CGI. Il sâagit dâune mĂ©thode simple pour ajouter du contenu dynamique Ă votre site web en utilisant votre langage de programmation prĂ©fĂ©rĂ© comme perl ou python. Ici seul dans le dossier cgi-bin les programmes seront exĂ©cutables comme dĂ©fini par la directive ScriptAlias du fichier de configuration dâApache.
Dans le dossier cgi-bin, mettez un petit fichier âtest.pyâ en python pour tester son exĂ©cution. Rendez ce fichier executable.
#!/usr/bin/python3
print("Content-type:text/html\n\n")
print("hello")
Appelez la page depuis un navigateur.
http://<adresse IP>/cgi-bin/test.py
Si vous avez une erreur serveur, vérifiez que votre page test.py est écrite avec une fin de ligne LF adaptée Unix et non CR+LF de windows.
Ă prĂ©sent vous disposez dâun systĂšme dâexploitation complet avec un serveur web sur le port 80.