GNU/Linux >> Tutoriels Linux >  >> Debian

Comment installer le logiciel de comptabilité auto-hébergé Akaunting sur Debian 10 Buster

Ce tutoriel vous montrera comment installer Akaunting sur Debian 10 Buster avec un serveur Web Apache ou Nginx. Akaunting est un logiciel de comptabilité open source gratuit et auto-hébergé. Vous pouvez l'utiliser pour suivre les finances personnelles ou la comptabilité d'une petite entreprise.

Fonctionnalités d'Akaunting

  • Entièrement gratuit et open source.
  • Interface Web facile à utiliser. Consultez vos états financiers en ligne à tout moment, où que vous soyez, sur votre Mac, PC, tablette ou téléphone mobile.
  • Interface prête pour les mobiles et les tablettes
  • Panneau administrateur et client multilingue
  • Conçu pour les petites entreprises
  • Propriété des données financières à 100 %
  • À vie GRATUIT Mises à jour
  • Vous pouvez créer des clients et leur envoyer des factures. Vous pouvez également définir un mot de passe pour qu'ils puissent accéder au portail client.
  • Envoyez des factures professionnelles aux clients et commencez à accepter les paiements en ligne, sans commission ni frais de transaction.
  • Ajoutez des dépôts et des virements entre comptes et gardez actif le solde de vos comptes bancaires.
  • Créez des fournisseurs afin de pouvoir leur attribuer des factures et des paiements, puis filtrez facilement leurs transactions ultérieurement.
  • Créez et gérez des factures afin que vos finances soient toujours exactes et saines. Sachez quoi et quand payer.
  • Ajoutez des dépenses non facturables en tant que paiements afin de maintenir à jour les soldes de vos comptes bancaires/de trésorerie.
  • Activez le suivi des stocks et gérez les marchandises à mesure qu'elles entrent et sortent. Les articles accélèrent également la facturation.
  • Créez un nombre illimité de comptes bancaires et de trésorerie et suivez leurs soldes d'ouverture et actuels.
  • Envoyez des factures et ajoutez des dépenses dans n'importe quelle devise et laissez le système les convertir dans votre devise principale.
  • Gérez les finances de plusieurs entreprises à partir d'un seul panneau d'administration. Attribuez des utilisateurs à différentes entreprises.
  • Obtenez des rapports financiers détaillés pour vous aider à mieux visualiser toutes les informations dont vous avez besoin pour améliorer votre entreprise.
  • Étendez Akaunting en installant des applications depuis l'App Store, vous pouvez installer ou acheter n'importe quoi.
  • Configurez les autorisations au niveau du rôle pour protéger et simplifier leur expérience de gestion.

Conditions préalables à l'installation d'Akaunting sur Debian 10 Buster

Tout d'abord, vous avez besoin d'un serveur Debian avec au moins 512 Mo de RAM. Si vous recherchez un VPS (serveur privé virtuel), vous pouvez cliquer sur ce lien spécial pour créer un compte sur Vultr et obtenir un crédit gratuit de 50 $ (pour les nouveaux utilisateurs uniquement). Une fois que vous avez un compte chez Vultr, installez Debian 10 Buster sur votre serveur et suivez les instructions ci-dessous.

Akaunting nécessite PHP et MySQL/MariaDB. Pour suivre ce tutoriel, vous devez déjà avoir configuré une pile LAMP ou LEMP. Si vous préférez utiliser le serveur Web Apache, installez la pile LAMP.

  • Comment installer la pile LAMP (Apache, MariaDB, PHP) sur Debian 10 Buster

Si vous préférez utiliser le serveur Web Nginx, installez la pile LEMP.

  • Comment installer la pile LEMP (Nginx, MariaDB, PHP) sur Debian 10 Buster

Vous avez également besoin d'un nom de domaine, afin que vos clients puissent voir la facture via votre nom de domaine. J'ai enregistré mon nom de domaine chez NameCheap parce que le prix est bas et qu'ils offrent une protection de la confidentialité whois gratuite à vie.

Installons maintenant Akaunting.

Étape 1 :Téléchargez le fichier zip d'installation d'Akaunting sur le serveur Debian 10 Buster

Connectez-vous à votre serveur Debian 10 et utilisez la commande suivante pour télécharger la dernière version stable d'Akaunting.

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

Créez ensuite un répertoire sous la racine Web pour Akaunting.

sudo mkdir -p /var/www/akaunting/

Extrayez l'archive zip avec unzip .

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

Le -d L'option spécifie le répertoire cible. Les fichiers Web Akaunting seront extraits vers /var/www/akaunting/ . Ensuite, nous devons changer le propriétaire de ce répertoire en www-data afin que le serveur Web puisse écrire dans ce répertoire.

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

Étape 2 :Créer une base de données et un utilisateur dans MariaDB

Connectez-vous au serveur de base de données MariaDB avec la commande suivante. Puisque MariaDB utilise maintenant unix_socket plugin pour authentifier la connexion de l'utilisateur, il n'est pas nécessaire d'entrer le mot de passe root MariaDB. Nous avons juste besoin de préfixer le mysql commande avec sudo .

sudo mysql

Créez ensuite une base de données pour Akaunting. Ce tutoriel nomme la base de données akaunting . Vous pouvez utiliser le nom de votre choix.

create database akaunting;

Créez l'utilisateur de la base de données. Encore une fois, vous pouvez utiliser votre nom préféré pour cet utilisateur. Remplacez your-password avec votre mot de passe préféré.

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

Accordez à cet utilisateur tous les privilèges sur le akaunting base de données.

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

Vider les privilèges et quitter.

flush privileges;

exit;

Étape 3 :Installer les modules PHP

Exécutez les commandes suivantes pour installer les modules PHP requis ou recommandés par 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

Redémarrez ensuite Apache. (Si vous utilisez Nginx, vous n'avez pas besoin de redémarrer Nginx.)

sudo systemctl restart apache2

Étape 4 :Configuration du serveur Web

Nous pouvons utiliser le serveur Web Apache ou Nginx.

Apache

Si vous préférez Apache, créez un fichier d'hôte virtuel pour Akaunting avec un éditeur de texte en ligne de commande comme Nano.

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

Mettez le texte suivant dans le fichier. Remplacez le texte de couleur rouge par vos données réelles. N'oubliez pas de définir un enregistrement DNS A pour le nom de domaine auprès du gestionnaire DNS de votre registraire de domaine.

<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>

Enregistrez et fermez le fichier. Activez ensuite cet hôte virtuel.

sudo a2ensite akaunting.conf

Nous devons activer le module de réécriture.

sudo a2enmod rewrite

Redémarrez Apache pour que les modifications prennent effet.

sudo systemctl restart apache2

Visitez maintenant accounting.yourdomain.com et vous serez redirigé vers la page de l'assistant de configuration (accounting.yourdomain.com/install/language ). Si vous voyez la page Apache par défaut au lieu de l'assistant de configuration, vous devez désactiver l'hôte virtuel par défaut.

sudo a2dissite 000-default.conf

Et redémarrez Apache.

Avant de saisir des informations dans l'assistant de configuration, nous devons activer HTTPS.

Nginx

Si vous préférez Nginx, créez un akaunting.conf fichier dans /etc/nginx/conf.d/ répertoire.

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

Mettez le texte suivant dans le fichier. Remplacez le texte de couleur rouge par vos données réelles. N'oubliez pas de définir un enregistrement DNS A pour le nom de domaine dans votre gestionnaire 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;
    }

}

Enregistrez et fermez le fichier. Testez ensuite la configuration de Nginx.

sudo nginx -t

Si le test réussit, rechargez Nginx pour que les modifications prennent effet.

sudo systemctl reload nginx

Visitez maintenant accounting.yourdomain.com et vous serez redirigé vers la page de l'assistant de configuration (accounting.yourdomain.com/setup ). Avant de saisir des informations dans l'assistant de configuration, nous devons activer HTTPS.

Étape 5 :Activer HTTPS

Pour chiffrer le trafic HTTP, nous pouvons activer HTTPS en installant un certificat TLS gratuit émis par Let's Encrypt. Exécutez la commande suivante pour installer le client Let's Encrypt (certbot) sur le serveur Debian 10 Buster.

sudo apt install certbot

Si vous utilisez Apache, vous devez également installer le plugin Certbot Apache.

sudo apt install python3-certbot-apache

Et exécutez cette commande pour obtenir et installer le certificat TLS.

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

Si vous utilisez Nginx, installez le plugin Certbot Nginx.

sudo apt install python3-certbot-nginx

Ensuite, exécutez la commande suivante pour obtenir et installer le certificat TLS.

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

  • --nginx  :Utilisez le plug-in nginx.
  • --apache :Utilisez le plug-in Apache.
  • --agree-tos  :acceptez les conditions d'utilisation.
  • --redirect  :Forcer HTTPS par redirection 301.
  • --hsts  : ajoutez l'en-tête Strict-Transport-Security à chaque réponse HTTP. Forcer le navigateur à toujours utiliser TLS pour le domaine. Protège contre le SSL/TLS Stripping.
  • --staple-ocsp  : Active l'agrafage OCSP. Une réponse OCSP valide est agrafée au certificat que le serveur propose pendant TLS.

Le certificat devrait maintenant être obtenu et installé automatiquement.

Étape 6 :Terminez l'installation avec l'assistant de configuration

Allez maintenant sur accounting.yourdomain.com et l'assistant de configuration apparaîtra. La première étape consiste à choisir votre langue.

Entrez ensuite les informations de la base de données. Utilisez le nom de la base de données et l'utilisateur de la base de données que vous avez créés précédemment.

Ensuite, entrez le nom de l'entreprise et créez un compte administrateur.

Une fois cela fait, vous pouvez vous connecter au panneau d'administration.

Une fois connecté, vous devez suivre l'assistant pour créer votre première entreprise.

Vous pouvez désormais gérer vos finances dans le panneau d'administration Web.

Étape 7 :Configurer SMTP

Pour envoyer des e-mails (tels que l'enregistrement d'un compte, la réinitialisation du mot de passe, l'envoi de factures aux clients, etc.), vous devez configurer un serveur SMTP. Les paramètres SMTP sont disponibles dans Settings -> Email -> Protocol . Utilisez les paramètres suivants.

  • Protocole :SMTP
  • Hébergeur SMTP :le nom d'hôte de votre serveur de messagerie comme mail.linuxbabe.com
  • Port SMTP :587
  • Créez une adresse e-mail sur votre serveur de messagerie et saisissez le nom d'utilisateur et le mot de passe SMTP.
  • Sécurité SMTP : TLS

Si vous souhaitez utiliser votre propre serveur de messagerie pour envoyer des e-mails aux clients, veuillez consulter l'article suivant pour configurer votre propre serveur de messagerie. Remarque que je recommande fortement d'exécuter le serveur de messagerie iRedMail sur un nouveau système d'exploitation propre. L'installation d'iRedMail sur un système d'exploitation doté d'autres applications Web peut échouer et probablement casser les applications existantes.

  • Comment configurer rapidement un serveur de messagerie sur Debian 10 avec iRedMail

Si vous souhaitez utiliser un service de relais SMTP, je vous recommande Mailjet. Vous pouvez suivre le tutoriel ci-dessous pour configurer le relais SMTP sur votre serveur Akaunting et vous devriez pouvoir envoyer une facture aux clients.

  • Comment configurer le relais SMTP de Postfix sur Debian avec Mailjet

Debian
  1. Comment installer Debian 10 (Buster)

  2. Comment installer Docker sur Debian 10 Buster

  3. Comment installer Lutris sur Debian 10 Buster

  4. Comment installer Composer sur Debian 10 Buster

  5. Comment installer R sur Debian 10 Buster

Comment installer Dropbox sur Debian 10 Buster

Comment installer OpenCV sur Debian 10 Buster

Comment installer AnyDesk sur Debian 10 Buster

Comment installer TensorFlow sur Debian 10 Buster

Comment installer RubyMine sur Debian 10 Buster

Comment installer Netbeans sur Debian 10 Buster