MongoDB kullanmaya karar verdiniz, bu harika bir tercih; alternative to MariaDB MERN stack uygulama, analitik platformu veya belge tabanlı herhangi bir sistem geliştirmek için ideal olsa da eski usul Linux komut satırları ve sayısız terminal hatasıyla karşı karşıya kaldınız.
Endişelenmeyin; bu rehber, MongoDB'yi Ubuntu'ye kurmak için A'dan Z'ye ihtiyacınız olan her şeyi kapsamaktadır.
MongoDB kulllanır X.Y.Z sürümleme. 8.0 bir başlıca sürüm serisi ve 8.2 bir küçük 8.0 döngüsündeki sürüm. Küçük sürümler, aynı ana döngü içinde özellikler ekler ve 8.0'dan itibaren belirli kullanım senaryoları (örneğin Search ve Vector Search) için yerinde kuruluma da sunulur. Ubuntu üzerindeki MongoDB 8.0, şunları destekler: 24.04 (Noble), 22.04 (Jammy) ve 20.04 (Focal) 64-bit sistemlerde; ARM64 desteği ise belirli platformlarda mevcuttur.
GnuPG ve Curl Ön Gereksinimleri
Resmi mongodb-org paketini yüklemeden önce Ubuntu için iki ön gereksinim gereklidir: GnuPG ve Curl. Bu araçlar, Ubuntu'ye MongoDB'yi indirme izni verir; çünkü Ubuntu'nin kendi mongodb paketi, MongoDB Inc. tarafından bakımı yapılmamakta olup resmi mongodb-org paketiyle çakışmaktadır. Daha önce mongodb kurduysanız, önce kaldırdığınızdan emin olun.
Şimdi şu komutu çalıştırın sudo apt-get install gnupg curl. Curl, internetten dosya indirmeye yarayan bir araçtır ve MongoDB'nin güvenlik anahtarını almak için gereklidir. GnuPG ise Ubuntu'nin yazılım özgünlüğünü doğrulamak için kullandığı araçtır. GnuPG eksik olduğunda, Ubuntu, MongoDB paketlerini doğrulayamaz.
Terminalinizin GnuPG ve Curl'ü başarıyla yükleyip yüklemediğini kontrol edin. Yükleme başarılıysa çıktı şöyle görünmelidir:
MongoDB GPG Anahtarını İçe Aktarma
Ubuntu'nin paket yöneticisi APT, kurulum öncesinde paketleri doğrulamak için GPG anahtarları kullanır. Bu GPG anahtarı olmadan Ubuntu, MongoDB depolarının eklenmesine izin vermez. Anahtarı eklemek için terminale şu komutu yazın:
curl -fsSL https://www.mongodb.org/static/pgp/server-8.0.asc | \
sudo gpg -o /usr/share/keyrings/mongodb-server-8.0.gpg \
--dearmor
İşlem başarılı olursa terminal çıktısı şöyle görünmelidir:
Kısaca açıklamak gerekirse, bu komut MongoDB'nin güvenlik imzasını indirir, Ubuntu'nin okuyabileceği bir formata dönüştürür ve güvenli bir sistem klasörüne kaydeder. Komut satırının bölüm bölüm açıklaması:
- curl -fsSL URL MongoDB'nin resmi anahtarını indirir
- –dearmor anahtarı Ubuntu'nin anlayabileceği şekilde metin formatından ikili formata dönüştürür
- -o /usr/share/keyrings/mongodb-server-8.0.gpg ikili dosyayı Ubuntu'nin güvenilir anahtarları sakladığı klasöre kaydeder
Tüm komutları eksiksiz uygularsanız, GPG anahtarı sorunsuz biçimde eklenir. Ancak bazı kullanıcılar, MongoDB indirirken GPG anahtarı uyuşmazlığından kaynaklanan sorunlarla karşılaşır. Şu tür hatalar:
NO_PUBKEY
The following signatures couldn't be verified
public key not available
daha önce belirtilen GPG anahtarı komutlarını tam olarak uygulamak yerine sudo apt-key kullanıldığında ortaya çıkar, çünkü modern Ubuntu bunu artık önermemektedir.
MongoDB Deposunu Ekleme
MongoDB deposunu eklemek, Ubuntu'ye MongoDB paketlerinin belirli bir internet adresinde yer aldığını bildiren bir dosya oluşturur. Liste dosyasını /etc/apt/sources.list.d/mongodb-org-8.0.list adresinde, echo … | sudo tee …
komutuyla depo satırını dosyaya yazarak oluşturun. İşin çetrefilli kısmı şurası: Ubuntu'nin farklı sürümleri bu komutun farklı varyasyonlarını gerektirir. Daha önce bahsettiğimiz üç Ubuntu sürümünde liste dosyasını nasıl içe aktaracağınızı şimdi inceleyeceğiz.
Ubuntu 24.04 (Noble)
Ubuntu 24.04'te liste dosyasını oluşturmak için şu komutu yazmanız yeterlidir: echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] https://repo.mongodb.org/apt/ubuntu noble/mongodb-org/8.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list terminalinizde.
Bu komut ilk bakışta karmaşık görünebilir, ama endişelenmeyin. Komutu bölümlere ayırdığımızda her şey netleşecek.
- echo metni yazdır
- /etc/apt/sources.list.d Ubuntu'nin yazılım kaynak tanımlarını sakladığı klasördür. Bu klasör içindeki .list uzantılı her dosya, Ubuntu'ye yazılımı nereden indireceğini söyler.
- Normal bir kullanıcı olarak sistem klasörlerine varsayılan olarak yazamazsınız. tişört komutu, kullanıcıya sistem dosyalarına metin yazma yetkisi verirken şunu kullanır: sudo
- asil Ubuntu 24.04'ün kod adıdır. Her Ubuntu sürümünün şunlar gibi bir kod adı vardır:
| Sürüm | Kod adı |
| 20.04 | Odak |
| 22.04 | Jammy |
| 24.04 | Asil |
Ubuntu sürümünüzü doğru komut satırıyla eşleştirmezseniz, Ubuntu, MongoDB deposunu tanıyamaz.
Ubuntu 22.04 (Jammy)
Liste dosyasını Ubuntu Jammy'ye eklemek de aynı şekilde yapılır; ancak komutu girerken şunu değiştirmeniz gerekir: asil ile jammyI'd be happy to help translate to Turkish, but I notice the English text to translate appears to be missing or incomplete. Could you please provide the English text you'd like me to translate?
echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/8.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list
Bunun Ubuntu sürümünüzle eşleşen komut olduğundan emin olun, aksi takdirde işlem yine başarısız olur.
Ubuntu 20.04 (Focal)
Burada aynı adımları izleyin, ancak şunu kullanmak yerine: asil or jammy, içine koy focal:
echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/8.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list
Depo ayarlandığına göre artık MongoDB kurulumuna geçebilirsiniz. mongodb-org.
Paket Veritabanını Yenileyin
Depo Ubuntu tarafından tanındığına göre, içindeki paket veritabanını yeniden yüklemeniz gerekiyor; böylece artık MongoDB de bu veritabanına dahil olacak. Aşağıdaki komutu çalıştırın:
sudo apt-get update
Bu komut tüm Ubuntu sürümlerinde aynıdır. Atlanırsa Ubuntu, MongoDB'yi içermez. Komut başarıyla çalışırsa terminal çıktınız şöyle görünmelidir:
Paket veritabanınızı yeniden yükledikten sonra sıra MongoDB paketlerini indirmeye geldi.
MongoDB Community Server'ı Kurun
Kurulabilecek çeşitli MongoDB sürümleri vardır, ancak kullanıcılar genellikle en kararlı sürümü tercih eder. En son kararlı sürümü kurmak için şunu çalıştırın: sudo apt-get install -y mongodb-org
Ubuntu, MongoDB paketlerini indirdi, kurdu, bir MongoDB kullanıcı hesabı ve veri dizini oluşturdu ve MongoDB'yi bir sistem servisi olarak kaydetti. Ubuntu üzerine MongoDB indirme adımlarını bu şekilde tamamladık. Şimdi başlatalım.
MongoDB Nasıl Başlatılır
MongoDB'yi çalıştırmak için Ubuntu'nin servis yöneticisi olan "systemd"ye, MongoDB'yi bir arka plan servisi olarak tanımasını söylememiz gerekiyor. Bunun için terminalinize şu komutu yazın:
sudo systemctl start mongod
Komut başarıyla çalışırsa, Ubuntu artık MongoDB'yi arka planda başlatacaktır. Ancak komut başarısız olursa, şuna benzer bir hata alabilirsiniz: mongod.service başlatılamadı..
Bu durum birkaç yaygın sorundan kaynaklanabilir:
- Yapılandırma dosyası hatası in /etc/mongod.conf (YAML girintileme hataları sık görülür)
- Port çakışması (27017 portu zaten kullanımda)
- İzin sorunu veri veya log dizinlerinde (var/lib/mongodb veya var/log/mongodb)
- Disk dolu or bozuk dosya sistemi durumu
Sorunu Teşhis Etmek için Üç Komut
MongoDB'nin neden çalışmadığını genel hatlarıyla tahmin etmek kolaydır, ancak tam nedeni bulmak çok daha güçtür. Hatanın kaynağını tespit etmek için kullanabileceğiniz üç yöntem şunlardır:
- Servis durumunu kontrol edin: sudo systemctl status mongod –no-pager
- Ayrıntılı logları kontrol edin (en önemlisi): sudo journalctl -u mongod –no-pager -n 100
- MongoDB'nin kendi log dosyasını kontrol edin
Ancak şunu belirtmek gerekir: diskiniz doluysa veya sistem dosyalarınız bozuksa, sorun yazılımdan çok donanımla ilgilidir. Mevcut kurulumu eski olan kullanıcıların MongoDB'yi verimli şekilde çalıştırabilmek için sunucularını yükseltmeleri gerekebilir.
Tam bir sunucu satın almak bütçenize uygun değilse, Cloudzy'nin Ubuntu VPS seçeneğine göz atabilirsiniz. Tercih ettiğiniz bir Ubuntu dağıtımıyla kendi özel sunucunuzda temiz bir deneyim sunar. Bununla birlikte 24/7 destek ve en fazla 40Gbps ağ hızı sunar, NVMe SSD ve DDR5 RAM depolama üzerine inşa edilmiştir.
Bunun yanı sıra düşük gecikme süresi, 99.95% çalışma süresi ve bir 14 günlük para iade garantisi de sunmaktadır. Üstelik dünyanın 12 farklı konumunda uygun fiyatlarla kullanılabilir.
MongoDB'yi Çalıştırmak için En Yaygın Üç Düzeltme
MongoDB ile ilgili sisteminizin tam sorununu tespit etmenin ve tek adımda çözmenin kesin bir yolu yok. Aşağıda, MongoDB'yi çalıştırmak için deneyebileceğiniz yaygın çözümler yer alıyor.
- YAML yapılandırma girintisi hatası. Diyelim ki düzenlediniz /etc/mongod.conf girintiyi şu komutu çalıştırarak kontrol edin sudo nano /etc/mongod.conf. YAML dosyası boşluklara karşı oldukça hassastır; her seviyede yalnızca iki boşluk kullandığınızdan emin olun /etc/mongod.conf.
- Port 27017 meşgul. 27017 portunu kullanan başka bir süreç varsa onu durdurun ya da MongoDB'nin portunu değiştirin mongod.conf. 27017 portunda neyin çalıştığından emin değilseniz şu komutu çalıştırabilirsiniz sudo ss -lntp | grep 27017 kontrol etmek için
- Veri dizininde izin sorunu. Bazen MongoDB, sisteminizde çalışmak için gerekli izinlere sahip olmadığından hiç başlamaz. Önce şu komutu çalıştırın sudo chown -R mongodb:mongodb /var/lib/mongodb /var/log/mongodb, ardından MongoDB'yi şu komutla yeniden başlatın sudo systemctl restart mongod
Kaynak göre MongoDB'nin resmi web sitesi, bu sorunu aşmanın bir diğer yolu da daemon'ı şu komutla yeniden yüklemektir sudo systemctl daemon-reload, ve ilk komutu çalıştırın, sudo systemctl start mongod, yine.
Eğer yoksa mongod.service, kurulum sırasında systemd birimi yerleştirilmemiş olabilir; bu durumda yeniden yükleyin mongodb-org paket seti
Tüm bunların ardından MongoDB'nin başarıyla başlayıp başlamadığını şu komutla doğrulayabilirsiniz sudo systemctl status mongod. Terminal şunu gösteriyorsa aktif (çalışıyor), hazırsınız. Ancak deneyiminizi çok daha iyi hale getirecek birkaç yapılandırma adımı daha var.
MongoDB'yi Otomatikleştirin
MongoDB, sunucunuzu her açtığınızda otomatik olarak başlamaz; bu adımları her seferinde tekrarlamanız gerekir. İsterseniz, masaüstüne geçtikten sonra MongoDB'yi otomatik başlatması için Ubuntu'yi yapılandırabilirsiniz.
Basitçe çalıştır sudo systemctl enable mongod komutunu terminalde çalıştırmanız, sistemin her yeniden başlatmada MongoDB'yi otomatik olarak başlatmasını sağlar. Ayrıca mongod sürecini aşağıdaki komutla yeniden başlatabilirsiniz sudo systemctl restart mongod. Hata mesajlarını veya önemli sistem bildirimlerini incelemek için şu log dosyasının çıktısını takip edebilirsiniz:
/var/log/mongodb/mongod.log
Kurulum tamamlandı. Artık mongod'u kullanmaya başlayabiliriz.
MongoDB Shell'ini Açmak
Veritabanıyla etkileşime geçmek için aşağıdaki komutu çalıştırarak bir MongoDB shell'i açmanız gerekir mongosh. Bunu, MongoDB'ye özgü bir komut satırı terminali ya da MySQL konsolu olarak düşünebilirsiniz. Alternatif olarak, MongoDB sürücüleri gibi GUI araçlarıyla da MongoDB'ye bağlanabilirsiniz. Ancak terminal üzerinden etkileşim kurmak istiyorsanız, mongosh tam olarak bunun için tasarlanmıştır.
MongoDB artık tamamen çalışır durumda olacak; ancak güvenliği sağlamak için birkaç ek adım daha atmanız gerekiyor.
MongoDB'de Kimlik Doğrulamayı Etkinleştirin
MongoDB, varsayılan olarak parola koruması olmadan gelir; çünkü kullanıcı oluşturabilmek için sisteme zaten erişiminizin olması gerekir. Bunu yapmanın basit bir yolu:
Yönetici Kullanıcı Oluşturun
Önce aşağıdaki komutla admin veritabanına geçin:
use admin
Ardından şu komutla bir kullanıcı oluşturun db.createUser({…}). Kendi
- Kullanıcı adı
- Şifre
- Rol
Rol için tercihen şunu girin root yani tam yönetici yetkisi anlamına gelir.
Kimlik Doğrulamayı Etkinleştir
Kendi kullanıcımızı oluşturduk; şimdi /etc/mongod.conf dosyasını düzenlememiz gerekiyor. Bu dosya, MongoDB'nin nasıl çalışacağını belirler. Ancak dosyayı düzenledikten sonra mutlaka mongod servisini şu komutla yeniden başlatmayı unutmayın sudo systemctl restart mongod. Burada değiştirmemiz gereken tek parametre, şu şekilde görünen authorization parametresidir:
security:
authorization:
Kimlik doğrulama sürecini tamamlamak için yetkilendirme değerini şu şekilde değiştirin:
security:
authorization: enabled
Artık MongoDB giriş gerektiriyor, dolayısıyla kimlik doğrulamanız tamamlandı. Şimdi MongoDB'yi tam anlamıyla kullanan başka bir yapılandırmaya geçelim.
Güvenlik Duvarınızı Açın
Daha önce belirtildiği gibi, MongoDB 27017 numaralı portta çalışır. Güvenlik duvarları varsayılan olarak portları engellediğinden, 27017 üzerinde uygulama çalışmasına izin vermeniz gerekir. Bunun için şu komutu çalıştırmanız yeterli:
ufw allow from YOUR_IP to any port 27017
Alternatif olarak şu komutu da kullanabilirsiniz ufw allow 27017, ancak dikkatli olun; bu komutu çalıştırmak söz konusu porta tüm internetten erişim imkânı tanır. En güvenli seçenek muhtemelen ilk yöntemdir; zira bu yöntem porta yalnızca kendi IP adresinizden erişime izin verir.
MongoDB kullanırken uzaktan erişim sorunu gibi çeşitli problemlerle karşılaşabilirsiniz. Çözümü öğrenmek için okumaya devam edin.
Uzaktan Erişim Sorunu
MongoDB şununla başlatılıyor: bindIp. bindIp sınırlar MongoDB ile 127.0.0.1, yalnızca yerel bağlantılara izin verecek şekilde yapılandırılmıştır. Bu nedenle, MongoDB sunucusuna başka bir konumdan bağlanmaya çalışırsanız erişiminiz reddedilir; MongoDB varsayılan olarak yalnızca yerel bağlantılara izin verir ve bu ayar değiştirilmediği sürece geçerli olmaya devam eder.
Yeniden şuraya gidin: /etc/mongod.conf, ve şuna benzer üç satır göreceksiniz:
net:
port: 27017
bindIp: 127.0.0.1
Uzak bağlantılara izin vermek istiyorsanız mongod kullanıcı, yukarıda gösterilen değerleri şu şekilde değiştirin:
net:
port: 27017
bindIp: 0.0.0.0
Sonrasında yeniden başlatın mongod hizmet ile sudo systemctl restart mongod tıpkı dosyada yaptığınız diğer tüm düzenlemelerde olduğu gibi.
Artık şu iznini verdiniz: mongod hizmete uzak bağlantıları kabul etme izni verin. Ancak dikkatli olun: bunu yaptığınızda, henüz kimlik doğrulaması yapmadıysanız veritabanınızı tüm internete açmış olursunuz. mongod kullanıcı. Açık MongoDB portlarını sürekli tarayan pek çok bot vardır; bu nedenle mongod kullanıcınızın her zaman bir parolası olduğundan emin olun.
Genel Bakış
Tebrikler, Ubuntu sisteminiz için optimize edilmiş bir MongoDB servisi oluşturmak adına gereken her şeyi tamamladınız. Aşağıda bu makalede ele alınan adımların tamamını takip edebileceğiniz bir zihin haritası bulunuyor.
| Komut | Ne Yaptığı |
| apt güncellemesi | Yazılım listesini yenile |
| apt yükle | Yazılım yükle |
| curl | Dosyayı indir |
| gpg | Şifreleme anahtarlarını yönetin |
| echo | Metni Yazdır |
| tişört | Korumalı dosyaya yaz |
| systemctl start | Hizmeti Başlat |
| systemctl etkinleştir | Önyükleme sırasında başlat |
| systemctl durumu | Hizmeti kontrol et |
| mongosh | MongoDB kabuğuna gir |
| Düzenle /etc/mongod.conf | Kimlik doğrulamayı etkinleştir |
| ufw | Güvenlik duvarını yönet |
| bindIp | Uzaktan erişime izin ver |
Bu, tüm süreci daha iyi anlamanıza yardımcı olacaktır. Ancak MongoDB'yi kendiniz kurmak çok karmaşık geliyorsa, Cloudzy'nin MongoDB VPS özel Ubuntu 24.04 LTS sunucunuz için MongoDB önceden yüklenmiş olarak sunulmaktadır.
Birlikte gelir 99.95% uptime, 24/7 destek ve bir 14 günlük para iade garantisi. Bunun yanı sıra 40 Gbps bant genişliği ve DDR5 RAM ve NVMe SSD depolama alanı sunar. Nerede yaşadığınız önemli değil, çünkü bu hizmet aynı zamanda şu bölgelerde de kullanılabilir: 12 dünyanın dört bir yanındaki lokasyonlarda uygun fiyatlarla kullanılabilir.
Tüm bunların ardından, üretim düzeyindeki iş yüklerini ve işletmeleri desteklemeye hazır, tam yapılandırılmış kendi MongoDB servisinizi başarıyla kurdunuz.