GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment installer Invoice Ninja sur Ubuntu 16.04

Invoice Ninja est un logiciel open source basé sur le Web pour la facturation, les paiements, le suivi du temps et bien plus encore. Vous pouvez créer des factures en ligne en quelques secondes, interagir avec des passerelles de paiement comme Stripe, PayPal, WePay et autres. Invoice Ninja peut vous montrer un aperçu de la facture en direct au format PDF. Vous pouvez facilement modifier vous-même le logo de l'entreprise dans les modèles. Invoice Ninja est basé sur PHP, construit avec le framework Laravel et peut être installé sur Linux et Windows.

Dans ce tutoriel, je vais vous montrer comment installer Invoice Ninja sur Ubuntu 16.04. J'utiliserai Nginx comme serveur Web et MariaDB comme système de base de données.

Prérequis

  • Serveur Ubuntu 16.04.
  • Privilèges racine.

Étape 1 - Installer Nginx

Dans cette étape, nous allons installer le serveur Web Nginx. Connectez-vous à votre serveur avec votre compte root ssh (ou connectez-vous avec un autre utilisateur et utilisez 'sudo -s' pour devenir root) et mettez à jour le référentiel.

ssh [email protected]
apt-get update

Installez Nginx avec la commande apt ci-dessous :

apt-get install -y nginx

Lorsque l'installation de nginx est terminée, démarrez Nginx et ajoutez-le pour démarrer au démarrage.

systemctl start nginx
systemctl enable nginx

Assurez-vous que nginx est en cours d'exécution. Vérifiez le port utilisé par nginx, le port du serveur Web par défaut est 80.

netstat -plntu

Étape 2 - Installer et configurer le serveur MariaDB

Après avoir installé Nginx, nous devons installer le package mariadb-server sur le système. Il est disponible dans le référentiel Ubuntu. Installez mariadb-server et ses dépendances avec la commande ci-dessous.

apt-get install -y mariadb-server

Une fois l'installation terminée, démarrez le service mariadb et activez-le au démarrage avec ces commandes systemctl.

systemctl restart mysql
systemctl enable mysql

MariaDB est démarré, vous pouvez maintenant définir le mot de passe root pour mariadb avec la commande ci-dessous.

mysql_secure_installation

Définissez votre nouveau mot de passe root MariaDB.

Set root password? [Y/n] Y
New password:
Re-enter new password:

Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

Ensuite, essayez de vous connecter avec le shell mysql en tant qu'utilisateur root.

mysql -u root -p
TYPE YOUR ROOT PASSWORD

Vous verrez le shell MySQL lorsque tout fonctionnera correctement.

Nous devons maintenant créer une nouvelle base de données et un nouvel utilisateur pour Invoice Ninja. Je vais créer une nouvelle base de données nommée 'ninjadb ', un nouvel utilisateur 'ninja ' avec le mot de passe 'aqwe123 '. Veuillez choisir un mot de passe différent et sécurisé pour votre installation !

Créez-les avec la requête mysql ci-dessous. Créez une nouvelle base de données, créez un nouvel utilisateur et un nouveau mot de passe, accordez la base de données au nouvel utilisateur avec un mot de passe.

create database ninjadb;
create user [email protected] identified by 'aqwe123';
grant all privileges on ninjadb.* to [email protected] identified by 'aqwe123';
flush privileges;

MariaDB a été installé et une nouvelle base de données et un nouvel utilisateur pour Invoice Ninja ont été créés.

Étape 3 - Installer et configurer PHP7.0-FPM

Invoice Ninja est basé sur PHP, nous devons donc installer PHP sur le système. Nous utiliserons PHP7.0-FPM pour cette installation d'Invoice Ninja.

Installez PHP7.0-FPM et les autres extensions PHP nécessaires à Invoice Ninja avec la commande ci-dessous.

apt-get install -y php7.0-fpm php7.0-gd php7.0-xml php7.0-mysql php7.0-zip php7.0-mbstring php7.0-mcrypt php7.0-curl php7.0-gmp

Après l'installation, allez dans le répertoire de configuration de PHP et éditez le fichier php.ini.

cd /etc/php/7.0/
vim fpm/php.ini

Décommentez la ligne CGI ci-dessous et changez la valeur en 0.

cgi.fix_pathinfo=0

Enregistrez et quittez.

Modifiez le fichier php.ini dans le répertoire cli.

vim cli/php.ini

Décommentez la ligne CGI ci-dessous et changez la valeur en 0.

cgi.fix_pathinfo=0

Enregistrez et quittez.

Ensuite, démarrez PHP7.0-FPM et activez-le pour qu'il démarre au démarrage.

systemctl restart php7.0-fpm
systemctl enable php7.0-fpm

Par défaut, PHP7.0-FPM s'exécute avec un fichier socket, vérifiez-le avec la commande ci-dessous et vous verrez le fichier socket PHP comme indiqué dans la capture d'écran.

netstat -pl

PHP7.0-FPM et toutes les extensions nécessaires à Invoice Ninja sont installés.

Étape 4 - Installer et configurer Invoice Ninja

Dans cette étape, nous allons télécharger et configurer Invoice Ninja. Tout d'abord, installez unzip sur votre système.

apt-get install -y unzip

Allez dans '/var/www' répertoire et téléchargez le code source d'Invoice Ninja avec la commande wget.

cd /var/www/
wget https://download.invoiceninja.com/ninja-v3.1.0.zip

Extrayez le fichier zip Invoice Ninja et allez dans le répertoire 'ninja'.

unzip ninja-v3.1.0.zip
cd ninja/

Pour le projet Laravel, nous devons installer le gestionnaire de dépendances composer pour PHP. Il est disponible dans le référentiel Ubuntu, nous pouvons donc l'installer avec la commande apt.

apt-get install -y composer

Ensuite, installez les dépendances d'Invoice Ninja avec la commande composer ci-dessous.

composer install --no-dev -o
  • --pas de développement  :Désactive l'installation des packages require-dev
  • -o  :Optimiser le chargeur automatique pendant le vidage du chargeur automatique

Lorsque l'installation de la dépendance est terminée, copiez le fichier .env et modifiez-le avec vim.

cp .env.example .env
vim .env

Modifiez la valeur des paramètres de la base de données ci-dessous.

DB_DATABASE=ninjadb
DB_USERNAME=ninja
DB_PASSWORD=aqwe123

Enregistrez et quittez.

Ensuite, modifiez la configuration de la base de données dans le répertoire de configuration.

vim config/database.php

Nous utilisons la base de données MariaDB/MySQL, allez à la ligne MySQL 55.

'database'  => env('DB_DATABASE', 'ninjadb'),
'username'  => env('DB_USERNAME', 'ninja'),
'password'  => env('DB_PASSWORD', 'aqwe123'),

Remplacez le mot de passe par celui que vous avez défini pour l'utilisateur ninja !

Enregistrez et quittez.

Tous les fichiers de configuration sont modifiés. Ensuite, migrez la base de données avec la commande ci-dessous.

php artisan migrate

Il vous sera demandé d'exécuter la commande, tapez 'oui ' et appuyez sur Entrée.

Ensuite, alimentez la base de données avec tous les enregistrements.

php artisan db:seed

Tapez 'oui ' et appuyez sur Entrée pour confirmer.

Générez une nouvelle clé d'application pour le projet Laravel Invoice Ninja.

php artisan key:generate

Vous verrez la clé de l'application.

Modifiez le fichier app.php avec vim.

vim config/app.php

Allez à la ligne APP_KEY 85 et collez la clé que nous avons générée.

'key' => env('APP_KEY', 'base64:0o5QLWbNeDCNer064+600Hl8oJ20OPCIymadKJQ1RGo='),

Enregistrez et quittez.

Enfin, changez le propriétaire de '/var/www/ninja ' répertoire vers 'www-data ' utilisateur et groupe.

cd /var/www/
chown -R www-data:www-data ninja/

Invoice Ninja est configuré et prêt pour l'installation.

Étape 5 - Configurer SSL et l'hôte virtuel

Dans cette étape, nous allons générer un fichier de certificat SSL avec la commande OpenSSL et créer une nouvelle configuration d'hôte virtuel pour Invoice Ninja. Si vous êtes sur un serveur en direct, vous pouvez utiliser un SSL gratuit de Let's Encrypt au lieu de générer un certificat SSL auto-signé avec OpenSSL.

Créer un nouveau 'certificat ' répertoire pour les fichiers SSL.

mkdir -p /etc/nginx/cert/

Exécutez la commande openssl ci-dessous pour générer les fichiers de certificat.

openssl req -new -x509 -days 365 -nodes -out /etc/nginx/cert/ninja.crt -keyout /etc/nginx/cert/ninja.key

Modifiez l'autorisation des fichiers de certificat à '600'.

chmod 600 /etc/nginx/cert/*

Ensuite, allez dans le répertoire Nginx et créez un nouveau fichier de configuration d'hôte virtuel nommé 'ninja '.

cd /etc/nginx/
vim sites-available/ninja

Collez la configuration de l'hôte virtuel ci-dessous.

server {
    # Your Domain Name - hakase-labs.co
    listen      80;
    server_name ninja.co www.ninja.co;

    # Rewrite redirect to https
    add_header Strict-Transport-Security max-age=2592000;
    rewrite ^ https://$server_name$request_uri? permanent;
}

server {
    # Your Domain Name - hakase-labs.co
    listen      443 default;
    server_name ninja.co www.ninja.co;

    # Enable SSL for Invoice Ninja
    ssl on;
    ssl_certificate     /etc/nginx/cert/ninja.crt;
    ssl_certificate_key /etc/nginx/cert/ninja.key;
    ssl_session_timeout 5m;

    ssl_ciphers               'AES128+EECDH:AES128+EDH:!aNULL';
    ssl_protocols              TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;

    # Invoice Ninja web root files
    root /var/www/ninja/public;

    index index.html index.htm index.php;

    charset utf-8;

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

    location = /favicon.ico { access_log off; log_not_found off; }
    location = /robots.txt  { access_log off; log_not_found off; }

    # Access and Error Log for Invoice Ninja
    access_log  /var/log/nginx/ininja.access.log;
    error_log   /var/log/nginx/ininja.error.log;

    sendfile off;

    # Handle PHP Applications
    location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/run/php/php7.0-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_intercept_errors off;
        fastcgi_buffer_size 16k;
        fastcgi_buffers 4 16k;
    }

    location ~ /\.ht {
        deny all;
    }
}

Enregistrez et quittez.

Activez l'hôte virtuel ninja et testez la configuration Nginx, assurez-vous qu'il n'y a pas d'erreur.

ln -s /etc/nginx/sites-available/ninja /etc/nginx/sites-enabled/
nginx -t

Redémarrez maintenant le serveur Web nginx.

systemctl restart nginx

La configuration de l'hôte virtuel Invoice Ninja est terminée.

Étape 6 - Terminer l'installation et les tests

Ouvrez votre navigateur Web et saisissez l'URL Invoice Ninja :ninja.co. Vous serez redirigé vers la page de connexion et de configuration https.

Saisissez les paramètres de l'application, la connexion à la base de données, les paramètres de messagerie, les détails de l'utilisateur et vérifiez les conditions d'utilisation d'Invoice Ninja.

Cliquez sur 'Soumettre ' et vous serez redirigé vers la page de connexion d'Invoice Ninja.

Tapez votre e-mail et votre mot de passe, puis appuyez sur 'CONNEXION '.

Vous verrez le tableau de bord Invoice Ninja.

Page des paramètres de facture Ninja.

Invoice Ninja installé avec Nginx et MariaDB sur Ubuntu 16.04.


Ubuntu
  1. Comment installer PHP 7.4 / 7.3 / 7.2 sur Ubuntu 18.04 / Ubuntu 16.04

  2. Comment installer PHP 7 sur Ubuntu 14.04

  3. Comment installer PHP 7 sur Ubuntu 15.04

  4. Comment installer PHP 7.3 sur Ubuntu 18.04

  5. Comment installer Invoice Ninja sur Ubuntu 18.04

Comment installer GLPI sur Ubuntu 20.04 ?

Comment installer Invoice Ninja sur Ubuntu 18.04 LTS

Comment installer Invoice Ninja sur Ubuntu 20.04 LTS

Comment installer OwnCloud sur Ubuntu 18.04

Comment installer Joomla sur Ubuntu 18.04

Comment installer Invoice Ninja sur Debian 10