FileRun est une application de partage de fichiers gratuite, open source et auto-hébergée pour Linux. C'est une très bonne alternative à Google Drive et dropbox. Il vous permet de partager et de synchroniser des fichiers, d'y accéder via WebDAV et même de vous y connecter avec l'application mobile Nextcloud. Il est écrit en PHP et utilise MariaDB comme backend de base de données. Il vous permet d'accéder à vos fichiers n'importe où via un stockage cloud sécurisé, et offre également la sauvegarde et le partage de vos photos, vidéos, fichiers, et plus encore.
Dans cet article, je vais vous expliquer comment installer FileRun avec Apache et Let's Encrypt SSL sur Debian 11.
Prérequis
- Un serveur exécutant Debian 11.
- Un nom de domaine valide pointé vers l'adresse IP de votre serveur.
- Un mot de passe root est configuré sur le serveur.
Installer le serveur LAMP
Tout d'abord, vous devrez installer Apache, MariaDB, PHP et d'autres packages sur votre serveur. Vous pouvez tous les installer en exécutant la commande suivante :
apt-get install apache2 mariadb-server mariadb-client php libapache2-mod-php imagemagick ffmpeg php-imagick php-mysql php-fpm php-common php-gd php-json php-curl php-zip php-xml php-mbstring php-bz2 php-intl unzip -y
Une fois tous les packages installés, vous devrez également installer le chargeur IonCube sur votre système.
Tout d'abord, téléchargez le chargeur IonCube avec la commande suivante :
wget https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz
Une fois le téléchargement terminé, extrayez le fichier téléchargé avec la commande suivante :
tar -xzf ioncube_loaders_lin_x86-64.tar.gz -C /usr/lib/php
Ensuite, créez un fichier de configuration ioncube et définissez le chemin de la source IonCube :
nano /etc/php/7.4/apache2/conf.d/00-ioncube.ini
Ajoutez la ligne suivante :
zend_extension = /usr/lib/php/ioncube/ioncube_loader_lin_7.4.so
Enregistrez et fermez le fichier puis créez un fichier de configuration PHP pour FileRun :
nano /etc/php/7.4/apache2/conf.d/filerun.ini
Ajoutez les paramètres suivants :
expose_php = Off error_reporting = E_ALL & ~E_NOTICE display_errors = Off display_startup_errors = Off log_errors = On ignore_repeated_errors = Off allow_url_fopen = On allow_url_include = Off variables_order = "GPCS" allow_webdav_methods = On memory_limit = 128M max_execution_time = 300 output_buffering = Off output_handler = "" zlib.output_compression = Off zlib.output_handler = "" safe_mode = Off register_globals = Off magic_quotes_gpc = Off upload_max_filesize = 20M post_max_size = 20M enable_dl = Off disable_functions = "" disable_classes = "" session.save_handler = files session.use_cookies = 1 session.use_only_cookies = 1 session.auto_start = 0 session.cookie_lifetime = 0 session.cookie_httponly = 1 date.timezone = "UTC"
Enregistrez et fermez le fichier puis redémarrez le service Apache pour appliquer les modifications :
systemctl reload apache2
Configurer la base de données MariaDB
Tout d'abord, vous devrez sécuriser l'installation de MariaDB à l'aide de la commande suivante :
mysql_secure_installation
Répondez à toutes les questions comme indiqué ci-dessous :
Enter current password for root (enter for none): PRESS ENTER Set root password? [Y/n] Y New password: Re-enter new password: Remove anonymous users? [Y/n] Y Disallow root login remotely? [Y/n] Y Remove test database and access to it? [Y/n] Y Reload privilege tables now? [Y/n] Y
Ensuite, connectez-vous au shell MariaDB avec la commande suivante :
mysql -u root -p
Une fois connecté, créez une base de données et un utilisateur avec la commande suivante :
MariaDB [(none)]> CREATE DATABASE filerun;
MariaDB [(none)]> CREATE USER 'filerun'@'localhost' IDENTIFIED BY 'password';
Ensuite, accordez tous les privilèges à la base de données FileRun avec la commande suivante :
MariaDB [(none)]> GRANT ALL PRIVILEGES ON filerun.* TO 'filerun'@'localhost';
Ensuite, videz les privilèges et quittez MariaDB avec la commande suivante :
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.
Télécharger FileRun
Tout d'abord, téléchargez la dernière version de FileRun avec la commande suivante :
wget -O FileRun.zip https://filerun.com/download-latest
Une fois le FileRun téléchargé, décompressez le fichier téléchargé à l'aide de la commande suivante :
unzip FileRun.zip -d /var/www/html/filerun/
Ensuite, définissez l'autorisation et la propriété appropriées avec la commande suivante :
chown -R www-data:www-data /var/www/html/filerun
chmod -R 755 /var/www/html/filerun
Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.
Configurer Apache pour FileRun
Ensuite, vous devrez créer un fichier de configuration d'hôte virtuel Apache pour FileRun. Vous pouvez le créer avec la commande suivante :
nano /etc/apache2/sites-available/filerun.conf
Ajoutez les lignes suivantes :
<VirtualHost *:80> ServerName filerun.example.com DocumentRoot /var/www/html/filerun <Directory "/var/www/html/filerun"> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/filerun.error.log CustomLog ${APACHE_LOG_DIR}/filerun.access.log combined </VirtualHost>
Enregistrez et fermez le fichier puis activez l'hôte virtuel Apache et réécrivez le module avec la commande suivante :
a2ensite filerun.conf
a2enmod rewrite
Ensuite, redémarrez le service Apache pour appliquer les modifications :
systemctl restart apache2
Vous pouvez également vérifier l'état d'Apache avec la commande suivante :
systemctl status apache2
Vous devriez voir le résultat suivant :
? apache2.service - The Apache HTTP Server Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2022-01-29 15:14:56 UTC; 5s ago Docs: https://httpd.apache.org/docs/2.4/ Process: 22533 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS) Main PID: 22538 (apache2) Tasks: 6 (limit: 2341) Memory: 16.4M CPU: 94ms CGroup: /system.slice/apache2.service ??22538 /usr/sbin/apache2 -k start ??22539 /usr/sbin/apache2 -k start ??22540 /usr/sbin/apache2 -k start ??22541 /usr/sbin/apache2 -k start ??22542 /usr/sbin/apache2 -k start ??22543 /usr/sbin/apache2 -k start Jan 29 15:14:56 debian11 systemd[1]: Starting The Apache HTTP Server...
Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.
Accéder à l'interface utilisateur Web FileRun
Maintenant, ouvrez votre navigateur Web et accédez à l'interface utilisateur Web FileRun à l'aide de l'URL http://filerun.example.com . Vous serez redirigé vers la page suivante :
Cliquez sur Suivant bouton. vous devriez voir la page de vérification des exigences du serveur :
Cliquez sur Suivant bouton. Vous devriez voir la page de configuration de la base de données :
Cliquez sur Suivant bouton. Une fois l'installation terminée, vous devriez voir la page suivante :
Cliquez sur Suivant bouton. Vous devriez voir la page de connexion FileRun :
Indiquez votre nom d'utilisateur et votre mot de passe d'administrateur, puis cliquez sur Connexion bouton. Vous devriez voir le tableau de bord FileRun sur la page suivante :
Sécuriser FileRun avec Let's Encrypt SSL
Il est également recommandé de sécuriser votre site Web avec Let's Encrypt SSL. Tout d'abord, vous devrez installer le client Certbot pour installer et gérer le SSL. Par défaut, le package Certbot est inclus dans le référentiel par défaut de Debian, vous pouvez donc l'installer avec la commande suivante :
apt-get install python3-certbot-apache -y
Une fois le Certbot installé, exécutez la commande suivante pour sécuriser votre site Web avec Let's Encrypt SSL :
certbot --apache -d filerun.example.com
Il vous sera demandé de fournir votre adresse e-mail et d'accepter les conditions d'utilisation comme indiqué ci-dessous :
Saving debug log to /var/log/letsencrypt/letsencrypt.log Plugins selected: Authenticator standalone, Installer None Enter email address (used for urgent renewal and security notices) (Enter 'c' to cancel): [email protected] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Please read the Terms of Service at https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must agree in order to register with the ACME server at https://acme-v02.api.letsencrypt.org/directory - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (A)gree/(C)ancel: A - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Would you be willing to share your email address with the Electronic Frontier Foundation, a founding partner of the Let's Encrypt project and the non-profit organization that develops Certbot? We'd like to send you email about our work encrypting the web, EFF news, campaigns, and ways to support digital freedom. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Y)es/(N)o: Y Plugins selected: Authenticator apache, Installer apache Obtaining a new certificate Performing the following challenges: http-01 challenge for filerun.example.com Enabled Apache rewrite module Waiting for verification... Cleaning up challenges Created an SSL vhost at /etc/apache2/sites-available/filerun-le-ssl.conf Enabled Apache socache_shmcb module Enabled Apache ssl module Deploying Certificate to VirtualHost /etc/apache2/sites-available/filerun-le-ssl.conf Enabling available site: /etc/apache2/sites-available/filerun-le-ssl.conf Next, select whether or not to redirect HTTP traffic to HTTPS as shown below:
Veuillez choisir de rediriger ou non le trafic HTTP vers HTTPS, en supprimant l'accès HTTP.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1: No redirect - Make no further changes to the webserver configuration. 2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for new sites, or if you're confident your site works on HTTPS. You can undo this change by editing your web server's configuration. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2
Tapez 2 et appuyez sur Entrée pour installer le SSL Let's Encrypt pour votre site Web :
Enabled Apache rewrite module Redirecting vhost in /etc/apache2/sites-enabled/filerun.conf to ssl vhost in /etc/apache2/sites-available/filerun-le-ssl.conf - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Congratulations! You have successfully enabled https://filerun.example.com You should test your configuration at: https://www.ssllabs.com/ssltest/analyze.html?d=filerun.example.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/filerun.example.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/filerun.example.com/privkey.pem Your cert will expire on 2022-4-29. To obtain a new or tweaked version of this certificate in the future, simply run certbot again with the "certonly" option. To non-interactively renew *all* of your certificates, run "certbot renew" - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF: https://eff.org/donate-le
Conclusion
Toutes nos félicitations! vous avez installé avec succès FileRun avec Apache et Let's Encrypt SSL sur Debian 11. Vous pouvez maintenant utiliser FileRun pour stocker vos fichiers, votre musique, vos photos et les partager avec vos amis et votre famille.