Rocky, Alma, CentOS, RHEL 9|8 Üzerine Odoo EPR 17 Kurulumu
Bu makale yazılırken, Odoo ERP 17, iş süreçlerinizin düzene girmesine yardımcı olmak için oluşturulmuş harika açık kaynaklı Kurumsal Kaynak Planlama (ERP) yazılımının en güncel sürümüdür. Odoo ERP, İK, CRM, Envanter yönetimi, Finans, Üretim, Satış'tan E-ticarete kadar tüm iş sorunlarınızı çözmek için entegre uygulamalara sahip bir platform sunar. Odoo ERP'de tüm bu entegrasyonlar modüler bir yaklaşım üzerinden dağıtılır; bu sayede birkaç modülle başlayabilir ve ihtiyaç duydukça daha fazlasını entegre edebilirsiniz. Bu durum Odoo'yu son derece esnek ve ölçeklenebilir bir çözüm haline getirir.
Odoo ERP 17'yi Rocky Linux, AlmaLinux, CentOS veya RHEL 9/8 üzerine kurmak için birkaç adımı takip etmeniz gerekir:
- Odoo 17'yi çalıştırmak için gerekli bağımlılıkların kurulumu
- Python sanal ortamının oluşturulması
- Rocky/AlmaLinux/RHEL 9|8 Üzerine Odoo 17 Kurulumu
- Odoo ve web sunucusunun yapılandırması
- Odoo'ya erişim ve kullanımı
Odoo ERP 17 özellikleri için Odoo 17 Sürüm Notlarına bakın
Önkoşullar
Devam edebilmek için aşağıdaki gereksinimleri karşılamanız gerekecek.
Sistem Gereksinimleri:
- İşletim Sistemi: Rocky, Alma, CentOS Stream veya RHEL 8/9 yüklü
- CPU: Minimum çift çekirdekli CPU (Eğer dört çekirdekli varsa daha iyi).
- RAM: Minimum 2GB bellek (4GB veya daha fazlasını alırsanız daha iyi).
- Disk: Odoo verilerini depolamak için en az 20GB boş disk alanı.
Yazılım Gereksinimleri:
- Python: Python 3.10 veya üzeri.
- PostgreSQL: PostgreSQL 12 veya üzeri.
- Node.js ve npm: Varlık yönetimi için Node.js 12.x veya daha yüksek sürüm ve npm.
- Wkhtmltopdf: PDF raporlarını yazdırmak için wkhtmltopdf'in belirli bir sürümü (0.12.5 veya 0.12.6) gereklidir.
- Nginx veya Apache: Reverse proxy için (genellikle Nginx tercih edilir).
Odoo ERP kurulumuna başlayalım.
Adım 1 – Derleme bağımlılıklarını yükleyin
Herhangi bir kurulumdan önce sisteminizi güncelleyin:
sudo dnf -y updateKernel güncellemeleriniz varsa, devam etmeden önce sistemi yeniden başlatmayı düşünün:
sudo rebootSonraki adım olarak sisteminize geliştirme araçlarını yükleyin.
sudo dnf groupinstall -y "Development Tools"Odoo'yu kaynaktan derlerken gerekebilecek ek kütüphaneleri yükleyin:
sudo dnf install -y vim git gcc bzip2-devel redhat-rpm-config libxslt-devel openldap-devel libjpeg-devel freetype-develAdım 2 – Python 3.11 ve Node.js'i Yükleyin
Python 3.10+ yüklememiz gerekiyor. Bu makalede Python 3.11 kullanacağız.
sudo dnf install python3.11 python3.11-devel python3.11-pipSürümü kontrol ederek başarıyla yüklendiğini doğrulayın.
$ python3.11 --version
Python 3.11.9Hadi Node.js'i de yükleyelim. Belirli bir sürüm yok, Node.js v18 kullanacağız.
sudo dnf module reset nodejs -y
sudo dnf module install nodejs:18 -yNode.js sürüm numarasını kontrol ederek doğrulayın.
$ node --version
v18.20.2rtlcss node modülünü npm kullanarak yükleyin:
sudo npm install -g rtlcssAyrıca Less ve Less Plugin Clean CSS'i yükleyin:
sudo npm install -g less less-plugin-clean-cssAdım 3 – PostgreSQL veritabanını yükleyin ve yapılandırın
PostgreSQL 12+ gereklidir. OS APPStream depolarında bulunan PostgreSQL 16'yı yükleyebiliriz. Mevcut PostgreSQL modülünü sıfırlayın.
sudo dnf module -y disable postgresqlPostgreSQL 16 modülünü etkinleştir.
sudo dnf install -y @postgresql:16Ayrıca postgresql-devel paketini yükleyin.
sudo dnf install -y postgresql-develVeritabanı sunucusunu başlat.
sudo postgresql-setup initdbVeritabanı servisini başlatın ve etkinleştirin.
sudo systemctl enable --now postgresqlSon olarak odoo veritabanı kullanıcısını oluşturun. İstendiğinde kullanıcı için bir şifre girin.
sudo su - postgres -c "createuser -s odoo"Şifreli bir kullanıcı oluşturmak için şunu çalıştırın:
sudo -u postgres createuser odoo -U postgres -dPUzak PostgreSQL veritabanı sunucusu için Odoo'nun bağlanabilmesi amacıyla veritabanı sunucunuzda uzaktan bağlantıları etkinleştireceksiniz.
Adım 4 – wkhtmltopdf'i yükleyin
Wkhtmltopdf, Odoo tarafından HTML'yi PDF ve diğer görüntü formatlarına dönüştürmek için kullanılan açık kaynaklı bir CLI aracıdır ve güçlü Webkit render motorunu kullanır. Bu, faturalar, raporlar ve diğer yazdırılabilir belgeler gibi dökümanların oluşturulması için gereklidir.
wkhtmltopdf RPM paketini indirip yükleyin.
- RHEL 9 tabanlı sistemler
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 tabanlı sistemler
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
Kurulumu doğrula:
$ wkhtmltopdf --version
wkhtmltopdf 0.12.6.1 (with patched qt)Adım 5 – Odoo Python Ortamını Kurma
Odoo servislerini çalıştıracak odoo adlı bir kullanıcı oluşturun.
sudo useradd -m -U -r -d /opt/odoo -s /bin/bash odoovirtualenv'i yükleyin:
sudo pip3.11 install virtualenvOluşturulan odoo kullanıcı hesabına geç.
sudo su - odooOdoo’nun Github deposunu yerel olarak klonlayın.
git clone --depth 1 --branch 17.0 --single-branch https://github.com/odoo/odoo.gitOdoo ERP için Python sanal ortamını oluşturmak amacıyla virtualenv komutunu kullanın.
virtualenv odoo-venvOluşturulan sanal ortamı etkinleştirin.
source odoo-venv/bin/activateEtkinleştirdikten sonra pip'i güncelleyin.
pip3.11 install --upgrade pipOrtamda wheel Python paketini yükleyin
pip3.11 install wheelOdoo 17 Python gereksinimlerini yükleyin
pip3.11 install -r odoo/requirements.txtSanal ortamda yüklü tüm Python paketlerini listelemek için aşağıdaki komutu çalıştırın:
pip3.11 listTüm üçüncü taraf eklentileri depolayacak bir dizin oluşturun.
mkdir odoo/custom-addonsSanal ortamdan çık.
exitAdım 6 – Odoo ERP'yi Yapılandır
Örnek Odoo yapılandırma dosyasını sisteminizdeki /etc dizinine kopyalayın.
sudo cp /opt/odoo/odoo/debian/odoo.conf /etc/odoo.confodoo.conf dosyası, Odoo'nun doğru şekilde çalışması için gerekli ana yapılandırmaları içerir. Düzenlemek için dosyayı açın.
# Open with vim
sudo vim /etc/odoo.conf
# Open with nano
sudo nano /etc/odoo.confAyarları aşağıdaki gibi yapın.
[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 = 8069Uzak PostgreSQL sunucusu için şunu ayarlayın:
- db_host: PostgreSQL veritabanı sunucusu IP adresi
- db_password: Uzak veritabanında oluşturulan kullanıcı için şifre
- db_user: Uzak veritabanı kullanıcısı oluşturuldu.
Dosyaya uygun izinleri ver:
sudo chown odoo:odoo /etc/odoo.conf
sudo chmod 640 /etc/odoo.confOdoo systemd hizmeti oluştur.
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
EOFLogs dizini oluştur.
sudo mkdir /var/log/odoo/
sudo chown -R odoo:odoo /var/log/odoo/odoo servisini başlatın ve etkinleştirin.
sudo systemctl daemon-reload
sudo systemctl enable --now odoo.serviceServisin doğru çalışıp çalışmadığını kontrol edin.
$ 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.Adım 7 – firewalld yapılandırması
Servis 8069 portunda dinliyor.
$ 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 <->Eğer firewalld kullanıyorsanız, 8069 numaralı portu açın
sudo firewall-cmd --add-port=8069/tcp --permanent
sudo firewall-cmd --reloadOdoo web konsoluna http://serverip:8069 adresinden erişebilir ve kurulumu tamamlayabilirsiniz.
Master şifre için odoo.conf içinde belirlenen admin_passwd değerini girin. Örnek oluşturmak için veritabanı adını belirtin, örneğin odoo17. Daha sonra e-posta adresi ve şifre sağlayarak ilk yönetici kullanıcıyı oluşturun. İsteğe bağlı olarak telefon numarası, dil ve ülkeyi de belirleyebilirsiniz.
Kurulumu tamamladıktan sonra, oluşturduğunuz yönetici kullanıcı ve şifresi ile giriş yapın.
Modülleri etkinleştirmek vb. işlemler için Odoo kontrol paneline ulaşacaksınız.
Adım 8 – Nginx Proxy'yi Yapılandırın
İstekleri Odoo ERP'ye yönlendirmek için Nginx kullanabiliriz. Nginx paketini yükleyin.
sudo dnf -y install nginxHizmetin sistem başlatıldığında otomatik olarak başlamasını etkinleştir.
sudo systemctl enable nginxOdoo servisi için Nginx yapılandırma dosyası oluşturun.
sudo vim /etc/nginx/conf.d/odoo.confAşağıdaki içeriği yapıştırın ve düzenleyin. odoo.example.com adresini kendi gerçek alan adınızla değiştirmeniz gerekmektedir.
# 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;
}Nginx yapılandırmalarını doğrulayın.
$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successfulHer şey yolunda görünüyorsa servisi yeniden başlatın.
sudo systemctl restart nginxOdoo web kontrol paneline http://yourdomain.com adresinden erişin
Adım 9 – Let’s Encrypt SSL Kullanımı
Kamuya açık bir alan adındaki sunucular için ücretsiz Let’s Encrypt SSL kullanabilirsiniz.
certbot ve Nginx eklentisini yükleyin.
sudo dnf install epel-release
sudo dnf install certbot python3-certbot-nginx -yLet’s Encrypt SSL için Talep.
DOMAIN=odoo.example.com #replace with your actual domain
sudo certbot --nginx -d $DOMAIN --agree-tosE-posta adresi vermek istemiyorsanız kullanınL
sudo certbot --nginx -d $DOMAIN --agree-tos --register-unsafely-without-emailÖrnek çıktı:
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
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -SSL'i dahil etmek için /etc/nginx/conf.d/odoo.conf dosyasını otomatik olarak yapılandıracaktır.
cat /etc/nginx/conf.d/odoo.confSonuç
Odoo'nun Rocky, AlmaLinux, CentOS ve RHEL 9 Linux sistemlerine kurulumu ile ilgili eğitimimizi tamamladık. Gerekli bağımlılıklarla sunucuyu hazırlayarak başladık, ardından Odoo ERP'yi kurup yapılandırmaya geçtik. Odoo'nun geniş modül yapısı, esnek ve güçlü özelleştirme imkanları sayesinde, süreçleri otomatikleştirmek için oldukça uygun bir iş çözümü sunmaktadır.


