VPS’te MongoDB Örneği Nasıl Oluşturulur
VPS Üzerinde MongoDB Instance’ı Nasıl Oluşturulur
MongoDB’yi bir Sanal Özel Sunucu (VPS) üzerinde dağıtmak, veritabanı altyapınız üzerinde tam kontrol sağlar—geliştiriciler, girişimler ve performans, esneklik ve veri egemenliğini önceliklendiren organizasyonlar için idealdir. Bu kılavuz, VPS üzerinde MongoDB’yi kurmak, yapılandırmak, güvence altına almak ve optimize etmek için ileri düzey adımları size gösterecektir.
🛠️ Adım 1: Sisteminizi Güncelleyin
sudo apt update && sudo apt upgrade -yHostname ve zaman diliminizi ayarlayın:
hostnamectl set-hostname mongodb-server
timedatectl set-timezone UTC📦 Adım 2: MongoDB’yi Kurun
1. MongoDB GPG Anahtarını İçe Aktarın
wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | sudo gpg --dearmor -o /usr/share/keyrings/mongodb-server-6.0.gpg2. MongoDB Deposu Ekleyin
echo "deb [ signed-by=/usr/share/keyrings/mongodb-server-6.0.gpg ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.listNot: Ubuntu 22.04 kullanıyorsanız focal yerine jammy veya sürümünüzü değiştirin.
3. MongoDB’yi Kurun
sudo apt updatesudo apt install -y mongodb-org🧪 Adım 3: MongoDB’yi Başlatın ve Etkinleştirin
sudo systemctl start mongodsudo systemctl enable mongodDurumu kontrol edin:
sudo systemctl status mongod🔐 Adım 4: MongoDB Sunucunuzu Güvence Altına Alın
Varsayılan olarak, MongoDB 127.0.0.1’e bağlanır. Uzaktan erişim istiyorsanız:
1. Yapılandırmayı Düzenleyin
sudo nano /etc/mongod.confnet: altında bindIp satırını bulun ve değiştirin:
bindIp: 127.0.0.1,0.0.0.02. Kimlik Doğrulamayı Etkinleştirin
security: bölümünün altına ekleyin:
security:
authorization: enabledMongoDB’yi yeniden başlatın:
sudo systemctl restart mongod👤 Adım 5: Yönetici Kullanıcısı Oluşturun
MongoDB shell’ine erişin:
mongoshBir yönetici kullanıcısı oluşturun:
use admin
db.createUser({
user: "admin",
pwd: "StrongPassword123!",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
})Çıkmak için exit yazın, ardından giriş test edin:
mongosh -u admin -p --authenticationDatabase admin🛡️ Adım 6: VPS ve MongoDB’yi Güçlendirin
1. UFW Güvenlik Duvarı
sudo ufw allow OpenSSH
sudo ufw allow 27017/tcp
sudo ufw enableTek bir IP’den uzaktan erişim için:
sudo ufw allow from YOUR.IP.ADDRESS to any port 270172. Fail2Ban (SSH Koruması)
sudo apt install fail2ban -ysudo systemctl enable fail2ban⚙️ Adım 7: İleri Düzey Optimizasyon (İsteğe Bağlı)
1. Yüksek Erişilebilirlik için Replica Set
/etc/mongod.conf dosyasını düzenleyin:
replication:
replSetName: "rs0"Başlatın:
mongosh
rs.initiate()2. Yedekleme Stratejisi
Yedeklemeler için mongodump kullanın:
mongodump --out /var/backups/mongodb/$(date +%F)Cron ile otomatikleştirin:
crontab -e
# Daily at 2 AM
0 2 * * * /usr/bin/mongodump --out /var/backups/mongodb/$(date +%F)3. Şifreli Bağlantılar için TLS/SSL Kullanın
Sertifikaları oluşturun ve mongod.conf dosyasındaki net.ssl bölümünü yapılandırın. Bu, daha fazla kurulum ve güvenilir bir sertifika otoritesi (CA) gerektirir.
🧪 Adım 8: Dağıtımınızı Test Edin
Uzaktan bağlantıyı test edebilirsiniz:
mongosh "mongodb://admin:StrongPassword123!@your-server-ip:27017/admin"your-server-ip’yi VPS IP’niz veya alan adınızla değiştirin.
📊 Adım 9: MongoDB’nizi İzleyin
Şunları düşünün:
MongoDB Atlas İzleme Aracı (isteğe bağlı)
Prometheus + Grafana ile exporter’lar
Cron ve logwatch ile özel uyarılar
Ayrıca logları doğrudan izleyebilirsiniz:
sudo tail -f /var/log/mongodb/mongod.log✅ Son Kontrol Listesi
MongoDB kurulu ve çalışıyor
Uzaktan erişim güvence altına alındı
Yönetici kimlik doğrulaması zorunlu hale getirildi
Güvenlik duvarı yapılandırıldı
Yedeklemeler mevcut
İsteğe bağlı izleme etkinleştirildi
🧩 Sonuç
VPS üzerinde MongoDB çalıştırmak, size eşsiz bir esneklik sağlar, ancak güvenlik, yedeklemeler ve performansa dikkat edilmesi gerekir. Bu kılavuzu takip ederek, güvenli ve üretime hazır bir MongoDB instance’ı oluşturmuş oldunuz, uygulamanız büyüdükçe ölçeklenmeye hazır.


