Dans le cadre d'un projet professionnel j'avais besoin d'une sorte de page d'accueil "bookmark".
Il y a 6 ans j'utilisais Jumpsquare ... mais la solution n'est plus maintenue depuis longtemps. Pour les nostalgiques j'ai laissé une capture d'écran de Jumpsquare. Encore merci Kendrick Coleman.
Après quelques recherche je suis tombé sur Heimdall.
Heimdall Application Dashboard est un tableau de bord pour toutes vos applications web. Il n'a pas besoin d'être limité aux applications, mais vous pouvez ajouter des liens vers tout ce que vous voulez.
Heimdall dispose d'une base de donnée d'applications déjà bien fournie
J'ai donc décidé d'installer Heimdall sur une distribution CentOS 8. mais vous pourrez facilement modifier la procédure pour ubuntu par exemple.
Je suis parti d'une installation Minimum de Centos (je vous passe l'installation)
Installation des pré-requis
dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm
dnf update
dnf module reset php
dnf module enable php:remi-7.2
dnf install nginx vim git postfix net-tools php php-fpm php-gd php-xml php-mbstring php-zip php-common unzip redis
Centos est passé de yum à dnf.
Installation d'Heimdall
cd /var/www/
git clone https://github.com/linuxserver/Heimdall/
cd Heimdall
cp .env.example .env
php artisan key:generate
curl -s https://getcomposer.org/installer | php
php composer.phar update
chown -R apache /var/www/Heimdall
chmod -R 750 /var/www/Heimdall
Par habitude je désactive SeLinux qui pose toujours plus de problème qu'il ne protège et en l'occurence empêche l'application de fonctionner correctement.
sed -i s/^SELINUX=.*$/SELINUX=disabled/ /etc/selinux/config
Tant qu'on parle sécurité, j'ouvre le service http sur le firewall :
firewall-cmd --permanent --add-service=http
Mon serveur n'allant que servir à Heimdall, je crée un fichier default.conf dans /etc/nginx/conf.d
server {
listen 80 default_server;
root /var/www/Heimdall/public;
index index.php index.html index.htm;
server_name _;
client_max_body_size 0;
error_page 599 = @noauth;
location / {
if (!-f /var/www/Heimdall/public/.htpasswd) {
return 599;
}
auth_basic "Restricted";
auth_basic_user_file /var/www/Heimdall/public/.htpasswd;
try_files $uri $uri/ /index.php?$args;
}
location @noauth {
try_files $uri $uri/ /index.php?$args;
}
location /webfonts {
try_files $uri $uri/;
}
location ~* \.php$ {
# With php-fpm unix socket
fastcgi_pass unix:/run/php-fpm/www.sock;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
}
}
On redémarre nginx pour la prise en compte de la configuration aprés l'avoir validé
nginx -t
systemclt restart nginx
Et voilà