Un bookmark en page de démarrage hébergé sous Centos 8

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.
La présentation en vidéo

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à

Page d'accueil 
Création d'une application