Cómo instalar ERPNext en Debian 10 (Buster)

[et_pb_section fb_built=”1″ admin_label=”Header” _builder_version=”3.22″ use_background_color_gradient=”on” background_color_gradient_start=”#315770″ background_color_gradient_end=”#000000″ background_color_gradient_direction=”237deg” background_image=”https://consultasinformaticas.com/wp-content/uploads/2020/05/hosting-company-01.png” background_size=”contain” background_position=”bottom_center” custom_padding=”100px||4vw||false|false” animation_style=”slide” animation_direction=”top” animation_intensity_slide=”2%” animation_starting_opacity=”100%”][et_pb_row column_structure=”1_3,2_3″ _builder_version=”3.25″][et_pb_column type=”1_3″ _builder_version=”3.25″ custom_padding=”|||” custom_padding_tablet=”0px|||” custom_padding_last_edited=”off|desktop” padding_tablet=”0px|||” padding_last_edited=”off|desktop” custom_padding__hover=”|||”][et_pb_text _builder_version=”4.4.7″ text_font=”||||||||” text_font_size=”16px” text_line_height=”2em” header_font=”Rubik|500|||||||” header_font_size=”52px” header_line_height=”1.2em” background_layout=”dark” header_font_size_tablet=”42px” header_font_size_phone=”32px” header_font_size_last_edited=”on|desktop” text_text_shadow_style=”preset1″ text_text_shadow_blur_strength=”2em”]

Cómo instalar ERPNext en Debian 10 (Buster)

 

[/et_pb_text][/et_pb_column][et_pb_column type=”2_3″ _builder_version=”3.25″ custom_padding=”|||” custom_padding__hover=”|||”][/et_pb_column][/et_pb_row][/et_pb_section][et_pb_section fb_built=”1″ admin_label=”About” _builder_version=”3.22″][et_pb_row _builder_version=”4.4.7″][et_pb_column type=”4_4″ _builder_version=”4.4.7″][et_pb_text _builder_version=”4.4.7″]

¿Qué es ERPNext?

ERPNext es un software de gestión empresarial gratuito, de código abierto, moderno y fácil de usar, utilizado por miles de empresas en todo el mundo. Es una plataforma ERP muy simple que soporta el comercio minorista, los servicios, la fabricación, los recursos humanos, las organizaciones sin fines de lucro y otros sectores. Es un sistema ERP potente y con todas las funciones escrito en Python sobre el marco de trabajo de Frappe. Utiliza Node.js para el front-end y MariaDB para almacenar sus datos. ERPNext proporciona una interfaz basada en la web para realizar las tareas diarias. ERPNext proporciona un sistema de informes integrado con la integración de la suite ofimática.

Hoy discutiremos cómo instalar el sistema ERPNext en el sistema Linux de Debian 10 (Buster). ERPNext es un sistema ERP de código abierto escrito en el marco de Frappe. El sistema ERPNext ofrece características excepcionales que se adaptan tanto a las pequeñas como a las medianas empresas.

Algunas de sus características principales son:

  • Gestión de inventario
  • Gestión de la contabilidad
  • Gestión de compras
  • Gestión de la fabricación
  • Sistema de gestión de relaciones con el cliente
  • Gestión de ventas
  • Gestión de proyectos
  • Sistema de Gestión de Recursos Humanos y más.

Requisitos previos de la configuración de ERPNext:

Actualizado Debian 10 Linux
Un usuario con privilegios de sudo
Un dominio totalmente calificado (FQD)
Servidor de la base de datos MariaDB
Nodejs, Nginx, yarn, redis, wkhtmltopdf

[/et_pb_text][et_pb_text _builder_version=”4.4.7″]

Instalar ERPNext en Debian 10 (Buster)

Comencemos la instalación de ERPNext asegurándonos de que nuestro sistema esté actualizado:

sudo apt update
sudo apt -y upgrade

Se recomienda reiniciar el sistema cada vez que se actualiza:

sudo reboot

Paso 1: Instalar las herramientas de Python y wkhtmltopdf
Inicie el proceso de instalación asegurándose de que todos los paquetes de construcción de Python necesarios para construir y configurar ERPNext estén instalados:

sudo apt -y install git vim libffi-dev python-pip python3-distutils python-dev libssl-dev wkhtmltopdf

Paso 2: Instalar Redis y Node.js
Nodejs es necesario para ejecutar ERPNext en Debian 10 (Buster).

sudo apt -y install nodejs npm redis-server
sudo npm install -g yarn

Paso 3: Instalar el servidor web de Nginx y el servidor de la base de datos de MariaDB

El siguiente paso es para Nginx y MariaDB para servir ERPNext y almacenar datos de la base de datos respectivamente.

Instalar Nginx usando:

sudo apt -y install nginx

 

[/et_pb_text][et_pb_text _builder_version=”4.4.7″]

Instalación de MariaDB en Debian 10 (Buster)

Paso 1: Actualizar el índice de aptitud del sistema
Le recomiendo que actualice su sistema y opcionalmente actualice los paquetes instalados.

sudo apt -y update
sudo apt -y install software-properties-common gnupg2
sudo apt -y upgrade
sudo reboot

Paso 2: Importar la clave gpg de MariaDB y añadir el repositorio.
Necesitamos importar la clave gpg de MariaDB que contiene las claves usadas para firmar los paquetes Debian de MariaDB. Luego agrega el repositorio MariaDB a tu sistema:

sudo apt-key adv –recv-keys –keyserver keyserver.ubuntu.com 0xF1656F24C74CD1D8
sudo add-apt-repository ‘deb [arch=amd64] http://mariadb.mirror.liquidtelecom.com/repo/10.4/debian buster main’

Paso 3: Instalar MariaDB 10.4 en Debian 10 (Buster)
Después de agregar el repositorio, la instalación de los paquetes de servidor y cliente de MariaDB 10.4 puede hacerse ejecutando los siguientes comandos en su terminal.

sudo apt update
sudo apt install mariadb-server mariadb-client

Paso 4: Servidor seguro de MariaDB
Ahora ejecuta el script seguro para establecer la contraseña de root, elimina la base de datos de prueba y desactiva el inicio de sesión del usuario root remoto.

sudo mysql_secure_installation

NOTA: SE RECOMIENDA QUE TODAS LAS PARTES DE ESTE ESCRITO SE EJECUTEN PARA TODOS LOS MARIADOS
SERVIDORES EN USO DE PRODUCCIÓN! POR FAVOR, LEA CADA PASO CON CUIDADO!

Para poder ingresar a MariaDB y asegurarla, necesitaremos el actual
contraseña para el usuario root. Si acabas de instalar MariaDB, y
no han establecido la contraseña de root todavía, sólo debes presionar entrar aquí.

Introduce la contraseña actual para el root (introduce para ninguno):
OK, contraseña usada con éxito, continuando…

Establecer la contraseña de root o usar el unix_socket asegura que nadie
puede acceder al usuario raíz de MariaDB sin la debida autorización.

Ya tienes tu cuenta de root protegida, así que puedes responder con seguridad ‘n’.

Cambiar a la autenticación unix_socket [S/n] y
¡Activado con éxito!
Recargando las mesas de privilegio..
… ¡Con éxito!

Ya tienes tu cuenta de root protegida, así que puedes responder con seguridad ‘n’.

¿Cambiar la contraseña de root? S/n] y
Nueva contraseña:
Vuelva a introducir la nueva contraseña:
¡Contraseña actualizada con éxito!
Recargando las tablas de privilegios…
… ¡Actualizada con éxito!

 

Por defecto, una instalación de MariaDB tiene un usuario anónimo, permitiendo a cualquiera
para acceder a MariaDB sin tener que tener una cuenta de usuario creada para
ellos. Esto es sólo para probar, y para hacer que la instalación
ir un poco más suave. Deberías quitarlos antes de pasar a un
entorno de producción.

¿Quitar los usuarios anónimos? S/n] y
… ¡Éxito!

Normalmente, a la raíz sólo se le debería permitir conectarse desde el “localhost”. Este
asegura que alguien no pueda adivinar la contraseña de root de la red.

¿Desactivar el acceso de root de forma remota? Sí.
… ¡Éxito!

Por defecto, MariaDB viene con una base de datos llamada “test” que cualquiera puede
acceso. Esto también está destinado sólo para las pruebas, y debe ser eliminado
antes de pasar a un entorno de producción.

¿Quitar la base de datos de prueba y acceder a ella? Sí.
– Dejando caer la base de datos de pruebas…
… ¡Un éxito!
– Eliminando los privilegios de la base de datos de prueba…
… ¡Éxito!

Recargar las tablas de privilegios asegurará que todos los cambios realizados hasta ahora
…entrará en vigor inmediatamente.

¿Recargar las mesas de privilegio ahora? Sí.
… ¡Éxito!

Limpiando…

¡Todo hecho! Si has completado todos los pasos anteriores, tu MariaDB
la instalación debería ser ahora segura.

¡Gracias por usar MariaDB!

Ahora debe proporcionar un nombre de usuario y una contraseña para acceder a la consola de MySQL. Sin la autenticación, obtendrá un error de acceso denegado.

mysql -u root -p

entre su clave
y salga de MariaB
si pudo entrar, ya tiene instalado y configurado MariaDB

Asegúrate de tener los siguientes ajustes para mysqld y el cliente mysql según lo previsto, si no los ve, agregelo:

sudo vim /etc/mysql/my.cnf
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci

[mysql]
default-character-set = utf8mb4

Después de la instalación del servidor de la base de datos de MariaDB, debería crear una base de datos para el usuario de erpnext.

sudo systemctl restart mariadb

Entra y crea la base de datos Mysql

Crear una base de datos y conceder al usuario todos los permisos para gestionar la BD.

mysql -u root -p
CREATE USER erpnext@localhost IDENTIFIED BY ‘password123’;
CREATE DATABASE erpnext;
GRANT ALL ON erpnext.* TO ‘erpnext’@’localhost’ with grant option;
FLUSH PRIVILEGES;
QUIT;

Paso 4: Instalar Bench y ERPNext
Un banco es una herramienta que se utiliza para instalar y administrar ERPNext en su sistema Debian. Crearemos un usuario que ejecute el sistema ERPNext, y luego configuraremos el sistema.

sudo useradd -m -s /bin/bash erpnext
sudo passwd erpnext
sudo usermod -aG sudo erpnext

Actualice su PATH.

sudo su – erpnext
vim ~/.bashrc
PATH=$PATH:~/.local/bin/

Crear un directorio para la configuración de ERPNext y dar al usuario de erpnext permisos de lectura y escritura para el directorio:

sudo mkdir /srv/bench
sudo chown -R erpnext /srv/bench

A continuación, cambie a erpnext user e instale la aplicación:

sudo su – erpnext
cd /srv/bench

Clonar el código de Bench de github usando git

git clone https://github.com/frappe/bench bench-repo

Ahora instala el banco usando el comando pip:
sudo pip install -e bench-repo

El siguiente paso es inicializar el directorio del banco con el marco de frappe instalado:

cd /srv/bench
bench init erpnext
cd erpnext

Una muestra de salida es:


Done in 71.43s.
INFO:bench.utils:bench build
yarn run v1.21.1
$ FRAPPE_ENV=production node rollup/build.js
Production mode
✔ Built js/moment-bundle.min.js
✔ Built js/libs.min.js

Building frappe assets…

✔ Built js/checkout.min.js
✔ Built js/dialog.min.js
✔ Built js/modules.min.js
✔ Built js/social.min.js
✔ Built js/web_form.min.js
✔ Built js/list.min.js
✔ Built js/chat.js
✔ Built css/frappe-rtl.css
✔ Built css/printview.css
✔ Built css/module.min.css
✔ Built css/form.min.css
✔ Built css/list.min.css
✔ Built css/report.min.css
✔ Built frappe/css/email.css
✔ Built js/desk.min.js
✔ Built js/barcode_scanner.min.js
✔ Built css/frappe-chat-web.css
✔ Built css/web_form.css
✔ Built css/desk.min.css
✔ Built js/frappe-recorder.min.js
✔ Built css/frappe-web-b4.css
✔ Built js/frappe-web.min.js
✔ Built js/bootstrap-4-web.min.js
✔ Built js/control.min.js
✔ Built js/form.min.js
✔ Built js/data_import_tools.min.js
✔ Built js/report.min.js
✨ Done in 90.204s
Done in 91.96s.
INFO:bench.utils:setting up backups
no crontab for erpnext
INFO:bench.utils:setting up auto update
no crontab for erpnext
Bench erpnext initialized

El comando anterior le pedirá que proporcione la contraseña de root de MySQL y que establezca una nueva contraseña para la cuenta de administrador de la interfaz web. Espere a que se cree el nuevo sitio Frappe antes de proceder.

Paso 5: Iniciar la aplicación ERPNext y acceder a la interfaz de usuario
Una vez desplegada la aplicación, puede iniciarla usando el comando:

bench start

Cuando el programa está en marcha, deberías conseguir:
12:49:02 redis_queue.1 | 30491:M 18 Jul 12:49:02.630 * Ready to accept connections
12:49:03 socketio.1 | listening on *: 9000
12:49:08 web.1 | * Running on http://0.0.0.0:8000/ (Press CTRL+C to quit)
12:49:09 web.1 | * Restarting with inotify reloader
12:49:09 watch.1 | yarn run v1.7.0
12:49:09 watch.1 | $ node rollup/watch.js
12:49:09 web.1 | * Debugger is active!
12:49:09 web.1 | * Debugger PIN: 849-623-753
12:49:10 watch.1 |
12:49:10 watch.1 | Rollup Watcher Started
12:49:10 watch.1 |

Desde la salida, puede confirmar que el servicio está funcionando en http://0.0.0.0:8000/. Para acceder a la interfaz web, abra la dirección IP del servidor y el puerto http://ip-address:8000.

Esta no es la forma recomendada para ejecutar ERPNext en producción. En su lugar, instalaremos el supervisor y configuraremos Nginx:

Paso 6: Configurar Nginx y Supervisor
Instale el supervisor:

sudo apt -y install supervisor

Ejecute el guión de configuración de producción:

sudo bench setup production erpnext

Site www.myerpnext.ga assigned port: 80
nginx.conf already exists and this will overwrite it. Do you want to continue? [y/N]: y
INFO:bench.utils:sudo /usr/bin/supervisorctl reread
No config updates to processes
INFO:bench.utils:sudo /usr/bin/supervisorctl update
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
INFO:bench.utils:sudo systemctl reload nginx

El archivo Nginx generado se coloca debajo: /etc/nginx/conf.d/erpnext.conf y el archivo de configuración del supervisor es /etc/supervisor/conf.d/erpnext.conf.

Abra el dominio de su aplicación configurado para iniciar sesión, en mi caso http://www.myerpnext.ga

Deberías tener una página para acceder. Utilice el nombre de usuario Administrador y la contraseña que proporcionó durante la configuración.

Seleccione el idioma que desee y haga clic en “Siguiente”. A continuación, seleccione el país, que llenará la moneda automáticamente.

Añade el primer usuario con correo electrónico y contraseña y haz clic en el botón “Completar la configuración”.

Hemos terminado la instalación de ERPNext en Debian 10 (Buster)
Si has seguido estas instrucciones con éxito, deberías tener un producto terminado, haz clic en mi enlace de producto terminado…
Para más información sobre el alquiler de uno de nuestros vps, visítenos en EasyVhost.

 

 

[/et_pb_text][/et_pb_column][/et_pb_row][/et_pb_section][et_pb_section fb_built=”1″ admin_label=”Footer” _builder_version=”3.22″ use_background_color_gradient=”on” background_color_gradient_start=”#46b3ff” background_color_gradient_end=”#0752fe” background_color_gradient_direction=”237deg” background_image=”https://consultasinformaticas.com/wp-content/uploads/2020/05/hosting-company-12.png” background_size=”contain” background_position=”top_center” custom_padding=”20vw||100px||false|false” animation_style=”slide” animation_direction=”top” animation_intensity_slide=”5%” animation_starting_opacity=”100%”][et_pb_row column_structure=”2_3,1_3″ _builder_version=”3.25″ custom_padding=”27px|0px|14px|0px|false|false”][et_pb_column type=”2_3″ _builder_version=”3.25″ custom_padding=”|||” custom_padding__hover=”|||”][et_pb_text _builder_version=”4.4.7″ text_font=”||||||||” text_font_size=”16px” text_line_height=”2em” header_2_font=”Rubik|500|||||||” header_2_font_size=”46px” header_2_line_height=”1.2em” background_layout=”dark” hover_enabled=”0″ header_2_font_size_tablet=”42px” header_2_font_size_phone=”32px” header_2_font_size_last_edited=”on|desktop” text_text_shadow_style=”preset1″ text_text_shadow_blur_strength=”2em” locked=”off”]

Obtenga 30 días de hosting gratis

[/et_pb_text][/et_pb_column][et_pb_column type=”1_3″ _builder_version=”3.25″ custom_padding=”|||” custom_padding__hover=”|||”][et_pb_button button_text=”Get Started” button_alignment=”right” _builder_version=”3.16″ custom_button=”on” button_text_size=”13px” button_text_color=”#ffffff” button_bg_color=”#263547″ button_border_width=”0px” button_border_color=”rgba(0,0,0,0)” button_border_radius=”5px” button_letter_spacing=”1px” button_font=”Rubik|||on|||||” button_use_icon=”off” background_layout=”dark” custom_padding=”14px|38px|14px|38px|true|true” hover_enabled=”0″ box_shadow_style=”preset1″ box_shadow_vertical=”20px” box_shadow_blur=”30px” box_shadow_color=”rgba(0,0,0,0.2)” button_letter_spacing_hover=”1px” locked=”off” button_text_size__hover_enabled=”off” button_one_text_size__hover_enabled=”off” button_two_text_size__hover_enabled=”off” button_text_color__hover_enabled=”off” button_one_text_color__hover_enabled=”off” button_two_text_color__hover_enabled=”off” button_border_width__hover_enabled=”off” button_one_border_width__hover_enabled=”off” button_two_border_width__hover_enabled=”off” button_border_color__hover_enabled=”off” button_one_border_color__hover_enabled=”off” button_two_border_color__hover_enabled=”off” button_border_radius__hover_enabled=”off” button_one_border_radius__hover_enabled=”off” button_two_border_radius__hover_enabled=”off” button_letter_spacing__hover_enabled=”on” button_letter_spacing__hover=”1px” button_one_letter_spacing__hover_enabled=”off” button_two_letter_spacing__hover_enabled=”off” button_bg_color__hover_enabled=”off” button_one_bg_color__hover_enabled=”off” button_two_bg_color__hover_enabled=”off”][/et_pb_button][/et_pb_column][/et_pb_row][et_pb_row _builder_version=”3.25″ background_color=”#ffffff” custom_margin=”50px|||” custom_padding=”40px|40px|40px|40px|true|true” border_radii=”on|24px|24px|24px|24px” box_shadow_style=”preset1″ box_shadow_vertical=”90px” box_shadow_blur=”160px” box_shadow_color=”rgba(0,0,0,0.19)”][et_pb_column type=”4_4″ _builder_version=”3.25″ custom_padding=”|||” custom_padding__hover=”|||”][et_pb_text _builder_version=”3.27.4″ text_font=”||||||||” text_font_size=”16px” text_line_height=”2em” header_2_font=”Rubik|500||on|||||” header_2_text_color=”#ff8f00″ header_2_font_size=”14px” header_2_letter_spacing=”1px” header_2_line_height=”1.5em” header_3_font=”Rubik|500|||||||” header_3_font_size=”38px” header_3_line_height=”1.4em” header_2_font_size_tablet=”42px” header_2_font_size_phone=”32px” header_2_font_size_last_edited=”off|desktop” header_3_font_size_tablet=”28px” header_3_font_size_phone=”20px” header_3_font_size_last_edited=”on|phone” locked=”off”]

Get In Touch

[/et_pb_text][et_pb_contact_form captcha=”off” module_id=”et_pb_contact_form_0″ _builder_version=”4.4.7″ form_field_background_color=”#f8fafe” form_field_font=”||||||||” custom_button=”on” button_text_size=”13px” button_text_color=”#ffffff” button_bg_color=”#2970fa” button_border_width=”10px” button_border_color=”rgba(0,0,0,0)” button_border_radius=”5px” button_letter_spacing=”1px” button_font=”Rubik|||on|||||” button_use_icon=”off” custom_padding=”|||” hover_enabled=”0″ border_radii=”on|5px|5px|5px|5px” border_width_all=”1px” border_color_all=”#dfe4f3″ box_shadow_style_button=”preset1″ box_shadow_color_button=”rgba(41,112,250,0.2)” form_background_color=”#f8fafe” locked=”off” button_letter_spacing_hover=”1px” custom_message=”The name of this contact is: %%name%%||et_pb_line_break_holder||The email address for this contact is: %%email%%||et_pb_line_break_holder||The message is: %%message%%”][et_pb_contact_field field_id=”Name” field_title=”Nombre” _builder_version=”4.4.7″ custom_margin=”||40px|” hover_enabled=”0″ button_text_size__hover_enabled=”off” button_one_text_size__hover_enabled=”off” button_two_text_size__hover_enabled=”off” button_text_color__hover_enabled=”off” button_one_text_color__hover_enabled=”off” button_two_text_color__hover_enabled=”off” button_border_width__hover_enabled=”off” button_one_border_width__hover_enabled=”off” button_two_border_width__hover_enabled=”off” button_border_color__hover_enabled=”off” button_one_border_color__hover_enabled=”off” button_two_border_color__hover_enabled=”off” button_border_radius__hover_enabled=”off” button_one_border_radius__hover_enabled=”off” button_two_border_radius__hover_enabled=”off” button_letter_spacing__hover_enabled=”off” button_one_letter_spacing__hover_enabled=”off” button_two_letter_spacing__hover_enabled=”off” button_bg_color__hover_enabled=”off” button_one_bg_color__hover_enabled=”off” button_two_bg_color__hover_enabled=”off”][/et_pb_contact_field][et_pb_contact_field field_id=”Email” field_title=”Correo electrónico” field_type=”email” _builder_version=”4.4.7″ custom_margin=”||40px|” hover_enabled=”0″ button_text_size__hover_enabled=”off” button_one_text_size__hover_enabled=”off” button_two_text_size__hover_enabled=”off” button_text_color__hover_enabled=”off” button_one_text_color__hover_enabled=”off” button_two_text_color__hover_enabled=”off” button_border_width__hover_enabled=”off” button_one_border_width__hover_enabled=”off” button_two_border_width__hover_enabled=”off” button_border_color__hover_enabled=”off” button_one_border_color__hover_enabled=”off” button_two_border_color__hover_enabled=”off” button_border_radius__hover_enabled=”off” button_one_border_radius__hover_enabled=”off” button_two_border_radius__hover_enabled=”off” button_letter_spacing__hover_enabled=”off” button_one_letter_spacing__hover_enabled=”off” button_two_letter_spacing__hover_enabled=”off” button_bg_color__hover_enabled=”off” button_one_bg_color__hover_enabled=”off” button_two_bg_color__hover_enabled=”off”][/et_pb_contact_field][et_pb_contact_field field_id=”Message” field_title=”Mensaje” field_type=”text” fullwidth_field=”on” _builder_version=”4.4.7″ custom_margin=”||40px|” hover_enabled=”0″ button_text_size__hover_enabled=”off” button_one_text_size__hover_enabled=”off” button_two_text_size__hover_enabled=”off” button_text_color__hover_enabled=”off” button_one_text_color__hover_enabled=”off” button_two_text_color__hover_enabled=”off” button_border_width__hover_enabled=”off” button_one_border_width__hover_enabled=”off” button_two_border_width__hover_enabled=”off” button_border_color__hover_enabled=”off” button_one_border_color__hover_enabled=”off” button_two_border_color__hover_enabled=”off” button_border_radius__hover_enabled=”off” button_one_border_radius__hover_enabled=”off” button_two_border_radius__hover_enabled=”off” button_letter_spacing__hover_enabled=”off” button_one_letter_spacing__hover_enabled=”off” button_two_letter_spacing__hover_enabled=”off” button_bg_color__hover_enabled=”off” button_one_bg_color__hover_enabled=”off” button_two_bg_color__hover_enabled=”off”][/et_pb_contact_field][/et_pb_contact_form][/et_pb_column][/et_pb_row][/et_pb_section]

Factura Ninja en CentOS 7 | Cómo instalar

servicios de servidores virtuales

Este tutorial cubre la instalación de factura Ninja en Centos 7 VPS con Nginx, PHP y MariaDB. Invoice Ninja es una plataforma gratuita y auto-alojada para la gestión de facturación y pagos basada en Laravel. Es muy fácil de usar y se puede integrar con la mayoría de las pasarelas de pago más populares, incluyendo PayPal, 2CheckOut, Stripe, WePay, y muchas más… lo que la convierte en una solución perfecta para autónomos y pequeñas o medianas empresas.

  • Crea facturas y presupuestos en poco tiempo
  • Fácil seguimiento del tiempo y creación de tareas.
  • Enviar facturas y aceptar pagos en línea
  • Se integra con más de 30 puertas de enlace, incluyendo: Stripe, PayPal, Authorize y Dwolla
  • Crear fácilmente presupuestos y facturas en línea
  • URL de la factura personalizada de Company.InvoiceNinja.com
  • Aplicaciones iOS y Android

Requisitos previos

  • CentOS 7 VPS with 2GB de RAM
  • SSH acceso con privilegios de raíz
  • PHP version 5.5.9 o más reciente
  • MySQL/MariaDB servidor de base de datos
  • Apache/Nginx servidor web

Ingresa a través de SSH y actualiza el servidor

Instalaremos la factura Ninja a través de la interfaz de línea de comandos, así que primero tenemos que acceder al CentOS 7 VPS a través de SSH como usuario de raíz.

ssh root@IP_Address -p Port_Number

Una vez que hayas entrado, no olvides actualizar todos los paquetes instalados en el servidor

yum -y update

Instalar el servidor web Nginx

yum -y install nginx

Después de que el administrador de instalación termine la instalación, inicie el servidor web y habilítelo para que se inicie automáticamente después de un reinicio.

systemctl start nginx

systemctl enable nginx

netstat -plntu

blank

Instalar PHP 7

CentOS 7 por defecto viene con PHP 5.4 que ha llegado al final de su vida útil y ya no está soportado. Por lo tanto, en este tutorial instalaremos PHP 7 en su lugar. Para ello tenemos que añadir el repositorio Webtatic EL yum.

yum -y install epel-release

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

Una vez añadido el repositorio, podemos proceder a instalar PHP y varios módulos de PHP

yum -y install php70w-fpm php70w-cli php70w-pear php70w-gd php70w-xml php70w-mysql php70w-zip php70w-mbstring php70w-mcrypt php70w-curl php70w-gmp php70w-pdo-cli php70w

verificar que PHP 7 está instalado

php -v
PHP 7.0.31 (cli) (construido: Jul 20 2018 08:55:22) ( NTS )
Copyright (c) 1997-2017 El Grupo PHP

Cuando termine la instalación, edite el archivo de configuración php.ini con vim.

vim /etc/php.ini
Descomente la línea cgi.fix_pathinfo de abajo y cambie el valor a 0.
cgi.fix_pathinfo=0
Guarda el archivo y sal de Vim.

Entonces edita el archivo de configuración PHP-FPM.

vim /etc/php-fpm.d/www.conf

Cambie el usuario y el grupo de la línea 8 y 10 al grupo ‘nginx’.

usuario = nginx
grupo = nginx

En lugar de un puerto, usaremos un archivo de socorro para php-fpm. Cambie la línea de listen a ‘/var/run/php/php-fpm.sock‘.

listen = /var/run/php/php-fpm.sock

Descomente la configuración del archivo del socket, el propietario, el grupo y el permiso.

listen.owner = nginx
listen.group = nginx
listen.mode = 0660

Descomente las variables de entorno php-fpm en la línea 366-370.

env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp

Guarde el archivo y salga del editor.

Ahora necesitamos crear un nuevo directorio de sesión de PHP y cambiar el propietario al usuario y grupo nginx.

mkdir -p /var/lib/php/session
chown -R nginx:nginx /var/lib/php/session/

Crear un nuevo directorio para el archivo de sockets y cambiar el permiso para el usuario y el grupo de nginx.

mkdir -p /var/run/php/
chown -R nginx:nginx /var/run/php/

A continuación, inicie PHP7.0-FPM y añádalo para que se inicie en el momento del arranque.

systemctl start php-fpm
systemctl enable php-fpm

blank

PHP-FPM ha comenzado. Ahora puedes comprobarlo con el comando de abajo y verás el archivo de sockets PHP.

netstat -pl

PHP7.0-FPM y todas las extensiones necesarias para el Ninja de la Factura están instaladas.

Instalar el servidor de la base de datos de MariaDB

El Ninja Factura almacena su información en una base de datos. Por lo tanto, instalaremos el servidor de la base de datos MariaDB y crearemos una nueva base de datos junto con un usuario que pueda acceder a ella. Ejecute el siguiente comando para instalar el servidor de MariaDB.

yum install -y mod_ssl mariadb mariadb-server

Inicie el servidor y habilítelo para que se inicie al reiniciar.

systemctl start mariadb

systemctl enable mariadb

En el siguiente paso, ejecute el siguiente comando ‘mysql_secure_installation‘ para asegurar la base de datos de MariaDB. El siguiente extracto ilustra cómo asegurar la base de datos. Principalmente, responda con un sí a todas las preguntas del guión.

Set root password? [Y/n] Y
New password:
Re-enter new 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

A continuación, tenemos que crear una nueva base de datos y un nuevo usuario para Invoice Ninja en el shell de MySQL que hemos abierto. Crearemos una nueva base de datos llamada ‘ninjadb’, un nuevo usuario ‘ninja’ con la contraseña ‘aqwe123’. Por favor, elija una contraseña segura diferente para su instalación.

Crea todo con las consultas de MySQL a continuación: crear una nueva base de datos, crear un nuevo usuario y contraseña, conceder el acceso a la base de datos al nuevo usuario con contraseña.

A continuación, inicia sesión en el servidor de la base de datos como usuario de raíz.

mysql -u root -p

create database ninjadb;
create user ninja@localhost identified by ‘aqwe123’;
grant all privileges on ninjadb.* to ninja@localhost identified by ‘aqwe123’;
flush privileges;

Reemplaza la “CONTRASEÑA” por una contraseña sólida.

blank

Instalar y configurar la factura Ninja

En este paso, descargaremos y configuraremos la Factura Ninja. Instalaremos unzip, wget, curl en tu sistema.

yum -y install unzip wget curl

Crear un nuevo directorio para los archivos de la webroot del Ninja de la Factura.

mkdir -p /var/www/
cd /var/www/

Descargue el último establo del Ninja de la Factura a su servidor. En el momento de escribir este artículo es la versión 4.5.18

curl -L https://download.invoiceninja.com/ -o invoiceninja.zip

Descomprima el archivo ZIP descargado en el documento raíz del directorio de su servidor. El archivo ZIP incluye todas las bibliotecas de terceros necesarias.

unzip ninja-v4.5.18.zip

El contenido de la Factura Ninja se almacenará en un nuevo directorio ‘ninja’.

cd ninja/

Para el proyecto Laravel, necesitamos instalar un compositor, un Administrador de Dependencias para PHP.

curl -sS https://getcomposer.org/installer | sudo php — –install-dir=/usr/bin –filename=composer

blank

Ahora puedes usar el comando de composer.

A continuación, instale las dependencias del Ninja de la Factura con el comando de composer de abajo.

composer install –no-dev -o

  • –no-dev: Desactiva la instalaci¢n de los paquetes require-dev.
  • -o: Optimiza el autocargador durante el volcado del autocargador.

Cuando la instalación de la dependencia esté hecha, copie el archivo .env y edítelo con vim.

cp .env.example .env
vim .env

Cambie el valor de los ajustes de la base de datos a continuación.

DB_DATABASE=ninjadb
DB_USERNAME=ninja
DB_PASSWORD=aqwe123

blank

Salvar y salir.

A continuación, edite la configuración de la base de datos en el directorio de configuración.

vim config/database.php

Estamos usando la base de datos MariaDB/MySQL, ve a la configuración de MySQL en la línea 55.

‘database’ => env(‘DB_DATABASE’, ‘ninjadb’),
‘username’ => env(‘DB_USERNAME’, ‘ninja’),
‘password’ => env(‘DB_PASSWORD’, ‘aqwe123’),

blank

Salvar y salir.

Todos los archivos de configuración están editados, a continuación prepare la base de datos con el comando de abajo.

php artisan migrate

Se le pedirá que ejecute el comando, escriba “yes” y presione Enter.

blank

A continuación, sembrar la base de datos con todos los registros.

php artisan db:seed

Escriba “yes” y presione Enter para confirmar.

blank

Generar la clave de aplicación.

php artisan key:generate

Verá la clave de la aplicación.

Edita el archivo app.php con vim.

vim config/app.php

Ve a la línea 85 de APP_KEY y pega la clave generada (la clave de abajo es un ejemplo, usa en su lugar la clave que obtuviste del comando de arriba).

‘key’ => env(‘APP_KEY’, ‘base64:0o5QLWbNeDCNer064+600Hl8oJ20OPCIymadKJQ1RGo=’),

Salvar y salir.

Finalmente, cambia el propietario del directorio ‘/var/www/ninja’ por el usuario y el grupo ‘nginx’.

cd /var/www/
chown -R nginx:nginx ninja/

blank

El Ninja de la Factura ha sido configurado y está listo para la instalación.

Configurar el SSL y el Host Virtual

En este paso, generaremos un archivo de certificado SSL con el comando openssl y crearemos una nueva configuración de host virtual para Invoice Ninja. Si estás en un servidor activo, también puedes usar un SSL gratuito de Let’s Encrypt.

Crea un nuevo directorio “cert” para los archivos SSL.

mkdir -p /etc/nginx/cert/

Ejecute el comando OpenSSL a continuación para generar los archivos del certificado.

openssl req -new -x509 -days 365 -nodes -out /etc/nginx/cert/ninja.crt -keyout /etc/nginx/cert/ninja.key

Cambie el permiso de los archivos del certificado a ‘600’.

chmod 600 /etc/nginx/cert/*

blank

A continuación, ve al directorio Nginx y crea un nuevo archivo de configuración de host virtual llamado ‘ninja.conf’.

cd /etc/nginx/
vim conf.d/ninja.conf

Pegue la configuración del host virtual abajo.

server { # Your Domain Name – hakase-labs.co listen 80; server_name ninja.co www.ninja.co; # Rewrite redirect to https add_header Strict-Transport-Security max-age=2592000; rewrite ^ https://$server_name$request_uri? permanent; } server { # Your Domain Name – hakase-labs.co listen 443 default; server_name ninja.co www.ninja.co; # Enable SSL for Invoice Ninja ssl on; ssl_certificate /etc/nginx/cert/ninja.crt; ssl_certificate_key /etc/nginx/cert/ninja.key; ssl_session_timeout 5m; ssl_ciphers ‘AES128+EECDH:AES128+EDH:!aNULL’; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; # Invoice Ninja web root files root /var/www/ninja/public; index index.html index.htm index.php; charset utf-8; location / { try_files $uri $uri/ /index.php?$query_string; } location = /favicon.ico { access_log off; log_not_found off; } location = /robots.txt { access_log off; log_not_found off; } # Access and Error Log for Invoice Ninja access_log /var/log/nginx/ininja.access.log; error_log /var/log/nginx/ininja.error.log; sendfile off; # Handle PHP Applications location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php/php-fpm.sock; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_intercept_errors off; fastcgi_buffer_size 16k; fastcgi_buffers 4 16k; } location ~ /\.ht { deny all; } }

Salvar y salir.

Ahora prueba la configuración de Nginx y asegúrate de que no haya errores.

nginx -t

Reinicie el servidor web de Nginx.

systemctl restart nginx

blank

Se ha creado la configuración del host virtual del Ninja Factura.

Abre tu navegador y escribe el URL de la Factura Ninja, en mi caso: ninja.co.

Serás redirigido a una conexión https y a la página de configuración.

factura Ninja en Centos

Introduzca los detalles de configuración solicitados, Configuración de la aplicación, Conexión a la base de datos, Configuración del correo electrónico, Detalles del usuario y compruebe el TOS del Ninja de la factura.

factura Ninja en Centos

Haz clic en “Submit” y serás redirigido a la página de acceso de Invoice Ninja.

factura Ninja en Centos

Escriba su correo electrónico y su contraseña, luego presione ‘LOGIN’.

factura Ninja en Centos

Verás el Tablero Ninja de Facturas.

factura Ninja en Centos

Página de configuración del ninja de la factura.

factura Ninja en Centos

Ninja Factura ha sido instalado con Nginx y MariaDB en CentOS 7.

Para mas información sobre precios y renta de un servidor virtual, ir a mi pagina web https://easyvhost.com