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 installation
para 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.conf
y 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.example
y cambia el nombre de la copia aipconfig.php:
sudo cp ipconfig.php.example ipconfig.php
Abre elarchivoipconfig.php
y 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.conf
y 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.ini
y 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=true
en 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:
Ahora, haz clic en elbotón deConfiguración. Deberías ver la siguiente página:
A continuación, elige el idioma y haz clic en elbotón Continuar. Deberías ver la siguiente página:
A continuación, haz clic en elbotón Continuar. Deberías ver la siguiente página:
Aquí, proporciona los detalles de tu base de datos y haz clic en elbotónIntentar de nuevo. Deberías ver la siguiente página:
Ahora, haz clic en elbotón Continuar. Deberías ver la siguiente página:
Ahora, haz clic en elbotón Continuar. Deberías ver la siguiente página:
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:
Ahora, haz clic en elbotón Iniciar sesiónpara acceder a la administración de InvoicePlane.