Cómo instalar Firefly III en Ubuntu • Sitio web para estudiantes

Tutoriales mayo 4, 2021

En este post veremos cómo instalar Firefly III, un administrador de finanzas personales en Ubuntu 20.04 | 18.04 con servidor HTTP Nginx.

Luciérnaga III es un software de gestión de finanzas personales de código abierto y gratuito escrito en PHP. Le ayuda a realizar un seguimiento de sus gastos, ingresos, presupuestos y otros aspectos de sus finanzas desde un servidor autohospedado en su propio hogar y entorno.

Si te encanta hacer un seguimiento de tus finanzas, Firefly III debería ser adecuado para ti. Puede rastrear transacciones recurrentes, crear reservas de doble entrada de forma segura con autenticación de 2 factores.

Ya sea que esté administrando sus finanzas personales o comerciales, Firefly III puede ayudarlo a crear y administrar su contenido en cada dispositivo con su intuitivo y poderoso panel de control de usuario y administración.

Para obtener más información sobre Firefly III, visite su pagina de inicio

Para comenzar a instalar Firefly III, sigue los pasos a continuación:

Paso 1: instala Nginx

El servidor HTTP Nginx es probablemente el segundo servidor web más popular en uso en la actualidad, así que instálelo ya que Firefly III lo necesita.

Para instalar Nginx HTTP en el servidor Ubuntu, ejecute los siguientes comandos.

sudo apt update
sudo apt install nginx

Después de instalar Nginx, los siguientes comandos se pueden utilizar para detener, comienzo y permitir El servicio Nginx siempre se inicia con el servidor arranca.

sudo systemctl stop nginx.service
sudo systemctl start nginx.service
sudo systemctl enable nginx.service

Para saber si el servidor HTTP Nginx está instalado, simplemente abra su navegador web y escriba la IP o el nombre de host del servidor.

Cuando vea una página similar a la siguiente, entonces Nginx está instalado y funcionando.

http://localhost
prueba de la página de inicio predeterminada de nginx

Paso 2: Instale MariaDB

Firefly III también necesita un servidor de base de datos para almacenar su contenido, y el servidor de base de datos MariaDB es un gran lugar para comenzar cuando busca servidores de base de datos de código abierto para usar con Firefly III.

Para instalar MariaDB, ejecute los siguientes comandos.

sudo apt install mariadb-server mariadb-client

Después de instalar MariaDB, los siguientes comandos se pueden utilizar para detener, comienzo y permitir El servicio MariaDB siempre se inicia cuando se inicia el servidor.

sudo systemctl stop mariadb.service
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service

Después de eso, ejecute los siguientes comandos para asegurar el servidor MariaDB creando una contraseña de root y no permitiendo el acceso remoto de root.

sudo mysql_secure_installation

Cuando se le solicite, responda las siguientes preguntas siguiendo la guía.

  • Ingrese la contraseña actual para root (ingrese para ninguna): Simplemente presione el Ingresar
  • ¿Establecer contraseña de root? [Y/n]: Y
  • Nueva contraseña: Introducir la contraseña
  • Re-ingrese nueva contraseña: repite la contraseña
  • ¿Eliminar usuarios anónimos? [Y/n]: Y
  • ¿Deshabilitar el inicio de sesión de root de forma remota? [Y/n]: Y
  • ¿Eliminar la base de datos de prueba y acceder a ella? [Y/n]: Y
  • ¿Recargar tablas de privilegios ahora? [Y/n]: Y

Reinicie el servidor MariaDB

Para probar si MariaDB está instalado, escriba los siguientes comandos para iniciar sesión en el servidor MariaDB

sudo mysql -u root -p

Luego, escriba la contraseña que creó anteriormente para iniciar sesión. Si tiene éxito, debería ver el mensaje de bienvenida de MariaDB

Paso 3: Instale PHP 7.4-FPM

PHP 7.4-FPM puede no estar disponible en los repositorios predeterminados de Ubuntu. Para instalarlo, deberá obtenerlo de repositorios de terceros.

Ejecute los siguientes comandos para agregar el siguiente repositorio de terceros para actualizar a PHP 7.4-FPM.

sudo apt-get install software-properties-common
sudo add-apt-repository ppa:ondrej/php

Luego actualice y actualice a PHP 7.4-FPM.

sudo apt update

A continuación, ejecute los siguientes comandos para instalar PHP 7.4-FPM y los módulos relacionados.

sudo apt install php7.4-fpm php7.4-common php7.4-gmp php7.4-curl php7.4-ldap php7.4-intl php7.4-mbstring php7.4-xmlrpc php7.4-mysql php7.4-gd php7.4-bcmath php7.4-xml php7.4-cli php7.4-zip

Después de instalar PHP 7.4, ejecute los siguientes comandos para abrir el archivo de configuración predeterminado de PHP para Nginx.

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

Luego, realice los cambios en las siguientes líneas a continuación en el archivo y guárdelo. Los valores a continuación son excelentes configuraciones para aplicar en sus entornos.

file_uploads = On
allow_url_fopen = On
short_open_tag = On
cgi.fix_pathinfo = 0
memory_limit = 256M
upload_max_filesize = 100M
max_execution_time = 360
max_input_vars = 1500
date.timezone = America/Chicago

Después de realizar el cambio anterior, guarde el archivo y cierre.

Paso 4: Cree la base de datos de Firefly III

Ahora que ha instalado todos los paquetes necesarios, continúe a continuación para comenzar a configurar los servidores. Primero cree una base de datos de Firefly III.

Ejecute los siguientes comandos para iniciar sesión en MariaDB. Cuando se le solicite una contraseña, escriba la contraseña de root que creó anteriormente.

sudo mysql -u root -p

Luego crea una base de datos llamada luciérnaga

CREATE DATABASE firefly;

Crea un usuario de base de datos llamado luciérnaga con nueva contraseña

CREATE USER 'fireflyuser'@'localhost' IDENTIFIED BY 'new_password_here';

A continuación, conceda al usuario acceso completo a la luciérnaga base de datos.

GRANT ALL ON firefly.* TO 'fireflyuser'@'localhost' WITH GRANT OPTION;

Finalmente, guarde sus cambios y salga.

FLUSH PRIVILEGES;
EXIT;

Paso 5: Descarga Firefly III más reciente

Para obtener la última versión de Firefly III, es posible que desees utilizar el repositorio de GitHub. Instale Composer, Curl y otras dependencias para comenzar.

sudo apt install curl git
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer

Después de instalar curl y Composer arriba, cámbiese al directorio raíz de Nginx y descargue los paquetes de Firefly III de Github.

cd /var/www/
sudo composer create-project grumpydictator/firefly-iii --no-dev --prefer-dist firefly-iii 5.2.8

Después de la descarga, debería ver un mensaje de éxito similar al siguiente:

> @php artisan firefly:instructions install
+------------------------------------------------------------------------------+
|                                                                              |
| Thank you for installing Firefly III, v5.2.8!                                |
|                                                                              |
|                                                                              |
+------------------------------------------------------------------------------+
> @php artisan key:generate
Application key set successfully.

A continuación, edite el .env crear el archivo anterior y realizar los cambios resaltados para adaptarse a su entorno.

sudo nano /var/www/firefly-iii/.env

Realice los cambios resaltados.

Database credentials. Make sure the database exists. I recommend a dedicated user for Firefly III
 For other database types, please see the FAQ: https://docs.firefly-iii.org/support/faq
 If you use Docker or similar, you can set these variables from a file by appending them with _FILE
 Use "mysql" for MySQL and MariaDB. Use "sqlite" for SQLite.
 DB_CONNECTION=mysql
 DB_HOST=127.0.0.1
 DB_PORT=3306
 DB_DATABASE=firefly
 DB_USERNAME=fireflyuser
 DB_PASSWORD=type_password_here

Guarda el archivo y cierra.

A continuación, vuelva al directorio raíz de Firefly III y actualice todos los paquetes y requisitos.

cd /var/www/firefly-iii
sudo php artisan migrate:refresh --seed
sudo php artisan firefly-iii:upgrade-database
sudo php artisan passport:install

Dado que acaba de ejecutar el servidor web como root, debe asegurarse de que los archivos recién creados sean propiedad del www-datos usuario y grupo.

Para hacer eso, ejecute los siguientes comandos:

sudo chown -R www-data:www-data /var/www/firefly-iii/
sudo chmod -R 755 /var/www/firefly-iii/

Paso 6: configurar Nginx

Finalmente, configure el archivo de configuración del sitio Apahce2 para Firefly III. Este archivo controlará cómo los usuarios acceden al contenido de Firefly III. Ejecute los siguientes comandos para crear un nuevo archivo de configuración llamado firefly.conf

sudo nano /etc/nginx/sites-available/firefly.conf

Luego copie y pegue el contenido a continuación en el archivo y guárdelo. Reemplace la línea resaltada con su propio nombre de dominio y ubicación raíz del directorio.

server {
    listen 80;
    listen [::]:80;

    server_name  example.com www.example.com;
    root   /var/www/firefly-iii/public;
    index  index.php;
    
    access_log /var/log/nginx/example.com.access.log;
    error_log /var/log/nginx/example.com.error.log;

    client_max_body_size 100M;
  
    autoindex off;

    location / {
    try_files $uri $uri/ /index.php$is_args$args;
      }

    location ~ .php$ {
         include snippets/fastcgi-php.conf;
         fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
         include fastcgi_params;
         fastcgi_intercept_errors on;
    }
}

Guarda el archivo y cierra.

Después de configurar el VirtualHost anterior, habilítelo ejecutando los siguientes comandos

sudo ln -s /etc/nginx/sites-available/firefly.conf /etc/nginx/sites-enabled/
sudo systemctl restart nginx.service

Luego abra su navegador y busque el nombre de dominio del servidor o el nombre de host. Suele ser localhost, pero puede ser un nombre de host o una dirección IP.

El administrador del servidor o la empresa de alojamiento tendrán esta información disponible.

http://example.com/

Cree una cuenta de administrador y regístrese.

Inicie sesión y comience a configurar sus finanzas.

Conclusión:

En este tutorial hemos visto cómo instalar Firefly III en Ubuntu. Si encuentra algún error arriba, deje un comentario a continuación.

También te puede gustar la publicación a continuación: