GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment installer Invoice Ninja sur Ubuntu 20.04

Invoice Ninja est une application de facturation en ligne gratuite et open-source pour les indépendants et les entreprises qui vous aide à accepter les paiements, à suivre les dépenses, à créer des propositions et à effectuer des tâches chronométrées. Il s'agit d'une application de facturation auto-hébergée très similaire aux applications de facturation commerciales telles que Freshbooks. Il vous permet de créer votre propre facture personnalisée et de l'envoyer en ligne en une seconde.

Invoice Ninja est très utile pour les petites et moyennes entreprises. Si vous recherchez un logiciel de facturation sécurisé et facile à utiliser, Invoice Ninja est la meilleure option pour vous.

Dans ce tutoriel, nous allons vous montrer comment installer Invoice Ninja avec Apache et Let's Encrypt SSL sur le serveur Ubuntu 20.04.

Prérequis

  • Un serveur exécutant Ubuntu 20.04.
  • Un nom de domaine valide pointé vers l'adresse IP de votre serveur.
  • Un mot de passe root est configuré sur le serveur.

Mise en route

Tout d'abord, il est recommandé de mettre à jour vos packages système vers la dernière version. Exécutez la commande suivante pour mettre à jour tous les packages :

apt-get update -y

Une fois tous les packages mis à jour, installez les autres dépendances requises avec la commande suivante :

apt-get install software-properties-common apt-transport-https ca-certificates gnupg2 -y

Une fois toutes les dépendances installées, vous pouvez passer à l'étape suivante.

Installer le serveur LAMP

Ensuite, vous devrez installer Apache, MariaDB et PHP sur votre système. Tout d'abord, installez les packages Apache et MariaDB avec la commande suivante :

apt-get install apache2 mariadb-server -y

Après avoir installé les deux packages, vous devrez installer PHP version 7.2 et d'autres extensions sur votre système.

Par défaut, Ubuntu 20.04 est livré avec PHP version 7.4. Vous devrez donc ajouter le référentiel Ondrej à votre système.

Vous pouvez ajouter le dépôt PHP Ondrej avec la commande suivante :

add-apt-repository ppa:ondrej/php

Une fois le référentiel ajouté, installez le PHP et les autres extensions avec la commande suivante :

apt-get install php7.2 libapache2-mod-php7.2 php-imagick php7.2-fpm php7.2-mysql php7.2-common php7.2-gd php7.2-json php7.2-curl php7.2-zip php7.2-xml php7.2-mbstring php7.2-bz2 php7.2-intl php7.2-gmp unzip -y

Après avoir installé tous les packages, vérifiez la version installée de PHP avec la commande suivante :

php -v

Vous devriez voir le résultat suivant :

PHP 7.2.34-8+ubuntu20.04.1+deb.sury.org+1 (cli) (built: Oct 31 2020 16:57:33) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.2.34-8+ubuntu20.04.1+deb.sury.org+1, Copyright (c) 1999-2018, by Zend Technologies

Configurer la base de données MariaDB

Ensuite, vous devrez créer une base de données et un utilisateur pour Invoice Ninja. Tout d'abord, connectez-vous à la console MariaDB avec la commande suivante :

mysql

Une fois connecté, créez une base de données et un utilisateur avec la commande suivante :

MariaDB [(none)]> create database invoicedb;
MariaDB [(none)]> create user [email protected] identified by 'password';

Ensuite, accordez tous les privilèges à la billedb avec la commande suivante :

MariaDB [(none)]> grant all privileges on invoicedb.* to [email protected];

Ensuite, videz les privilèges et quittez la console MariaDB avec la commande suivante :

MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit;

Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.

Installer Facture Ninja

Tout d'abord, téléchargez la dernière version d'Invoice Ninja sur son site officiel :

wget -O invoice-ninja.zip https://download.invoiceninja.com/

Une fois le téléchargement terminé, décompressez le fichier téléchargé dans le répertoire racine d'Apache à l'aide de la commande suivante :

unzip invoice-ninja.zip -d /var/www/html/

Ensuite, définissez les autorisations et la propriété appropriées avec la commande suivante :

chown -R www-data:www-data /var/www/html/ninja
chmod -R 755 /var/www/html/ninja

Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.

Configurer Apache pour Invoice Ninja

Ensuite, vous devrez créer un fichier de configuration d'hôte virtuel apache pour Invoice Ninja. Vous pouvez le créer avec la commande suivante :

nano /etc/apache2/sites-available/ninja.conf

Ajoutez les lignes suivantes :

<VirtualHost *:80>
    ServerName invoice.example.com
    DocumentRoot /var/www/html/ninja/public
    <Directory /var/www/html/ninja/public>
       DirectoryIndex index.php
       Options +FollowSymLinks
       AllowOverride All
       Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/invoice-ninja.error.log
    CustomLog ${APACHE_LOG_DIR}/invoice-ninja.access.log combined

    Include /etc/apache2/conf-available/php7.2-fpm.conf
</VirtualHost>

Enregistrez et fermez le fichier puis activez le fichier d'hôte virtuel avec la commande suivante :

a2ensite ninja.conf

Ensuite, activez les modules apache requis à l'aide de la commande suivante :

a2enmod mpm_event proxy_fcgi setenvif
a2enmod rewrite

Enfin, redémarrez le service Apache pour appliquer les modifications :

systemctl restart apache2

Vous pouvez maintenant vérifier l'état de l'Apache à l'aide de la commande suivante :

systemctl status apache2

Vous devriez obtenir le résultat suivant :

? apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2020-12-27 07:15:15 UTC; 11s ago
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 25097 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
   Main PID: 25113 (apache2)
      Tasks: 55 (limit: 2353)
     Memory: 5.3M
     CGroup: /system.slice/apache2.service
             ??25113 /usr/sbin/apache2 -k start
             ??25114 /usr/sbin/apache2 -k start
             ??25115 /usr/sbin/apache2 -k start

Dec 27 07:15:15 ubuntu systemd[1]: Starting The Apache HTTP Server..

À ce stade, Apache est configuré pour servir Invoice Ninja. Vous pouvez maintenant passer à l'étape suivante.

Accéder à Invoice Ninja

Maintenant, ouvrez votre navigateur Web et accédez à Invoice Ninja en utilisant l'URL http://invoice.example.com . Vous serez redirigé vers la page suivante :

Fournissez l'URL de votre site Web, les détails de la base de données, le nom d'utilisateur de l'administrateur, le mot de passe et cliquez sur Soumettre bouton. Vous serez redirigé vers l'écran de connexion d'Invoice Ninja :

Fournissez votre nom d'utilisateur et votre mot de passe d'administrateur et cliquez sur CONNEXION bouton. Vous devriez voir le tableau de bord Invoice Ninja dans l'écran suivant :

Sécuriser Invoice Ninja avec Let's Encrypt SSL

C'est toujours une bonne idée de sécuriser votre site Web avec Let's Encrypt SSL. Vous devrez installer le client Certbot pour installer et gérer le SSL. Vous pouvez l'installer avec la commande suivante :

apt-get install python3-certbot-apache -y

Une fois le Certbot installé, exécutez la commande suivante pour sécuriser votre site Web avec Let's Encrypt SSL :

certbot --apache -d invoice.example.com

Il vous sera demandé de fournir votre adresse e-mail et d'accepter les conditions d'utilisation comme indiqué ci-dessous :

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator standalone, Installer None
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): [email protected]

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
Plugins selected: Authenticator apache, Installer apache
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for invoice.example.com
Enabled Apache rewrite module
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/apache2/sites-available/invoice-le-ssl.conf
Enabled Apache socache_shmcb module
Enabled Apache ssl module
Deploying Certificate to VirtualHost /etc/apache2/sites-available/invoice-le-ssl.conf
Enabling available site: /etc/apache2/sites-available/invoice-le-ssl.conf

Ensuite, sélectionnez si vous souhaitez ou non rediriger le trafic HTTP vers HTTPS comme indiqué ci-dessous :

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2

Tapez 2 et appuyez sur Entrée pour installer le SSL Let's Encrypt pour votre site Web :

Enabled Apache rewrite module
Redirecting vhost in /etc/apache2/sites-enabled/invoice.conf to ssl vhost in /etc/apache2/sites-available/invoice-le-ssl.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://invoice.example.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=invoice.example.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/invoice.example.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/invoice.example.com/privkey.pem
   Your cert will expire on 2020-10-23. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot again
   with the "certonly" option. To non-interactively renew *all* of
   your certificates, run "certbot renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

Vous pouvez désormais accéder à votre site Web en toute sécurité à l'aide de l'URL https://invoice.example.com.

Conclusion

Toutes nos félicitations! vous avez installé et configuré avec succès Invoice Ninja avec Let's Encrypt SSL sur le serveur Ubuntu 20.04. Vous pouvez maintenant explorer Invoice Ninja pour plus de fonctionnalités et le déployer dans l'environnement de production. N'hésitez pas à me demander si vous avez des questions.


Ubuntu
  1. Comment installer Logstash sur Ubuntu 18.04

  2. Comment installer Invoice Ninja sur Ubuntu 18.04

  3. Comment installer XWiki sur Ubuntu 20.04

  4. Comment installer phpBB sur Ubuntu 20.04

  5. Comment installer Invoice Ninja sur Debian 9

Comment installer Invoice Ninja sur CentOS 7

Comment installer Invoice Ninja sur CentOS 8

Comment installer Invoice Ninja sur Ubuntu 18.04 LTS

Comment installer Invoice Ninja sur Ubuntu 20.04 LTS

Comment installer Jenkins sur Ubuntu 18.04

Comment installer Ruby sur Ubuntu 18.04