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