ZPanel y Sentora en CentOS 6 x64
ZPanel, un panel de control de alojamiento web popular, se bifurcó en 2014 a un nuevo proyecto llamado Sentora. Aprende a instalar Sentora en tu servidor con este tutorial.
ERP o Enterprise Resource Planning es un conjunto de aplicaciones empresariales que se utiliza para administrar los procesos comerciales centrales. ERPNext es una aplicación ERP autohospedada gratuita y de código abierto escrita en Python. Utiliza Node.js para el front-end y MariaDB para almacenar sus datos. ERPNext proporciona una interfaz web fácil de usar que permite a las empresas administrar las tareas diarias. Contiene módulos para contabilidad, CRM, HRM, fabricación, POS, gestión de proyectos, compras, gestión de ventas, gestión de almacenes y más. ERPNext se puede utilizar para administrar diferentes industrias, como proveedores de servicios, fabricación, venta minorista y escuelas.
En este tutorial, instalaremos ERPNext en CentOS 7.
Para este tutorial, usaremos erp.example.com
como el nombre de dominio señalado al servidor. Asegúrese de reemplazar todas las apariciones de erp.example.com
con su nombre de dominio real.
Actualice su sistema base utilizando la guía " Cómo actualizar CentOS 7 ". Una vez que su sistema ha sido actualizado, proceda a instalar Python.
ERPNext necesita Python versión 2.7 para funcionar. Python 2.7 se instala por defecto en todas las instancias del servidor CentOS. Puede verificar si la versión instalada de Python ejecuta:
python -V
Deberías obtener el resultado similar.
[user@vultr ~]$ python -V
Python 2.7.5
Aunque la versión instalada de Python no es la última, funciona sin problemas. Cambiar la versión predeterminada de Python puede romper YUM.
Instale los paquetes en el Development tools
grupo necesarios para compilar los archivos del instalador.
sudo yum groupinstall -y "Development tools"
Instale algunas dependencias más:
sudo yum install -y redhat-lsb-core git python-setuptools python-devel openssl-devel libffi-devel
Instala la pip
herramienta de Python . Pip es el administrador de dependencias para los paquetes de Python.
wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py
El comando anterior instalará Pip en su sistema. Para asegurarse de tener la última versión de pip
y setuptools
, ejecute:
sudo pip install --upgrade pip setuptools
Instale Ansible usando Pip. Ansible automatiza el aprovisionamiento de software, la gestión de la configuración y la implementación de aplicaciones.
sudo pip install ansible
MariaDB es una bifurcación del servidor de base de datos MySQL. Instale MariaDB ejecutando.
sudo yum -y install mariadb mariadb-server mysql-devel
El motor de almacenamiento Barracuda es necesario para la creación de bases de datos ERPNext, por lo tanto, deberá configurar MariaDB para utilizar el motor de almacenamiento Barracuda. Edite el archivo de configuración predeterminado de MariaDB my.cnf
.
sudo nano /etc/my.cnf
Agregue las siguientes líneas debajo de la symbolic-links=0
línea.
innodb-file-format=barracuda
innodb-file-per-table=1
innodb-large-prefix=1
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
[mysql]
default-character-set = utf8mb4
Inicie MariaDB y permita que se inicie automáticamente en el momento del arranque.
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service
Antes de configurar la base de datos, deberá asegurar MariaDB. Puede asegurarlo ejecutando el mysql_secure_installation
script:
sudo mysql_secure_installation
Se le pedirá la contraseña de root actual de MariaDB. Por defecto, no hay una contraseña de root establecida en MariaDB. Presione la tecla "Enter" para continuar. Establezca una contraseña segura para el usuario raíz de su servidor MariaDB y responda "Y" a todas las demás preguntas que se le hagan. Las preguntas formuladas se explican por sí mismas.
Como el repositorio EPEL se instala de forma predeterminada en todas las instancias de Vultr CentOS 7, puede instalar directamente Redis y Nginx. Pero para instalar la última versión de Node.js, necesitará agregar el repositorio de Nodesource en su sistema.
Agregue el repositorio de Nodesource para Node.js 8.x.
sudo curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -
Instale Nginx, Nodejs y Redis:
sudo yum -y install nginx nodejs redis
Inicie Nginx y permita que se inicie en el momento del arranque ejecutando:
sudo systemctl start nginx
sudo systemctl enable nginx
Inicie Redis y permita que se inicie en el momento del arranque ejecutando:
sudo systemctl start redis
sudo systemctl enable redis
El wkhtmltopdf
programa es una herramienta de línea de comandos que convierte HTML a PDF utilizando el motor de renderizado QT Webkit. Instale las dependencias requeridas:
sudo yum -y install libXrender libXext xorg-x11-fonts-75dpi xorg-x11-fonts-Type1
Descargue la última versión de wkhtmltopdf
.
wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.4/wkhtmltox-0.12.4_linux-generic-amd64.tar.xz
Extraiga el archivo ejecutando:
sudo tar -xf wkhtmltox-0.12.4_linux-generic-amd64.tar.xz -C /opt
El comando anterior extraerá el archivo a /opt/wkhtmltox
. Crear un enlace simbólico para que wkhtmltopdf
y wkhtmltoimage
puede ser ejecutado a nivel mundial como un comando.
sudo ln -s /opt/wkhtmltox/bin/wkhtmltopdf /usr/bin/wkhtmltopdf
sudo ln -s /opt/wkhtmltox/bin/wkhtmltoimage /usr/bin/wkhtmltoimage
Ahora puede ejecutar el wkhtmltopdf -V
comando para verificar si está funcionando, verá:
[user@vultr ~]$ wkhtmltopdf -V
wkhtmltopdf 0.12.4 (with patched qt)
En este punto, tenemos todas las dependencias necesarias instaladas. Ahora puede proceder a instalar Bench.
Bench
es una utilidad de línea de comandos proporcionada por Frappe para instalar y administrar la aplicación ERPNext en un sistema basado en Unix tanto para fines de desarrollo como de producción. Bench también puede crear y administrar Nginx y la configuración del supervisor.
Cree un nuevo usuario para ejecutar procesos de Bench en el entorno aislado.
sudo adduser bench -d /opt/bench
Cambiar la contraseña del usuario.
sudo passwd bench
Proporcionar sudo
permisos al bench
usuario.
sudo usermod -aG wheel bench
Inicie sesión como el bench
usuario recién creado :
sudo su - bench
Clonar el repositorio de Bench en /opt/bench
:
cd /opt/bench
git clone https://github.com/frappe/bench bench-repo
Instalar banco usando pip
.
sudo pip install -e bench-repo
Una vez que se instala Bench, continúe para instalar ERPNext usando Bench.
Inicialice un directorio de banco con frappe framework instalado. Para mantener todo ordenado, trabajaremos bajo /opt/bench
directorio. Bench también configurará copias de seguridad periódicas y actualizaciones automáticas una vez al día.
cd /opt/bench
bench init erpnext && cd erpnext
Crea un nuevo sitio Frappe:
bench new-site erp.example.com
El comando anterior le pedirá la contraseña de root de MySQL. Proporcione la contraseña que estableció anteriormente para el usuario root de MySQL. También le pedirá que establezca una nueva contraseña para la cuenta de administrador. Necesitará esta contraseña más tarde para iniciar sesión en el panel del administrador.
Descargue los archivos de instalación de ERPNext desde el repositorio de git remoto utilizando el Banco.
bench get-app erpnext https://github.com/frappe/erpnext
Instale ERPNext en su sitio recién creado:
bench --site erp.example.com install-app erpnext
ERPNext está instalado en su servidor. Puede iniciar la aplicación inmediatamente para verificar si la aplicación se inició correctamente:
bench start
Sin embargo, debe detener la ejecución y continuar para configurar la aplicación para uso en producción.
De forma predeterminada, la aplicación ERPNext escucha en el puerto 8000, no en el puerto HTTP estándar 80. Además, no se recomienda ejecutar el servidor web incorporado para uso de producción, ya que expondremos el servidor al mundo. Por lo tanto, debe usar un servidor web de producción como proxy inverso, como Apache o Nginx. En este tutorial, utilizaremos Nginx como proxy inverso, ya que se puede configurar automáticamente con Bench. Bench puede generar e instalar automáticamente la configuración de acuerdo con la configuración de ERPNext.
Aunque podemos iniciar la aplicación utilizando el comando anterior, la ejecución de ERPNext se detendrá tan pronto como cierre el terminal. Para superar este problema, recomiendo usar Supervisor, que es muy útil para ejecutar la aplicación continuamente en un entorno de producción. Supervisor es un sistema de control de procesos que le permite monitorear y controlar una serie de procesos en sistemas operativos Linux. Una vez que Supervisor está configurado, iniciará automáticamente la aplicación en el momento del arranque, así como en caso de fallas. Bench puede configurar automáticamente Supervisor para la aplicación ERPNext.
Supervisor de instalación:
sudo yum -y install supervisor
Inicie Supervisor y permita que se inicie automáticamente en el momento del arranque:
sudo systemctl start supervisord
sudo systemctl enable supervisord
Configurar banco para uso en producción:
sudo bench setup production bench
El comando anterior puede solicitarle antes de reemplazar el archivo de configuración predeterminado del Supervisor existente por uno nuevo. Elige y
continuar. Bench agrega varios procesos al archivo de configuración de Supervisor. El comando anterior también le preguntará si desea reemplazar la configuración actual de Nginx por una nueva. Ingrese y
para continuar. Una vez que Bench haya terminado de instalar la configuración, proporcione a otros usuarios que ejecuten los archivos en el directorio de inicio del usuario de Bench.
chmod o+x /opt/bench/
Si está ejecutando un firewall en su servidor, deberá configurar el firewall para establecer una excepción para el servicio HTTP. Permita que el proxy inverso de Nginx se conecte desde fuera de la red.
sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --reload
Ahora puede acceder al sitio en http://erp.example.com
.
Puede verificar el estado de los procesos ejecutando:
sudo supervisorctl status all
Debería ver el siguiente resultado:
[bench@vultr ~]$ sudo supervisorctl status all
erpnext-redis:erpnext-redis-cache RUNNING pid 2554, uptime 1:06:58
erpnext-redis:erpnext-redis-queue RUNNING pid 2553, uptime 1:06:58
erpnext-redis:erpnext-redis-socketio RUNNING pid 2555, uptime 1:06:58
erpnext-web:erpnext-frappe-web RUNNING pid 2559, uptime 1:06:58
erpnext-web:erpnext-node-socketio RUNNING pid 2556, uptime 1:06:58
erpnext-workers:erpnext-frappe-default-worker-0 RUNNING pid 2549, uptime 1:06:58
erpnext-workers:erpnext-frappe-long-worker-0 RUNNING pid 2551, uptime 1:06:58
erpnext-workers:erpnext-frappe-schedule RUNNING pid 2550, uptime 1:06:58
erpnext-workers:erpnext-frappe-short-worker-0 RUNNING pid 2552, uptime 1:06:58
Para detener todos los procesos ERPNext, use:
sudo supervisorctl stop all
Para iniciar todos los procesos ERPNext, use:
sudo supervisorctl start all
Let's Encrypt proporciona certificados SSL gratuitos a los usuarios. SSL se puede instalar de forma manual o automática a través de Bench. Bench puede instalar automáticamente el cliente Let's Encrypt y obtener los certificados. Además, actualiza automáticamente la configuración de Nginx para usar los certificados.
El nombre de dominio que está utilizando para obtener los certificados de Let's Encrypt CA debe apuntar hacia el servidor. El cliente verifica la autoridad del dominio antes de emitir los certificados.
Habilite DNS multi-tenancy para la aplicación ERPNext.
bench config dns_multitenant on
Ejecute Bench para configurar Let's Encrypt en su sitio:
sudo bench setup lets-encrypt erp.example.com
Durante la ejecución del script, el cliente Let's Encrypt le pedirá que detenga temporalmente el servidor web Nginx. Instalará automáticamente los paquetes necesarios y el cliente Let's Encrypt. El cliente le pedirá su dirección de correo electrónico. También deberá aceptar los términos y condiciones. Una vez que se hayan generado los certificados, Bench también generará la nueva configuración para Nginx que utiliza los certificados SSL. Se le preguntará antes de reemplazar la configuración existente. Bench también crea una crontab
entrada para renovar automáticamente los certificados cada mes.
Finalmente, habilite el planificador para ejecutar automáticamente los trabajos programados:
bench enable-scheduler
Deberías ver:
[bench@vultr erpnext]$ bench enable-scheduler
Enabled for erp.example.com
Una vez que el proceso ha finalizado, puede acceder a su aplicación en https://erp.example.com
. Inicie sesión con el nombre de usuario Administrator
y la contraseña que estableció durante la instalación. Será llevado al escritorio donde deberá proporcionar información para configurar ERPNext ERP de acuerdo con su empresa. Ahora puede usar la aplicación para administrar su empresa.
Felicitaciones, tiene una aplicación ERPNext totalmente funcional instalada en su servidor CentOS 7.
ZPanel, un panel de control de alojamiento web popular, se bifurcó en 2014 a un nuevo proyecto llamado Sentora. Aprende a instalar Sentora en tu servidor con este tutorial.
Aprende cómo instalar Vtiger CRM, una aplicación de gestión de relaciones con el cliente, en CentOS 7 para aumentar tus ventas y mejorar el servicio al cliente.
¿Usando un sistema diferente? MODX Revolution es un sistema de gestión de contenido (CMS) de nivel empresarial rápido, flexible, escalable, gratuito y de código abierto escrito i
Vultr le ofrece una increíble conectividad de red privada para servidores que se ejecutan en la misma ubicación. Pero a veces quieres dos servidores en diferentes países.
Using a Different System? Introduction CyberPanel is one of the first control panels on the market that is both open source and uses OpenLiteSpeed. What thi
Using a Different System? ESpeak can generate text-to-speech (TTS) audio files. These can be useful for many reasons, such as creating your own Turin
¿Usando un sistema diferente? Thelia es una herramienta de código abierto para crear sitios web de comercio electrónico y administrar contenido en línea, escrito en PHP. Código fuente de Thelia i
¿Usando un sistema diferente? LibreNMS es un completo sistema de monitoreo de red de código abierto. Utiliza SNMP para obtener los datos de diferentes dispositivos. Una variedad
Cacti es una herramienta de gráficos y monitoreo de red de código abierto y libre escrita en PHP. Con la ayuda de RRDtool (herramienta de base de datos Round-Robin), Cacti se puede usar t
Usar un usuario sudo para acceder a un servidor y ejecutar comandos a nivel raíz es una práctica muy común entre Linux y Unix Systems Administrator. El uso de un sud
¿Usando un sistema diferente? Zabbix es un software gratuito y de código abierto listo para empresas que se utiliza para monitorear la disponibilidad de sistemas y componentes de red.
MODX es un sistema de gestión de contenido gratuito y de código abierto escrito en PHP. Utiliza MySQL o MariaDB para almacenar su base de datos. MODX está diseñado para el negocio i
YOURLS (Your Own URL Shortener) es una aplicación de análisis de datos y acortamiento de URL de código abierto. En este artículo, cubriremos el proceso de instalación
Using a Different System? RTMP is great for serving live content. When RTMP is paired with FFmpeg, streams can be converted into various qualities. Vultr i
LimeSurvey es una herramienta de encuestas en línea gratuita y de código abierto que se utiliza ampliamente para publicar encuestas en línea y para recopilar comentarios de encuestas. En este artículo, voy a
¿Usando un sistema diferente? Vanilla forum es una aplicación de foro de código abierto escrita en PHP. Es totalmente personalizable, fácil de usar y admite dispositivos externos.
¿Usando un sistema diferente? Netdata es una estrella en ascenso en el campo del monitoreo de métricas del sistema en tiempo real. En comparación con otras herramientas del mismo tipo, Netdata:
En este tutorial, aprende bien cómo configurar un servidor multijugador Just Cause 2. Requisitos previos Asegúrese de que el sistema esté completamente actualizado antes de comenzar
¿Usando un sistema diferente? En este tutorial, explicaré cómo configurar un servidor Starbound en CentOS 7. Requisitos previos Necesitas tener este juego contigo
ZNC es un enlace IRC gratuito y de código abierto que permanece permanentemente conectado a una red para que los clientes puedan recibir mensajes enviados mientras están desconectados. Thi
ZPanel, un panel de control de alojamiento web popular, se bifurcó en 2014 a un nuevo proyecto llamado Sentora. Aprende a instalar Sentora en tu servidor con este tutorial.
Aprende cómo instalar Vtiger CRM, una aplicación de gestión de relaciones con el cliente, en CentOS 7 para aumentar tus ventas y mejorar el servicio al cliente.
Esta guía completa le mostrará cómo configurar un servidor Counter-Strike 1.6 en Linux, optimizando el rendimiento y la seguridad para el mejor juego. Aprende los pasos más recientes aquí.
Los ataques de ransomware van en aumento, pero ¿puede la IA ayudar a lidiar con el último virus informático? ¿Es la IA la respuesta? Lea aquí, sepa que la IA es una bendición o una perdición
ReactOS, un sistema operativo de código abierto y gratuito, está aquí con la última versión. ¿Puede satisfacer las necesidades de los usuarios de Windows de hoy en día y acabar con Microsoft? Averigüemos más sobre este estilo antiguo, pero una experiencia de sistema operativo más nueva.
Whatsapp finalmente lanzó la aplicación de escritorio para usuarios de Mac y Windows. Ahora puede acceder a Whatsapp desde Windows o Mac fácilmente. Disponible para Windows 8+ y Mac OS 10.9+
Lea esto para saber cómo la Inteligencia Artificial se está volviendo popular entre las empresas de pequeña escala y cómo está aumentando las probabilidades de hacerlas crecer y dar ventaja a sus competidores.
Recientemente, Apple lanzó macOS Catalina 10.15.4, una actualización complementaria para solucionar problemas, pero parece que la actualización está causando más problemas que conducen al bloqueo de las máquinas Mac. Lee este artículo para obtener más información
13 Herramientas comerciales de extracción de datos de Big Data
Nuestra computadora almacena todos los datos de una manera organizada conocida como sistema de archivos de diario. Es un método eficiente que permite a la computadora buscar y mostrar archivos tan pronto como presiona buscar.