Comment installer InvoicePlane avec Nginx sur CentOS 7

InvoicePlane est une application de facturation gratuite et open source. Son code source peut être trouvé sur ce Github. Ce tutoriel te montrera comment installer InvoicePlane sur un système CentOS 7 frais.

Exigences

  • Serveur Web (Apache, NGINX). Ce tutoriel utilisera Nginx.
  • MySQL version 5.5 ou supérieure ou la version équivalente de MariaDB.
  • PHP version 7.0 ou supérieure avec les extensions PHP suivantes installées et activées :
  • php-gd
  • php-hash
  • php-json
  • php-mbstring
  • php-mcrypt
  • php-mysqli
  • php-openssl
  • php-recode
  • php-xmlrpc
  • php-zlib

Conditions préalables

  • Un serveur exécutant CentOS 7.
  • Un utilisateur non-root avec des privilèges sudo.

Étapes initiales

Vérifie la version de ton système CentOS :

cat /etc/centos-release
# CentOS Linux release 7.6.1810 (Core)

Configure le fuseau horaire :

timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'

Mets à jour les paquets de ton système d’exploitation :

sudo yum update -y

Installe les paquets requis :

sudo yum install -y vim wget curl git bash-completion unzip

Étape 1 – Installer PHP et les extensions PHP requises

L’application Web InovicePlane nécessite la version 7.0.0 ou supérieure de PHP. Les dépôts CentOS par défaut contiennent une ancienne version de PHP, et nous devrons donc configurer un dépôt tiers pour installer une version plus récente de PHP. Nous utiliserons le référentiel Webtatic.

Configure le repo YUM de Webtatic :

sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

Installe PHP, ainsi que les extensions PHP nécessaires :

sudo yum install -y php72w php72w-cli php72w-fpm php72w-common php72w-gd php72w-json php72w-mbstring php72w-mcrypt php72w-mysql php72w-xmlrpc php72w-recode

Vérifie la version de PHP :

php --version

# PHP 7.2.12 (cli) (built: Nov 11 2018 14:54:16) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

Démarre et active le service PHP-FPM :

sudo systemctl start php-fpm.service
sudo systemctl enable php-fpm.service

Étape 2 – Installer MariaDB

Installe le serveur de base de données MariaDB :

sudo yum install -y mariadb-server

Vérifie la version de MariaDB :

mysql --version
# mysql Ver 15.1 Distrib 5.5.60-MariaDB, for Linux (x86_64) using readline 5.1

Démarre et active le service MariaDB :

sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service

Exécute le script mysql_secure installation pour améliorer la sécurité de MariaDB et définir le mot de passe de l’utilisateur MariaDBroot:

sudo mysql_secure_installation

Réponds à toutes les questions comme indiqué ci-dessous :

Enter current password for root (enter for none):
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

Connecte-toi au shell MariaDB en tant qu'utilisateur root :

mysql -u root -p
# Enter password

Crée une base de données et un utilisateur MariaDB que tu utiliseras pour ton installation d'InvoicePlane, et retiens les informations d'identification :

CREATE DATABASE dbname;
GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;

Quitte le shell MariaDB :

quit

Étape 3 - Installer NGINX

Installe le serveur Web Nginx :

sudo yum install -y nginx

Vérifie la version de NGINX :

nginx -v
# nginx version: nginx/1.12.2

Démarre et active le service Nginx :

sudo systemctl start nginx.service
sudo systemctl enable nginx.service

Configure NGINX pour InvoicePlane. Exécute sudo vim /etc/nginx/conf.d/invoiceplane.conf et remplis le fichier avec la configuration suivante :

server {
    listen 80;
    listen [::]:80;

    server_name example.com;

    root /var/www/invoiceplane;

    index index.php index.html;

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

    location ~ \.php$ {
        fastcgi_index index.php;
        try_files $uri =404;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_pass 127.0.0.1:9000;
    }
}

Teste la configuration de NGINX :

sudo nginx -t

Recharge NGINX :

sudo systemctl reload nginx.service

Étape 4 - Installe InvoicePlane

Télécharge la dernière version stable d'InvoicePlane et extrais l'archive :

sudo mkdir -p /var/www
cd /var/www
sudo curl -O -J -L https://invoiceplane.com/download/v1.5.9
sudo unzip v1.5.9.zip
sudo rm v1.5.9.zip
sudo mv ip invoiceplane

Navigue dans le dossier/var/www/invoiceplane:

cd /var/www/invoiceplane

Fais une copie du fichieripconfig.php.example et renomme la copie en ipconfig.php:

sudo cp ipconfig.php.example ipconfig.php

Ouvre le fichieripconfig.php et ajoute ton URL dedans :

sudo vim ipconfig.php
# Something like this
IP_URL=http://example.com

Change la propriété du répertoire/var/www/invoiceplane en nginx:

sudo chown -R nginx:nginx /var/www/invoiceplane

Exécute sudo vim /etc/php-fpm.d/www.conf et configure l'utilisateur et le groupe à nginx. Initialement, ils seront définis sur apache:

sudo vim /etc/php-fpm.d/www.conf
# user = nginx
# group = nginx

Exécute sudo vim /etc/php.ini et configure date.timezone:

date.timezone = Region/City

Redémarre le service PHP-FPM :

sudo systemctl restart php-fpm.service

Exécute le programme d'installation d'InvoicePlane depuis ton navigateur Web et suis les instructions :

http://example.com/index.php/setup

Une fois l'installation terminée, tu peux te connecter à InvoicePlane en utilisant l'adresse e-mail et le mot de passe que tu as choisis pendant l'installation.

Si tu veux sécuriser ton installation, tu peux désactiver l'installation. Pour ce faire, remplace la ligne DISABLE_SETUP=false par DISABLE_SETUP=true dans ton fichieripconfig.php.

Étape 5 - Termine l'installation d'InvoicePlane

InvoicePlane est maintenant installé et configuré, il est temps d'accéder à son assistant d'installation Web.

Ouvre ton navigateur Web et tape l'URL http://example.com. Tu seras redirigé vers la page suivante :

Installateur web d'InvoicePlane

Maintenant, clique sur le bouton " Setup". Tu devrais voir la page suivante :

Choisis la langue

Ensuite, choisis la langue et clique sur le bouton Continuer . Tu devrais voir la page suivante :

Contrôle des conditions préalables réussi

Ensuite, clique sur le bouton Continuer . La page suivante devrait s'afficher :

Configuration de la base de données

Ici, indique les détails de ta base de données et clique sur le bouton Réessayer . Tu devrais voir la page suivante :

La base de données a été mise en place.

Maintenant, clique sur le bouton Continuer . La page suivante devrait s'afficher :

Créer un utilisateur

Maintenant, clique sur le bouton Continuer . Tu devrais voir la page suivante :

Installation terminée

Maintenant, fournis tous les détails requis, puis clique sur le bouton Continuer . Une fois l'installation terminée, tu devrais voir la page suivante :

Connecte-toi à InvoicePlane

Maintenant, clique sur le bouton Connexion pour accéder à l'administration d'InvoicePlane.

Vous aimerez aussi...