GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment installer FileRun sur Ubuntu 20.04 avec Apache/Nginx

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

Ubuntu
  1. Comment installer Nginx sur Ubuntu 20.04

  2. Comment installer Jenkins Automation Server avec Apache sur Ubuntu 16.04

  3. Comment installer MediaWiki avec Nginx sur Ubuntu 16.04

  4. Comment installer le serveur HTTP Git avec Nginx sur Ubuntu 16.04

  5. Comment installer le serveur HTTP Git avec Nginx sur Ubuntu 20.04

Comment installer Sonerezh Music Streaming Server sur Ubuntu 16.04 avec Apache ou Nginx

Comment installer InvoiceNinja sur le serveur Ubuntu 18.04 avec Apache/Nginx

Comment installer InvoiceNinja sur le serveur Ubuntu 20.04 avec Apache/Nginx

Comment installer phpMyAdmin avec Apache sur Ubuntu 22.04 LTS

Comment installer Nginx sur Ubuntu

Comment installer LetsEncrypt avec Nginx sur Ubuntu 15.04