J'ai dernièrement souscrit la location d'un serveur VPS chez OVH (1er prix à 55€ / an) afin de mettre en place un VPN. Ce qui m'a permis de monter en compétences. J'ai choisi comme système de base Debian 13 Trixie plutôt qu'Ubuntu.
Donc pourquoi ne pas profiter de cet espace pour tester des installations d'applications en ligne ?
Voici mon retour concernant Hauk qui permet de suivre le positionnement d'un ordiphone en temps réel.
Site officiel : https://github.com/bilde2910/Hauk
Remarque : pour l'instant, je ne compte pas utiliser un nom de domaine car le site n'a pas vocation à être public. Par contre cela suppose de passer par l'IP publique et un port dédié pour y accéder (par exemple 8082). Pour info, j'ai également Pi-Hole installé sur le VPS sur le port 8080 mais qui n'est accessible que via le VPN.
Voici la procédure que j'ai utilisée, en faisant appel à Claude AI (version gratuite et limitée : modèle Sonnet 5 moyen) en adaptant chaque fois à mon cas particulier :
I- Installation sur le serveur VPS
- On se connecte en ssh sur son VPS.
- Si ce n'est pas déjà fait, on peut installer son paquet de langue "fr_FR.UTF-8 UTF-8" via la commande :
sudo dpkg-reconfigure locales - On Installe les paquets nécessaires pour faire office de serveur Web avec les commandes suivantes (on suppose que rien n'est installé sur le VPS) :
sudo apt updatesudo apt upgrade -y# Serveur web Apachesudo apt install apache2 apache2-utils# PHP et extensions nécessaires (Hauk + usage général)sudo apt install php php-cli php-common php-fpm libapache2-mod-php \php-curl php-mbstring php-gd php-xml php-zip php-json php-opcache# Memcached (stockage des positions en mémoire pour Hauk)sudo apt install memcached php-memcached# Outils systèmesudo apt install git unzip curl wget nano - Maintenant il faut récupérer Hauk dans un dossier temporaire avec les commandes suivantes :
cd /var/www
sudo git clone https://github.com/bilde2910/Hauk.git hauk_tmp - On crée un sous-dossier "hauk" qui recueillera l'installation :
sudo mkdir -p /var/www/hauk/ - On lance l'installation avec les commandes :
cd hauk_tmpsudo ./install.sh -c /var/www/hauk/ - Une fois les fichiers installés dans le sous-dossier web, il faut configurer Hauk en dupliquant le fichier config.php.sample :
sudo cp /var/www/hauk/include/config-sample.php /var/www/hauk/include/config.phpsudo nano /var/www/hauk/include/config.php- Pour des raisons de sécurité,il est nécessaire de modifier le mot de passe par défaut au paramètre "password_hash" et pour cela taper la ligne de commande afin d'obtenir le mot de passe hashé et le coller entre les 2 guillemets simples :
htpasswd -nBC 10 "" | tail -c +2 - Modifier également le dernier paramètre "public_url" en remplaçant 'https://example.com/' par 'http://<IP_publique_VPS>:8082/'. Ne pas oublier le / slash à la fin !
- Pour des raisons de sécurité,il est nécessaire de modifier le mot de passe par défaut au paramètre "password_hash" et pour cela taper la ligne de commande afin d'obtenir le mot de passe hashé et le coller entre les 2 guillemets simples :
- On donne les droits d'accès au dossier avec la commande :
sudo chown -R www-data:www-data /var/www/hauk Déclarer le port sur le serveur Apache dans le fichier :sudo nano /etc/apache2/ports.conf
En rajoutant la ligne :Listen 8082- On crée le VirtualHost dans Apache avec :
sudo nano /etc/apache2/sites-available/hauk.conf
Et on saisit ces info :<VirtualHost *:8082>DocumentRoot /var/www/hauk<Directory /var/www/hauk>Options Indexes FollowSymLinksAllowOverride AllRequire all granted</Directory>ErrorLog ${APACHE_LOG_DIR}/hauk_error.logCustomLog ${APACHE_LOG_DIR}/hauk_access.log combined</VirtualHost> - On active et on redémarre le serveur Apache avec :
sudo a2ensite hauk.confsudo a2enmod rewritesudo systemctl reload apache2
Remarque : Si c'est la première fois qu'on lance le serveur Apache, il faudra taper à la place de reload (ou restart) :sudo systemctl enable --now apache2sudo systemctl start apache2 - On démarre MemCached et on vérifie son statut :
sudo systemctl enable --now memcachedsudo systemctl status memcached - NE PAS OUBLIER D'OUVRIR LES PORTS DU PAREFEU avec la commande :
sudo ufw allow 8082/tcpRemarque : On peut forcer le passage par le VPN (plus d'accès public) en supprimant la règle précédente et en en ajoutant 2 nouvelles :
sudo ufw delete allow 8082/tcp
sudo ufw allow from 10.0.0.0/24 to any port 8082
sudo ufw allow from fd42:42:42::/64 to any port 8082 - Pour vérifier que tout fonctionne on tape dans le terminal du serveur :
curl -I http://localhost:8082 - Si tout fonctionne on peut alors supprimer le dossier hauk_tmp :
sudo rm -R hauk_tmp
II- Utilisation de l'application Android
- Sur son ordiphone Android, on installe l'application Hauk : https://f-droid.org/packages/info.varden.hauk
- On clique sur la roue crantée en haut à droite et on saisit :
- l'URL du serveur → http://<IP_publique_VPS>:8082,
- le mot de passe (en clair) généré précédemment et hashé dans le fichier config.php,
- on peut protéger le partage en le chiffrant via un mot de passe (que les destinataires doivent connaître),
- Dans mon cas, on désactive la validation de l'autorité de confiance car pas en https.
- On revient sur la page d'accueil et on peut dorénavant partager sa position en cliquant sur le bouton "Commencer le partage" → Un message nous informe que la connexion est établie.
- On clique sur le bouton "Partage" pour envoyer le lien à qui l'on souhaite → la personne arrivera sur une carte avec notre position et pourra nous suivre le temps que nous aurons déterminé.
On peut supprimer le partage quand on veut.
On peut générer autant de liens de partage que l'on veut si on veut différencier les accès.
III- En cas de problème
J'ai rencontré 2 problèmes lors de l'installation à cause du fichier /var/www/hauk/include/config.php qui ne fonctionnait pas. Cela venait en fait d'un conflit entre 2 fichiers de configuration issu certainement d'une mauvaise manip de ma part. En effet, le doublon se trouvait ici /etc/hauk/config.php. En le supprimant, tout est rentré dans l'ordre.