GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment installer Invoice Ninja sur CentOS 7

Dans ce tutoriel, nous allons vous montrer comment installer et configurer Invoice Ninja sur votre CentOS 7. Pour ceux d'entre vous qui ne le savaient pas, Invoice Ninja est un logiciel gratuit et open-source logiciel d'application Web qui peut être utilisé pour la facturation, les paiements, le suivi du temps et bien d'autres. C'est la meilleure solution pour la facturation et la facturation des clients. Vous pouvez facilement créer et envoyer des factures en ligne en quelques secondes. Invoice Ninja vous permet de créer votre propre facture personnalisée et affichez une facture en direct sous forme de fichier PDF.

Cet article suppose que vous avez au moins des connaissances de base sur Linux, que vous savez utiliser le shell et, plus important encore, que vous hébergez votre site sur votre propre VPS. L'installation est assez simple et suppose que vous s'exécutent dans le compte root, sinon vous devrez peut-être ajouter 'sudo ‘ aux commandes pour obtenir les privilèges root. Je vais vous montrer l'installation pas à pas d'Invoice Ninja sur un serveur CentOS 7.

Fonctionnalités d'Invoice Ninja

  • Créer des tâches et suivre le temps
  • Créez des factures en ligne en quelques secondes
  • Envoyer des factures par e-mail et être payé en ligne
  • Conception adaptée aux mobiles
  • Intégrez plus de 45 passerelles de paiement
  • 10 nouveaux modèles de modèles de facture
  • Afficher la facture en direct. Création de PDF
  • Ajouter le logo de votre entreprise aux factures
  • Les devis sont convertis en factures
  • Facturation automatique et factures récurrentes
  • Paramètres fiscaux multiples
  • Plusieurs devises prises en charge
  • Portail client pour consulter les factures
  • Alertes lorsque les factures sont payées
  • Définir les dates d'échéance de paiement des factures
  • Importer les dépenses et configurer les fournisseurs

Installer Invoice Ninja sur CentOS 7

Étape 1. Tout d'abord, commençons par nous assurer que votre système est à jour.

yum clean all
yum -y install epel-release
yum -y update

Étape 2. Installez le serveur LEMP.

Un serveur de pile LEMP CentOS 7 est requis. Si vous n'avez pas installé de LEMP, vous pouvez suivre notre guide ici. Installez également les modules PHP requis :

yum install install php70w-fpm php70w-cli php70w-pear php70w-gd php70w-xml php70w-curl php70w-gmp php70w-pdo php70w-mysql php70w-zip php70w-mbstring php70w-mcrypt

Une fois l'installation terminée, vous devrez modifier le fichier de configuration php.ini :

nano /etc/php.ini

Modifiez la ligne suivante :

cgi.fix_pathinfo=0

Étape 3. Configuration de MariaDB pour Invoice Ninja.

Par défaut, MariaDB n'est pas renforcée. Vous pouvez sécuriser MariaDB à l'aide de mysql_secure_installation scénario. vous devez lire attentivement et en dessous de chaque étape qui définira un mot de passe root, supprimera les utilisateurs anonymes, interdira la connexion root à distance et supprimera la base de données de test et l'accès à MariaDB sécurisé :

mysql_secure_installation

Configurez-le comme ceci :

- Set root password? [Y/n] y
- 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, nous devrons nous connecter à la console MariaDB et créer une base de données pour Invoice Ninja. Exécutez la commande suivante :

mysql -u root -p

Cela vous demandera un mot de passe, alors entrez votre mot de passe root MariaDB et appuyez sur Entrée. Une fois que vous êtes connecté à votre serveur de base de données, vous devez créer une base de données pour Installation de Facture Ninja :

MariaDB [(none)]> CREATE DATABASE ninja_db;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON ninja_db.* TO 'ninja'@'localhost' IDENTIFIED BY 'password';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> \q

Étape 4. Configurez PHP-FPM.

Vous devrez configurer le pool PHP-FPM pour les utilisateurs Nginx :

nano /etc/php-fpm.d/www.conf

Modifiez les lignes suivantes :

user = nginx
group = nginx
listen = /var/run/php/php-fpm.sock
listen.owner = nginx
listen.group = nginx
listen.mode = 0660
env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp

Enregistrez le fichier et quittez l'éditeur de texte.

Ensuite, vous devrez créer un nouveau répertoire pour la session PHP et le fichier socket :

mkdir -p /var/lib/php/session
mkdir -p /var/run/php/
chown -R nginx:nginx /var/lib/php/session/
chown -R nginx:nginx /var/run/php/

Démarrez ensuite PHP-FPM et activez-le au démarrage à l'aide des commandes suivantes :

systemctl start php-fpm
systemctl enable php-fpm

Étape 5. Installation d'Invoice Ninja.

La première chose à faire est d'aller sur la page de téléchargement d'Invoice Ninja et de télécharger la dernière version stable d'Invoice Ninja :

cd /var/www/html/
git clone https://github.com/hillelcoren/invoice-ninja.git ninja

Vous devez installer composer :

curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/bin --filename=composer

Ensuite, installez toutes les dépendances d'Invoice Ninja à l'aide de composer :

cd /var/www/html/ninja
composer install --no-dev -o

Une fois l'installation terminée, renommez le fichier .env et apportez quelques modifications :

mv .env.example .env
nano .env

Modifiez les valeurs de la base de données en fonction de votre base de données :

DB_DATABASE=ninja_db
DB_USERNAME=ninja
DB_PASSWORD=Y0urPa55w0rd

Enregistrez le fichier et quittez l'éditeur de texte. Ensuite, modifiez la configuration de la base de données dans le répertoire de configuration :

nano config/database.php

Modifiez les lignes suivantes :

'database'  => env('DB_DATABASE', 'ninja_db'),
'username'  => env('DB_USERNAME', 'ninja'),
'password'  => env('DB_PASSWORD', 'Y0urPa55w0rd'),

Enregistrez le fichier et quittez l'éditeur de texte et préparez la base de données avec la commande suivante :

php artisan migrate

Vous serez invité à exécuter la commande, tapez "oui" et appuyez sur Entrée.

Ensuite, alimentez la base de données avec tous les enregistrements comme indiqué ci-dessous :

php artisan db:seed

Exécutez la commande suivante pour générer la clé d'application et notez cette clé d'application :

php artisan key:generate

Ensuite, modifiez le app.php fichier avec un nano éditeur de texte :

nano config/app.php

Ajoutez la clé comme indiqué ci-dessous :

'key' => env('APP_KEY', 'y0urGenerated Key'),

Enregistrez et fermez le fichier, modifiez également les autorisations de certains dossiers :

chown -R nginx:nginx /var/www/html/ninja/

Étape 6. Configurez Nginx pour Invoice Ninja.

Créez un certificat SSL et créez une nouvelle configuration d'hôte virtuel pour Invoice Ninja :

mkdir -p /etc/nginx/cert/openssl req -new -x509 -days 365 -nodes -out /etc/nginx/cert/ninja.crt -keyout /etc/nginx/cert/ninja.keychmod 600 /etc/nginx/cert/*

Ensuite, créez un nouveau fichier de configuration d'hôte virtuel dans /etc/nginx/ répertoire :

nano /etc/nginx/conf.d/ninja.conf

Ajoutez les lignes suivantes :

server {
    listen  80;
    server_name idroot.us;
    add_header Strict-Transport-Security max-age=2592000;
    rewrite ^ https://$server_name$request_uri? permanent;
}

server {
    listen  443 default;
    server_name 192.168.15.23;
    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;
    root /var/www/html/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:/var/run/php/php-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 fermez le fichier. Redémarrez le service Nginx pour que les modifications prennent effet :

systemctl restart nginx

Étape 7. Configurez FirewallD Invoice Ninja.

Avant d'accéder à l'interface Web d'Invoice Ninja, vous devez autoriser les services HTTP et HTTPS via le pare-feu :

firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload

Étape 8. Accéder à Invoice Ninja.

Invoice Ninja sera disponible sur le port HTTP 80 par défaut. Ouvrez votre navigateur préféré et accédez à http://your-domain.com/ ou http://your-server-ip et suivez les étapes requises pour terminer l'installation.

Félicitations ! Vous avez installé avec succès Invoice Ninja. Merci d'avoir utilisé ce didacticiel pour installer Invoice Ninja sur le système CentOS 7. Pour obtenir de l'aide supplémentaire ou des informations utiles, nous vous recommandons de consulter le site Web officiel d'Invoice Ninja. .


Cent OS
  1. Comment installer PHP 7, 7.2 et 7.3 sur CentOS 7

  2. Comment installer Java 11 et 12 sur CentOS 7

  3. Comment installer Wine 4.0 sur CentOS 7

  4. Comment installer Invoice Ninja sur Ubuntu 18.04

  5. Comment installer Invoice Ninja sur Debian 9

Comment installer R sur CentOS 8

Comment installer Invoice Ninja sur Ubuntu 16.04

Comment installer Invoice Ninja sur CentOS 7

Comment installer Invoice Ninja sur Ubuntu 20.04

Comment installer Invoice Ninja sur CentOS 8

Comment installer Invoice Ninja sur Debian 10