Maison >développement back-end >tutoriel php >Application de facturation gratuite auto-hébergée - FusionInvoice
Notez que le moment exact de la publication de cet article, FusionInvoice 2 a été publié sous forme de logiciel commercial et est basé sur Laravel au lieu de Codeigniter comme les versions précédentes. C'est, à toutes fins utiles, une application complètement différente. Cet article se concentre sur la version 1.3.4.
En tant que pigiste ou petite entreprise, votre temps est mieux consacré à créer ce prochain grand projet ou à répondre aux exigences du client que de garder une trace des factures.FusionInvoice est une application Web de facturation auto-hébergée et auto-hébergée conçue pour les pigistes et les petites entreprises. Bien qu'il existe plusieurs applications de facturation en ligne gratuites, aucune d'entre elles ne vous donne la confidentialité ou la flexibilité fournie par FusionInvoice. La gestion des clients, le tableau de bord et les rapports, la facturation récurrente et l'historique des factures ne sont que quelques-unes de ses fonctionnalités.
FusionInvoice Être un projet open-source signifie que vous pouvez toujours changer ou ajouter à ses fonctionnalités car vous en avez besoin ou même l'installer sur un système privé, limitant ainsi le nombre d'utilisateurs qui ont accès à vos données sensibles.
Bien que l'application soit open-source, les développeurs ont considéré que la communauté peut mieux aider le projet en ne fournissant que leur contribution et leurs suggestions pour les fonctionnalités et les améliorations qu'ils, en tant que communauté, aimeraient voir dans le projet, mais le développement devrait Restez un effort d'équipe fermé.
Cela peut sembler une approche étrange pour Open Source un projet, mais il semble que l'équipe se concentre sur le rythme constant du développement de nouvelles fonctionnalités et de la fixation de bogues.
Les plats clés
- MySQL 5.0 ou plus récent
- Apache ou Nginx Server
Vérifions si votre système répond à ces exigences.
Exécutez la commande suivante dans votre terminal pour vérifier la version PHP installée:
<span>$ php -v</span>
Si PHP est correctement installé, vous devez recevoir une sortie similaire à celle:
<span>PHP 5.5.3-1ubuntu2.1 (cli) (built: Dec 12 2013 04:24:35) </span><span>Copyright (c) 1997-2013 The PHP Group </span><span>Zend Engine v2.5.0, Copyright (c) 1998-2013 Zend Technologies </span><span> with Zend OPcache v7.0.3-dev, Copyright (c) 1999-2013, by Zend Technologies </span><span> with Xdebug v2.2.3, Copyright (c) 2002-2013, by Derick Rethans</span>
Vérifions maintenant la version MySQL en exécutant la commande ci-dessous dans votre invite MySQL:
<span>mysql> SHOW VARIABLES LIKE "%version%";</span>
Si le serveur MySQL est correctement installé et en cours d'exécution, vous devriez maintenant voir une sortie similaire à celle ci-dessous.
<span>+-------------------------+-------------------------+ </span><span>| Variable_name | Value | </span><span>+-------------------------+-------------------------+ </span><span>| innodb_version | 5.5.34 | </span><span>| protocol_version | 10 | </span><span>| slave_type_conversions | | </span><span>| version | 5.5.34-0ubuntu0.13.10.1 | </span><span>| version_comment | (Ubuntu) | </span><span>| version_compile_machine | x86_64 | </span><span>| version_compile_os | debian-linux-gnu | </span><span>+-------------------------+-------------------------+</span>
Selon la configuration de votre serveur, les numéros de version peuvent être différents, mais la sortie doit être similaire.
ok, puisque les exigences de cette machine virtuelle sont satisfaites, passons à la section suivante.
Tout d'abord, créons le dossier où nous aimerions installer FusionInvoice, en exécutant la commande ci-dessous:
<span>$ cd /var/www/ </span><span>$ sudo mkdir -m 755 fusioninvoice</span>
Remarque: Je suppose que vous êtes sur une plate-forme * Nix (si sur Windows, veuillez utiliser Vagrant pour configurer un environnement de travail), et utilisez la configuration Apache / Nginx par défaut et avoir / var / www comme base Documer le dossier racine. Sinon, changez le chemin vers celui que vous utilisez.
Vous pouvez télécharger la version 1.3.4 depuis GitHub. Après vous, décompressez-le dans votre dossier de sites Web (www comme mentionné ci-dessus). Maintenant, nous devons créer une base de données où FusionInvoice stockerait ses données.
Il existe deux façons de le faire, de la ligne de commande ou du phpmyadmin.
Je recommande personnellement la ligne de commande si vous installez FusionInvoice sur un serveur de production ou mondial disponible.
a) De l'invite MySQL exécutez les commandes suivantes:
<span>mysql> CREATE DATABASE `fusion_invoice`; </span><span>mysql> CREATE USER 'fusion_invoice'@'localhost' IDENTIFIED BY 'fusion_pass'; </span><span>mysql> GRANT ALL PRIVILEGES ON `fusion_invoice`.* TO 'fusion_invoice'@'localhost' IDENTIFIED BY 'fusion_pass';</span>
b) À l'aide de phpmyadmin, accédez à l'onglet Utilisateurs et sélectionnez Ajouter un utilisateur. Dans le nouveau formulaire utilisateur, remplissez tous les champs et assurez-vous de vérifier la base de données Créer avec le même nom et l'octroi de tous les privilèges à CheckBox et PhpMyAdmin créera la base de données pour vous.
** Remarque: Veuillez vous assurer de prendre toutes les précautions de sécurité nécessaires et d'ajuster les autorisations du nouvel utilisateur en conséquence si vous installez l'application FusionInvoice sur le serveur disponible dans le monde.
c'est tout! Nous sommes maintenant prêts à exécuter le module de configuration FusionInvoice.
Pour démarrer le processus de configuration, nous devons accéder au module / configuration à partir de votre navigateur préféré:
<span>http://[domain-name]/[fusioninvoice]/index.php/setup</span>
** Remarque: Selon la configuration de votre serveur, l'URL peut être un peu différente. L'idée est que vous devez envoyer toutes vos demandes qui ne mappent pas un fichier physique sur index.php afin de démarrer l'application FusionInvoice. Si vous ne savez pas comment créer un hôte virtuel ou rediriger vos demandes vers index.php, vous pouvez trouver une étape facultative à la fin de l'article qui guidera ce processus exact.
À l'étape 2, le système de configuration FusionInvoice nous fournit une liste de fichiers et de dossiers qui doivent être écrivables.
Corrigez ceci en exécutant les commandes suivantes à partir du terminal:
<span>$ php -v</span>
Si vous actualisez la page, vous devriez maintenant voir toutes les conditions préalables pour être correctement configurée.
À l'étape 3, nous devons fournir FusionInvoice avec les détails de la connexion du serveur de base de données.
Si la connexion réussit dans les 2 pages suivantes, FusionInvoice vous fera savoir que les tables de base de données ont été correctement installées et mises à niveau.
En arrivant à la dernière étape, il vous sera demandé de créer un utilisateur de base, un compte administrateur.
Une fois cette étape terminée, vous aurez installé avec succès FusionInvoice sur votre système.
Maintenant, vous pouvez vous connecter et commencer à créer ces factures :)
Cette étape facultative vous guidera à travers le processus de création d'un hôte virtuel de base sur Apache ou Nginx.
** Remarque importante: Bien que de nombreux paramètres d'hôte virtuels présentés dans cet article soient également utilisés en production, ils ne sont qu'un point de départ et ne doit en aucun cas être considéré comme suffisant, du point de vue de la sécurité, pour une production serveur. Veuillez vous assurer que vous avez pris toutes les précautions nécessaires pour sécuriser votre serveur.
a) Configuration d'un hoste virtuel Apache
Tout d'abord, assurez-vous que Apache a le module mod_rewrite actif. Vous pouvez vérifier cela en exécutant la commande suivante:
<span>PHP 5.5.3-1ubuntu2.1 (cli) (built: Dec 12 2013 04:24:35) </span><span>Copyright (c) 1997-2013 The PHP Group </span><span>Zend Engine v2.5.0, Copyright (c) 1998-2013 Zend Technologies </span><span> with Zend OPcache v7.0.3-dev, Copyright (c) 1999-2013, by Zend Technologies </span><span> with Xdebug v2.2.3, Copyright (c) 2002-2013, by Derick Rethans</span>
La commande ci-dessus répertorie tous les modules chargés par le serveur Apache2. Si le module mod_rewrite est chargé, vous devriez voir une entrée comme ce qui suit:
rewrite_module (partagé)
Si la ligne ci-dessus n'est pas présente, exécutez la commande suivante de votre terminal pour activer le module:
<span>mysql> SHOW VARIABLES LIKE "%version%";</span>
Maintenant que le module mod_rewrite est actif, nous devons créer un fichier de configuration pour notre nouvel hôte. Vous pouvez le faire en exécutant la commande suivante dans votre terminal:
<span>+-------------------------+-------------------------+ </span><span>| Variable_name | Value | </span><span>+-------------------------+-------------------------+ </span><span>| innodb_version | 5.5.34 | </span><span>| protocol_version | 10 | </span><span>| slave_type_conversions | | </span><span>| version | 5.5.34-0ubuntu0.13.10.1 | </span><span>| version_comment | (Ubuntu) | </span><span>| version_compile_machine | x86_64 | </span><span>| version_compile_os | debian-linux-gnu | </span><span>+-------------------------+-------------------------+</span>
Copiez maintenant le code ci-dessous dans votre fichier de configuration et modifiez les chemins pour correspondre au vôtre:
<span>$ php -v</span>
Enregistrez et fermez maintenant votre éditeur et exécutez la commande suivante dans votre terminal:
<span>PHP 5.5.3-1ubuntu2.1 (cli) (built: Dec 12 2013 04:24:35) </span><span>Copyright (c) 1997-2013 The PHP Group </span><span>Zend Engine v2.5.0, Copyright (c) 1998-2013 Zend Technologies </span><span> with Zend OPcache v7.0.3-dev, Copyright (c) 1999-2013, by Zend Technologies </span><span> with Xdebug v2.2.3, Copyright (c) 2002-2013, by Derick Rethans</span>
c'est tout. Vous pouvez maintenant utiliser votre nouvelle URL, fusion.invoice.dev, au lieu de localhost ou de l'adresse IP de la machine virtuelle.
b) Configuration d'un hoste virtuel nginx
Créons le fichier de configuration de notre nouvel hôte virtuel en exécutant la commande suivante dans votre terminal:
<span>mysql> SHOW VARIABLES LIKE "%version%";</span>
Copiez maintenant le code ci-dessous dans votre fichier de configuration et modifiez les chemins pour correspondre au vôtre:
<span>+-------------------------+-------------------------+ </span><span>| Variable_name | Value | </span><span>+-------------------------+-------------------------+ </span><span>| innodb_version | 5.5.34 | </span><span>| protocol_version | 10 | </span><span>| slave_type_conversions | | </span><span>| version | 5.5.34-0ubuntu0.13.10.1 | </span><span>| version_comment | (Ubuntu) | </span><span>| version_compile_machine | x86_64 | </span><span>| version_compile_os | debian-linux-gnu | </span><span>+-------------------------+-------------------------+</span>
Maintenant que nous avons créé la configuration, sur * Nix Systems, vous devez créer un lien symbolique à partir de l'emplacement actuel du fichier dans / etc / nginx / sites compatible pour que Nginx charge le nouveau hosting virtuel.
Vous pouvez créer le lien symbolique en exécutant la commande suivante dans votre terminal:
<span>$ cd /var/www/ </span><span>$ sudo mkdir -m 755 fusioninvoice</span>
Encore une fois, modifiez tous les chemins pour correspondre au vôtre. Maintenant, redémarrons le serveur Nginx pour charger notre nouvelle configuration d'hôte virtuel.
<span>mysql> CREATE DATABASE `fusion_invoice`; </span><span>mysql> CREATE USER 'fusion_invoice'@'localhost' IDENTIFIED BY 'fusion_pass'; </span><span>mysql> GRANT ALL PRIVILEGES ON `fusion_invoice`.* TO 'fusion_invoice'@'localhost' IDENTIFIED BY 'fusion_pass';</span>
Si tout s'est bien passé, vous devriez maintenant pouvoir accéder à votre nouvel hôte virtuel en utilisant le nom du serveur au lieu de l'adresse IP de la machine ou localhost.
Maintenant que nous avons créé un hôte virtuel, supprimons également l'index.php de l'URL et avons de belles URL faciles à retenir.
Pour cela, nous avons juste besoin d'ouvrir le fichier config.php, situé sur / var / www / fusioninvoice / application / config /, et modifier la ligne suivante:
<span>http://[domain-name]/[fusioninvoice]/index.php/setup</span>
Maintenant, supprimez simplement la valeur index.php et enregistrez le fichier.
L'abondance des fonctionnalités, le niveau relativement faible de connaissances techniques nécessaires pour configurer et gérer l'application avec une communauté active prête à aider, faire de FusionInvoice un excellent outil pour tout freelancer ou propriétaire de petite entreprise qui souhaite dépenser le temps sur le projet plutôt que sur le suivi des factures.
FusionInvoice ressort des autres applications de facturation en raison de sa fonction d'auto-hébergement. Cela signifie que vous avez un contrôle complet sur vos données et que vous pouvez personnaliser le logiciel en fonction de vos besoins spécifiques. Il est également gratuit, ce qui en fait une option abordable pour les petites entreprises et les pigistes. Contrairement à d'autres applications, FusionInvoice ne limite pas le nombre de clients, factures ou devis que vous pouvez créer. Il prend également en charge plusieurs langues et devises, ce qui en fait un choix polyvalent pour les entreprises opérant à l'international.
FusionInvoice est fortement sécurisé. En tant que solution auto-hébergée, vous avez un contrôle complet sur vos données et comment elle est stockée. Vous pouvez choisir de stocker vos données sur votre propre serveur ou un serveur cloud de votre choix. Cela signifie que vous ne comptez pas sur un fournisseur tiers pour assurer la sécurité de vos données. Cependant, il est important de s'assurer que votre serveur est sécurisé et régulièrement mis à jour pour éviter toute violation de sécurité potentielle.
Oui, FusionInvoice est hautement personnalisable. Vous pouvez modifier l'apparence de vos factures et citations en modifiant les modèles. Vous pouvez également ajouter des champs personnalisés à vos factures, citations et clients pour capturer des informations supplémentaires. Si vous avez des compétences de codage, vous pouvez même modifier le code source pour créer une solution de facturation vraiment unique pour votre entreprise.
Oui, FusionInvoice prend en charge les factures récurrentes. Cette fonctionnalité vous permet de générer automatiquement et d'envoyer des factures à intervalles réguliers. Cela peut vous faire économiser beaucoup de temps si vous avez des clients qui sont facturés régulièrement. Application, vous pouvez donc y accéder à partir de n'importe quel appareil avec un navigateur Web. Cependant, il n'a pas d'application mobile dédiée. Cela signifie que l'expérience utilisateur peut ne pas être aussi fluide sur un appareil mobile par rapport à un bureau. Mais vous pouvez toujours créer, envoyer et gérer vos factures en déplacement.
L'installation de FusionInvoice nécessite des connaissances techniques. Vous devrez télécharger le logiciel, le télécharger sur votre serveur, puis exécuter le script d'installation. Le site Web FusionInvoice fournit des instructions d'installation détaillées pour vous guider tout au long du processus.
Oui, FusionInvoice s'intègre à plusieurs passerelles de paiement populaires, y compris PayPal, Stripe et Mollie. Cela permet à vos clients de payer leurs factures en ligne, ce qui rend le processus de paiement plus rapidement et plus pratique pour les deux parties.
FusionInvoice offre un support par e-mail à ses utilisateurs. Si vous rencontrez des problèmes ou avez des questions sur le logiciel, vous pouvez contacter l'équipe d'assistance pour obtenir de l'aide. Il existe également un guide d'utilisation complet disponible sur le site Web FusionInvoice qui couvre la plupart des aspects de l'utilisation du logiciel.
FusionInvoice n'a pas de construction de construction -dans la fonction d'importation. Cependant, vous pouvez importer des données à l'aide de scripts SQL si vous êtes à l'aise avec le codage. Sinon, vous devrez peut-être saisir manuellement vos données ou embaucher un développeur pour vous aider avec le processus d'importation.
FusionInvoice est une solution de facturation robuste qui peut gérer un grand volume de factures et de clients. Cependant, il manque certaines fonctionnalités dont les grandes entreprises peuvent avoir besoin, telles que des outils de collaboration d'équipe et des rapports avancés. Il est mieux adapté aux petites entreprises, aux pigistes et aux entrepreneurs solo qui ont besoin d'une solution de facturation simple et abordable.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!