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