Cómo instalar InvoicePlane con Nginx en Debian 9
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 Debian 9 (stretch) nuevo.
Requisitos
- Servidor web (Apache, NGINX). Este tutorialutilizará Nginx.
- MySQL versión 5.5 o superior o la versión equivalente de MariaDB.
- Versión de PHP 7.0, 7.1 o 7.2 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 Debian 9.
- Un usuario no root con privilegios sudo.
Pasos iniciales
Comprueba tu versión de Debian:
lsb_release -ds
# Debian GNU/Linux 9 (stretch)
Configura la zona horaria:
sudo dpkg-reconfigure tzdata
Actualiza los paquetes de tu sistema operativo (software). Este es un primer paso esencial porque te asegura que tienes las últimas actualizaciones y correcciones de seguridad de los paquetes de software por defecto de tu sistema operativo:
sudo apt update && sudo apt upgrade -y
Instala algunos paquetes esenciales que son necesarios para la administración básica del sistema operativo Debian:
sudo apt install -y curl wget vim git unzip socat bash-completion apt-transport-https
Paso 1 – Instalar PHP y las extensiones PHP necesarias
La aplicación web InvoicePlane requiere la versión 7.0 de PHP o superior.
Instala PHP, así como las extensiones PHP necesarias:
sudo apt install -y php-cli php-fpm php-common php-gd php-json php-mbstring php-mysql php-xmlrpc php-recode
Para mostrar el PHP compilado en módulos, puedes ejecutar:
php -m
ctype
curl
exif
fileinfo
. . .
. . .
Comprueba la versión de PHP:
php --version
# PHP 7.0.9-1~deb10u1 (cli) (built: Sep 18 2019 10:33:23) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.3.9, Copyright (c) 1998-2018 Zend Technologies
# with Zend OPcache v7.0.9-1~deb10u1, Copyright (c) 1999-2018, by Zend Technologies
Iniciar y habilitar el servicio PHP-FPM:
sudo systemctl start php7.0-fpm.service
sudo systemctl enable php7.0-fpm.service
Paso 2 – Instalar MariaDB
Instala MariaDB:
sudo apt install -y mariadb-server
Comprueba la versión de MariaDB:
mysql --version
Inicia y habilita el servicio MariaDB:
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service
Ejecuta el script mysql_secure installation
para mejorar la seguridad de MariaDB y establece la contraseña del usuario de MariaDB root
:
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
Sustituyeel nombre de la base de datos, elnombre de usuario y lacontraseña por tus propios nombres.
Paso 3 – Instalar NGINX
Instala el servidor web Nginx:
sudo apt install -y nginx
Comprueba la versión de NGINX:
nginx -v
# nginx version: nginx/1.10.3
Inicia y activa el servicio Nginx:
sudo systemctl start nginx.service
sudo systemctl enable nginx.service
ConfiguraNGINX para InvoicePlane. Ejecuta sudo vim /etc/nginx/sites-available/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$ {
include snippets/fastcgi-php.conf;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
}
}
Activa la nueva invoiceplane.conf
configuración vinculando el archivo al directorio sites-enabled
directorio:
sudo ln -s /etc/nginx/sites-available/invoiceplane.conf /etc/nginx/sites-enabled/
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 el directorio /var/www/invoiceplane
:
cd /var/www/invoiceplane
Haz una copia del archivo ipconfig.php.example
y renombra la copia a ipconfig.php:
sudo cp ipconfig.php.example ipconfig.php
Abre el archivo ipconfig.php
y añade tu URL en él:
sudo vim ipconfig.php
# Something like this
IP_URL=http://example.com
Cambia la propiedad del directorio /var/www/invoiceplane
a www-data:
sudo chown -R www-data:www-data /var/www/InvoicePlane
Ejecuta sudo vim /etc/php.ini
y configura date.timezone:
date.timezone = Region/City
Reinicia el servicio PHP-FPM:
sudo systemctl restart php7.0-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 iniciar sesión en InvoicePlane con 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
por DISABLE_SETUP=true
en tu archivo ipconfig.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 el botón de Configuración. Deberías ver la siguiente página:
A continuación, elige el idioma y haz clic en el botón Continuar. Deberías ver la siguiente página:
A continuación, haz clic en el botón Continuar. Deberías ver la siguiente página:
Aquí, proporciona los detalles de tu base de datos y haz clic en el botón Intentar de nuevo. Deberías ver la siguiente página:
Ahora, haz clic en el botón Continuar. Deberías ver la siguiente página:
Ahora, haz clic en el botón Continuar. Deberías ver la siguiente página:
Ahora, proporciona todos los detalles requeridos y haz clic en el botón Continuar. Una vez completada la instalación, deberías ver la siguiente página:
Ahora, haz clic en el botón Iniciar sesión para acceder a la administración de InvoicePlane.