GNU/Linux >> Tutoriels Linux >  >> Debian

Comment configurer un site Web de partage de fichiers avec Jirafeau sur Debian 10

Jirafeau est une simple application web d'hébergement et de partage de fichiers construite en PHP. Il ne nécessite pas de base de données et fournit une interface utilisateur propre et facile à utiliser avec prise en charge de la protection par mot de passe, de l'expiration programmée, des téléchargements uniques (autodestruction) et de la prévisualisation dans le navigateur, entre autres fonctionnalités utiles.

Cet article vous guidera dans l'installation et la configuration de Jirafeau sur Debian 10 à partir de zéro, avec Nginx et PHP-FPM.

Exigences

  • Un système Debian 10 sur lequel vous disposez d'un accès root.
  • Un nom de domaine pointant vers votre serveur.
  • La variable d'environnement $EDITOR doit être définie.

Si vous êtes connecté en tant qu'utilisateur sudo non root, utilisez un shell privilégié pour exécuter les commandes présentées dans ce guide. Vous pouvez lancer un root shell avec :

sudo -s

Installation Jirafeau

Mise à jour du système et installation des dépendances

Commencez par mettre à jour votre système :

apt update
apt upgrade -y
reboot

Une fois le système redémarré, installez les packages logiciels requis avec la commande suivante :

apt install -y nginx php php-fpm certbot git

Assurez-vous ensuite que Nginx et PHP-FPM sont activés et en cours d'exécution :

systemctl enable --now nginx.service php7.3-fpm.service

Obtenir un certificat SSL

Avant de configurer le serveur Web, vous devez obtenir un certificat SSL pour votre domaine. Pour ce faire, utilisez l'outil certbot comme indiqué :

certbot certonly --webroot -m [email protected] -d your_domain --agree-tos

Après avoir exécuté cette commande, il vous sera d'abord demandé si vous souhaitez recevoir des e-mails de l'EFF. Ensuite, lorsque vous êtes invité à saisir la racine Web de votre domaine, saisissez /var/www/html :

Obtaining a new certificate
Performing the following challenges:
http-01 challenge for example.com
Input the webroot for example.com: (Enter 'c' to cancel): /var/www/html

La propriété du domaine sera vérifiée et votre certificat et les fichiers associés seront enregistrés dans /etc/letsencrypt/live/votre_domaine/. Nous pouvons maintenant configurer Nginx.

Configuration Nginx

Désactivez le fichier de configuration par défaut car il n'est pas nécessaire :

rm /etc/nginx/sites-enabled/default

Créez ensuite un nouveau fichier de configuration :

$EDITOR /etc/nginx/sites-available/your_domain.conf

Et entrez ce qui suit :

server {
    listen 80;
    listen [::]:80;
    server_name your_domain;
    return 301 https://your_domain$request_uri;
}
 server {
    listen 443 ssl;
    listen [::]:443 ssl;
    server_name your_domain;
    root /var/www/html/jirafeau;
    index index.php;
    ssl on;
    ssl_certificate /etc/letsencrypt/live/your_domain/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/your_domain/privkey.pem;
    location ~ \.php$ {
    fastcgi_split_path_info  ^(.+\.php)(/.+)$;
    fastcgi_index            index.php;
    fastcgi_pass             unix:/var/run/php/php7.3-fpm.sock;
    include                  fastcgi_params;
    fastcgi_param   PATH_INFO       $fastcgi_path_info;
    fastcgi_param   SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}

REMARQUE : Avec la configuration fournie, toutes les requêtes HTTP seront redirigées vers HTTPS.

Ensuite, activez le nouveau fichier de configuration en créant un lien symbolique dans le répertoire /etc/nginx/sites-enabled/ :

ln -s /etc/nginx/sites-available/your_domain.conf /etc/nginx/sites-enabled/

Recherchez d'éventuelles erreurs de configuration avec :

nginx -t

Chargez-le ensuite en lançant la commande :

systemctl reload nginx.service

Installer Jirafeau

Téléchargez Jirafeau depuis son dépôt Gitlab :

mkdir /var/www/html/jirafeau
git clone https://gitlab.com/mojo42/Jirafeau.git /var/www/html/jirafeau

Créer un répertoire de données pour Jirafeau. Ce répertoire ne doit pas être accessible via votre serveur Web (c'est-à-dire qu'il doit résider en dehors du répertoire racine Web, qui est /var/www/html avec notre configuration). Nous utiliserons /var/data/jirafeau.

mkdir -p /var/data/jirafeau

Donnez à l'utilisateur Nginx la propriété des répertoires de configuration et de données utilisés par Jirafeau. Idéalement, vous devriez resserrer les autorisations de fichiers une fois votre configuration terminée.

chown -R www-data:www-data /var/www/html/jirafeau/lib /var/data/jirafeau

Ouvrez ensuite votre navigateur Web et accédez à https://votre_domaine/install.php. Il vous sera d'abord demandé de choisir un mot de passe pour l'interface d'administration. Entrez un mot de passe sécurisé et passez à l'étape suivante. Pour l'adresse de base, saisissez https://votre_domaine/, et /var/data/jirafeau/ pour le répertoire de données. Passez à l'étape suivante, au cours de laquelle le programme d'installation créera un fichier de configuration de base pour Jirafeau.

Configurer Jirafeau

Le script d'installation intégré ne configure que l'essentiel. Pour une configuration plus poussée, ouvrez le fichier correspondant :

$EDITOR /var/www/html/jirafeau/lib/config.local.php

Remplacez le nom d'organisation par défaut et définissez les clés de contact et de titre. Les valeurs de l'organisation et de la personne de contact seront affichées dans vos conditions d'utilisation (https://votre_domaine/tos.php).

  'organisation' => 'Your Organisation/Company',
  'contactperson' => 'Your Name <[email protected]>',
  'title' => 'Title of your choice',

Par défaut, l'accès à la fonction de téléchargement est illimité. Vous pouvez définir un ou plusieurs mots de passe pour limiter cet accès. Utilisez la syntaxe indiquée :

  'upload_password' =>
  array (
          'password1',
          'password2',
  ),

Lors du téléchargement d'un fichier, différents délais sont disponibles dans le formulaire de téléchargement. Jirafeau autorise par défaut des délais allant jusqu'à un mois, après quoi les fichiers téléchargés sont supprimés. Pour changer les périodes disponibles, modifiez le tableau des disponibilités. Par exemple, pour autoriser toutes les périodes d'expiration, utilisez ce qui suit :

  array (
    'minute' => true,
    'hour' => true,
    'day' => true,
    'week' => true,
    'month' => true,
    'quarter' => true,
    'year' => true,
    'none' => true,
  ),

Une fois que vous êtes satisfait de votre configuration, aucune action n'est requise pour appliquer les modifications.

Votre site Web d'hébergement de fichiers est maintenant prêt à être utilisé. L'interface d'administration est accessible à l'adresse https://votre_domaine/admin.php


Debian
  1. Comment installer Phorum avec Nginx sur Debian 9

  2. Comment configurer PostgreSQL Streaming Replication avec des emplacements de réplication sur Debian 10

  3. Comment installer Ghost sur Debian avec Nginx

  4. Comment installer DokuWiki sur Debian Wheezy avec Nginx

  5. Comment installer FuelPHP avec Nginx sur un VPS Debian 8

Comment configurer le certificat SSL Let's Encrypt avec Nginx sur Debian 10 / Debian 9

Comment configurer ModSecurity avec Nginx sur Debian/Ubuntu

Comment installer phpMyAdmin avec Nginx sur Debian 11 Bullseye

Comment installer phpMyAdmin avec Nginx sur Debian 11

Comment installer Nginx avec PHP-FPM sur Debian 11

Comment installer Nginx sur Debian 10