Pasang Odoo EPR 17 pada Rocky, Alma, CentOS, RHEL 9|8
Pada masa artikel ini ditulis, Odoo ERP 17 adalah versi terkini perisian Enterprise Resource Planning (ERP) sumber terbuka yang menakjubkan, yang dicipta untuk membantu proses perniagaan anda kekal teratur. Odoo ERP memberikan anda platform dengan aplikasi bersepadu untuk menyelesaikan semua masalah perniagaan anda, daripada HR, CRM, pengurusan Inventori, Kewangan, Pembuatan, Jualan hingga E-dagang. Dalam Odoo ERP, semua integrasi ini diedarkan melalui pendekatan modular yang membolehkan anda memulakan dengan beberapa modul dan menambah lebih banyak mengikut keperluan. Ini menjadikan Odoo penyelesaian yang sangat fleksibel dan boleh skala.
Untuk memasang Odoo ERP 17 pada Rocky Linux, AlmaLinux, CentOS, atau RHEL 9/8, anda perlu mengikuti beberapa langkah:
- Pemasangan kebergantungan yang diperlukan untuk menjalankan Odoo 17
- Penciptaan persekitaran maya Python
- Pemasangan Odoo 17 pada Rocky/AlmaLinux/RHEL 9|8
- Konfigurasi Odoo dan pelayan web
- Mengakses dan menggunakan Odoo
Untuk ciri-ciri Odoo ERP 17, lihat Nota Pelepasan Odoo 17
Prasyarat
Sebelum anda boleh meneruskan, anda perlu memenuhi keperluan berikut.
Keperluan Sistem:
- Sistem Operasi: Dipasang Rocky, Alma, CentOS Stream, atau RHEL 8/9
- CPU: CPU minimum dwi-teras (Jika anda mempunyai Quad-teras, lebih baik).
- RAM: Sekurang-kurangnya 2GB memori (Jika anda mendapat 4GB atau lebih, lebih baik).
- Disk: Minimum 20GB ruang cakera percuma untuk menyimpan data Odoo.
Keperluan Perisian:
- Python: Python 3.10 atau lebih tinggi.
- PostgreSQL: PostgreSQL 12 atau ke atas.
- Node.js dan npm: Node.js 12.x atau lebih tinggi dan npm untuk pengurusan aset.
- Wkhtmltopdf: Versi khusus wkhtmltopdf (0.12.5 atau 0.12.6) diperlukan untuk mencetak laporan PDF.
- Nginx atau Apache: Untuk proksi terbalik (Nginx biasanya lebih disukai).
Mari kita mulakan pemasangan Odoo ERP.
Langkah 1 – Pasang kebergantungan binaan
Kemas kini sistem anda sebelum sebarang pemasangan:
sudo dnf -y updateJika anda mempunyai kemas kini kernel, pertimbangkan untuk memulakan semula sistem sebelum anda meneruskan:
sudo rebootSeterusnya pasang alat pembangunan dalam sistem anda.
sudo dnf groupinstall -y "Development Tools"Pasang perpustakaan tambahan yang mungkin diperlukan semasa membina Odoo daripada sumber:
sudo dnf install -y vim git gcc bzip2-devel redhat-rpm-config libxslt-devel openldap-devel libjpeg-devel freetype-develLangkah 2 – Pasang Python 3.11 & Node.js
Kita perlu memasang Python 3.10 ke atas. Dalam artikel ini, kita akan menggunakan Python 3.11.
sudo dnf install python3.11 python3.11-devel python3.11-pipSahkan ia dipasang dengan berjaya dengan memeriksa versinya.
$ python3.11 --version
Python 3.11.9Mari kita pasang juga Node.js. Tiada versi tertentu, kita akan menggunakan Nodejs v18.
sudo dnf module reset nodejs -y
sudo dnf module install nodejs:18 -ySahkan dengan memeriksa nombor versi Node.js.
$ node --version
v18.20.2Pasang modul node rtlcss menggunakan npm:
sudo npm install -g rtlcssJuga pasang Less dan Plugin Less Clean CSS:
sudo npm install -g less less-plugin-clean-cssLangkah 3 – Pasang dan Konfigurasikan pangkalan data PostgreSQL
PostgreSQL 12+ diperlukan. Kita boleh memasang PostgreSQL 16 yang tersedia dalam repositori OS APPStream. Tetapkan semula modul PostgreSQL semasa.
sudo dnf module -y disable postgresqlDayakan modul PostgreSQL 16.
sudo dnf install -y @postgresql:16Juga pasang pakej postgresql-devel.
sudo dnf install -y postgresql-develMulakan pelayan pangkalan data.
sudo postgresql-setup initdbMulakan dan dayakan perkhidmatan pangkalan data.
sudo systemctl enable --now postgresqlAkhirnya buat pengguna pangkalan data odoo. Berikan kata laluan untuk pengguna apabila anda diminta.
sudo su - postgres -c "createuser -s odoo"Untuk membuat pengguna dengan kata laluan, jalankan:
sudo -u postgres createuser odoo -U postgres -dPUntuk pelayan pangkalan data PostgreSQL jauh, anda perlu membolehkan sambungan jauh pada pelayan DB anda supaya Odoo dapat menyambung kepadanya.
Langkah 4 – Pasang wkhtmltopdf
Wkhtmltopdf adalah alat CLI sumber terbuka yang digunakan oleh Odoo untuk menukar HTML menjadi PDF dan format imej lain melalui enjin rendering Webkit yang berkuasa. Ini diperlukan untuk penjanaan dokumen seperti invois, laporan, dan dokumen boleh cetak lain.
Muat turun dan pasang pakej RPM wkhtmltopdf.
- Sistem berasaskan RHEL 9
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- Sistem berasaskan RHEL 8
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
Sahkan pemasangan:
$ wkhtmltopdf --version
wkhtmltopdf 0.12.6.1 (with patched qt)Langkah 5 – Sediakan Persekitaran Python Odoo
Cipta pengguna bernama odoo yang akan menjalankan perkhidmatan Odoo.
sudo useradd -m -U -r -d /opt/odoo -s /bin/bash odooPasang virtualenv:
sudo pip3.11 install virtualenvBeralih ke akaun pengguna odoo yang telah dibuat.
sudo su - odooKlon repositori Github Odoo secara tempatan.
git clone --depth 1 --branch 17.0 --single-branch https://github.com/odoo/odoo.gitGunakan arahan virtualenv untuk mencipta persekitaran maya Python bagi Odoo ERP.
virtualenv odoo-venvAktifkan persekitaran maya yang telah dibuat.
source odoo-venv/bin/activateNaik taraf pip selepas mengaktifkannya.
pip3.11 install --upgrade pipPasang pakej python wheel dalam persekitaran
pip3.11 install wheelPasang keperluan python Odoo 17
pip3.11 install -r odoo/requirements.txtUntuk menyenaraikan semua pakej Python yang dipasang dalam persekitaran maya, jalankan arahan berikut:
pip3.11 listBuat direktori yang akan menyimpan semua addon pihak ketiga.
mkdir odoo/custom-addonsKeluar dari persekitaran maya.
exitLangkah 6 – Konfigurasi Odoo ERP
Salin fail konfigurasi contoh Odoo ke direktori /etc pada sistem anda.
sudo cp /opt/odoo/odoo/debian/odoo.conf /etc/odoo.confFail odoo.conf mengandungi konfigurasi utama yang diperlukan supaya Odoo berfungsi dengan betul. Buka fail itu untuk suntingan.
# Open with vim
sudo vim /etc/odoo.conf
# Open with nano
sudo nano /etc/odoo.confLaraskan tetapan supaya kelihatan seperti di bawah.
[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 = 8069Untuk pelayan PostgreSQL jauh, tetapkan:
- db_host: Alamat IP pelayan pangkalan data PostgreSQL
- db_password: Kata laluan untuk pengguna yang dibuat di pangkalan data jauh
- db_user: Pengguna pangkalan data jauh telah dicipta.
Berikan kebenaran yang sesuai kepada fail:
sudo chown odoo:odoo /etc/odoo.conf
sudo chmod 640 /etc/odoo.confBuat perkhidmatan systemd Odoo.
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
EOFBuat direktori log.
sudo mkdir /var/log/odoo/
sudo chown -R odoo:odoo /var/log/odoo/Mulakan dan dayakan perkhidmatan odoo.
sudo systemctl daemon-reload
sudo systemctl enable --now odoo.servicePeriksa status perkhidmatan sama ada berjalan dengan betul.
$ 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.Langkah 7 – Konfigurasi firewalld
Perkhidmatan sedang mendengar pada port 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 <->Jika anda mempunyai firewalld, benarkan port 8069
sudo firewall-cmd --add-port=8069/tcp --permanent
sudo firewall-cmd --reloadAnda boleh mengakses konsol web Odoo di http://serverip:8069 dan menyelesaikan pemasangannya.
Masukkan nilai admin_passwd yang ditetapkan dalam odoo.conf untuk kata laluan Master. Nyatakan nama pangkalan data untuk membuat contoh iaitu odoo17. Kemudian buat pengguna admin pertama dengan menyediakan alamat emel dan kata laluan. Pilihan lain adalah menetapkan nombor telefon, bahasa dan negara.
Selepas menyiapkan tetapan, log masuk dengan pengguna admin yang telah dibuat dan kata laluan mereka.
Anda akan sampai ke papan pemuka Odoo untuk mengaktifkan modul dan sebagainya.
Langkah 8 – Konfigurasikan Nginx Proxy
Kita boleh menggunakan Nginx untuk memproksi permintaan ke Odoo ERP. Pasang pakej nginx.
sudo dnf -y install nginxDayakan perkhidmatan untuk bermula secara automatik semasa sistem dihidupkan.
sudo systemctl enable nginxBuat fail konfigurasi Nginx untuk perkhidmatan Odoo.
sudo vim /etc/nginx/conf.d/odoo.confSalin dan sunting kandungan berikut. Anda mesti menggantikan odoo.example.com dengan nama domain sebenar anda.
# 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;
}Sahkan konfigurasi nginx.
$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successfulJika semuanya kelihatan baik, mulakan semula perkhidmatan.
sudo systemctl restart nginxAkses papan pemuka web Odoo di http://yourdomain.com
Langkah 9 – Menggunakan SSL Let’s Encrypt
Untuk pelayan di domain awam, anda boleh menggunakan SSL Let’s Encrypt percuma.
Pasang certbot dan plugin Nginxnya.
sudo dnf install epel-release
sudo dnf install certbot python3-certbot-nginx -yPermintaan untuk SSL Let’s Encrypt.
DOMAIN=odoo.example.com #replace with your actual domain
sudo certbot --nginx -d $DOMAIN --agree-tosJika anda tidak mahu memberikan alamat emel, gunakanL
sudo certbot --nginx -d $DOMAIN --agree-tos --register-unsafely-without-emailContoh hasil:
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
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Ia akan secara automatik mengkonfigurasi /etc/nginx/conf.d/odoo.conf untuk menyertakan SSL.
cat /etc/nginx/conf.d/odoo.confKesimpulan
Kami telah menamatkan tutorial kami mengenai pemasangan Odoo pada sistem Linux Rocky, AlmaLinux, CentOS dan RHEL 9. Kami bermula dengan menyediakan pelayan dengan kebergantungan yang diperlukan dan kemudian kami meneruskan untuk memasang dan mengkonfigurasi Odoo ERP. Dengan modul Odoo yang luas, penyesuaian yang fleksibel dan berkuasa, ia menjadikannya penyelesaian perniagaan yang sesuai untuk mengautomasikan proses.


