fCe tutoriel vous montrera comment installer FileRun sur Ubuntu 20.04 LTS avec serveur web Apache/Nginx. FileRun est une alternative auto-hébergée à Google Drive/Photos/Musique.
Fonctionnalités de FileRun
- Aucun index n'est requis. Il peut accéder directement aux fichiers du système de fichiers.
- Compatible avec NextCloud.
- Gestion automatique des versions de fichiers.
- 100 % personnalisable. Importez votre propre logo.
- Extensible. Il existe de nombreux plugins qui permettent de créer et de modifier des fichiers bureautiques, des fichiers CAO, etc.
- Utilisateurs invités.
- Organisez, synchronisez et partagez vos photos.
- Lecteur de musique et organiseur intégrés
Exigences
Pour suivre ce tutoriel, vous aurez besoin d'un nom de domaine et d'un serveur. J'ai enregistré mon nom de domaine chez NameCheap car le prix est bas et ils offrent une protection de la confidentialité whois gratuite à vie. Un serveur avec 1 Go de RAM suffit pour exécuter FileRun. Une fois que vous avez un serveur, installez-y Ubuntu et suivez les instructions ci-dessous.
FileRun est écrit en PHP et utilise la base de données MySQL/MariaDB. Pour suivre ce tutoriel, on suppose que vous avez déjà configuré la pile LAMP ou LEMP sur Ubuntu 20.04. Si ce n'est pas le cas, veuillez consulter l'un des didacticiels suivants :
- Comment installer la pile LAMP sur le serveur Ubuntu 20.04
- Comment installer la pile LEMP sur le serveur Ubuntu 20.04
Lorsque vous avez terminé de configurer la pile LAMP ou LEMP, revenez ici et lisez la suite.
Étape 1 :Téléchargez FileRun sur Ubuntu 20.04
Connectez-vous à votre serveur via SSH. Vous pouvez toujours utiliser la commande suivante pour télécharger la dernière version de FileRun sur votre serveur.
wget -O FileRun.zip https://filerun.com/download-latest
Une fois téléchargé, extrayez l'archive avec unzip
.
sudo apt install unzip sudo mkdir -p /var/www/filerun/ sudo unzip FileRun.zip -d /var/www/filerun/
Le -d
L'option spécifie le répertoire cible. Les fichiers Web FileRun seront extraits vers /var/www/filerun/
. Ensuite, nous devons changer le propriétaire de ce répertoire en www-data
afin que le serveur Web puisse écrire dans ce répertoire.
sudo chown www-data:www-data /var/www/filerun/ -R
Étape 2 :Créer une base de données et un utilisateur dans MariaDB
Connectez-vous au serveur de base de données MariaDB avec la commande suivante.
sudo mysql
Alternativement, vous pouvez également utiliser cette commande pour vous connecter.
sudo mariadb
Créez ensuite une base de données pour FileRun. Ce tutoriel nomme la base de données filerun
. Vous pouvez utiliser le nom de votre choix.
create database filerun;
Créez l'utilisateur de la base de données. Encore une fois, vous pouvez utiliser votre nom préféré pour cet utilisateur. Remplacez your-password
avec votre mot de passe préféré.
create user filerun@localhost identified by 'your-password';
Accordez à cet utilisateur tous les privilèges sur le filerun
base de données.
grant all privileges on filerun.* to filerun@localhost;
Vider les privilèges et quitter.
flush privileges; exit;
Étape 3 :Créer un fichier de configuration Apache ou Nginx
Apache
Si vous préférez utiliser le serveur Web Apache, créez un fichier de configuration d'hôte virtuel dans /etc/apache2/sites-available/
répertoire.
sudo nano /etc/apache2/sites-available/filerun.conf
Mettez le texte suivant dans le fichier. Remplacez filerun.example.com
avec votre propre nom de domaine. N'oubliez pas de définir un enregistrement A pour le nom de domaine dans votre gestionnaire DNS.
<VirtualHost *:80> ServerName filerun.example.com DocumentRoot /var/www/filerun <Directory "/var/www/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. Activez ensuite la rewrite
module.
sudo a2enmod rewrite
Activez ensuite cet hôte virtuel.
sudo a2ensite filerun.conf
Redémarrez le serveur Web Apache pour que la modification prenne effet.
sudo systemctl restart apache2
Nginx
Si vous préférez utiliser le serveur Web Nginx, créez un filerun.conf
fichier dans /etc/nginx/conf.d/
répertoire.
sudo nano /etc/nginx/conf.d/filerun.conf
Mettez le texte suivant dans le fichier. Remplacez filerun.example.com
avec votre propre nom de domaine. N'oubliez pas de définir un enregistrement A pour le nom de domaine dans votre gestionnaire DNS.
server { listen [::]:80; listen 80; server_name filerun.example.com; access_log /var/log/nginx/filerun.access.log; error_log /var/log/nginx/filerun.error.log; root /var/www/filerun/; index index.php index.html; location / { try_files $uri $uri/ /index.php; } error_page 404 /404.html; error_page 500 502 503 504 /50x.html; client_max_body_size 500M; location = /50x.html { root /usr/share/nginx/html; } location ~ \.php$ { fastcgi_pass unix:/run/php/php7.4-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; include snippets/fastcgi-php.conf; } #enable gzip compression gzip on; gzip_vary on; gzip_min_length 1000; gzip_comp_level 5; gzip_types application/json text/css application/x-javascript application/javascript image/svg+xml; gzip_proxied any; # A long browser cache lifetime can speed up repeat visits to your page location ~* \.(jpg|jpeg|gif|png|webp|svg|woff|woff2|ttf|css|js|ico|xml)$ { access_log off; log_not_found off; expires 360d; } # disable access to hidden files location ~ /\.ht { access_log off; log_not_found off; deny all; } }
Enregistrez et fermez le fichier. Testez la configuration de Nginx, puis rechargez Nginx pour que les modifications prennent effet.
sudo nginx -t sudo systemctl reload nginx
Étape 4 :Installer et activer les modules PHP
Exécutez les commandes suivantes pour installer les modules PHP requis ou recommandés par FileRun.
sudo apt install imagemagick ffmpeg php-imagick php7.4-mysql php7.4-fpm php7.4-common php7.4-gd php7.4-json php7.4-curl php7.4-zip php7.4-xml php7.4-mbstring php7.4-bz2 php7.4-intl
Filerun utilise ionCube pour chiffrer son fichier PHP, nous devons donc installer le chargeur PHP ionCube pour déchiffrer les fichiers PHP. Téléchargez les chargeurs ionCube.
wget https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz
Extrayez-le dans /usr/lib/php/
.
sudo tar -xzf ioncube_loaders_lin_x86-64.tar.gz -C /usr/lib/php
Nous devons maintenant activer l'extension PHP ioncube.
Apache
Si vous utilisez Apache , puis créez le fichier ini PHP pour ionCube.
sudo nano /etc/php/7.4/apache2/conf.d/00-ioncube.ini
Ajoutez la ligne suivante à ce fichier.
zend_extension = /usr/lib/php/ioncube/ioncube_loader_lin_7.4.so
Enregistrez et fermez le fichier. Nous devons créer un deuxième fichier ini PHP.
sudo nano /etc/php/7.4/apache2/conf.d/filerun.ini
Ajoutez les lignes suivantes. Il s'agit de modifier certaines des configurations PHP par défaut.
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. Rechargez Apache pour que les modifications prennent effet.
sudo systemctl reload apache2
Nginx
Si vous utilisez Nginx , éditez le php.ini
fichier.
sudo nano /etc/php/7.4/fpm/php.ini
Ajoutez la ligne suivante juste en dessous du [PHP]
ligne.
zend_extension=/usr/lib/php/ioncube/ioncube_loader_lin_7.4.so
Enregistrez et fermez le fichier. Nous devons créer un deuxième fichier ini PHP.
sudo nano /etc/php/7.4/fpm/conf.d/10-ioncube.ini
Ajoutez les lignes suivantes. Il s'agit de modifier certaines des configurations PHP par défaut.
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. Redémarrez ensuite Nginx et PHP7.4-FPM.
sudo systemctl restart nginx php7.4-fpm
Vous devriez maintenant pouvoir visiter l'assistant d'installation Web de FileRun à l'adresse http://filerun.example.com
, mais avant de saisir des informations, activons HTTPS.
Étape 5 :Activer HTTPS
Pour chiffrer le trafic HTTP lorsque vous visitez l'interface Web FileRun, nous pouvons activer HTTPS en installant un certificat TLS gratuit émis par Let's Encrypt. Exécutez les commandes suivantes pour installer le client Let's Encrypt (certbot) sur Ubuntu 20.04.
sudo apt update sudo apt install certbot
Si vous utilisez Nginx , vous devez également installer le plugin Certbot Nginx.
sudo apt install python3-certbot-nginx
Exécutez ensuite la commande suivante pour obtenir et installer le certificat TLS.
sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d filerun.example.com
Si vous utilisez Apache , vous devez également installer le plug-in Certbot Apache.
sudo apt install python3-certbot-apache
Exécutez ensuite cette commande pour obtenir et installer le certificat TLS.
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d filerun.example.com
Explication :
--nginx
:Utilisez le plug-in nginx.--apache
:Utilisez le plug-in Apache.--agree-tos
:acceptez les conditions d'utilisation.--redirect
:Forcer HTTPS par redirection 301.--hsts
:Ajoutez l'en-tête Strict-Transport-Security à chaque réponse HTTP. Forcer le navigateur à toujours utiliser TLS pour le domaine. Protège contre le SSL/TLS Stripping.--staple-ocsp
:active l'agrafage OCSP. Une réponse OCSP valide est agrafée au certificat que le serveur propose pendant TLS.
Le certificat devrait maintenant être obtenu et installé automatiquement.
Étape 6 :terminez l'installation dans votre navigateur Web
Allez sur https://filerun.example.com
pour lancer l'assistant d'installation Web. Cliquez ensuite sur Next
bouton.
Il vérifiera si votre système répond aux exigences telles que les extensions PHP. Si toutes les conditions sont remplies, cliquez sur Next
.
À l'étape suivante, entrez le nom d'utilisateur, le mot de passe et le nom de la base de données MariaDB que vous avez créés à l'étape 2.
Après avoir cliqué sur Suivant, l'assistant d'installation créera automatiquement un compte utilisateur. Cliquez sur Next
pour continuer.
Sur l'écran suivant, vous pouvez vous connecter avec le compte superutilisateur. Lors de la première connexion, vous devez créer un dossier personnel pour le compte superutilisateur.
Vous pouvez créer le dossier de départ pour le superutilisateur avec la commande suivante.
sudo mkdir /var/www/superuser sudo chown www-data /var/www/superuser/ -R
Entrez ensuite le chemin du dossier dans l'interface Web de FileRun. Et enregistrez les modifications.
Ensuite, allez dans Security
-> API
pour activer l'API, afin que les applications clientes puissent se synchroniser avec le serveur.
Installer le client de synchronisation de bureau FileRun
Sur le bureau, FileRun utilise le client Nextcloud pour se synchroniser avec le serveur. Sur le bureau Ubuntu, vous pouvez installer le client Nextcloud avec :
sudo apt install nextcloud-desktop
Pour savoir comment installer des applications clientes sur d'autres plates-formes, veuillez consulter la page de téléchargement de FileRun.
Comment configurer la notification par e-mail
S'il y a plus d'un utilisateur, c'est une bonne idée de permettre à FileRun d'envoyer des notifications par e-mail comme des e-mails de réinitialisation de mot de passe. Pour savoir comment configurer un serveur de messagerie, veuillez consulter le didacticiel suivant. Remarque que je recommande fortement d'exécuter le serveur de messagerie iRedMail sur un nouveau système d'exploitation propre. L'installation d'iRedMail sur un système d'exploitation doté d'autres applications Web peut échouer et probablement casser les applications existantes.
- Comment configurer facilement un serveur de messagerie complet sur Ubuntu 20.04 avec iRedMail
Si vous ne souhaitez pas exécuter votre propre serveur de messagerie, vous pouvez configurer un relais SMTP à la place. Veuillez consulter le didacticiel suivant.
- Comment configurer le relais SMTP Postfix sur le serveur Ubuntu 20.04