Instale el sistema ERP ERPNext en Debian 11/Debian 10 |
Hoy discutiremos cómo puede instalar el sistema ERPNext ERP en el sistema Linux Debian 11/Debian 10. ERPNext es un sistema ERP de código abierto escrito en el marco Frappe. El sistema ERPNext ERP proporciona características excepcionales adecuadas tanto para pequeñas como para medianas empresas. Algunas de sus características clave son:
- La gestión del inventario
- Gerencia de Contabilidad
- Gestión de compras
- Administración de manufactura
- 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 configuración de ERPNext:
- Python 3.10+ (v14)
- Nodo.js 16
- Redis 6: (almacenamiento en caché y actualizaciones en tiempo real)
- MariaDB 10.6.6+/Postgres v12 a v14: (backend de base de datos)
- hilo 1.12+: (administrador de dependencias js)
- pip 20+: (administrador de dependencias py)
- wkhtmltopdf: (versión 0.12.5 con qt parcheado) (para generación de pdf)
- cron: (trabajos programados del banco: renovación automática de certificados, copias de seguridad programadas)
- Nginx: (proxy de sitios multiinquilino en producción)
Instalar ERPNext en Debian 11/Debian 10
Comencemos la instalación de ERPNext asegurándonos de que nuestro sistema esté actualizado:
sudo apt update && sudo apt -y upgrade
Se recomienda reiniciar su sistema cada vez que actualice:
[ -e /var/run/reboot-required ] && sudo reboot
Paso 1: Instale las herramientas Python y wkhtmltopdf
Inicie el proceso de instalación asegurándose de que todos los paquetes de compilación de Python necesarios para compilar y configurar ERPNext estén instalados:
sudo apt -y install git vim libffi-dev python3-pip python3-venv python3-distutils python3-dev libssl-dev wkhtmltopdf xvfb libfontconfig
A partir de ERPNext 14, se requiere Python 3.10+. Instalar puedes instalarlo usando la siguiente guía:
- Instale Python 3.10 en Debian
Pero para simplificar, realizaremos la instalación de ERPNext 13 en su lugar.
Paso 2: instale Redis y Node.js
Instalar Node.js
curl -sL https://deb.nodesource.com/setup_16.x | sudo -E bash -
sudo apt install -y nodejs gcc g++ make
instalar hilo
curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | gpg --dearmor | sudo tee /usr/share/keyrings/yarnkey.gpg >/dev/null
echo "deb [signed-by=/usr/share/keyrings/yarnkey.gpg] https://dl.yarnpkg.com/debian stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt update && sudo apt install yarn -y
Instalar el servidor redis
sudo apt -y install redis-server
Paso 3: Instale el servidor web Nginx y el servidor de base de datos MariaDB
El siguiente paso es Nginx y MariaDB para servir ERPNext y almacenar datos de bases de datos respectivamente.
Instale Nginx usando:
sudo apt -y install nginx vim nano
Para instalar el servidor MariaDB en Debian, ejecute los siguientes comandos
curl -LsS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash -s -- --mariadb-server-version=10.8
sudo apt install mariadb-server mariadb-client -y
Establecer contraseña de base de datos para usuario root
sudo mariadb-secure-installation
Asegúrese de tener la siguiente configuración para el cliente mysqld y mysql tal como se proporciona:
sudo tee /etc/mysql/mariadb.conf.d/erpnext-server.cnf<<EOF
[mysqld]
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
EOF
Después de la instalación del servidor de base de datos MariaDB, debe crear una base de datos para el usuario de erpnext.
sudo systemctl restart mariadb
Inicie sesión y cree una base de datos Mysql
sudo mysql -u root
Cree una base de datos y otorgue al usuario todos los permisos para administrar la base de datos.
CREATE USER erpnext@localhost IDENTIFIED BY 'password123';
CREATE DATABASE erpnext;
GRANT ALL ON erpnext.* TO 'erpnext'@'localhost' with grant option;
FLUSH PRIVILEGES;
QUIT;
Comente otras configuraciones en el archivo del servidor predeterminado.
sudo sed -i '/character-set-server/s/^/#/g' /etc/mysql/mariadb.conf.d/50-server.cnf
sudo sed -i '/collation-server/s/^/#/g' /etc/mysql/mariadb.conf.d/50-server.cnf
Paso 4: Instale Bench y ERPNext
Un banco es una herramienta que se utiliza para instalar y administrar ERPNext en su sistema Debian. Crearemos un usuario que ejecutará el sistema ERPNext y luego configuraremos el sistema.
sudo useradd -m -s /bin/bash erpnext
sudo passwd erpnext
sudo usermod -aG sudo erpnext
Actualiza tu RUTA.
$ sudo su - erpnext
$ vim ~/.bashrc
export PATH=$PATH:~/.local/bin/
$ source ~/.bashrc
Cree un directorio para la configuración de ERPNext y otorgue al usuario erpnext
permisos de lectura y escritura en el directorio:
sudo mkdir /srv/bench
sudo chown -R erpnext:erpnext /srv/bench
Luego cambie al usuario erpnext e instale la aplicación:
cd /srv/bench
Actualizar pip3:
pip3 install --upgrade pip
Ahora instale el banco usando el comando pip:
pip3 install frappe-bench --user
Validar instalación:
$ bench --version
5.16.2
El siguiente paso es inicializar el directorio del banco con frappe framework instalado:
cd /srv/bench
Para instalar una versión específica, especifique su rama. Por ejemplo, para la versión 13:
bench init --frappe-branch version-13 frappe-bench
Un resultado de muestra es:
...
Browserslist: caniuse-lite is outdated. Please run next command `yarn upgrade caniuse-lite browserslist`
✔ Built css/report.min.css
✔ Built css-rtl/report.min.css
✔ Built js/report.min.js
✔ Built js/data_import_tools.min.js
✔ Built css/web_form.css
✔ Built css-rtl/web_form.css
✔ Built js/control.min.js
✔ Built css/printview.css
✔ Built js/desk.min.js
✔ Built css/email.css
✔ Built css/login.css
✔ Built css-rtl/frappe-web-b4.css
✔ Built css/frappe-web-b4.css
✔ Built css/desk.min.css
✔ Built css-rtl/email.css
✔ Built css-rtl/login.css
✔ Built css-rtl/printview.css
✔ Built css-rtl/desk.min.css
✔ Built js/form.min.js
✨ Done in 73.308s
Done in 74.79s.
SUCCESS: Bench frappe-bench initialized
Crea un nuevo sitio Frappe. Reemplace erp.computingforgeeks.com con el FQDN de su sitio web ERPNext.
$ cd /srv/bench/frappe-bench/
$ SITE=erp.computingforgeeks.com
$ bench new-site $SITE
MySQL root password:
Installing frappe...
Updating DocTypes for frappe : [========================================]
Updating country info : [========================================]
Set Administrator password: <input-admin-pass>
Re-enter Administrator password: <confirm-admin-pass>
*** Scheduler is disabled ***
El comando anterior le pedirá que proporcione la contraseña raíz de MySQL y 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 continuar.
Obtenga la aplicación erpnext e instálela.
bench get-app --branch version-13 erpnext
bench --site $SITE install-app erpnext
Paso 5: Iniciar la aplicación ERPNext y acceder a la interfaz de usuario
Una vez implementada la aplicación, puede iniciarla usando el comando:
$ bench start
Cuando el programa se esté ejecutando, deberías obtener:
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 el resultado, puede confirmar que el servicio se está ejecutando en http://0.0.0.0:8000/. Para acceder a la interfaz web, abra la dirección IP del servidor y el puerto http://dirección-ip:8000.
Esta no es una forma recomendada de ejecutar ERPNext en producción. En su lugar, instalaremos supervisor y configuraremos Nginx:
Paso 6: configurar Nginx y Supervisord
Supervisor de instalación:
sudo apt install supervisor
Ejecute el script de configuración de producción:
$ bench --site $SITE enable-scheduler
$ bench --site $SITE set-maintenance-mode off
$ sudo bench setup production erpnext
supervisor.conf already exists and this will overwrite it. Do you want to continue? [y/N]: y
Port configuration list:
Site erp.computingforgeeks.com 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 en: /etc/nginx/conf.d/erpnext.conf y el archivo de configuración del supervisor es /etc/supervisor/conf.d/erpnext.conf. Puede confirmar el estado del servicio nginx.
systemctl status nginx
Abra el dominio de su aplicación configurado para iniciar sesión- //erp.computingforgeeks.com
Deberías obtener una página para iniciar sesión. Utilice el nombre de usuario Administrador y la contraseña que proporcionó durante la configuración.
Seleccione el idioma de su elección y haga clic en “Siguiente“. Luego seleccione el país, se completará la moneda automáticamente.
Agregue el primer usuario con correo electrónico y contraseña y haga clic en el botón "Completar configuración".
Cuando termine, debería acceder al panel web de ERPNext.
Para reiniciar el uso del servicio ERPnext:
sudo supervisorctl restart all
Puede instalar otras aplicaciones en su sitio utilizando la herramienta de línea de comandos bench
.
bench get-app hrms
bench --site $SITE install-app hrms
Guías similares:
- Configurar ERPNext en Ubuntu
- Cómo instalar Odoo en Ubuntu Linux
- Instale Dolibarr ERP y CRM en Ubuntu