Installeer Odoo EPR 17 op Rocky, Alma, CentOS, RHEL 9|8
Op het moment van het schrijven van dit artikel is Odoo ERP 17 de meest recente versie van de geweldige open-source Enterprise Resource Planning (ERP) software, ontwikkeld om je bedrijfsprocessen gestroomlijnd te houden. Odoo ERP biedt een platform met geïntegreerde applicaties om al je zakelijke problemen op te lossen, van HR, CRM, voorraadbeheer, financiën, productie, verkoop tot e-commerce. In Odoo ERP worden al deze integraties verspreid via een modulaire aanpak, waardoor je met een paar modules kunt beginnen en indien nodig meer kunt integreren. Dit maakt Odoo een zeer flexibele en schaalbare oplossing.
Om Odoo ERP 17 te installeren op Rocky Linux, AlmaLinux, CentOS of RHEL 9/8, moet je verschillende stappen volgen:
- Installatie van afhankelijkheden die nodig zijn om Odoo 17 uit te voeren
- Aanmaken van een Python-virtuele omgeving
- Installatie van Odoo 17 op Rocky/AlmaLinux/RHEL 9|8
- Configuratie van Odoo en webserver
- Toegang tot en gebruik van Odoo
Voor de functies van Odoo ERP 17, zie de release-opmerkingen van Odoo 17
Vereisten
Voordat je verder kunt gaan, moet je aan de volgende vereisten voldoen.
Systeemeisen:
- Besturingssysteem: Geïnstalleerd Rocky, Alma, CentOS Stream of RHEL 8/9
- CPU: Minimaal dual-core CPU (Als je een quad-core hebt, is dat beter).
- RAM: Minimaal 2GB geheugen (Hoe meer, hoe beter; 4GB of meer is aan te raden).
- Schijf: Minimaal 20GB vrije schijfruimte voor het opslaan van Odoo-gegevens.
Softwarevereisten:
- Python: Python 3.10 of hoger.
- PostgreSQL: PostgreSQL 12 of hoger.
- Node.js en npm: Node.js 12.x of hoger en npm voor het beheren van assets.
- Wkhtmltopdf: Een specifieke versie van wkhtmltopdf (0.12.5 of 0.12.6) is vereist voor het afdrukken van PDF-rapporten.
- Nginx of Apache: Voor reverse proxy (Nginx wordt over het algemeen geprefereerd).
Laten we beginnen met de installatie van Odoo ERP.
Stap 1 – Installeer build-afhankelijkheden
Werk uw systeem bij voordat u iets installeert:
sudo dnf -y updateAls je kernel-updates hebt, overweeg dan om het systeem opnieuw op te starten voordat je verdergaat:
sudo rebootInstalleer vervolgens de ontwikkeltools op uw systeem.
sudo dnf groupinstall -y "Development Tools"Installeer extra bibliotheken die mogelijk nodig zijn bij het bouwen van Odoo vanaf de bron:
sudo dnf install -y vim git gcc bzip2-devel redhat-rpm-config libxslt-devel openldap-devel libjpeg-devel freetype-develStap 2 – Installeer Python 3.11 & Node.js
We moeten Python 3.10+ installeren. In dit artikel zullen we Python 3.11 gebruiken.
sudo dnf install python3.11 python3.11-devel python3.11-pipBevestig dat het succesvol is geïnstalleerd door de versie te controleren.
$ python3.11 --version
Python 3.11.9Laten we ook Node.js installeren. Er is geen specifieke versie, we zullen Node.js v18 gebruiken.
sudo dnf module reset nodejs -y
sudo dnf module install nodejs:18 -yControleer door het versienummer van Node.js te controleren.
$ node --version
v18.20.2Installeer de rtlcss node-module met npm:
sudo npm install -g rtlcssInstalleer ook Less en de Less Plugin Clean CSS:
sudo npm install -g less less-plugin-clean-cssStap 3 – Installeer en configureer de PostgreSQL-database
PostgreSQL 12+ is vereist. We kunnen PostgreSQL 16 installeren, dat beschikbaar is in de OS APPStream-repositories. Reset de huidige PostgreSQL-module.
sudo dnf module -y disable postgresqlSchakel de PostgreSQL 16-module in.
sudo dnf install -y @postgresql:16Installeer ook het postgresql-devel pakket.
sudo dnf install -y postgresql-develInitialiseer de databaseserver.
sudo postgresql-setup initdbStart en schakel de databaseservice in.
sudo systemctl enable --now postgresqlMaak uiteindelijk de odoo-databasegebruiker aan. Voer het wachtwoord voor de gebruiker in wanneer hierom wordt gevraagd.
sudo su - postgres -c "createuser -s odoo"Om een gebruiker met wachtwoord aan te maken, voer uit:
sudo -u postgres createuser odoo -U postgres -dPVoor een externe PostgreSQL-database server moet je externe verbindingen inschakelen op je DB-server zodat Odoo ermee kan verbinden.
Stap 4 – Installeer wkhtmltopdf
Wkhtmltopdf is een open-source commandoregeltool die door Odoo wordt gebruikt om HTML om te zetten naar PDF en andere afbeeldingsformaten via de krachtige Webkit-renderingmotor. Dit is nodig voor het genereren van documenten zoals facturen, rapporten en andere afdrukbare documenten.
Download en installeer het wkhtmltopdf RPM-pakket.
- RHEL 9-gebaseerde systemen
wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-2/wkhtmltox-0.12.6.1-2.almalinux9.x86_64.rpm
sudo dnf install -y ./wkhtmltox-0.12.6.1-2.almalinux9.x86_64.rpm- RHEL 8-gebaseerde systemen
wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-2/wkhtmltox-0.12.6.1-2.almalinux8.x86_64.rpm
sudo dnf install -y ./wkhtmltox-0.12.6.1-2.almalinux8.x86_64.rpm
Installeer validatie:
$ wkhtmltopdf --version
wkhtmltopdf 0.12.6.1 (with patched qt)Stap 5 – Odoo Python-omgeving instellen
Maak een gebruiker genaamd odoo die de Odoo-diensten zal uitvoeren.
sudo useradd -m -U -r -d /opt/odoo -s /bin/bash odooInstalleer virtualenv:
sudo pip3.11 install virtualenvOverschakelen naar het aangemaakte odoo gebruikersaccount.
sudo su - odooClone de Github-repository van Odoo lokaal.
git clone --depth 1 --branch 17.0 --single-branch https://github.com/odoo/odoo.gitGebruik het virtualenv commando om een Python-virtuele omgeving voor Odoo ERP te maken.
virtualenv odoo-venvActiveer de gemaakte virtuele omgeving.
source odoo-venv/bin/activateWerk pip bij nadat je het hebt geactiveerd.
pip3.11 install --upgrade pipInstalleer het Python-pakket wheel in de omgeving
pip3.11 install wheelInstalleer Odoo 17 Python-vereisten
pip3.11 install -r odoo/requirements.txtOm alle in de virtuele omgeving geïnstalleerde Python-pakketten weer te geven, voert u de volgende opdracht uit:
pip3.11 listMaak een map aan waarin alle add-ons van derden worden opgeslagen.
mkdir odoo/custom-addonsVerlaat de virtuele omgeving.
exitStap 6 – Configureer Odoo ERP
Kopieer het voorbeeld van het Odoo-configuratiebestand naar de /etc-map op uw systeem.
sudo cp /opt/odoo/odoo/debian/odoo.conf /etc/odoo.confHet odoo.conf-bestand bevat belangrijke configuraties die nodig zijn voor Odoo om correct te functioneren. Open het bestand om te bewerken.
# Open with vim
sudo vim /etc/odoo.conf
# Open with nano
sudo nano /etc/odoo.confPas de instellingen aan zodat ze er als hieronder uitzien.
[options]
; This is the password that allows database operations:
admin_passwd = Str0ngAdminPasw0rd
db_host = False
db_port = False
db_user = odoo
db_password = False
addons_path = /opt/odoo/odoo/addons, /opt/odoo/odoo/custom-addons
default_productivity_apps = True
xmlrpc_port = 8069Voor een externe PostgreSQL-server, stel in:
- db_host: IP-adres van de PostgreSQL-database server
- db_wachtwoord: Wachtwoord voor de gebruiker die op de externe database is aangemaakt
- db_user: Externe databasegebruiker aangemaakt.
Geef het bestand de juiste machtigingen:
sudo chown odoo:odoo /etc/odoo.conf
sudo chmod 640 /etc/odoo.confMaak een Odoo systemd-service aan.
sudo tee /etc/systemd/system/odoo.service<<EOF
[Unit]
Description=Odoo ERP System
Documentation=http://www.odoo.com
Requires=postgresql.service
After=network.target postgresql.service
[Service]
Type=simple
SyslogIdentifier=odoo
PermissionsStartOnly=true
User=odoo
Group=odoo
ExecStart=/opt/odoo/odoo-venv/bin/python3.11 /opt/odoo/odoo/odoo-bin \
--config=/etc/odoo.conf \
--addons-path=/opt/odoo/odoo/addons/ \
--logfile /var/log/odoo/odoo-server.log
StandardOutput=journal+console
KillMode=mixed
[Install]
WantedBy=multi-user.target
EOFMaak een logmap aan.
sudo mkdir /var/log/odoo/
sudo chown -R odoo:odoo /var/log/odoo/Start en schakel de odoo-service in.
sudo systemctl daemon-reload
sudo systemctl enable --now odoo.serviceControleer of de service correct werkt.
$ systemctl status odoo
● odoo.service - Odoo ERP System
Loaded: loaded (/etc/systemd/system/odoo.service; enabled; vendor preset: disabled)
Active: active (running) since Thu 2024-07-18 11:34:34 UTC; 21s ago
Docs: http://www.odoo.com
Main PID: 70809 (python3.11)
Tasks: 4 (limit: 48750)
Memory: 88.2M
CGroup: /system.slice/odoo.service
└─70809 /opt/odoo/odoo-venv/bin/python3.11 /opt/odoo/odoo/odoo-bin --config=/etc/odoo.conf --addons-path=/opt/odoo/odoo/addons/ --logfile /var/log/odoo/odoo-server.log
Jul 18 11:34:34 rocky8.cloudspinx.com systemd[1]: Started Odoo ERP System.Stap 7 – Configureer firewalld
De service luistert op poort 8069.
$ ss -tunelp | grep 8069
tcp LISTEN 0 128 0.0.0.0:8069 0.0.0.0:* users:(("python3.11",pid=70809,fd=4)) uid:989 ino:115353 sk:5 <->Als je firewalld hebt, sta poort 8069 toe
sudo firewall-cmd --add-port=8069/tcp --permanent
sudo firewall-cmd --reloadJe kunt toegang krijgen tot de Odoo-webconsole op http://serverip:8069 en de installatie afronden.
Voer de waarde van admin_passwd in die is ingesteld in odoo.conf voor het hoofdwachtwoord. Geef de databasenaam op, bijvoorbeeld odoo17. Maak vervolgens de eerste admin-gebruiker aan door een e-mailadres en wachtwoord op te geven. Optioneel kunt u het telefoonnummer, de taal en het land instellen.
Na het afronden van de installatie, log in met de aangemaakte admin-gebruiker en het bijbehorende wachtwoord.
Je krijgt toegang tot het Odoo-dashboard om modules enzovoort te activeren.
Stap 8 – Nginx-proxy configureren
We kunnen Nginx gebruiken om verzoeken naar Odoo ERP door te sturen. Installeer het nginx-pakket.
sudo dnf -y install nginxSchakel de service in om automatisch te starten bij het opstarten van het systeem.
sudo systemctl enable nginxMaak een Nginx-configuratiebestand voor de Odoo-service.
sudo vim /etc/nginx/conf.d/odoo.confPlak en bewerk de volgende inhoud. Je moet odoo.example.com vervangen door je eigen domeinnaam.
# Odoo Upstreams
upstream odooserver {
server 127.0.0.1:8069;
}
server {
listen 80;
server_name odoo.example.com;
access_log /var/log/nginx/odoo_access.log;
error_log /var/log/nginx/odoo_error.log;
# Proxy settings
proxy_read_timeout 720s;
proxy_connect_timeout 720s;
proxy_send_timeout 720s;
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;
# Request for root domain
location / {
proxy_redirect off;
proxy_pass http://odooserver;
}
# Cache static files
location ~* /web/static/ {
proxy_cache_valid 200 90m;
proxy_buffering on;
expires 864000;
proxy_pass http://odooserver;
}
# Gzip Compression
gzip_types text/css text/less text/plain text/xml application/xml application/json application/javascript;
gzip on;
}Controleer de nginx-configuraties.
$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successfulAls alles er goed uitziet, start de service dan opnieuw.
sudo systemctl restart nginxToegang tot het Odoo webdashboard op http://yourdomain.com
Stap 9 – Het gebruik van Let’s Encrypt SSL
Voor servers op een openbaar domein kunt u gratis Let’s Encrypt SSL gebruiken.
Installeer certbot en de Nginx-plugin ervan.
sudo dnf install epel-release
sudo dnf install certbot python3-certbot-nginx -yVerzoek om Let’s Encrypt SSL.
DOMAIN=odoo.example.com #replace with your actual domain
sudo certbot --nginx -d $DOMAIN --agree-tosAls je geen e-mailadres wilt opgeven, gebruik dan L
sudo certbot --nginx -d $DOMAIN --agree-tos --register-unsafely-without-emailVoorbeelduitvoer:
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Account registered.
Requesting a certificate for odoo.example.com
Successfully received certificate.
Certificate is saved at: /etc/letsencrypt/live/odoo.example.com/fullchain.pem
Key is saved at: /etc/letsencrypt/live/odoo.example.com/privkey.pem
This certificate expires on 2024-10-16.
These files will be updated when the certificate renews.
Certbot has set up a scheduled task to automatically renew this certificate in the background.
Deploying certificate
Successfully deployed certificate for odoo.cloudlabske.com to /etc/nginx/conf.d/odoo.conf
Congratulations! You have successfully enabled HTTPS on https://odoo.example.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
If you like Certbot, please consider supporting our work by:
* Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
* Donating to EFF: https://eff.org/donate-le
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Het zal automatisch /etc/nginx/conf.d/odoo.conf configureren om SSL op te nemen.
cat /etc/nginx/conf.d/odoo.confConclusie
We hebben onze tutorial over de installatie van Odoo op Rocky-, AlmaLinux-, CentOS- en RHEL 9 Linux-systemen afgerond. We begonnen met het voorbereiden van de server met de benodigde afhankelijkheden en gingen vervolgens verder met het installeren en configureren van Odoo ERP. Met de uitgebreide modules van Odoo, de flexibele en krachtige aanpassingen, is het een goed geschikte zakelijke oplossing om processen te automatiseren.


