Mettre en place h5ai avec NGINX

Written by KazukyAkayashiNovember 5, 2018

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.

h5ai view

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 si tout est bon il y aura du vert partout 😀

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/

This article is under the CC-BY-SA license.

Login or use your Fediverse account to interact with this article

Comments

No comments yet. Be the first to react!