GNU/Linux >> Tutoriales Linux >  >> Debian

Cómo instalar el software de contabilidad autohospedado Akaunting en Debian 10 Buster

Este tutorial le mostrará cómo instalar Akaunting en Debian 10 Buster con el servidor web Apache o Nginx. Akaunting es un software de contabilidad gratuito, de código abierto y autohospedable. Puede usarlo para realizar un seguimiento de las finanzas personales o la contabilidad de pequeñas empresas.

Características de Akaunting

  • Totalmente gratuito y de código abierto.
  • Interfaz basada en web fácil de usar. Vea sus finanzas en línea en cualquier momento y en cualquier lugar en su Mac, PC, tableta o teléfono móvil.
  • Interfaz preparada para dispositivos móviles y tabletas
  • Panel de administración y cliente multilingüe
  • Diseñado para pequeñas empresas
  • 100 % de propiedad de los datos financieros
  • De por vida GRATIS Actualizaciones
  • Puede crear clientes y enviarles facturas. También puede establecer una contraseña para que puedan acceder al portal del cliente.
  • Envíe facturas profesionales a los clientes y comience a aceptar pagos en línea, sin comisiones/tarifas de transacción.
  • Agregue depósitos y transferencias entre cuentas y mantenga activo el saldo de sus cuentas bancarias.
  • Cree proveedores para poder asignarles facturas y pagos y luego filtrar sus transacciones fácilmente.
  • Cree y administre facturas para que sus finanzas sean siempre precisas y saludables. Sepa qué y cuándo pagar.
  • Agregue gastos no facturables como pagos para mantener actualizados los saldos de su cuenta bancaria o de efectivo.
  • Habilite el seguimiento del inventario y gestione los productos a medida que entran y salen. Los artículos también aceleran la facturación.
  • Cree cuentas bancarias y de efectivo ilimitadas y realice un seguimiento de sus saldos iniciales y actuales.
  • Envíe facturas y agregue gastos en cualquier moneda y deje que el sistema las convierta a su moneda principal.
  • Administre las finanzas de varias empresas desde un panel de administración. Asigne usuarios a diferentes empresas.
  • Obtenga informes financieros detallados para ayudarlo a visualizar mejor toda la información que necesita para mejorar su negocio.
  • Extienda Akaunting instalando aplicaciones desde la tienda de aplicaciones, puede instalar o comprar cualquier cosa.
  • Configure permisos en un nivel de función para proteger y simplificar su experiencia de administración.

Requisitos previos para instalar Akaunting en Debian 10 Buster

Primero, necesita un servidor Debian con al menos 512 MB de RAM. Si está buscando un VPS (servidor privado virtual), puede hacer clic en este enlace especial para crear una cuenta en Vultr y obtener $ 50 de crédito gratis (solo para nuevos usuarios). Una vez que tenga una cuenta en Vultr, instale Debian 10 Buster en su servidor y siga las instrucciones a continuación.

Akaunting requiere PHP y MySQL/MariaDB. Para seguir este tutorial, ya debería haber configurado una pila LAMP o una pila LEMP. Si prefiere usar el servidor web Apache, instale la pila LAMP.

  • Cómo instalar la pila LAMP (Apache, MariaDB, PHP) en Debian 10 Buster

Si prefiere usar el servidor web Nginx, instale la pila LEMP.

  • Cómo instalar la pila LEMP (Nginx, MariaDB, PHP) en Debian 10 Buster

También necesita un nombre de dominio, para que sus clientes puedan ver la factura a través de su nombre de dominio. Registré mi nombre de dominio en NameCheap porque el precio es bajo y ofrecen protección de privacidad whois gratis de por vida.

Ahora instalemos Akaunting.

Paso 1:Descargue el archivo zip de instalación de Akaunting en Debian 10 Buster Server

Inicie sesión en su servidor Debian 10 y use el siguiente comando para descargar la última versión estable de Akaunting.

wget -O Akaunting.zip https://akaunting.com/download.php?version=latest

Luego cree un directorio bajo la raíz web para Akaunting.

sudo mkdir -p /var/www/akaunting/

Extrae el archivo zip con unzip .

sudo apt install unzip
sudo unzip Akaunting.zip -d /var/www/akaunting/

El -d La opción especifica el directorio de destino. Los archivos web de Akaunting se extraerán a /var/www/akaunting/ . 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/akaunting/ -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. Dado que MariaDB ahora usa unix_socket complemento para el inicio de sesión del usuario de autenticación, no es necesario ingresar la contraseña raíz de MariaDB. Solo necesitamos prefijar el mysql comando con sudo .

sudo mysql

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

create database akaunting;

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 accountant@localhost identified by 'your-password';

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

grant all privileges on akaunting.* to accountant@localhost;

Vacíe los privilegios y salga.

flush privileges;

exit;

Paso 3:Instalar módulos PHP

Ejecute los siguientes comandos para instalar los módulos PHP requeridos o recomendados por Akaunting.

sudo apt install php-imagick php7.3-common php7.3-mysql php7.3-gd php7.3-bcmath php7.3-json php7.3-curl php7.3-zip php7.3-xml php7.3-mbstring php7.3-bz2 php7.3-intl

Luego reinicie Apache. (Si usa Nginx, no necesita reiniciar Nginx).

sudo systemctl restart apache2

Paso 4:Configuración del servidor web

Podemos usar el servidor web Apache o Nginx.

Apache

Si prefiere Apache, cree un archivo de host virtual para Akaunting con un editor de texto de línea de comandos como Nano.

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

Coloque el siguiente texto en el archivo. Reemplace el texto de color rojo con sus datos reales. No olvide establecer un registro DNS A para el nombre de dominio en el administrador de DNS de su registrador de dominio.

<VirtualHost *:80>
    ServerName accounting.yourdomain.com
    DocumentRoot /var/www/akaunting/

    <Directory /var/www/akaunting/>
       DirectoryIndex index.php
       Options +FollowSymLinks
       AllowOverride All
       Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/akaunting.error.log
    CustomLog ${APACHE_LOG_DIR}/akaunting.access.log combined

</VirtualHost>

Guarde y cierre el archivo. Luego habilite este servidor virtual.

sudo a2ensite akaunting.conf

Necesitamos habilitar el módulo de reescritura.

sudo a2enmod rewrite

Reinicie Apache para que los cambios surtan efecto.

sudo systemctl restart apache2

Ahora visita accounting.yourdomain.com y será redirigido a la página del asistente de configuración (accounting.yourdomain.com/install/language ). Si ve la página predeterminada de Apache en lugar del asistente de configuración, debe deshabilitar el host virtual predeterminado.

sudo a2dissite 000-default.conf

Y reinicie Apache.

Antes de ingresar cualquier información en el asistente de configuración, debemos habilitar HTTPS.

Nginx

Si prefiere Nginx, cree un akaunting.conf archivo en /etc/nginx/conf.d/ directorio.

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

Coloque el siguiente texto en el archivo. Reemplace el texto de color rojo con sus datos reales. No olvide establecer un registro DNS A para el nombre de dominio en su administrador de DNS.

server {
    listen      80;
    server_name accounting.yourdomain.com;

    root /var/www/akaunting/;
    index index.php index.html index.htm;
    charset utf-8;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    # Prevent Direct Access To Protected Files
    location ~ \.(env|log) {
        deny all;
    }

    # Prevent Direct Access To Protected Folders
    location ~ ^/(^app$|bootstrap|config|database|resources|routes|storage|tests|artisan) {
        deny all;
    }
 
    # Prevent Direct Access To modules/vendor Folders Except Assets
    location ~ ^/(modules|vendor)\/(.*)\.((?!ico|gif|jpg|jpeg|png|js|css|less|sass|font|woff|woff2|eot|ttf|svg).)*$ {
        deny all;
    }
    
    error_page 404 /index.php;

    access_log  /var/log/nginx/akaunting.access.log;
    error_log   /var/log/nginx/akaunting.error.log;

    location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/run/php/php7.3-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }

    location ~ /\.(?!well-known).* {
        deny all;
    }

}

Guarde y cierre el archivo. Luego pruebe la configuración de Nginx.

sudo nginx -t

Si la prueba es exitosa, vuelva a cargar Nginx para que los cambios surtan efecto.

sudo systemctl reload nginx

Ahora visita accounting.yourdomain.com y será redirigido a la página del asistente de configuración (accounting.yourdomain.com/setup ). Antes de ingresar cualquier información en el asistente de configuración, debemos habilitar HTTPS.

Paso 5:habilitar HTTPS

Para cifrar el tráfico HTTP, podemos habilitar HTTPS instalando un certificado TLS gratuito emitido por Let's Encrypt. Ejecute el siguiente comando para instalar el cliente Let's Encrypt (certbot) en el servidor Debian 10 Buster.

sudo apt install certbot

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

sudo apt install python3-certbot-apache

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

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

Si usa Nginx, instale el complemento Certbot Nginx.

sudo apt install python3-certbot-nginx

A continuación, ejecute el siguiente comando para obtener e instalar el certificado TLS.

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

donde

  • --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 : Habilita 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 con el asistente de configuración

Ahora ve a accounting.yourdomain.com y aparecerá el asistente de configuración. El primer paso es elegir tu idioma.

Luego ingrese la información de la base de datos. Use el nombre de la base de datos y el usuario de la base de datos que creó anteriormente.

A continuación, ingrese el nombre de la empresa y cree una cuenta de administrador.

Una vez hecho esto, puede iniciar sesión en el panel de administración.

Después de iniciar sesión, debe seguir el asistente para crear su primera empresa.

Ahora puede administrar sus finanzas en el panel de administración basado en la web.

Paso 7:Configurar SMTP

Para enviar correos electrónicos (como registro de cuenta, restablecimiento de contraseña, envío de facturas a clientes, etc.), debe configurar un servidor SMTP. La configuración de SMTP está disponible en Settings -> Email -> Protocol . Utilice la siguiente configuración.

  • Protocolo :SMTP
  • host SMTP :el nombre de host de su servidor de correo como mail.linuxbabe.com
  • Puerto SMTP :587
  • Cree una dirección de correo electrónico en su servidor de correo e ingrese el nombre de usuario y la contraseña de SMTP.
  • Seguridad SMTP :TLS

Si desea utilizar su propio servidor de correo para enviar correos electrónicos a los clientes, consulte el siguiente artículo para configurar su propio servidor de correo. 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 rápidamente un servidor de correo electrónico en Debian 10 con iRedMail

Si desea utilizar un servicio de retransmisión SMTP, le recomiendo Mailjet. Puede seguir el tutorial a continuación para configurar la retransmisión SMTP en su servidor Akaunting y debería poder enviar facturas a los clientes.

  • Cómo configurar la retransmisión SMTP de Postfix en Debian con Mailjet

Debian
  1. Cómo instalar Debian 10 (Buster)

  2. Cómo instalar Docker en Debian 10 Buster

  3. Cómo instalar Lutris en Debian 10 Buster

  4. Cómo instalar Composer en Debian 10 Buster

  5. Cómo instalar R en Debian 10 Buster

Cómo instalar Dropbox en Debian 10 Buster

Cómo instalar OpenCV en Debian 10 Buster

Cómo instalar AnyDesk en Debian 10 Buster

Cómo instalar TensorFlow en Debian 10 Buster

Cómo instalar RubyMine en Debian 10 Buster

Cómo instalar Netbeans en Debian 10 Buster