Dalam tutorial ini, kami akan menunjukkan cara menginstal perangkat lunak ERP Odoo 13 pada VPS CentOS 8. Odoo adalah salah satu platform perencanaan sumber daya perusahaan (ERP) paling populer yang pernah dibuat. Dibangun menggunakan Python dan memanfaatkan PostgresSQL untuk databasenya, Odoo 100% open-source dan gratis. Odoo juga memiliki rangkaian fitur yang kaya – ia hadir dengan berbagai aplikasi bisnis seperti CRM, POS, Pembuat situs web, Manajemen Gudang, Manajemen Proyek, eCommerce, Pemasaran, Penagihan &Akuntansi, Manufaktur, dan banyak lagi.
Aplikasi Odoo terintegrasi satu sama lain dan memungkinkan Anda untuk sepenuhnya mengotomatiskan proses bisnis Anda. Fitur utama Odoo adalah antarmuka intuitif dan editor seret &lepas yang memungkinkan Anda mengelola konten dengan cepat. Odoo juga mendukung modul pihak ketiga, yang selanjutnya memungkinkan Anda untuk memperluas fungsionalitas agar sesuai dengan kebutuhan Anda.
Mari kita mulai dengan penginstalan, yang seharusnya tidak memakan waktu terlalu lama.
Prasyarat
- VPS CentOS 8 dengan akses root diaktifkan (VPS kami semua memiliki akses root) atau pengguna dengan hak sudo.
- RAM minimal 2 GB.
Masuk melalui SSH dan Perbarui Server Anda
Pertama, Anda harus masuk ke VPS CentOS 8 Anda melalui SSH sebagai pengguna root:
ssh root@IP_ADDRESS -p PORT_NUMBER
Ganti IP_ADRRESS dan PORT_NUMBER dengan nilai untuk VPS Anda. IP_ADDRESS diperlukan, dan PORT_NUMBER adalah 22 secara default, tetapi mungkin berbeda tergantung pada penyiapan Anda.
Selanjutnya, jalankan perintah berikut untuk mengupgrade semua paket yang terinstal di VPS Anda:
dnf update -y
Setelah semua paket diperbarui, mulai ulang sistem Anda untuk menerapkan perubahan. Ini memastikan catatan yang bersih di mana kami akan menginstal instance Odoo kami.
Instal Dependensi yang Diperlukan
Pertama, Anda perlu menginstal paket Python dan dependensi Odoo lainnya di sistem Anda. Anda dapat menginstal semuanya menggunakan perintah berikut:
dnf install python3 python3-devel git gcc redhat-rpm-config libxslt-devel bzip2-devel openldap-devel libjpeg-devel freetype-devel curl unzip -y
Setelah semua paket terinstal, Anda perlu menginstal paket wkhtmltopdf di sistem Anda. Wkhtmltopdf adalah alat sumber terbuka yang dapat digunakan untuk mengonversi format HTML ke PDF sehingga Odoo dapat mencetak laporan PDF.
Anda dapat menginstalnya dengan menjalankan perintah berikut:
dnf install https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.5/wkhtmltox-0.12.5-1.centos8.x86_64.rpm
Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.
Instal dan Konfigurasi PostgreSQL
Odoo menggunakan PostgreSQL untuk menyimpan datanya. Anda dapat menginstal server PostgreSQL dengan perintah berikut:
dnf install postgresql postgresql-server postgresql-contrib -y
Setelah instalasi selesai, inisialisasi database dengan perintah berikut:
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, jalankan layanan PostgreSQL dan aktifkan untuk memulai saat boot dengan perintah berikut:
systemctl start postgresql
systemctl enable postgresql
Selanjutnya, masuk ke shell PostgreSQL dan buat pengguna PostgreSQL baru dengan perintah berikut:
su - postgres -c "createuser -s odoo13"
Instal dan Konfigurasikan Odoo 13
Sebelum memulai, buat pengguna terpisah di CentOS yang akan kita gunakan untuk menjalankan layanan Odoo.
useradd -m -U -r -d /opt/odoo13 -s /bin/bash odoo13
Catatan :Pastikan nama pengguna harus sama dengan pengguna PostgreSQL.
Selanjutnya, masuk dengan pengguna odoo13 Anda dan unduh Odoo 13 dari repositori GitHub:
su - odoo13
git clone https://www.github.com/odoo/odoo --depth 1 --branch 13.0 /opt/odoo13/odoo
Anda akan mendapatkan output berikut:
Cloning into '/opt/odoo13/odoo'...
warning: redirecting to https://github.com/odoo/odoo.git/
remote: Enumerating objects: 28242, done.
remote: Counting objects: 100% (28242/28242), done
remote: Compressing objects: 100% (23893/23893), done.
Receiving objects: 96% (27370/28242), 110.95 MiB | 13.39 MiB/s
remote: Total 28242 (delta 8481), reused 10433 (delta 3462), pack-reused 0
Receiving objects: 100% (28242/28242), 120.16 MiB | 9.46 MiB/s, done.
Resolving deltas: 100% (8481/8481), done.
Checking out files: 100% (25288/25288), done.
Selanjutnya, ubah direktori kerja Anda saat ini menjadi /opt/odoo13
dan buat lingkungan virtual Python baru dengan perintah berikut:
cd /opt/odoo13
python3 -m venv odooenv
Selanjutnya, aktifkan virtual environment dengan perintah berikut:
source odooenv/bin/activate
Setelah selesai, instal semua modul Python yang diperlukan dengan perintah berikut:
pip3 install -r odoo/requirements.txt
Setelah menginstal semua modul, nonaktifkan lingkungan dengan perintah berikut:
deactivate
Selanjutnya, buat direktori baru untuk menyimpan add-on khusus:
mkdir /opt/odoo13/odoo-custom-addons
Dari sana, keluar dari pengguna Odoo13 dengan perintah berikut:exit
Terakhir, buat file konfigurasi Odoo 13 baru dengan detail database, kata sandi utama, dan jalur add-on Anda:
nano /etc/odoo13.conf
Tambahkan baris berikut ke file:
[options]
admin_passwd = your-secure-password
db_host = False
db_port = False
db_user = odoo13
db_password = False
addons_path = /opt/odoo13/odoo/addons, /opt/odoo13/odoo-custom-addons
Pastikan Anda menetapkan kata sandi yang kuat. Simpan dan tutup file.
Buat File Unit Systemd untuk Odoo 13
Menggunakan systemd untuk memulai dan menghentikan instans Odoo Anda dengan mudah sangatlah nyaman. Langkah ini tidak wajib, tetapi menambahkan fitur kualitas hidup yang bagus untuk dimiliki, dan itu membuat pengelolaan Odoo menjadi lebih mudah.
Anda dapat membuat layanan dengan perintah berikut:
nano /etc/systemd/system/odoo13.service
Buka file, dan tambahkan baris berikut:
[Unit]
Description=Odoo13
Requires=postgresql.service
After=network.target postgresql.service
[Service]
Type=simple
SyslogIdentifier=odoo13
PermissionsStartOnly=true
User=odoo13
Group=odoo13
ExecStart=/opt/odoo13/venv/bin/python3 /opt/odoo13/odoo/odoo-bin -c /etc/odoo13.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 13 dan aktifkan untuk memulai saat boot dengan perintah berikut:
systemctl start odoo13
systemctl enable odoo13
Anda dapat memverifikasi status Odoo 13 dengan perintah berikut:
systemctl status odoo13
Anda akan mendapatkan output berikut:
● odoo13.service - Odoo13
Loaded: loaded (/etc/systemd/system/odoo13.service; enabled; vendor preset: disabled)
Active: active (running) since Sun 2020-05-24 08:35:45 EDT; 3s ago
Main PID: 23874 (python3)
Tasks: 4 (limit: 25028)
Memory: 60.8M
CGroup: /system.slice/odoo13.service
└─23874 /opt/odoo13/venv/bin/python3 /opt/odoo13/odoo/odoo-bin -c /etc/odoo13.conf
May 24 08:35:45 centos8 systemd[1]: Started Odoo13.
May 24 08:35:46 centos8 odoo13[23874]: /opt/odoo13/venv/lib64/python3.6/site-packages/psycopg2/__init__.py:144: UserWarning: The psycopg2 whee>
May 24 08:35:46 centos8 odoo13[23874]: """)
May 24 08:35:46 centos8 odoo13[23874]: 2020-05-24 12:35:46,298 23874 INFO ? odoo: Odoo version 13.0
May 24 08:35:46 centos8 odoo13[23874]: 2020-05-24 12:35:46,299 23874 INFO ? odoo: Using configuration file at /etc/odoo13.conf
May 24 08:35:46 centos8 odoo13[23874]: 2020-05-24 12:35:46,300 23874 INFO ? odoo: addons paths: ['/opt/odoo13/odoo/odoo/addons', '/opt/odoo13/>
May 24 08:35:46 centos8 odoo13[23874]: 2020-05-24 12:35:46,300 23874 INFO ? odoo: database: odoo13@default:default
May 24 08:35:46 centos8 odoo13[23874]: 2020-05-24 12:35:46,893 23874 INFO ? odoo.addons.base.models.ir_actions_report: Will use the Wkhtmltopd>
May 24 08:35:47 centos8 odoo13[23874]: 2020-05-24 12:35:47,367 23874 INFO ? odoo.service.server: HTTP service (werkzeug) running on centos8:80>
lines 1-18/18 (END)
Pada titik ini, Odoo sedang berjalan dan mendengarkan pada port 8069. Anda sudah dapat mengaksesnya dari browser dengan menentukan IP dan Port untuk Odoo.
Konfigurasikan Nginx sebagai Proxy Terbalik
Sebaiknya konfigurasikan Nginx sebagai proxy terbalik untuk Odoo. Ini dilakukan agar Anda dapat mengakses instance Odoo tanpa perlu menentukan port setiap saat. Nginx adalah server web populer yang berfokus pada kemampuan penyesuaian dan keserbagunaan.
Pertama, instal Nginx dengan perintah berikut:
dnf install nginx -y
Setelah terinstal, buat file konfigurasi virtual host Nginx baru:
nano /etc/nginx/conf.d/odoo13.example.conf
Tambahkan baris berikut:
upstream odoo {
server 127.0.0.1:8069;
}
upstream odoochat {
server 127.0.0.1:8072;
}
server {
listen 80;
server_name odoo13.example.com;
proxy_read_timeout 720s;
proxy_connect_timeout 720s;
proxy_send_timeout 720s;
# Proxy headers
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 files
access_log /var/log/nginx/odoo13.access.log;
error_log /var/log/nginx/odoo13.error.log;
# Handle longpoll requests
location /longpolling {
proxy_pass http://odoochat;
}
# Cache static files
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;
}
Anda harus mengganti “example.com” dengan nama domain terdaftar Anda.
Simpan dan tutup file. Kemudian, Anda perlu mengonfigurasi hash_bucket_site
dalam file konfigurasi default Nginx.
Buka file konfigurasi default Nginx seperti gambar di bawah ini:
nano /etc/nginx/nginx.conf
Tambahkan baris berikut di bawah baris http {
:
server_names_hash_bucket_size 64;
Simpan dan tutup file. Kemudian, periksa Nginx untuk kesalahan sintaks dengan perintah berikut:
nginx -t
Anda akan mendapatkan output berikut:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Terakhir, mulai layanan Nginx dan aktifkan untuk memulai saat boot dengan perintah berikut:
systemctl start nginx
systemctl enable nginx
Selanjutnya, Anda juga perlu mengonfigurasi Odoo untuk menggunakan proxy. Anda dapat melakukannya dengan mengedit file /etc/odoo13.conf
:
nano /etc/odoo13.conf
Tambahkan baris berikut di akhir file:
proxy_mode = True
Simpan dan tutup file, lalu mulai ulang layanan Odoo 13 untuk menerapkan perubahan:
systemctl restart odoo13
Amankan Odoo 13 dengan Let's Encrypt
Disarankan untuk mengamankan instance Odoo dengan Let's Encrypt SSL. Ini bukan langkah wajib, tetapi menyediakan koneksi aman untuk instans Odoo Anda.
Pertama, instal klien Certbot di sistem Anda untuk mengelola SSL:
wget https://dl.eff.org/certbot-auto
mv certbot-auto /usr/local/bin/certbot-auto
chmod 0755 /usr/local/bin/certbot-auto
Sekarang, jalankan perintah berikut untuk mendapatkan dan menginstal sertifikat SSL untuk situs web Odoo 13 Anda. Ganti “example.com” dengan nama domain terdaftar Anda.
certbot-auto --nginx -d odoo13.example.com
Perintah di atas pertama-tama akan menginstal semua dependensi yang diperlukan di server Anda. Setelah terinstal, Anda akan diminta untuk memberikan
alamat email dan menerima persyaratan layanan seperti yang ditunjukkan di bawah ini:
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator nginx, Installer nginx
Enter email address (used for urgent renewal and security notices)
(Enter 'c' to cancel): [email protected]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: N
Tentukan pilihan Anda dan tekan Enter untuk melanjutkan. Setelah sertifikat diinstal, Anda akan melihat output berikut:
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for odoo13.example.com
Waiting for verification...
Cleaning up challenges
Deploying Certificate to VirtualHost /etc/nginx/nginx.conf
Redirecting all traffic on port 80 to ssl in /etc/nginx/nginx.conf
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://odoo13.example.com
You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=odoo13.example.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/odoo13.example.com/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/odoo13.example.com/privkey.pem
Your cert will expire on 2020-08-22. To obtain a new or tweaked
version of this certificate in the future, simply run certbot-auto
again with the "certonly" option. To non-interactively renew *all*
of your certificates, run "certbot-auto renew"
- 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
Pada titik ini, instans Odoo 13 Anda diamankan dengan Let's Encrypt SSL.
Mengakses Instans Odoo 13
Sekarang, buka browser web Anda dan ketik URL https://odoo13.example.com
. Anda akan melihat halaman berikut:
Berikan kata sandi Master, detail basis data, email, dan kata sandi Anda sebelum mengklik Buat basis data tombol. Anda akan melihat dasbor Odoo 13 di halaman berikut:
Selamat, jika Anda mengikuti instruksi kami dengan cermat dalam tutorial ini, Anda akan berhasil menginstal Odoo 13 terbaru di VPS CentOS 8 Anda. Anda dapat membuat database pertama Anda dan mulai menggunakan versi terbaru Odoo 13.
Tentu saja, Anda tidak perlu menginstal Odoo 13 di CentOS 8 jika Anda menggunakan salah satu layanan Odoo VPS Hosting kami, dalam hal ini Anda dapat meminta tim admin Linux ahli kami untuk menginstal dan mengonfigurasi Odoo 13 untuk Anda. Mereka tersedia 24 × 7 dan akan segera menangani permintaan Anda. Kami tidak menebak-nebak dalam memasang platform Odoo Anda – cukup beri tahu kami apa yang Anda butuhkan dan itu akan selesai.
PS . Jika Anda menyukai posting ini tentang cara menginstal Odoo 13 di CentOS 8, silakan bagikan dengan teman-teman Anda di jejaring sosial menggunakan pintasan berbagi di bawah ini, atau cukup tinggalkan balasan di bagian komentar. Terima kasih.