Learn how to install Flectra CRM on CentOS 8 with our step-by-step guide. Get detailed instructions for setting up and configuring Flectra on your CentOS 8 system for optimal performance. #centlinux #linux #flectra
Table of Contents
What is Flectra?
Flectra is a robust open-source business management software designed to cater to a wide range of business needs. Combining the functionalities of Enterprise Resource Planning (ERP) and Customer Relationship Management (CRM), Flectra offers an all-in-one solution to streamline various business processes.
Some of the key features of Flectra include:
- Accounting: Manage financial transactions, generate reports, and ensure compliance with accounting standards.
- Sales: Track leads, manage sales pipelines, and automate sales processes.
- Inventory Management: Monitor stock levels, track shipments, and optimize inventory.
- Human Resources: Oversee employee records, payroll, and recruitment processes.
- Project Management: Plan, execute, and monitor projects efficiently.
- Manufacturing: Manage production schedules, work orders, and quality control.
- E-commerce: Integrate with online stores to manage sales and inventory seamlessly.
Flectra is highly customizable, allowing businesses to tailor the software to their specific needs. It also supports a variety of third-party integrations, making it a versatile tool for enhancing productivity and efficiency. By providing a unified platform for managing different business operations, Flectra helps businesses reduce operational costs, improve decision-making, and achieve better overall performance.
Flectra is built using Python programming language and PostgreSQL database.
Recommended Online Training: Odoo (Open ERP) Basics
Odoo vs Flectra
Odoo and Flectra are both open-source business management software solutions that offer a comprehensive suite of applications for Enterprise Resource Planning (ERP) and Customer Relationship Management (CRM). Here is a comparison between the two:
Odoo
Popularity and Community:
- Larger User Base: Odoo has a larger user base and a more extensive community, which means more resources, tutorials, and third-party modules are available.
- More Mature: Being around since 2005, Odoo is more mature with a proven track record in various industries.
Features:
- Comprehensive Suite: Odoo offers a wide range of applications, including accounting, sales, inventory, manufacturing, HR, project management, and e-commerce.
- Modular Approach: Users can start with the basic apps and add more as needed, customizing the system to fit their specific business requirements.
Versions and Pricing:
- Enterprise and Community Editions: Odoo offers both a free Community Edition and a paid Enterprise Edition, which includes additional features and support.
- Cost: The Enterprise Edition can be relatively expensive, especially for small businesses.
Integration:
- Third-Party Integrations: Odoo supports a wide range of third-party integrations, making it suitable for businesses with diverse needs.
Flectra
Fork of Odoo:
- Derived from Odoo: Flectra was created as a fork of Odoo, with the aim of providing a more community-focused alternative.
- Focus on Open Source: Flectra emphasizes being fully open-source with no differentiation between community and enterprise editions.
Features:
- Similar Functionality: Flectra offers similar functionalities to Odoo, including modules for accounting, sales, inventory, HR, and more.
- Innovations and Improvements: Flectra aims to provide a cleaner codebase and incorporate feedback from the community to improve performance and usability.
Cost:
- Free and Open Source: Flectra is entirely free, which can be a significant advantage for startups and small businesses looking to minimize costs.
Community and Support:
- Growing Community: While smaller than Odoo’s, the Flectra community is growing, and there is a focus on community-driven development.
- Support: Being newer, Flectra might have fewer third-party modules and integrations available compared to Odoo.
Summary
- Odoo is a well-established platform with a large user base, extensive features, and strong third-party integrations. It is suitable for businesses of all sizes but can be expensive, especially for the Enterprise Edition.
- Flectra is a newer, community-focused alternative to Odoo, offering similar functionalities without the cost associated with enterprise features. It is ideal for businesses that prefer a fully open-source solution and are looking for a cost-effective option.
Choosing between Odoo and Flectra depends on your business needs, budget, and preference for community-driven development versus a more established platform.
Read Also: How to install Odoo 16 on Rocky Linux 9
Environment Specification
We are using a minimally installed CentOS 8 virtual machine with following specifications.
- CPU – 3.4 Ghz (2 cores)
- Memory – 2 GB
- Storage – 20 GB
- Operating System – CentOS Linux 8.2
- Hostname – flectra-01.centlinux.com
- IP Address – 192.168.116.231 /24
Update CentOS 8 Software Packages
By using a SSH client, log on to flectra-01.centlinux.com virtual machine as root user.
It is a best practice to update existing software packages on your Linux operating system, especially before installing a new software.
Execute the dnf command to update existing software packages.
# dnf update -y Last metadata expiration check: 0:22:15 ago on Mon 12 Oct 2020 09:30:17 PM PKT. Dependencies resolved. Nothing to do. Complete!
Since, we frequently update our Linux server, therefore, there isn’t any update available right now. The output may vary on your operating system.
Verify the Linux Kernel version that is being used in this installation guide.
# uname -r 4.18.0-193.19.1.el8_2.x86_64
Verify the Linux operating system version that is being used in this installation guide.
# cat /etc/redhat-release CentOS Linux release 8.2.2004 (Core)
Install PostgreSQL on CentOS 8
Flectra requires a PostgreSQL database as its data repository. Therefore, We are installing PostgreSQL and relevant software packages by using dnf command.
# dnf install -y postgresql-server libpq-devel
Start and Initialize PostgreSQL server instance by using following Linux command.
# postgresql-setup --initdb --unit postgresql * Initializing database in '/var/lib/pgsql/data' * Initialized, logs are in /var/lib/pgsql/initdb_postgresql.log
Enable and start PostgreSQL service as follows.
# systemctl enable --now postgresql.service Created symlink /etc/systemd/system/multi-user.target.wants/postgresql.service â /usr/lib/systemd/system/postgresql.service.
Our PostgreSQL Server is ready to use now. Create a database user for Flectra ERP.
# su - postgres -c "createuser -s flectra"
By keeping the scope of this document limited, we are installing the available version of PostgreSQL from default yum repository. You can refer to our previous post to install PostgreSQL on CentOS 8.
Install WKHTMLTOPDF on CentOS 8
Flectra ERP requires WKHTMLTOPDF software to generate reports in PDF format.
WKHTMLTOPDF software is not available in default yum repositories, But we can download WKHTMLTOPDF from their official website.
You can obtain the URL of WKHTMLTOPDF package from above link and then use wget command to download it directly in your Linux server.
# cd /tmp # wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox-0.12.6-1.centos8.x86_64.rpm --2020-10-12 22:17:09-- ... HTTP request sent, awaiting response... 200 OK Length: 16237416 (15M) [application/octet-stream] Saving to: âwkhtmltox-0.12.6-1.centos8.x86_64.rpmâ wkhtmltox-0.12.6-1. 100%[===================>] 15.48M 66.0KB/s in 6m 20s 2020-10-12 22:23:34 (41.7 KB/s) - âwkhtmltox-0.12.6-1.centos8.x86_64.rpmâ saved [16237416/16237416]
Install WKHTMLTOPDF package by using below mentioned Linux command.
# dnf localinstall -y wkhtmltox-0.12.6-1.centos8.x86_64.rpm
WKHTMLTOPDF and dependent packages has been installed on your Linux operating system.
Install Python on CentOS 8
Flectra ERP is built using Python programming language, therefore, you need Python runtimes to deploy CRM application.
Python 3 is available in default yum repository, therefore we are installing it by using dnf command.
# dnf install -y python3 python3-devel
Install Flectra Prerequisites
Flectra ERP has a handful of dependent software packages. You can easily install Flectra prerequisites by using a single Linux command.
# dnf install -y git gcc wget nodejs libxslt-devel bzip2-devel openldap-devel libjpeg-devel freetype-devel -y
Flectra ERP web requires ‘less’ JavaScript to properly render the style of the web pages. Therefore, we are installing it by using npm (Node Package Manager) command.
# npm install -g less /usr/local/bin/lessc -> /usr/local/lib/node_modules/less/bin/lessc + less@3.12.2 added 12 packages from 45 contributors in 23.106s
Install Flectra on CentOS 8
Create a Linux user to own Flectra software and processes.
# useradd -r -m -U -d /opt/flectra -s /bin/bash flectra
Switch to flectra user.
# su - flectra Last login: Wed Oct 14 23:35:55 PKT 2020 on pts/0
By using git command, create a clone of Flectra source code.
$ git clone --depth=1 --branch=1.0 https://gitlab.com/flectra-hq/flectra.git flectra Cloning into 'flectra'... remote: Enumerating objects: 26592, done. remote: Counting objects: 100% (26592/26592), done. remote: Compressing objects: 100% (18881/18881), done. remote: Total 26592 (delta 8354), reused 23223 (delta 6860), pack-reused 0 Receiving objects: 100% (26592/26592), 146.00 MiB | 75.00 KiB/s, done. Resolving deltas: 100% (8354/8354), done. Checking out files: 100% (24066/24066), done.
Create a Python virtual environment for deploying Flectra ERP.
$ python3 -m venv flectra01
Activate the Python virtual environment.
$ source flectra01/bin/activate (flectra01) $
Upgrade the version of pip package by using following Linux command.
(flectra01) $ pip install --upgrade pip 100% |ââââââââââââââââââââââââââââââââ| 1.5MB 326kB/s Installing collected packages: pipâââââââ Found existing installation: pip 9.0.3 Uninstalling pip-9.0.3:ââââââââââ Successfully uninstalled pip-9.0.3 Successfully installed pip-20.2.4â
Flectra CRM requires various Python modules to function properly. The source contains a complete list of required modules, therefore, we can use this file to install all the required modules in one go.
(flectra01) $ pip3 install -r flectra/requirements.txt ... Successfully installed Babel-2.3.4 Jinja2-2.10.1 Mako-1.0.4 MarkupSafe-0.23 Pillow-4.0.0 PyYAML-3.12 Werkzeug-0.11.15 XlsxWriter-0.9.3 argparse-1.4.0 beautifulsoup4-4.9.3 certifi-2020.6.20 chardet-3.0.4 decorator-4.0.10 docutils-0.12 ebaysdk-2.1.5 feedparser-5.2.1 gevent-1.1.2 greenlet-0.4.10 html2text-2016.9.19 idna-2.7 linecache2-1.0.0 lxml-3.7.1 mock-2.0.0 num2words-0.5.6 numpy-1.14.3 oauthlib-2.0.7 ofxparse-0.16 olefile-0.46 passlib-1.6.5 pbr-5.5.0 psutil-4.3.1 psycopg2-2.8.5 pycrypto-2.6.1 pydot-1.2.3 pyldap-2.4.28 pyparsing-2.1.10 pyserial-3.1.1 python-dateutil-2.5.3 python-stdnum-1.14 pytz-2016.7 pyusb-1.0.0 qrcode-5.3 reportlab-3.3.0 requests-2.20.0 six-1.15.0 soupsieve-2.0.1 suds-jurko-0.6 traceback2-1.4.0 unittest2-1.1.0 urllib3-1.24.3 validate-email-1.3 vatnumber-1.2 vobject-0.9.3 xlrd-1.0.0 xlwt-1.3.0
Deactivate the Python virtual environment.
(flectra01) $ deactivate
Exit from flectra user shell.
$ exit logout
Create directories for Flectra configuration, executables and log files.
# mkdir /opt/flectra/addons # mkdir /var/log/flectra # mkdir /etc/flectra # touch /var/log/flectra/flectra.log
Change the owner of the newly created directories to flectra user.
# chown -R flectra:flectra /opt/flectra/addons # chown -R flectra:flectra /var/log/flectra # chown -R flectra:flectra /etc/flectra
Edit Flectra configuration file.
# vi /etc/flectra/flectra.conf
Add following configurations in this file.
[options] admin_passwd = Ahmer@1234 db_host = False db_port = False db_user = flectra db_password = False logfile = /var/log/flectra/flectra.log logrotate = True proxy_mode = True addons_path = /opt/flectra/flectra/addons, /opt/flectra/addons
Create a Systemd Service for Flectra ERP
To enable autostart of CRM software at Linux startup, we need to create a Systemd service for Flectra CRM.
Use vim editor to create a service unit file.
# vi /etc/systemd/system/flectra.service
Add following directives in this file.
[Unit] Description=flectra [Service] Type=simple SyslogIdentifier=flectra PermissionsStartOnly=true User=flectra Group=flectra ExecStart=/opt/flectra/flectra01/bin/python3 /opt/flectra/flectra/flectra-bin -c /etc/flectra/flectra.conf StandardOutput=journal+console [Install] WantedBy=multi-user.target
Notify the Systemd about the changes in service file by using following systemctl command.
# systemctl daemon-reload
Enable and start Flectra service.
# systemctl enable --now flectra Created symlink /etc/systemd/system/multi-user.target.wants/flectra.service â /etc/systemd/system/flectra.service.
Configure Linux Firewall
To verify, is Flectra service running on default port 7073? execute the following Linux command.
# ss -tulpn | grep 7073 tcp LISTEN 0 128 0.0.0.0:7073 0.0.0.0:* users:(("python3",pid=19844,fd=5))
Allow Flectra service port in Linux firewall, to make the ERP accessible across the network.
# firewall-cmd --permanent --add-port=7073/tcp success # firewall-cmd --reload success
Accessing Flectra CRM
Open URL http://flectra-01.centlinux.com:7073 in a web browser.
Fill out the form and click on “Create Database”. The master password is one that we have set in the /etc/flectra/flectra.conf file.
You have reached at the Dashboard of the Flectra CRM. You can now customize the business suite according to your business requirement and start using it to manage different aspects of your business.
If you are new to Linux and facing difficulty in working at Linux Bash prompt. We recommend that, you should read The Linux Command Line, 2nd Edition: A Complete Introduction by William Shotts.
Final Thoughts
Installing Flectra CRM on CentOS 8 can be a straightforward process if you follow the correct steps. Flectra provides a robust, open-source alternative to Odoo, offering a comprehensive suite of business applications without the associated costs of enterprise editions. Whether you are a small business or a larger enterprise, Flectra CRM can help streamline your operations and improve efficiency.
If you need assistance with the installation or configuration of Flectra CRM on your CentOS 8 system, I offer professional services to ensure a smooth and successful setup. Check out my Fiverr gig for detailed instructions and personalized support:
Fiverr Gig: Linux System Administration
Get expert help to get your Flectra system up and running quickly and efficiently!
i found error like this
Style error
The style compilation failed, see the error below. Your recent actions may be the cause, please try reverting the changes you made.
(b'', b'The "–no-js" argument is deprecated, as inline JavaScript is disabled by default. Use "–js" to enable inline JavaScript (not recommended).
ArgumentError: Error evaluating function `floor`: argument must be a number in – on line 3159, column 17:
3158 height: @planner-height;
3159 margin: floor((@flectra-navbar-height – @planner-height)/2) 10px 0;
3160 cursor: pointer;
')This error occured while compiling the bundle 'web.assets_common' containing:
– /web/static/lib/bootstrap/less/variables.less
– /web/static/lib/bootstrap/less/mixins/vendor-prefixes.less
– /web/static/lib/bootstrap/less/mixins/buttons.less
– /web/static/lib/bootstrap/less/mixins/clearfix.less
– /web/static/lib/bootstrap/less/mixins/size.less
– /web/static/src/less/variables.less
– /web/static/src/less/utils.less
– /web_editor/static/src/less/web_editor.variables.less
– /web/static/lib/bootstrap-datetimepicker/src/less/_bootstrap-datetimepicker.less
– /web/static/src/less/fonts.less
– /web/static/src/less/navbar.less
– /web/static/src/less/mimetypes.less
– /web/static/src/less/modal.less
– /web/static/src/less/animation.less
– /web/static/src/less/rainbow.less
– /web/static/src/less/datepicker.less
– /web_planner/static/src/less/web_planner_common.less
– /web_tour/static/src/less/tip.less
– /web_tour/static/src/less/keyframes.less
Please discuss it with me on our Facebook page.