Cómo instalar InvoicePlane con Nginx en FreeBSD 12

InvoicePlanees una aplicación de facturación gratuita y de código abierto. Este tutorial te mostrará cómo instalar InvoicePlane en un sistema FreeBSD 12.

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 FreeBSD 12.
  • Un usuario no root con privilegios sudo.

Pasos iniciales

Comprueba tu versión de FreeBSD:

uname -ro
# FreeBSD 12.1-RELEASE

Configura la zona horaria:

tzsetup

Actualiza los paquetes de tu sistema operativo (software). Este es un primer paso importante porque asegura que tienes las últimas actualizaciones y correcciones de seguridad de los paquetes de software por defecto de tu sistema operativo:

freebsd-update fetch install
pkg update && pkg upgrade -y

Instala algunos paquetes esenciales que son necesarios para la administración básica del sistema operativo FreeBSD 12.0:

pkg install -y sudo vim unzip wget bash

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 pkg install -y php72 php72-ctype php72-curl php72-dom php72-hash php72-iconv php72-gd php72-json php72-mbstring php72-openssl php72-session php72-simplexml php72-xml php72-zip php72-zlib php72-pdo php72-pdo_mysql php72-mysqli php72-filter php72-ftp php72-tokenizer php72-calendar php72-pecl-APCu php72-opcache

Comprueba la versión de PHP:

php --version

# PHP 7.2.7 (cli) (built: Jul 25 2019 01:28:53) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.3.7, Copyright (c) 1998-2018 Zend Technologies
# with Zend OPcache v7.3.7, Copyright (c) 1999-2018, by Zend Technologies

Habilita e inicia el servicio PHP-FPM:

sudo sysrc php_fpm_enable=yes
sudo service php-fpm start

Paso 2 – Instalar MySQL

Instala el servidor de bases de datos MySQL:

sudo pkg install -y mysql57-server

Comprueba la versión de MySQL:

mysql --version
# mysql  Ver 14.14 Distrib 5.7.26, for FreeBSD12.0 (amd64) using  EditLine wrapper

Habilita e inicia el servicio MySQL:

sudo sysrc mysql_enable="yes"
sudo service mysql-server start

Ejecuta el script mysql_secure installation script para mejorar la seguridad de MySQL y establecer la contraseña para MySQL root usuario:

sudo mysql_secure_installation

Responde a cada una de las preguntas:

Would you like to setup VALIDATE PASSWORD plugin? N
New password: your_secure_password
Re-enter new password: your_secure_password
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

Conéctate al shell de MySQL como usuario root:

sudo mysql -u root -p
# Enter password

Crea una base de datos MySQL vacía y un usuario para Matomo y recuerda las credenciales:

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

Sal de MySQL:

exit

Sustituye dbname, username y password por tus propios nombres.

Paso 3 – Instalar acme.shbclient y obtener el certificado Let’s Encrypt (opcional)

Asegurar tu sitio web con HTTPS no es necesario, pero es una buena práctica para asegurar el tráfico de tu sitio. Para obtener el certificado TLS de Let’s Encrypt utilizaremos el cliente Acme.sh. Acme.sh es un software de shell UNIX puro para obtener certificados TLS de Let’s Encrypt con cero dependencias.&nbsp

Descarga e instala Acme.sh:

sudo pkg install -y acme.sh

Comprueba la versión de Acme.sh:

acme.sh --version
# v2.8.2

Obtén certificados RSA y ECC/ECDSA para tu dominio/nombre de host:

# RSA
sudo acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --keylength 2048
# ECDSA
sudo acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --keylength ec-256

Después de ejecutar los comandos anteriores, tus certificados y claves estarán en:

  • Para RSA: directorio /etc/letsencrypt/example.com.
  • Para ECC/ECDSA: directorio /etc/letsencrypt/example.com_ecc.

Paso 3 – Instalar NGINX

Instala el servidor web NGINX:

sudo pkg install -y nginx

Comprueba la versión de NGINX:

nginx -v
# nginx version: nginx/1.14.2

Inicia y activa el servicio NGINX:

sudo sysrc nginx_enable=yes
sudo service nginx start

Configura Nginx para InvoicePlane ejecutando:

sudo vim /usr/local/etc/nginx/invoiceplane.conf

Y rellena el archivo con la siguiente configuración:

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

    server_name example.com;

    root /usr/local/www/invoiceplane;

    index index.php index.html;

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

    location ~* \.php$ {
fastcgi_pass 127.0.0.1:9000;
include fastcgi_params;
fastcgi_index index.php5;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
} }

Prueba la configuración de NGINX:

sudo nginx -t

Recarga NGINX:

sudo service nginx restart

Paso 4 - Instalar InvoicePlane

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

sudo mkdir -p /usr/local/www
cd /usr/local/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 /usr/local/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 /usr/local/www/invoiceplane a www:

sudo chown -R www:www /usr/local/www/invoiceplane

Ejecuta sudo vim /etc/php.ini y configura date.timezone:

date.timezone = Region/City

Reinicia el servicio PHP-FPM:

sudo service php-fpm restart

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=falsepor 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:

Instalador web de InvoicePlane

Ahora, haz clic en el botón de Configuración. Deberías ver la siguiente página:

Elige la lengua

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

Comprueba los requisitos del sistema

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

Detalles de la base de datos

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:

Conexión a la base de datos con éxito

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

Crear una cuenta de usuario

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

Instalación de InvoicePlane completa

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:

Acceder a InvoicePlane

Ahora, haz clic en el botón Iniciar sesión para acceder a la administración de InvoicePlane.

También te podría gustar...