%50 indirim tüm planlarda, sınırlı süre. Başlangıç fiyatı $2.48/mo
12 dk kaldı
Veritabanları ve Analitik

MongoDB, Ubuntu'nin Son Üç Sürümüne Nasıl Kurulur? (Adım Adım)

Jim Schwarz By Jim Schwarz 12 dk okuma
Fütüristik bir sunucu üzerinde MongoDB'nin orijinal sembolü, MongoDB'nin Ubuntu'ye nasıl kurulacağını anlatan bir alt başlık, makale başlığı ve Cloudzy marka logosu

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:GnuPG ve Curl eklendikten sonra Ubuntu terminal çıktısı

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:MongoDB'nin GPG anahtarı başarıyla eklendikten sonra Ubuntu terminali.

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ı:

  1. curl -fsSL URL MongoDB'nin resmi anahtarını indirir
  2. –dearmor anahtarı Ubuntu'nin anlayabileceği şekilde metin formatından ikili formata dönüştürür
  3. -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.

  1. echo metni yazdır
  2. /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.
  3. 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
  4. 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:sudo apt-get update çalıştırıldıktan sonra Ubuntu terminal çıktısı

 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 Üç KomutFütüristik bir sunucu kurulumu, üç ubuntu terminal komutu ve yükseltme yolu yazılı bir bulut görseli.

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:

  1. Servis durumunu kontrol edin: sudo systemctl status mongod –no-pager
  2. Ayrıntılı logları kontrol edin (en önemlisi): sudo journalctl -u mongod –no-pager -n 100
  3. 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.

  1. 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.
  2. 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
  3. 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ştirinFütüristik sunucu kurulumu: MongoDB otomasyon sembolü + MongoDB komutu içeren terminal + log dosyası

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ştirinMongoDB kimlik doğrulama süreci + kilit sembolü + kimlik doğrulama onayı.

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 Sorunu3 monitörlü sunucu kurulumu: MongoDB'nin uzak erişim ayarları ve terminal komutlarını yapılandırma.

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.

Paylaş

Blogdan daha fazlası

Okumaya devam et.

İşletiniz için Akıllı Veri Yönetimi: VPS ile "Bulut Benzeri" Depolama ve Yedekleme Stratejileri
Veritabanları ve Analitik

İşletiniz için Akıllı Veri Yönetimi: VPS ile "Bulut Benzeri" Depolama ve Yedekleme Stratejileri

Güvenli iş verisi yönetimi için VPS, bir şirket dizüstü bilgisayarlar, e-posta ekleri ve yarı unutulmuş

Reksa SirusReksa Sirus 7 dakikalık okuma
Materialized View ve View Karşılaştırması
Veritabanları ve Analitik

Materialized View ve View: Veritabanlarındaki Rolleri

Veritabanı sistemlerinde materialized view, bir sorgunun önceden hesaplanmış sonuçlarını fiziksel bir tablo olarak disk üzerinde saklayan bir veritabanı nesnesidir. Veriler gerçek anlamda depolandığından, karmaşık

İvy Johnsonİvy Johnson 7 dakikalık okuma
Snowflake vs Databricks
Veritabanları ve Analitik

Databricks ve Snowflake: Veri Profesyonelleri için Tarafsız Karşılaştırma 🧱❄️

Müşteri davranışlarını izleyen e-ticaret platformları, trend tahminleri yapan finans kurumları veya teknoloji şirketleri olsun; kararlarını veriye dayandıran işletmeler için

Allan Van KirkAllan Van Kirk 13 dakikalık okuma

Dağıtmaya hazır mısınız? Aylık 2,48 dan başlayan fiyatlarla.

2008'den bu yana bağımsız bulut. AMD EPYC, NVMe, 40 Gbps. 14 gün para iade garantisi.