GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo instalar FileRun en Ubuntu 20.04 con Apache/Nginx

fEste tutorial le mostrará cómo instalar FileRun en Ubuntu 20.04 LTS con servidor web Apache/Nginx. FileRun es una alternativa autohospedada de Google Drive/Fotos/Música.

Características de ejecución de archivos

  • No se requiere índice. Puede acceder a archivos en el sistema de archivos directamente.
  • Compatible con NextCloud.
  • Versión automática de archivos.
  • 100 % personalizable. Cargue su propio logotipo.
  • Extensible. Hay muchos complementos que le permiten crear y editar archivos de oficina, archivos CAD, etc.
  • Usuarios invitados.
  • Organiza, sincroniza y comparte tus fotos.
  • Reproductor de música y organizador integrados

Requisitos

Para seguir este tutorial, necesitará un nombre de dominio y un servidor. Registré mi nombre de dominio en NameCheap porque el precio es bajo y ofrecen protección de privacidad whois gratis de por vida. Un servidor con 1G de RAM es suficiente para ejecutar FileRun. Una vez que tenga un servidor, instale Ubuntu en él y siga las instrucciones a continuación.

FileRun está escrito en PHP y utiliza la base de datos MySQL/MariaDB. Para seguir este tutorial, se supone que ya configuró la pila LAMP o LEMP en Ubuntu 20.04. Si no es así, consulte uno de los siguientes tutoriales:

  • Cómo instalar la pila LAMP en el servidor Ubuntu 20.04
  • Cómo instalar la pila LEMP en el servidor Ubuntu 20.04

Cuando haya terminado de configurar la pila LAMP o LEMP, vuelva aquí y siga leyendo.

Paso 1:Descarga FileRun en Ubuntu 20.04

Inicie sesión en su servidor a través de SSH. Siempre puede usar el siguiente comando para descargar la última versión de FileRun en su servidor.

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

Una vez descargado, extraiga el archivo con unzip .

sudo apt install unzip

sudo mkdir -p /var/www/filerun/

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

El -d La opción especifica el directorio de destino. Los archivos web de FileRun se extraerán a /var/www/filerun/ . Luego, debemos cambiar el propietario de este directorio a www-data para que el servidor web pueda escribir en este directorio.

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

Paso 2:crear una base de datos y un usuario en MariaDB

Inicie sesión en el servidor de la base de datos MariaDB con el siguiente comando.

sudo mysql

Alternativamente, también puede usar este comando para iniciar sesión.

sudo mariadb

Luego crea una base de datos para FileRun. Este tutorial nombra la base de datos filerun . Puedes usar el nombre que quieras.

create database filerun;

Cree el usuario de la base de datos. Nuevamente, puede usar su nombre preferido para este usuario. Reemplace your-password con su contraseña preferida.

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

Otorgue a este usuario todos los privilegios en filerun base de datos.

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

Vacíe los privilegios y salga.

flush privileges;

exit;

Paso 3:Crear archivo de configuración de Apache o Nginx

Apache

Si prefiere utilizar el servidor web Apache, cree un archivo de configuración de host virtual en /etc/apache2/sites-available/ directorio.

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

Coloque el siguiente texto en el archivo. Reemplace filerun.example.com con su propio nombre de dominio. No olvide establecer un registro A para el nombre de dominio en su administrador de 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>

Guarde y cierre el archivo. Luego habilite rewrite módulo.

sudo a2enmod rewrite

Luego habilite este servidor virtual.

sudo a2ensite filerun.conf

Reinicie el servidor web Apache para que el cambio surta efecto.

sudo systemctl restart apache2

Nginx

Si prefiere usar el servidor web Nginx, cree un filerun.conf archivo en /etc/nginx/conf.d/ directorio.

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

Coloque el siguiente texto en el archivo. Reemplace filerun.example.com con su propio nombre de dominio. No olvide establecer un registro A para el nombre de dominio en su administrador de 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;
    }
}

Guarde y cierre el archivo. Pruebe la configuración de Nginx, luego vuelva a cargar Nginx para que los cambios surtan efecto.

sudo nginx -t

sudo systemctl reload nginx

Paso 4:Instalar y habilitar módulos PHP

Ejecute los siguientes comandos para instalar los módulos PHP requeridos o recomendados por 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 utiliza ionCube para cifrar su archivo PHP, por lo que debemos instalar el cargador de PHP ionCube para descifrar los archivos PHP. Descargar cargadores ionCube.

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

Extraerlo a /usr/lib/php/ .

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

Ahora necesitamos habilitar la extensión PHP de ioncube.

Apache

Si usa Apache , luego cree el archivo PHP ini para ionCube.

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

Agregue la siguiente línea a este archivo.

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

Guarde y cierre el archivo. Necesitamos crear un segundo archivo PHP ini.

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

Agregue las siguientes líneas. Esto es para cambiar algunas de las configuraciones predeterminadas de PHP.

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"

Guarde y cierre el archivo. Vuelva a cargar Apache para que los cambios surtan efecto.

sudo systemctl reload apache2

Nginx

Si usa Nginx , edite el php.ini archivo.

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

Agrega la siguiente línea justo debajo del [PHP] línea.

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

Guarde y cierre el archivo. Necesitamos crear un segundo archivo PHP ini.

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

Agregue las siguientes líneas. Esto es para cambiar algunas de las configuraciones predeterminadas de PHP.

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"

Guarde y cierre el archivo. Luego reinicie Nginx y PHP7.4-FPM.

sudo systemctl restart nginx php7.4-fpm

Ahora debería poder visitar el asistente de instalación basado en web de FileRun en http://filerun.example.com , pero antes de ingresar cualquier información, habilitemos HTTPS.

Paso 5:habilite HTTPS

Para cifrar el tráfico HTTP cuando visita la interfaz web de FileRun, podemos habilitar HTTPS instalando un certificado TLS gratuito emitido por Let's Encrypt. Ejecute los siguientes comandos para instalar el cliente Let's Encrypt (certbot) en Ubuntu 20.04.

sudo apt update
sudo apt install certbot

Si usa Nginx , también debe instalar el complemento Certbot Nginx.

sudo apt install python3-certbot-nginx

Luego ejecute el siguiente comando para obtener e instalar el certificado TLS.

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

Si usa Apache , también necesita instalar el complemento Certbot Apache.

sudo apt install python3-certbot-apache

Luego ejecute este comando para obtener e instalar el certificado TLS.

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

Explicación:

  • --nginx :use el complemento nginx.
  • --apache :Utilice el complemento de Apache.
  • --agree-tos :Acepto los términos del servicio.
  • --redirect :Forzar HTTPS por redirección 301.
  • --hsts :agregue el encabezado Strict-Transport-Security a cada respuesta HTTP. Obligar al navegador a usar siempre TLS para el dominio. Protege contra la eliminación de SSL/TLS.
  • --staple-ocsp :activa el grapado OCSP. Se grapa una respuesta OCSP válida al certificado que ofrece el servidor durante TLS.

Ahora se debe obtener el certificado e instalarlo automáticamente.

Paso 6:finalice la instalación en su navegador web

Vaya a https://filerun.example.com para iniciar el asistente de instalación basado en web. Luego haga clic en Next botón.

Verificará si su sistema cumple con los requisitos, como las extensiones de PHP. Si se cumplen todos los requisitos, haga clic en Next .

En el siguiente paso, ingrese el nombre de usuario, la contraseña y el nombre de la base de datos de MariaDB que creó en el paso 2.

Después de hacer clic en Siguiente, el asistente de instalación creará automáticamente una cuenta de usuario. Haga clic en Next para continuar.

En la siguiente pantalla, puede iniciar sesión con la cuenta de superusuario. Al iniciar sesión por primera vez, debe crear una carpeta de inicio para la cuenta de superusuario.

Puede crear la carpeta de inicio para el superusuario con el siguiente comando.

sudo mkdir /var/www/superuser

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

Luego ingrese la ruta de la carpeta en la interfaz web de FileRun. Y guarda los cambios.

Luego, ve a Security -> API para habilitar la API, de modo que las aplicaciones cliente puedan sincronizarse con el servidor.

Instalar cliente de sincronización de escritorio FileRun

En el escritorio, FileRun usa el cliente Nextcloud para sincronizar con el servidor. En el escritorio de Ubuntu, puede instalar el cliente Nextcloud con:

sudo apt install nextcloud-desktop

Para saber cómo instalar aplicaciones cliente en otras plataformas, consulte la página de descarga de FileRun.

Cómo configurar la notificación por correo electrónico

Si hay más de un usuario, entonces es una buena idea hacer que FileRun pueda enviar notificaciones por correo electrónico, como correos electrónicos de restablecimiento de contraseña. Para saber cómo configurar un servidor de correo electrónico, consulta el siguiente tutorial. Nota que recomiendo encarecidamente ejecutar el servidor de correo iRedMail en un sistema operativo nuevo y limpio. La instalación de iRedMail en un sistema operativo que tiene otras aplicaciones web puede fallar y es probable que rompa las aplicaciones existentes.

  • Cómo configurar fácilmente un servidor de correo con todas las funciones en Ubuntu 20.04 con iRedMail

Si no desea ejecutar su propio servidor de correo electrónico, puede configurar la retransmisión SMTP en su lugar. Consulte el siguiente tutorial.

  • Cómo configurar la retransmisión SMTP de Postfix en el servidor Ubuntu 20.04

Ubuntu
  1. Cómo instalar Nginx en Ubuntu 20.04

  2. Cómo instalar Jenkins Automation Server con Apache en Ubuntu 16.04

  3. Cómo instalar MediaWiki con Nginx en Ubuntu 16.04

  4. Cómo instalar el servidor HTTP Git con Nginx en Ubuntu 16.04

  5. Cómo instalar el servidor HTTP Git con Nginx en Ubuntu 20.04

Cómo instalar Sonerezh Music Streaming Server en Ubuntu 16.04 con Apache o Nginx

Cómo instalar InvoiceNinja en un servidor Ubuntu 18.04 con Apache/Nginx

Cómo instalar InvoiceNinja en un servidor Ubuntu 20.04 con Apache/Nginx

Cómo instalar phpMyAdmin con Apache en Ubuntu 22.04 LTS

Cómo instalar Nginx en Ubuntu

Cómo instalar LetsEncrypt con Nginx en Ubuntu 15.04