How to install Flectra CRM on CentOS 8

Share on Social Media

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

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:

  1. Accounting: Manage financial transactions, generate reports, and ensure compliance with accounting standards.
  2. Sales: Track leads, manage sales pipelines, and automate sales processes.
  3. Inventory Management: Monitor stock levels, track shipments, and optimize inventory.
  4. Human Resources: Oversee employee records, payroll, and recruitment processes.
  5. Project Management: Plan, execute, and monitor projects efficiently.
  6. Manufacturing: Manage production schedules, work orders, and quality control.
  7. 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

416748 9aea 6show?id=oLRJ54lcVEg&offerid=1074530.416748&bids=1074530

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.

Flectra CRM - Create Database
Flectra CRM – Create Database

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.

Flectra CRM - Dashboard
Flectra CRM – Dashboard

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!

2 thoughts on “How to install Flectra CRM on CentOS 8”

  1. 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

Leave a Comment