Cómo instalar InvoicePlane con Nginx en CentOS 7

InvoicePlanees una aplicación de facturación gratuita y de código abierto. Su código fuente se puede encontrar en este Github. Este tutorial te mostrará cómo instalar InvoicePlane en un sistema CentOS 7 nuevo.

Requisitos

  • Servidor web (Apache, NGINX). Este tutorialutilizará Nginx.
  • MySQL versión 5.5 o superior o la versión equivalente de MariaDB.
  • PHP versión 7.0 o superior con las siguientes extensiones de PHP instaladas y activadas:
  • php-gd
  • php-hash
  • php-json
  • php-mbstring
  • php-mcrypt
  • php-mysqli
  • php-openssl
  • php-recode
  • php-xmlrpc
  • php-zlib

Requisitos previos

  • Un servidor con CentOS 7.
  • Un usuario no root con privilegios sudo.

Pasos iniciales

Comprueba la versión de tu sistema CentOS:

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

Configura la zona horaria:

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

Actualiza los paquetes de tu sistema operativo:

sudo yum update -y

Instala los paquetes necesarios:

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

Paso 1 – Instalar PHP y las extensiones PHP necesarias

La aplicación web InovicePlane requiere la versión 7.0.0de PHP o superior. Los repositorios predeterminados de CentOS contienen una versión antigua de PHP, por lo que tendremos que configurar un repositorio de terceros para instalar una versión más reciente de PHP. Utilizaremos el repositorio Webtatic.

Configura el repositorio YUM de Webtatic:

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

Instala PHP, así como las extensiones PHP necesarias:

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

Comprueba la versión 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

Inicia y activa el servicio PHP-FPM:

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

Paso 2 – Instalar MariaDB

Instala el servidor de bases de datos MariaDB:

sudo yum install -y mariadb-server

Comprueba la versión de MariaDB:

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

Inicia y habilita el servicio MariaDB:

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

Ejecutael scriptmysql_secure installationpara mejorar la seguridad de MariaDB y establece la contraseña del usuario de MariaDBroot:

sudo mysql_secure_installation

Responde a todas las preguntas como se indica a continuación:

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

Entra en el shell de MariaDB como usuario root:

mysql -u root -p
# Enter password

Crea una base de datos MariaDB y un usuario que utilizarás para la instalación de InvoicePlane, y recuerda las credenciales:

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

Sal del shell de MariaDB:

quit

Paso 3 - Instalar NGINX

Instala el servidor web Nginx:

sudo yum install -y nginx

Comprueba la versión de NGINX:

nginx -v
# nginx version: nginx/1.12.2

Inicia y habilita el servicio Nginx:

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

ConfiguraNGINX para InvoicePlane. Ejecutasudo vim /etc/nginx/conf.d/invoiceplane.confy rellena el archivo con la siguiente configuración:

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;
    }
}

Prueba la configuración de NGINX:

sudo nginx -t

Recarga NGINX:

sudo systemctl reload nginx.service

Paso 4 - Instalar InvoicePlane

Descarga la última versión estable de InvoicePlane y extrae el archivo:

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

Navega hasta lacarpeta/var/www/invoiceplane:

cd /var/www/invoiceplane

Haz una copia delarchivoipconfig.php.exampley cambia el nombre de la copia aipconfig.php:

sudo cp ipconfig.php.example ipconfig.php

Abre elarchivoipconfig.phpy añade tu URL en él:

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

Cambia la propiedad deldirectorio/var/www/invoiceplane anginx:

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

Ejecutasudo vim /etc/php-fpm.d/www.confy establece el usuario y el grupo comonginx. Inicialmente, estarán configurados comoapache:

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

Ejecutasudo vim /etc/php.iniy establecedate.timezone:

date.timezone = Region/City

Reinicia el servicio PHP-FPM:

sudo systemctl restart php-fpm.service

Ejecuta el instalador de InvoicePlane desde tu navegador web y sigue las instrucciones:

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

Una vez finalizada la instalación, puedes acceder a InvoicePlane utilizando la dirección de correo electrónico y la contraseña que hayas elegido durante la instalación.

Si quieres asegurar tu instalación, puedes desactivar la instalación. Para ello, sustituye la líneaDISABLE_SETUP=false porDISABLE_SETUP=trueen tuarchivoipconfig.php.

Paso 5 - Completa la instalación de InvoicePlane

InvoicePlane ya está instalado y configurado, es el momento de acceder a su asistente de instalación web.

Abre tu navegador web y escribe la URL http://example.com. Serás redirigido a la siguiente página:

Instalador web de InvoicePlane

Ahora, haz clic en elbotón deConfiguración. Deberías ver la siguiente página:

Elige la lengua

A continuación, elige el idioma y haz clic en elbotón Continuar. Deberías ver la siguiente página:

Comprobación de los requisitos previa con éxito

A continuación, haz clic en elbotón Continuar. Deberías ver la siguiente página:

Configuración de la base de datos

Aquí, proporciona los detalles de tu base de datos y haz clic en elbotónIntentar de nuevo. Deberías ver la siguiente página:

Se ha creado una base de datos.

Ahora, haz clic en elbotón Continuar. Deberías ver la siguiente página:

Crear usuario

Ahora, haz clic en elbotón Continuar. Deberías ver la siguiente página:

Instalación completa

Ahora, proporciona todos los detalles requeridos y haz clic en elbotón Continuar. Una vez completada la instalación, deberías ver la siguiente página:

Entra en InvoicePlane

Ahora, haz clic en elbotón Iniciar sesiónpara acceder a la administración de InvoicePlane.

También te podría gustar...