GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come installare FileRun su Ubuntu 20.04 con Apache/Nginx

fQuesto tutorial ti mostrerà come installare FileRun su Ubuntu 20.04 LTS con server web Apache/Nginx. FileRun è un'alternativa a Google Drive/Foto/Musica auto-ospitata.

Funzioni di esecuzione di file

  • Non è richiesto alcun indice. Può accedere direttamente ai file sul file system.
  • Compatibile con NextCloud.
  • Versionamento automatico dei file.
  • 100% brandizzabile. Carica il tuo logo.
  • Estendibile. Esistono molti plugin che ti consentono di creare e modificare file di Office, file CAD, ecc.
  • Utenti ospiti.
  • Organizza, sincronizza e condividi le tue foto.
  • Lettore musicale e organizer integrati

Requisiti

Per seguire questo tutorial, avrai bisogno di un nome di dominio e di un server. Ho registrato il mio nome di dominio su NameCheap perché il prezzo è basso e offrono protezione della privacy a Whois gratuita per tutta la vita. Un server con 1G di RAM è sufficiente per eseguire FileRun. Una volta che hai un server, installa Ubuntu su di esso e segui le istruzioni seguenti.

FileRun è scritto in PHP e utilizza il database MySQL/MariaDB. Per seguire questo tutorial, si presume che tu abbia già impostato lo stack LAMP o LEMP su Ubuntu 20.04. In caso contrario, dai un'occhiata a uno dei seguenti tutorial:

  • Come installare lo stack LAMP sul server Ubuntu 20.04
  • Come installare lo stack LEMP sul server Ubuntu 20.04

Quando hai finito di configurare lo stack LAMP o LEMP, torna qui e continua a leggere.

Passaggio 1:scarica FileRun su Ubuntu 20.04

Accedi al tuo server tramite SSH. Puoi sempre utilizzare il seguente comando per scaricare l'ultima versione di FileRun sul tuo server.

wget -O FileRun.zip https://filerun.com/download-latest

Una volta scaricato, estrai l'archivio con unzip .

sudo apt install unzip

sudo mkdir -p /var/www/filerun/

sudo unzip FileRun.zip -d /var/www/filerun/

Il -d opzione specifica la directory di destinazione. I file Web FileRun verranno estratti in /var/www/filerun/ . Quindi dobbiamo cambiare il proprietario di questa directory in www-data in modo che il server web possa scrivere in questa directory.

sudo chown www-data:www-data /var/www/filerun/ -R

Fase 2:crea un database e un utente in MariaDB

Accedi al server del database MariaDB con il seguente comando.

sudo mysql

In alternativa, puoi anche usare questo comando per accedere.

sudo mariadb

Quindi crea un database per FileRun. Questo tutorial nomina il database filerun . Puoi usare il nome che preferisci.

create database filerun;

Crea l'utente del database. Anche in questo caso, puoi utilizzare il tuo nome preferito per questo utente. Sostituisci your-password con la tua password preferita.

create user filerun@localhost identified by 'your-password';

Concedi a questo utente tutti i privilegi su filerun banca dati.

grant all privileges on filerun.* to filerun@localhost;

Elimina i privilegi ed esci.

flush privileges;

exit;

Fase 3:crea un file di configurazione Apache o Nginx

Apache

Se preferisci utilizzare il server Web Apache, crea un file di configurazione dell'host virtuale in /etc/apache2/sites-available/ directory.

sudo nano /etc/apache2/sites-available/filerun.conf

Inserisci il seguente testo nel file. Sostituisci filerun.example.com con il tuo nome di dominio. Non dimenticare di impostare un record per il nome di dominio nel tuo gestore 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>

Salva e chiudi il file. Quindi abilita la rewrite modulo.

sudo a2enmod rewrite

Quindi abilita questo host virtuale.

sudo a2ensite filerun.conf

Riavvia il server Web Apache per rendere effettive le modifiche.

sudo systemctl restart apache2

Nginx

Se preferisci utilizzare il server web Nginx, crea un filerun.conf file in /etc/nginx/conf.d/ directory.

sudo nano /etc/nginx/conf.d/filerun.conf

Inserisci il seguente testo nel file. Sostituisci filerun.example.com con il tuo nome di dominio. Non dimenticare di impostare un record per il nome di dominio nel tuo gestore 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;
    }
}

Salva e chiudi il file. Testare la configurazione di Nginx, quindi ricaricare Nginx per rendere effettive le modifiche.

sudo nginx -t

sudo systemctl reload nginx

Fase 4:installa e abilita i moduli PHP

Esegui i seguenti comandi per installare i moduli PHP richiesti o consigliati da 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 utilizza ionCube per crittografare il suo file PHP, quindi è necessario installare il caricatore PHP ionCube per decrittografare i file PHP. Scarica i caricatori ionCube.

wget https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz

Estrailo in /usr/lib/php/ .

sudo tar -xzf ioncube_loaders_lin_x86-64.tar.gz -C /usr/lib/php

Ora dobbiamo abilitare l'estensione PHP di ioncube.

Apache

Se usi Apache , quindi crea il file ini PHP per ionCube.

sudo nano /etc/php/7.4/apache2/conf.d/00-ioncube.ini

Aggiungi la seguente riga a questo file.

zend_extension = /usr/lib/php/ioncube/ioncube_loader_lin_7.4.so

Salva e chiudi il file. Dobbiamo creare un secondo file ini PHP.

sudo nano /etc/php/7.4/apache2/conf.d/filerun.ini

Aggiungi le seguenti righe. Questo serve per modificare alcune delle configurazioni PHP predefinite.

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"

Salva e chiudi il file. Ricarica Apache per rendere effettive le modifiche.

sudo systemctl reload apache2

Nginx

Se usi Nginx , modifica il php.ini file.

sudo nano /etc/php/7.4/fpm/php.ini

Aggiungi la seguente riga subito sotto il [PHP] linea.

zend_extension=/usr/lib/php/ioncube/ioncube_loader_lin_7.4.so

Salva e chiudi il file. Dobbiamo creare un secondo file ini PHP.

sudo nano /etc/php/7.4/fpm/conf.d/10-ioncube.ini

Aggiungi le seguenti righe. Questo serve per modificare alcune delle configurazioni PHP predefinite.

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"

Salva e chiudi il file. Quindi riavvia Nginx e PHP7.4-FPM.

sudo systemctl restart nginx php7.4-fpm

Ora dovresti essere in grado di visitare la procedura guidata di installazione basata sul Web FileRun su http://filerun.example.com , ma prima di inserire qualsiasi informazione, abilitiamo HTTPS.

Passaggio 5:abilita HTTPS

Per crittografare il traffico HTTP quando visiti l'interfaccia web di FileRun, possiamo abilitare HTTPS installando un certificato TLS gratuito emesso da Let's Encrypt. Esegui i seguenti comandi per installare il client Let's Encrypt (certbot) su Ubuntu 20.04.

sudo apt update
sudo apt install certbot

Se usi Nginx , devi anche installare il plug-in Certbot Nginx.

sudo apt install python3-certbot-nginx

Quindi esegui il comando seguente per ottenere e installare il certificato TLS.

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d filerun.example.com

Se usi Apache , devi anche installare il plugin Certbot Apache.

sudo apt install python3-certbot-apache

Quindi esegui questo comando per ottenere e installare il certificato TLS.

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d filerun.example.com

Spiegazione:

  • --nginx :usa il plugin nginx.
  • --apache :usa il plugin Apache.
  • --agree-tos :Accetta i termini di servizio.
  • --redirect :Forza HTTPS tramite reindirizzamento 301.
  • --hsts :aggiungi l'intestazione Strict-Transport-Security a ogni risposta HTTP. Forzare il browser a utilizzare sempre TLS per il dominio. Difende dallo stripping SSL/TLS.
  • --staple-ocsp :Abilita la pinzatura OCSP. Una risposta OCSP valida viene pinzata al certificato offerto dal server durante TLS.

Il certificato dovrebbe ora essere ottenuto e installato automaticamente.

Fase 6:Completa l'installazione nel tuo browser web

Vai a https://filerun.example.com per avviare la procedura guidata di installazione basata sul Web. Quindi fai clic su Next pulsante.

Verificherà se il tuo sistema soddisfa i requisiti come le estensioni PHP. Se tutti i requisiti sono soddisfatti, fai clic su Next .

Nel passaggio successivo, inserisci il nome utente, la password e il nome del database MariaDB che hai creato nel passaggio 2.

Dopo aver fatto clic su Avanti, la procedura guidata di installazione creerà automaticamente un account utente. Fare clic su Next per continuare.

Nella schermata successiva, puoi accedere con l'account di superutente. Al primo accesso, devi creare una cartella home per l'account superutente.

Puoi creare la cartella home per il superutente con il seguente comando.

sudo mkdir /var/www/superuser

sudo chown www-data /var/www/superuser/ -R

Quindi inserisci il percorso della cartella nell'interfaccia web di FileRun. E salva le modifiche.

Quindi, vai su Security -> API per abilitare l'API, in modo che le app client possano sincronizzarsi con il server.

Installa il client di sincronizzazione desktop FileRun

Sul desktop, FileRun utilizza il client Nextcloud per sincronizzarsi con il server. Sul desktop Ubuntu, puoi installare il client Nextcloud con:

sudo apt install nextcloud-desktop

Per come installare le app client su altre piattaforme, controlla la pagina di download di FileRun.

Come impostare la notifica e-mail

Se è presente più di un utente, è una buona idea consentire a FileRun di inviare notifiche e-mail come e-mail di reimpostazione della password. Per come configurare un server di posta elettronica, dai un'occhiata al seguente tutorial. Nota che consiglio vivamente di eseguire il server di posta iRedMail su un nuovo sistema operativo pulito. L'installazione di iRedMail su un sistema operativo che dispone di altre applicazioni Web può non riuscire e probabilmente interrompere le applicazioni esistenti.

  • Come configurare facilmente un server di posta completo su Ubuntu 20.04 con iRedMail

Se non desideri eseguire il tuo server di posta elettronica, puoi invece configurare l'inoltro SMTP. Si prega di consultare il seguente tutorial.

  • Come configurare l'inoltro SMTP di Postfix sul server Ubuntu 20.04

Ubuntu
  1. Come installare Nginx su Ubuntu 20.04

  2. Come installare Jenkins Automation Server con Apache su Ubuntu 16.04

  3. Come installare MediaWiki con Nginx su Ubuntu 16.04

  4. Come installare il server HTTP Git con Nginx su Ubuntu 16.04

  5. Come installare HTTP Git Server con Nginx su Ubuntu 20.04

Come installare Sonerezh Music Streaming Server su Ubuntu 16.04 con Apache o Nginx

Come installare InvoiceNinja su Ubuntu 18.04 Server con Apache/Nginx

Come installare InvoiceNinja su Ubuntu 20.04 Server con Apache/Nginx

Come installare phpMyAdmin con Apache su Ubuntu 22.04 LTS

Come installare Nginx su Ubuntu

Come installare LetsEncrypt con Nginx su Ubuntu 15.04