Apache – PHP – MariaDB – phpMyAdmin
La puissance des nano-ordinateurs et la disponibilitĂ© de la fibre optique Ă la maison permettent la mise en place d’un serveur web personnel Ă usage privĂ©, voire ouvert sur l’ensemble de la toile. La solution proposĂ©e ici est un grand classique rĂ©pandu Ă des millions d’exemplaires dans le monde.
- Apache: dans sa version 2, le serveur internet le plus utilisé
- PHP: langage permettant de dynamiser le site en adaptant le contenu des pages web envoyées au contexte
- MariaDB: tout site internet avec du contenu a besoin d’une base de donnĂ©es. MariaDB est un clone open source de la cĂ©lĂšbre base MySQL.
- phpMyAdmin: pour gérer le contenu de la base. phpMyAdmin rend la tùche beaucoup plus aisée.
- Orange PI: dans la famille des nano-ordinateurs, il y a le trĂšs connu « Raspberry Pi » mais ici j’utilise un « Orange Pi » tout aussi puissant Ă un coĂ»t plus intĂ©ressant en l’achetant directement en chine.
Choix de l’Orange PI
En allant sur le site d’Orange Pi vous trouverez une multitude de cartes. Le serveur proposĂ© peut tourner sur la plus simple d’entre elles, l’Orange Pi ZĂ©ro. Pour pas beaucoup plus chĂšre, on peut choisir une carte avec un processeur H5 ou H6 et un Ethernet Ă 1Gb/s si l’on dispose d’un rĂ©seau adĂ©quat et d’une fibre optique en entrĂ©e/sortie. Ici disposant d’un Orange PI PC2 H5, je vais utiliser cette carte. L’orange Pi One Plus H6 est Ă©galement une bonne solution.

Armbian – SystĂšme d’exploitation
Les processeurs des Orange Pi Ă©tant utilisĂ©s pour des tablettes, on trouve plusieurs systĂšme d’exploitation comme Android, ArmBian… Dans notre cas on choisi Armbian Buster (Janvier 2021) que l’on trouve sur le site https://www.armbian.com/ dans la section « download ». Cette version est adaptĂ©e de Linux / Debian pour les processeurs de la famille ARM.
Le fichier telechargĂ© est compressĂ© ( extension .xz) . Utiliser un dĂ©compresseur comme 7zip pour extraire le fichier image .img qu’il faut installer sur une carte mĂ©moire microSD de 32 ou 64Go.

Adressage IP
- Branchez la carte au réseau avec un cùble ethernet et mettre sous-tension.
- Allez sur sa box ou un logiciel de gestion rĂ©seau pour trouver lâadresse IP attribuĂ©e.
- Connectez vous en ssh (logiciel Bitwise ssh client ou autre) pour le premiĂšre fois avec lâusername « root » et le mot de passe « 1234 »
- RĂ©pondez aux questions pour dĂ©finir un utilisateur, mot de passe etc…
- Mettez Ă jour votre distribution:
- « apt-get update » ou « sudo apt-get update » si vous n’ĂȘtes pas en root
- « apt-get upgrade » ou « sudo apt-get upgrade »
Si vous souhaitez mettre des compléments à votre systÚme comme:
– Samba: pour accĂ©der directement aux fichier depuis un PC sous windows
– VNC: pour avoir une interface graphique sur un PC distant
vous trouverez les explications dans cet article.
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 les Orange Pi.
Installez Apache2:
apt install apache2 -y
rajoutez sudo si vous n’ĂȘtes pas en root
Une fois installĂ©, tapez dans le champ d’adresse de votre navigateur prĂ©fĂ©rĂ© l’adresse IP du serveur. Ex: 192.168.0.100
En retour vous aurez la page d’accueil d’Apache confirmant ainsi le bon fonctionnement du serveur web.

Cette page se trouve dans le dossier : /var/www/html/
Ce fichier index.html peut ĂȘtre remplacĂ© par le votre pour dĂ©buter avec votre nouveau serveur.
Installation de PHP
Pour dynamiser le contenu de votre site, il faut installer un langage comme php qui permettra de modifier le contenu de la page envoyée en fonction du contexte et ne pas se limiter à des pages statiques.
On procĂšdera Ă l’installation de 2 paquets:
apt install php libapache2-mod-php
Le premier installe le langage, le deuxiÚme permet de faire le lien avec Apache pour insérer du contenu dynamique.
Une fois l’installation faite allez dans le dossier du serveur Apache oĂč se trouve les pages de votre site.
cd /var/www/html
On va créer un petit fichier en langage php qui permettra de tester le couple Apache/Php
nano info.php
Mettez y:
<?php
phpinfo();
?>
Allez dans votre navigateur at appelez la page correspondante:
http://adresse_ip_serveur/info.php
En retour si tout fonctionne vous avez les infos sur php:

Installation de MariaDB
Pour un site web ayant du contenu, il faut une base de donnĂ©e. Initialement avec Apache et PHP on installait MySQL. A prĂ©sent c’est la version Open Source MariaDB clone de Mysql qui s’installe.
apt install mariadb-server
Ensuite sĂ©curisez le serveur MariaDB en crĂ©ant un mot de passe root et en interdisant l’accĂšs root Ă distance.
mysql_secure_installation
De nombreuses questions sont posées pour configurer MariaDB
In order to log into MariaDB to secure it, .... Enter current password for root (enter for none): Ne rien mettre Setting the root password ..... Set root password? [Y/n] Y New password: ***** Re-enter new password:***** Remove anonymous users? [Y/n] Y Disallow root login remotely? [Y/n] Y . Remove test database and access to it? [Y/n] Y Reload privilege tables now? [Y/n] Y ⊠Success!Installation should now be secure.
Testez que MariaDB est correctement installé.
mysql -u root -p
Profitez en pour crĂ©er un autre utilisateur non ‘root’ pour accĂ©der Ă la base de donnĂ©es MariaDB.

MariaDB [(none)]> CREATE USER ‘uuuuuu’@’localhost’ IDENTIFIED BY ‘pppppp’;
Remplacez uuuuuu par un nom d’utilisateur et pppppp par un mot de passe.
Donnez lui temporairement tous les privilĂšges:
GRANT ALL PRIVILEGES ON *.* TO ‘uuuuuu‘@localhost IDENTIFIED BY ‘pppppp‘;
Par la suite, une fois votre systÚme complÚtement configuré, pensez à limiter les privilÚges.
Tapez exit pour sortir.
Installation de phpMyAdmin
Pour gĂ©rer la base de donnĂ©e, passer par les commandes en ligne, cela est fastidieux. Il est prĂ©fĂ©rable d’installer un outil comme phpMyAdmin qui utilisera Apache et PHP pour fournir des pages web de gestion de la base.
apt install phpmyadmin
En cas d’erreur:..phpmyadmin : Depends: php-twig (>= 2.9) but 2.6.2-2 is to be installed….
aptitude -t buster-backports install php-twig
Puis reprenez l’installation.

Donnez le mot de passe de la base MariaDB de l’utilisateur créé plus haut.
Dans le fichier de configuration d’Apache il faut dĂ©clarer phpMyAdmin. Ouvrir le fichier
/etc/apache2/apache2.conf
En fin rajoutez la ligne:
Include /etc/phpmyadmin/apache.conf


Relancez Apache:
service apache2 restart
Dans votre navigateur rentrez http://IP_du_Serveur/phpmyadmin
Pour l’utilisateur et le mot de passe mettez uuuuuu et pppppp comme dĂ©fini plus haut.
Virtual Host Apache
Il est possible sur un mĂȘme serveur web de traiter plusieurs sites distincts. Les paramĂštres de configuration de chacun sont dĂ©crits dans un fichier .conf qui se trouve dans le dossier:
/etc/apache2/sites-available
En plus du fichier d’origine ‘000-default.conf’, vous pouvez rajouter les fichiers:
– site1.conf
– site2.conf
dans lesquels est défini la configuration.
<VirtualHost *:80>
ServerName site1.com
ServerAlias www.site1.com
ServerAdmin webmaster@site1.com
ErrorLog /var/log/apache2/site1-error_log
TransferLog /var/log/apache2/site1-access_log
DocumentRoot "/var/www/html/site1/"
<Directory "/var/www/html/site1/">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
Pour activer le site:
a2ensite site1
Pour désactiver le site:
a2dissite site1
Pour redémarrer Apache:
service apache2 restart