Bir müşteri için Odoo ERP kurarken şunu fark ettim: insanlar hemen Odoo’yu kurmak istiyor, ama asıl iş ondan önce başlıyor. Hesap, alan adı, e-posta ve sunucu doğru hazırlanmazsa, işletmenin bütün faturaları, müşterileri ve stok bilgisi güvensiz bir sunucuda duruyor. Bu yüzden kurulumu adım adım anlatan bir kılavuz hazırladım ve bu yazıyla VPS Setup Guide serisine başlıyorum. Bu ilk bölümde Odoo’dan önceki her şeyi anlatıyorum; kılavuzun tamamını PDF olarak da indirebilirsiniz.
Kılavuz Türkçe; panel İngilizce olduğu için ekran görüntüleri ve düğme adları panelde gördüğünüz gibi bırakıldı. Bu yazıda her bölümü özetliyorum, ayrıntılar, komutlar ve ekran görüntüleri aşağıdaki PDF’te. Kılavuzu buradan okuyabilir ya da indirebilirsiniz.
PDF içeriğine geçBir benzetme: önce temel, sonra mobilya
Bir dükkân açtığınızı düşünün. Rafları dizmeden önce kapıya kilit takarsınız, alarmı kurarsınız ve anahtarın kimde olduğunu bilirsiniz. ERP de dükkânın kasası gibi. Odoo mobilya; VPS, güvenlik duvarı, SSH anahtarı ve yedekler ise temel ve kilit. Bu kılavuzun kuralı basit: sunucu güvenli hâle gelmeden üzerine tek bir gerçek veri konmaz.
Başlamadan önce: yer tutucular ve dört karar
Kılavuzdaki bütün değerler örnek: example.com sizin alan adınız, 203.0.113.10 VPS’inizin IP adresi, deploy sizin Linux kullanıcınız. PDF’in başındaki tabloya kendi değerlerinizi yazın. Sonra işe başlamadan şu dört soruyu cevaplayın, çünkü her biri kurulumu değiştiriyor:
- Odoo sürümü ve paketi: Community mi, Enterprise mi? Kurulum ve lisans maliyeti farklı.
- Kullanıcı sayısı: Odoo’nun kaç worker ile çalışacağını bu belirliyor.
- Dış yedekler: Yedekler nerede duracak, depolamayı kim ödeyecek?
- Kodun sahibi: Teslimde kod kimin olacak, repo müşterinin hesabına taşınacak mı?
Kurulumun 8 adımı
1. Hostinger hesabı ve hPanel
VPS, web hosting, alan adı ve e-postayı tek bir hesapta toplayın; hesabı işletme sahibinin kontrol ettiği bir e-posta ile açın ve iki adımlı doğrulamayı hemen açın. Müşteri için kuruyorsanız hizmetler müşterinin hesabında kalsın, siz şifre yerine yönetici erişimi isteyin. Her hizmette otomatik yenilemenin açık olduğunu kontrol edip yenileme tarihlerini not edin.
2. Alan adı ve DNS
Alan adının durumu Active olmalı. DNS kayıtlarında web sitesi, e-posta ve sunucu farklı kayıtlara bağlı. En önemli kural: alan adının kökünü (@) ya da www‘yi VPS’e yönlendirmeyin. Web sitesi hosting’de kalır, VPS’e sadece erp alt alan adı gider.
3. Web sitesi ve WordPress
Sitenin SSL’i yeşil olmalı, günlük yedek çalışmalı ve eklentiler güncel olmalı. Gözden kaçan bir nokta: /wp-json/wp/v2/users adresi yazar isimlerini herkese gösteriyor. PDF’te bunu ziyaretçilere kapatan kısa bir PHP kodu var.
4. Kurumsal e-posta
Günlük kullanım için info@ kutusunun yanında ERP’ye ayrı bir kutu açın, örneğin erp@example.com. Odoo e-postaları her zaman smtp.hostinger.com üzerinden gönderilmeli; VPS’ten doğrudan gönderilen e-posta spam’e düşer. DMARC kaydını da aşama aşama p=none‘dan p=quarantine‘e sıkılaştırın.
5. VPS’i tanıyın
Bir şeyi değiştirmeden önce elinizde ne olduğunu bilin: IP adresi, SSH kullanıcı adı, işletim sistemi ve kaynaklar. Overview sayfasındaki Web console düğmesini unutmayın; SSH çalışmadığında bile tarayıcıdan sunucuya girmenizi sağlar. Odoo’yu Docker ile çalıştıracağımız için yeni bir Ubuntu sürümü sorun olmuyor.
6. VPS’i güvenli hâle getirin
Serinin en önemli bölümü bu. Sırayla: önce bir snapshot alın, sonra kendi bilgisayarınızda bir SSH anahtarı oluşturup hPanel’e ekleyin.
ssh-keygen -t ed25519 -C "you@example.com"
cat ~/.ssh/id_ed25519.pub
Ardından root yerine kullanacağınız bir kullanıcı açın:
adduser deploy
usermod -aG sudo deploy
rsync --archive --chown=deploy:deploy ~/.ssh /home/deploy
Yeni kullanıcıyla girebildiğinizi ikinci bir pencerede doğruladıktan sonra şifreyle girişi ve root girişini kapatın. Son olarak hPanel’de bir güvenlik duvarı kurun: sadece 22 (yalnızca kendi IP’nizden), 80 ve 443 açık olsun. Otomatik güvenlik güncellemelerini de açın.
Altın kural: Erişim ayarlarını değiştirirken çalışan SSH pencerenizi kapatmayın. Yeni ayarın çalıştığını ikinci bir pencerede görmeden ilkini kapatırsanız sunucunun dışında kalabilirsiniz. Kilitlenirseniz PDF’in sonundaki “Sunucunun dışında kalırsanız” tablosu sizi geri getirir.
Odoo’nun 8069 ve PostgreSQL’in 5432 portunu asla internete açmayın. Odoo’ya trafik sadece 443 üzerindeki HTTPS proxy’den gelir.
7. GitHub reposu
Sunucuyu yeniden kurmak için gereken her şey özel (Private) bir repoda dursun; şifreler ise asla. İlk commit’ten önce .gitignore dosyasına .env, veritabanı dökümleri ve yedek klasörlerini ekleyin. Bir şifre yanlışlıkla GitHub’a giderse dosyayı silmek yetmez, şifreyi değiştirin. Bu alışkanlığı Önce Repo, Sonra Prompt yazımda ayrıntılı anlatmıştım.
8. Gerçek veriden önce kontrol noktası
Bu listedeki her madde işaretlenmeden bir sonraki bölüme geçmeyin:
- Hostinger ve GitHub’da iki adımlı doğrulama açık
- Bütün hizmetlerde otomatik yenileme açık ve tarihler not edilmiş
- Giriş SSH anahtarıyla ve root olmayan kullanıcıyla yapılıyor
- Şifreyle giriş ve root girişi reddediliyor
- Güvenlik duvarı sadece 22, 80 ve 443’e izin veriyor; 8069 ve 5432 dışarıdan erişilemiyor
- Otomatik güvenlik güncellemeleri açık ve en az bir snapshot var
- ERP’ye özel bir e-posta kutusu var
- Repo özel ve içinde hiçbir şifre yok
- Baştaki dört karar cevaplandı
Serinin devamında
Sıradaki bölümlerde bu güvenli temelin üzerine Docker’ı, Odoo ve PostgreSQL’i kuracağız; erp.example.com adresine HTTPS ekleyeceğiz, Odoo’nun e-posta gönderimini ayarlayacağız, her gece çalışan yedekleri ve geri yükleme testini kuracağız. Her bölümün PDF’i bu kategoriye eklenecek.
Kapanış
Bir ERP’nin değeri içindeki verilerden geliyor, o verilerin güvenliği de ilk günden kurulan temele bağlı. Bu sekiz adım biraz zaman alıyor ama sonradan yaşanacak bir veri kaybından çok daha ucuz. Odoo’nun ne olduğunu merak ediyorsanız Odoo ERP Nedir? yazımdan başlayabilirsiniz. Kurulumda takıldığınız bir yer olursa yazının altına yazın.




