« h5ai is a modern file indexer for HTTP web servers with focus on your files »
Pour ce petit tuto j'utilise une Debian Stretch sur un Kimsufi chez OVH et h5ai sera là pour lister les images servant à mon bot mastodon @wallhallapaper.
Tout d'abord il va nous falloir récupérer h5ai.
Faites attention à prendre la dernière version en date.
cd /var/www/votre_repertoire
wget https://release.larsjung.de/h5ai/h5ai-0.29.0.zip && unzip h5ai-0.29.0.zip
rm h5ai-0.29.0.zip
Maintenant passons à la configuration de nginx avec un exemple de fichier de configuration. Munissez-vous donc de votre éditeur de texte préféré (pour ma part il s'agit de vim) et créons le fichier .conf
.
vim /etc/nginx/conf.d/wallhallapaper.conf
Suivant votre distribution serveur l'emplacement des fichiers de conf peut varier, ici je suis sur une Debian Stretch donc de base c'est : /etc/nginx/conf.d/
sinon ça se passe ici /etc/nginx/site_avaible/
sans oublier par la suite de le passer dans /etc/nginx/site-enable/
.
# Configuration du HTTPS
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name your.domaine.tld;
root /var/www/your_repertory/;
index /_h5ai/public/index.php;
# Emplacements des logs
access_log /var/log/nginx/make_name-access.log;
error_log /var/log/nginx/make_name-error.log;
# Emplacement du certificat si on utilise Letsencrypt
ssl_certificate /etc/letsencrypt/live/..../fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/..../privkey.pem;
ssl_session_timeout 10m;
ssl_prefer_server_ciphers on;
ssl_stapling on;
ssl_stapling_verify on;
ssl_protocols TLSv1.1 TLSv1.2;
ssl_ciphers "ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4";
add_header Strict-Transport-Security "max-age=31557600; includeSubDomains";
location ~ \.(jpg|jpeg|gif|png|css|js|ico|svg|eot|ttf|woff|woff2|otf)$ {
access_log off;
expires 30d;
}
# Configuartion pour PHP
location ~ \.php$ {
try_files $uri =404;
fastcgi_index index.php;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}
location ^~ /var/www/your_repertory/_h5ai/private {
deny all;
return 403;
}
}
# Redirection HTTP vers HTTPS
server {
listen 80;
listen [::]:80;
server_name domaine.tld;
return 301 https://your.domaine.tld$request_uri;
}
On teste la configuration pour éviter de se manger une erreur au reboot de nginx (et de péter éventuellement tout les autres servives/sites) avec nginx -t
, qui devrait vous retourner :
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Et donc on relancer nginx
systemctl restart nginx
Pour voir si tout fonctionne correctement, direction la page index.php de h5ai : http://your.domain.tld/_h5ai/public/index.php
, et cliquez sur login.
Normalement tout est bon
Il vous faudra aussi changer le mot de passe histoire de planquer les infos, pour cela direction /your_repertory/_h5ai/private/conf/options.json
Une fois tout bien configuré voila à quoi ressemble mon h5ai pour @wallhallapaper.
Enjoy \o/
Comments
No comments yet. Be the first to react!