Как установить программное обеспечение для управления бизнесом Flectra с Nginx на CentOS 8
На этой странице
- Предпосылки
- Начало работы
- Установка зависимостей Python
- Установите PostgreSQL
- Установить Флектру
- Настройка Flectra
- Создание служебного файла Systemd для Flectra
- Настройка Nginx для Flectra
- Доступ к веб-интерфейсу Flectra
- Заключение
Flectra — это программное обеспечение для управления бизнесом нового поколения с открытым исходным кодом, которое объединяет системы CRM и ERP в один пакет. Его цель — дать пользователям возможность изменять систему в соответствии с потребностями своего бизнеса и легко добавлять дополнительные инструменты для масштабирования своего бизнеса. Проще говоря, Flectra предоставляет вам комплексную платформу, которую вы можете легко изменять или настраивать в соответствии с вашими требованиями. Flectra предоставляет множество функций, таких как бухгалтерский учет, электронная коммерция, управление запасами, маркетинг, управление проектами, CRM, отчетность, управление отпусками и многие другие.
В этом руководстве мы покажем вам, как установить Flectra с Nginx на CentOS 8.
Предпосылки
- Сервер под управлением CentOS 8 с оперативной памятью не менее 4 ГБ.
- На вашем сервере настроен пароль root.
Начиная
Во-первых, вам нужно будет обновить системные пакеты до последней версии. Вы можете сделать это с помощью следующей команды:
dnf update -y
После обновления всех пакетов рекомендуется отключить SELinux в вашей системе. Вы можете отключить его, отредактировав файл /etc/selinux/config:
nano /etc/selinux/config
Измените следующую строку:
SELINUX=disabled
Сохраните и закройте файл, затем перезапустите сервер, чтобы изменения вступили в силу.
Установите зависимости Python
Далее вам нужно будет установить Python и другие зависимости Flectra в вашей системе. Вы можете установить их все, выполнив следующую команду:
dnf install python36 python36-devel git gcc wget nodejs libxslt-devel bzip2-devel openldap-devel libjpeg-devel freetype-devel -y
После установки всех пакетов выполните следующую команду, чтобы установить модуль Node.js:
npm install -g less
Далее вам также потребуется установить пакет wkhtmltopdf в вашей системе. Вы можете загрузить его с официальной страницы загрузки:
После загрузки установите загруженный файл с помощью следующей команды:
dnf localinstall wkhtmltox-0.12.6-1.centos8.x86_64.rpm
Как только вы закончите, вы можете перейти к следующему шагу.
Установить PostgreSQL
Flectra использует PostgreSQL в качестве базы данных. Поэтому вам нужно будет установить его на свой сервер. Вы можете установить его с помощью следующей команды:
dnf install postgresql-server -y
После установки сервера PostgreSQL инициализируйте базу данных с помощью следующей команды:
postgresql-setup --initdb --unit postgresql
Вы должны получить следующий результат:
* Initializing database in '/var/lib/pgsql/data' * Initialized, logs are in /var/lib/pgsql/initdb_postgresql.log
Затем запустите службу PostgreSQL и включите ее запуск при перезагрузке системы с помощью следующей команды:
systemctl start postgresql
systemctl enable postgresql
Затем проверьте состояние службы PostgreSQL с помощью следующей команды:
systemctl status postgresql-12
Вы должны получить следующий результат:
? postgresql-12.service - PostgreSQL 12 database server Loaded: loaded (/usr/lib/systemd/system/postgresql-12.service; disabled; vendor preset: disabled) Active: active (running) since Thu 2020-08-13 04:39:31 EDT; 7s ago Docs: https://www.postgresql.org/docs/12/static/ Process: 1176 ExecStartPre=/usr/pgsql-12/bin/postgresql-12-check-db-dir ${PGDATA} (code=exited, status=0/SUCCESS) Main PID: 1182 (postmaster) Tasks: 8 (limit: 12537) Memory: 17.3M CGroup: /system.slice/postgresql-12.service ??1182 /usr/pgsql-12/bin/postmaster -D /var/lib/pgsql/12/data/ ??1183 postgres: logger ??1185 postgres: checkpointer ??1186 postgres: background writer ??1187 postgres: walwriter ??1188 postgres: autovacuum launcher ??1189 postgres: stats collector ??1190 postgres: logical replication launcher Aug 13 04:39:31 centos8 systemd[1]: Starting PostgreSQL 12 database server... Aug 13 04:39:31 centos8 postmaster[1182]: 2020-08-13 04:39:31.136 EDT [1182] LOG: starting PostgreSQL 12.3 on x86_64-pc-linux-gnu, compiled b> Aug 13 04:39:31 centos8 postmaster[1182]: 2020-08-13 04:39:31.137 EDT [1182] LOG: listening on IPv6 address "::1", port 5432 Aug 13 04:39:31 centos8 postmaster[1182]: 2020-08-13 04:39:31.137 EDT [1182] LOG: listening on IPv4 address "127.0.0.1", port 5432 Aug 13 04:39:31 centos8 postmaster[1182]: 2020-08-13 04:39:31.139 EDT [1182] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432" Aug 13 04:39:31 centos8 postmaster[1182]: 2020-08-13 04:39:31.142 EDT [1182] LOG: listening on Unix socket "/tmp/.s.PGSQL.5432" Aug 13 04:39:31 centos8 postmaster[1182]: 2020-08-13 04:39:31.161 EDT [1182] LOG: redirecting log output to logging collector process Aug 13 04:39:31 centos8 postmaster[1182]: 2020-08-13 04:39:31.161 EDT [1182] HINT: Future log output will appear in directory "log". Aug 13 04:39:31 centos8 systemd[1]: Started PostgreSQL 12 database server.
Далее вам нужно будет создать нового пользователя PostgreSQL для Flectra. Вы можете создать его с помощью следующей команды:
su - postgres -c "createuser -s flectra"
Как только вы закончите, вы можете перейти к следующему шагу.
Установить Флектру
Перед установкой Flectra вам нужно будет создать отдельного пользователя для Flectra. Вы можете создать его с помощью следующей команды:
useradd -m -U -r -d /opt/flectra -s /bin/bash flectra
Примечание. Убедитесь, что имя пользователя должно совпадать с именем пользователя PostgreSQL.
Затем войдите в систему под пользователем Flectra и загрузите Flectra из репозитория Git с помощью следующей команды:
su - flectra
git clone --depth=1 --branch=1.0 https://gitlab.com/flectra-hq/flectra.git flectra
Затем создайте виртуальную среду для Flectra с помощью следующей команды:
python3 -m venv my-flectra
Затем активируйте виртуальную среду с помощью следующей команды:
source my-flectra/bin/activate
Затем установите все модули Python, выполнив следующую команду:
pip3 install -r flectra/requirements.txt
После установки всех модулей деактивируйте виртуальную среду с помощью следующей команды:
deactivate
Далее выйдите из пользователя Flectra с помощью следующей команды:
exit
Настроить Флектру
Во-первых, вам нужно будет создать несколько каталогов для дополнений Flectra, файл конфигурации и журнал. Вы можете создать их с помощью следующей команды:
mkdir /opt/flectra/flectra-custom-addons
mkdir /var/log/flectra
mkdir /etc/flectra
touch /var/log/flectra/flectra.log
Затем измените владельца вышеуказанных каталогов на flectra, используя следующую команду:
chown -R flectra:flectra /opt/flectra/flectra-custom-addons
chown -R flectra:flectra /var/log/flectra/
chown -R flectra:flectra /etc/flectra
Затем создайте файл конфигурации Flectra с помощью следующей команды:
nano /etc/flectra/flectra.conf
Добавьте следующие строки:
[options] admin_passwd = your-flectra-password 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/flectra-custom-addons
Сохраните и закройте файл, когда закончите.
Создать служебный файл Systemd для Flectra
Далее вам нужно будет создать файл службы systemd для Flectra, чтобы управлять службой Flectra. Вы можете создать его с помощью следующей команды:
nano /etc/systemd/system/flectra.service
Добавьте следующие строки:
[Unit] Description=flectra #Requires=postgresql-10.6.service #After=network.target postgresql-10.6.service [Service] Type=simple SyslogIdentifier=flectra PermissionsStartOnly=true User=flectra Group=flectra ExecStart=/opt/flectra/my-flectra/bin/python3 /opt/flectra/flectra/flectra-bin -c /etc/flectra/flectra.conf StandardOutput=journal+console [Install] WantedBy=multi-user.target
Сохраните и закройте файл, когда закончите. Затем перезагрузите демон systemd с помощью следующей команды:
systemctl daemon-reload
Затем запустите службу Flectra и включите ее запуск при перезагрузке системы с помощью следующей команды:
systemctl start flectra
systemctl enable flectra
Теперь вы можете проверить статус службы Flectra с помощью следующей команды:
systemctl status flectra
Если все в порядке, вы должны получить следующий вывод:
? flectra.service - flectra Loaded: loaded (/etc/systemd/system/flectra.service; disabled; vendor preset: disabled) Active: active (running) since Thu 2020-08-13 05:34:15 EDT; 1min 3s ago Main PID: 10917 (python3) Tasks: 4 (limit: 25028) Memory: 57.9M CGroup: /system.slice/flectra.service ??10917 /opt/flectra/my-flectra/bin/python3 /opt/flectra/flectra/flectra-bin -c /etc/flectra/flectra.conf Aug 13 05:34:15 centos8 systemd[1]: Started flectra.
Теперь Flectra работает и прослушивает порт 7073. Вы можете проверить это с помощью следующей команды:
netstat -plntu | grep 7073
Вы должны увидеть следующий вывод:
tcp 0 0 0.0.0.0:7073 0.0.0.0:* LISTEN 10917/python3
Настроить Nginx для Flectra
Далее вам нужно будет настроить Nginx в качестве обратного прокси для Flectra. Таким образом, вы можете получить доступ к Flectra, используя порт 80.
Сначала установите веб-сервер Nginx с помощью следующей команды:
dnf install nginx -y
После установки Nginx запустите службу Nginx и включите ее запуск при перезагрузке системы:
systemctl start nginx
systemctl enable nginx
Затем создайте новый файл конфигурации виртуального хоста Nginx для Flectra:
nano /etc/nginx/conf.d/flectra.conf
Добавьте следующие строки:
#flectra server upstream flectra { server 127.0.0.1:7073; } server { listen 80; server_name flectra.your-domain.com; proxy_read_timeout 720s; proxy_connect_timeout 720s; proxy_send_timeout 720s; # Add Headers for flectra proxy mode proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Real-IP $remote_addr; # log access_log /var/log/nginx/flectra.access.log; error_log /var/log/nginx/flectra.error.log; # Redirect requests to flectra backend server location / { proxy_redirect off; proxy_pass http://flectra; } # common gzip gzip_types text/css text/less text/plain text/xml application/xml application/json application/javascript; gzip on; }
Сохраните и закройте файл, когда закончите. Затем перезапустите службу Nginx, чтобы применить изменения:
systemctl restart nginx
На данный момент веб-сервер Nginx настроен для обслуживания Flectra. Теперь вы можете перейти к следующему шагу.
Доступ к веб-интерфейсу Flectra
Теперь откройте веб-браузер и введите URL-адрес http://flectra.your-domain.com. Вы будете перенаправлены на следующий экран:
Укажите свой мастер-пароль, который вы определили в файле конфигурации, данные базы данных, адрес электронной почты, пароль и нажмите кнопку «Создать базу данных». Вы должны увидеть приборную панель Flectra, как показано на следующем экране:
Заключение
Поздравляем! вы успешно установили Flectra с Nginx на CentOS 8. Теперь вы можете разместить свою собственную бизнес-информационную систему Flectra и развивать свой бизнес с помощью мощного модульного дизайна Flectras и множества надстроек. Для получения дополнительной информации о Flectra вы можете прочитать официальную документацию Flectra.