Odoo adalah perangkat lunak ERP gratis, sumber terbuka, dan terpopuler yang menawarkan berbagai aplikasi bisnis termasuk, manajemen hubungan pelanggan (CRM), jalur penjualan, manajemen proyek, manufaktur , faktur, akuntansi, eCommerce, dan banyak lagi. Ini adalah aplikasi berbasis web dan berfitur lengkap yang membantu Anda mempertahankan ERP dalam bisnis apa pun. Odoo hadir dengan 30 modul inti dan lebih dari 4500 modul buatan komunitas yang membantu Anda menyesuaikannya sebagai toko kecil hingga perusahaan tingkat perusahaan.
Dalam tutorial ini, kita akan mempelajari cara menginstal dan mengkonfigurasi Odoo 13 dengan Nginx sebagai reverse proxy di server CentOS 8.
Persyaratan
- Server yang menjalankan CentOS 8 dengan RAM minimal 2 GB.
- Nama domain yang valid menunjuk ke IP server Anda. Dalam tutorial ini, kita akan menggunakan domain exmaple.com..
- Kata sandi root dikonfigurasi di server.
Memulai
Pertama, perbarui sistem dan instal repositori EPEL dengan perintah berikut:
dnf update
dnf install epel-release
Selanjutnya, Anda perlu menginstal beberapa alat dan dependensi yang diperlukan untuk membangun Odoo di sistem Anda.
Anda dapat menginstal semuanya dengan perintah berikut:
dnf install python36 python36-devel git gcc wget nodejs libxslt-devel bzip2-devel openldap-devel libjpeg-devel freetype-devel
Setelah semua paket terinstal, Anda dapat melanjutkan ke langkah berikutnya.
Buat Pengguna Odoo
Selanjutnya, Anda perlu membuat pengguna sistem baru dengan nama odoo dan direktori home /opt/odoo menggunakan perintah berikut:
useradd -m -U -r -d /opt/odoo -s /bin/bash odoo
Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.
Instal dan Konfigurasi PostgreSQL
Odoo menggunakan PostgreSQL untuk menyimpan data mereka. Jadi, Anda perlu menginstal PostgreSQL di server Anda. Anda dapat menginstalnya dengan perintah berikut:
dnf install postgresql postgresql-server postgresql-contrib
Setelah terinstal, inisialisasi database dengan perintah berikut:
/usr/bin/postgresql-setup initdb
Anda akan mendapatkan output berikut:
* Initializing database in '/var/lib/pgsql/data' * Initialized, logs are in /var/lib/pgsql/initdb_postgresql.log
Selanjutnya, mulai layanan PostgreSQL dan aktifkan untuk memulai setelah sistem reboot dengan perintah berikut:
systemctl start postgresql
systemctl enable postgresql
Anda sekarang dapat memverifikasi PostgreSQL menggunakan perintah berikut:
systemctl status postgresql
Anda akan melihat output berikut:
? postgresql.service - PostgreSQL database server Loaded: loaded (/usr/lib/systemd/system/postgresql.service; disabled; vendor preset: disabled) Active: active (running) since Mon 2019-12-02 01:01:44 EST; 6s ago Process: 31805 ExecStartPre=/usr/libexec/postgresql-check-db-dir postgresql (code=exited, status=0/SUCCESS) Main PID: 31808 (postmaster) Tasks: 8 (limit: 12552) Memory: 16.5M CGroup: /system.slice/postgresql.service ??31808 /usr/bin/postmaster -D /var/lib/pgsql/data ??31809 postgres: logger process ??31811 postgres: checkpointer process ??31812 postgres: writer process ??31813 postgres: wal writer process ??31814 postgres: autovacuum launcher process ??31815 postgres: stats collector process ??31816 postgres: bgworker: logical replication launcher
Selanjutnya, Anda perlu membuat pengguna PostgreSQL baru dengan nama yang sama dengan pengguna sistem seperti yang ditunjukkan di bawah ini:
su - postgres -c "createuser -s odoo"
Instal Wkhtmltopdf
Selanjutnya, Anda perlu menginstal alat wkhtmltopdf di sistem Anda agar Odoo dapat mencetak laporan PDF. Anda dapat menginstalnya dengan perintah berikut:
wget https://downloads.wkhtmltopdf.org/0.12/0.12.5/wkhtmltox-0.12.5-1.centos7.x86_64.rpm
dnf localinstall wkhtmltox-0.12.5-1.centos7.x86_64.rpm
Setelah terinstal, Anda dapat melanjutkan ke langkah berikutnya.
Instal dan Konfigurasikan Odoo 13
Pertama, beralih ke pengguna Odoo dengan perintah berikut:
su - odoo
Selanjutnya, unduh versi terbaru Odoo 13 dari repositori Git menggunakan perintah git:
git clone https://www.github.com/odoo/odoo --depth 1 --branch 13.0 /opt/odoo/odoo13
Selanjutnya, buat lingkungan virtual baru untuk instans Odoo 13 dengan perintah berikut:
cd /opt/odoo
python3 -m venv odoo13-venv
Selanjutnya, aktifkan virtual environment dengan perintah berikut:
source odoo13-venv/bin/activate
Anda akan mendapatkan output berikut:
(odoo13-venv) [[email protected] ~]$
Selanjutnya, instal semua modul Python yang diperlukan untuk Odoo 13 dengan perintah berikut:
pip3 install -r odoo13/requirements.txt
Setelah semua modul yang diperlukan diinstal, nonaktifkan lingkungan virtual dengan perintah berikut:
deactivate
Terakhir, keluar dari pengguna Odoo dengan perintah berikut:
exit
Selanjutnya, buat direktori baru untuk menyimpan modul kustom Odoo dan log Odoo:
mkdir /opt/odoo/odoo13-custom-addons
mkdir /var/log/odoo13
touch /var/log/odoo13/odoo.log
Selanjutnya, ubah kepemilikan kedua direktori menjadi pengguna odoo dengan perintah berikut:
chown -R odoo:odoo /opt/odoo/odoo13-custom-addons
chown -R odoo:odoo /var/log/odoo13/
Selanjutnya, buat file konfigurasi baru untuk Odoo 13 menggunakan perintah berikut:
nano /etc/odoo.conf
Tambahkan baris berikut:
[options] admin_passwd = [email protected] db_host = False db_port = False db_user = odoo db_password = False xmlrpc_port = 8069 logfile = /var/log/odoo13/odoo.log logrotate = True addons_path = /opt/odoo/odoo13/addons,/opt/odoo/odoo13-custom-addons
Simpan dan tutup file setelah Anda selesai.
Buat file Layanan Systemd untuk Odoo 13
Selanjutnya, Anda perlu membuat file unit systemd baru untuk Odoo 13 guna mengelola layanan Odoo.
Anda dapat membuatnya dengan perintah berikut:
nano /etc/systemd/system/odoo13.service
Tambahkan baris berikut:
[Unit] Description=Odoo13 #Requires=postgresql-10.6.service #After=network.target postgresql-10.6.service [Service] Type=simple SyslogIdentifier=odoo13 PermissionsStartOnly=true User=odoo Group=odoo ExecStart=/opt/odoo/odoo13-venv/bin/python3 /opt/odoo/odoo13/odoo-bin -c /etc/odoo.conf StandardOutput=journal+console [Install] WantedBy=multi-user.target
Simpan dan tutup file. Kemudian, muat ulang daemon systemd dengan perintah berikut:
systemctl daemon-reload
Selanjutnya, mulai layanan Odoo dan aktifkan untuk memulai setelah sistem reboot dengan perintah berikut:
systemctl start odoo13
systemctl enable odoo13
Anda juga dapat memverifikasi status Odoo dengan perintah berikut:
systemctl status odoo13
Anda akan mendapatkan output berikut:
? odoo13.service - Odoo13 Loaded: loaded (/etc/systemd/system/odoo13.service; disabled; vendor preset: disabled) Active: active (running) since Mon 2019-12-02 01:15:43 EST; 2s ago Main PID: 17022 (python3) Tasks: 4 (limit: 12552) Memory: 63.7M CGroup: /system.slice/odoo13.service ??17022 /opt/odoo/odoo13-venv/bin/python3 /opt/odoo/odoo13/odoo-bin -c /etc/odoo.conf Dec 02 01:15:43 centos8 systemd[1]: Started Odoo13.
Secara default, Odoo mendengarkan pada port 8069. Anda dapat memeriksanya dengan perintah berikut:
netstat -plntu | grep 8069
Anda akan melihat output berikut:
tcp 0 0 0.0.0.0:8069 0.0.0.0:* LISTEN 17022/python3
Mengonfigurasi Nginx sebagai Proxy Terbalik untuk Odoo 13
Selanjutnya, Anda perlu menginstal dan mengonfigurasi Nginx sebagai proxy terbalik untuk instance Odoo 13.
Pertama, instal server web Nginx dengan perintah berikut:
dnf install nginx
Setelah terinstal, buat file konfigurasi virtual host baru dengan perintah berikut:
nano /etc/nginx/conf.d/odoo13.conf
Tambahkan baris berikut:
upstream odoo { server 127.0.0.1:8069; } server { listen 80; server_name example.com; access_log /var/log/nginx/odoo13.access.log; error_log /var/log/nginx/odoo13.error.log; location / { 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; proxy_redirect off; proxy_pass http://odoo; } location ~* /web/static/ { proxy_cache_valid 200 90m; proxy_buffering on; expires 864000; proxy_pass http://odoo; } gzip_types text/css text/less text/plain text/xml application/xml application/json application/javascript; gzip on; }
Simpan dan tutup file setelah Anda selesai. Kemudian, mulai layanan Nginx dan aktifkan untuk memulai setelah sistem reboot dengan perintah berikut:
systemctl start nginx
systemctl enable nginx
Anda dapat memverifikasi status layanan Nginx menggunakan perintah berikut:
systemctl status nginx
Anda akan melihat output berikut:
? nginx.service - The nginx HTTP and reverse proxy server Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled) Active: active (running) since Mon 2019-12-02 01:25:15 EST; 6s ago Process: 17244 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS) Process: 17241 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS) Process: 17239 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS) Main PID: 17245 (nginx) Tasks: 3 (limit: 12552) Memory: 5.4M CGroup: /system.slice/nginx.service ??17245 nginx: master process /usr/sbin/nginx ??17246 nginx: worker process ??17247 nginx: worker process Dec 02 01:25:15 centos8 systemd[1]: Starting The nginx HTTP and reverse proxy server... Dec 02 01:25:15 centos8 nginx[17241]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok Dec 02 01:25:15 centos8 nginx[17241]: nginx: configuration file /etc/nginx/nginx.conf test is successful Dec 02 01:25:15 centos8 systemd[1]: Started The nginx HTTP and reverse proxy server.
Konfigurasi Firewall
Selanjutnya, Anda harus mengizinkan layanan Nginx melalui firewalld untuk mengakses instans Odoo 13 dari sistem jarak jauh.
Anda dapat menjalankan perintah berikut untuk mengizinkan layanan Nginx melalui firewalld:
firewall-cmd --permanent --zone=public --add-service=nginx
firewall-cmd --reload
Secara default, SELinux diaktifkan di CentOS 8. Jadi, Anda harus mengizinkan HTTP melalui SELinux. Anda dapat mengizinkannya dengan perintah berikut:
setsebool -P httpd_can_network_connect on
Mengakses Antarmuka Web Odoo 13
Sekarang, Odoo 13 telah diinstal dan dikonfigurasi. Saatnya mengakses antarmuka web Odoo 13.
Buka browser web Anda dan ketik URL http://example.com . Anda akan diarahkan ke halaman berikut:
Sekarang, berikan Kata Sandi Utama, Nama Basis Data, Email, Kata Sandi, Negara Anda dan klik tombol Buat basis data tombol. Anda akan diarahkan ke halaman Administrasi Odoo 13:
Kesimpulan
Dalam tutorial di atas, Anda telah mempelajari cara menginstal dan mengkonfigurasi Odoo 13 di server CentOS 8. Anda juga telah mempelajari cara mengonfigurasi Nginx sebagai proxy terbalik untuk Odoo 13. Kini Anda dapat menyesuaikan instans Odoo 13 sesuai kebutuhan bisnis Anda.