KeexyBox - Installation
Nous voici dans la partie pour les tech
Pré-requis:
- Debian 11 (attention, pas au dessus sinon problème de compatibilité avec la version de KeexyBox)
- 2 Go de RAM et 1 CPU pour les tests, ce sera suffisant
- 2 cartes réseaux (on pourrait avec une seule mais on va simplifier le test)
- J'installe en général mes Debian avec les utilitaires usuels de système ainsi que le serveur SSH. Cela nécessitera du coup quelques ajustement pour Python qui seront détaillés dans la suite. Attention, ces changements peuvent "casser" d'autres logiciels, il convient donc d'avoir une machine indépendante pour KeexyBox afin de ne pas créer d'effet de bord sur d'autres choses.
Téléchargement et extraction du logiciel:
- Les sources sont disponibles dans un fichier tar, qu'il suffit de décompresser après le téléchargement. Pour ce faire, il faut utiliser les commandes suivantes:
Installation des dépendances:
- Un fichier de dépendance de package système et un fichier de dépendance de package python sont disponibles dans le dossier "util" du logiciel.
- Les commandes suivantes sont tirés de ces fichiers. Il conviendra cependant de les modifier si installation sur une Debian 11
- (le nom de certains package entre Debian 10 et Debian 11 a changé)
- Il conviendra également de faire des liens pour utiliser python 2 et de télécharger manuellement pip pour python 2 (plus disponible dans les packages Debian 11)
# Se déplacer dans le dossier util de l'installateur du logiciel: cd keexybox_21.04.2_amd64_debian10/util/ # Renommer le package php-gettext en php-php-gettext et commenter python-pip et python-mysqldb qui sera installé manuellement # (dû au Debian 11 au lieu de Debian 10) dans le fichier required_packages.conf sed -i 's/php-gettext/php-php-gettext/g ; s/python-pip/#python-pip/g ; s/python-mysqldb/#python-mysqldb/g' required_packages.conf # Mettre à jour la liste des package APT puis installer les paquets demandé sudo apt update sudo apt install mariadb-server mariadb-client default-libmysqlclient-dev apache2 libapache2-mod-php bridge-utils sudo ntp acl arp-scan net-tools php php-php-gettext php-gd php-intl php-json php-mysql php-readline php-curl python-dev libproc-daemon-perl libfile-pid-perl curl # Installer la version de pip pour python 2 https://bootstrap.pypa.io/pip/2.7/get-pip.py -o /tmp/get-pip.py sudo python2 /tmp/get-pip.py # Pour les requirement Python, il faut retirer 2 package des requirements: MySQL-python et mysql, commande pour changer: sed -i '/(^MySQL-python$|^mysql$)/ d' required_python.conf # On lance l'installation des packages pip: sudo pip install -r required_python.conf
- Toutes les dépendances sont normalement maintenant OK, il ne nous reste plus qu'à lancer l'installation, il faut se remettre dans le dossier de base de l'installateur et lancer le script d'installation
L'installateur demande un mot de passe pour le compte admin, il faut en mettre un sécurisé, c'est celui qui nous permettra de faire les confs après (il demande également la confirmation du mot de passe)code prob 1
- Il indique ensuite les paramètres de bases du réseau configuré sur la machine, ces informations seront modifiables post-installation, il suffit de valider avec la touche "Entrée"
- Si tout s'est bien passé, un message de validation de bonne installation doit s'afficher à la fin, valider de nouveau avec la touche "Entrée":
- Les liens mentionnés dans le message de bonne installation sont ceux permettant de configurer KeexyBox, il suffit donc de se connecter dessus pour faire les premières configurations. Gardez les sur le côté, nous avons une dernière modification à faire afin que KeexyBox démarre correctement.
- Debian 11 installe mariadb en lieu et place de mysql, cependant KeexyBox utilise le fichier init.d (oui c'est moche) pour vérifier le fonctionnement du service mysql et pouvoir le piloter. Nous allons donc créer un lien symbolique mysql vers le fichier mariadb contenu dans init.d puis redémarrer la machine afin que tout démarre correctement et dans le bon sens:
Code problématique 2
- Vous pouvez maintenant vous connecter à un des liens noté en fin d'installation (attention: l'un est en http et l'autre en https). Vous arriverez sur la page suivante, sur laquelle il faudra cliquer sur "Admin" en haut à droite puis "Manage" pour faire le paramétrage:
- Il suffit alors de mettre le nom d'utilisateur "admin" et le mot de passe définit à l'installation puis de cliquer sur "Sign in":
- L'assistant de configuration se lance, il propose en premier le type d'installation voulu:
- For internet filtering and anonymous access => ce mode est la version "complète", elle distribue les adresses DHCP aux client et active les protections contre le tracking, ...
- For internet filtering only and DHCP enabled on KeexyBox => ce mode n'active pas la navigation anonyme ni les protections contre le tracking mais permet de filtrer les catégories de sites et active le serveur DHCP
- For internet filtering only and DHCP disabled on KeexyBox => ce mode n'active que le filtrage de catégorie
- Pour le test, j'active le mode complet:
- La page suivante indique uniquement les licences, il convient d'accepter celles-ci pour utiliser le logiciel
- Ensuite, il faut configurer les informations de date et heure. Attention, pour que la navigation puisse se faire correctement, il est impératif que l'heure du serveur soit celle des clients. C'est pour cela qu'un serveur NTP est conseillé:
- La configuration suivante est celle des informations IPs côté client (ceux qui se connecterons à travers la KeezyBox). Attention a sélectionné la bonne interface réseau et à y configurer le réseau définitif (différent du réseau Output). Il convient également de configurer le DNS que la KeexyBox utilisera cette fois-ci (les clients auront la KeexyBox en serveur DNS):
- En dernier, nous configurons le serveur DHCP pour les clients et laissons désactiver sur le réseau de sortie (c'est notre box internet ou notre réseau standard qui fournit les IPs de ce côté là):
- Si une erreur se glisse lors de cette configuration, ce n'est pas très grave, c'est que le réseau définitif ne s'est pas encore activer sur la carte réseau, il suffira de faire "skip" puis nous redémarrerons le tout à la fin
- Il propose ensuite d'intégrer la liste des domaines / les catégories, les profils, un utilisateurs puis scan le réseau pour inclure des périphériques, nous ferons cela dans un second temps. Il suffit d'appuyer sur "Skip/Next" quatre fois.
- Après ces étapes, KeexyBox indique que la configuration est terminée, il faut cliquer sur "Finish":
- Le serveur redémarre pour valider les configuration.
- Et voilà, l'installation de base est terminée :)








