MangoDB Kurulumu

Bu makalede MangoDB Kurulumunu inceleyebilirsiniz.

Aşağıdaki komutlar ile gerekli güncelleme işlemi ve kurulum yapabilirsiniz;

sudo apt update

Adım 1 – MangoDB Kurulumu

Kuruluma başlarken paket yönetim aracımız olan “apt” için bir GPG anahtarı sağlamalıyız. Bu sayede paket tutarlılığını ve orijinalliğini sağlayabiliriz.

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4

MongoDB için .list dosyası oluşturalım.

echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list

.list dosyası oluşturmak için çalıştırdığımız bu komut Ubuntu 16.04 (Xenial) sürümü için yumludur. Diğer sürümler için: https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/#import-the-public-key-used-by-the-package-management-system inceleyebilirsiniz

MongoDB paketini yükleyelim

sudo apt-get install -y mongodb-org

MongoDB servisini başlatalım

sudo service mongod start

MongoDB servisinin başarıyla başlayıp başlamadığını kontrol etmek için aşağıdaki komutu kullanabilirsiniz.

sudo service mongod status

Adım 2 — Veritabanı Kullanıcısı Oluşturmak

Eğer servisimizi yani veritabanımızı başarılı şekilde başlatatıldıysa artık kullanıcılarımızı oluşturabiliriz.

mongo

MongoDB hazır olarak “admin” veritabanı ile gelmekte. Biz bu veritabanına erişim sağlayarak kullanıcımızı oluşturalım.

use admin;
db.createUser({
  user: "aventis",
  pwd: "parola",
  roles: [
    { role: "userAdminAnyDatabase", db: "aventis" },
    { role: "readWriteAnyDatabase", db: "aventis" },
    { role: "dbAdminAnyDatabase",   db: "aventis" }
  ]
});

“roles” dizisi ile birden çok rolü kullanıcımıza tanımladık. Burdaki roller sayesinde tüm veritabanlarında “kullanıcı admini”, “yazma ve okuma izinleri”, “veritabanı admini” yetkilerini tanımladık. Kısacak tüm veritabanlarını, kullanıcılarını ve verilerini yönetebilen bir kullanıcıya sahibiz.

Not: “admin” dışındaki veritabanları için bir kullanıcıya herhangi bir “admin” yetkisi atayamazsınız.

MongoDB kurulumu ile gelen rollerin tamamını görüntülemek ve detaylı şekilde incelemek için: https://docs.mongodb.com/manual/reference/built-in-roles/#database-user-roles

Adım 3 — Yapılandırma Hakkında Bilgilendirme

Kurulumumuzu yaptık, kullanıcımızı oluşturduk. Şimdi de MongoDB’yi uzaktan erişilebilir hale getirelim.

Varsayılan olarak MongoDB servisine erişmek için herhangi bir yetki gerekmez. Öncelikle bu özelliği(authorization) aktifleştirmemiz gerekiyor ki veritabanına sadece oluşturduğumuz kullanıcılar erişsin.

Öncelikle MongoDB yapılandırma dosyasını “nano” ile açıyoruz.

sudo nano /etc/mongod.conf

Eğer dosya içerisinde “security:” satırı var ise hemen altına authorization: ‘enabled’ satırını ekliyoruz.

security:
authorization: enabled

Varsayılan olarak MongoDB uzaktan erişime kapalı olarak sunuluyor. Servisimizi uzaktan erişime açmak için aynı dosya içerisinde “network interfaces” bölümündeki “bindIp” yi düzenleyeceğiz. “bindIp” varsayılan olarak “127.0.0.1” değerinde olacaktır.

Eğer tüm ipler tarafından erişilmesini istiyorsanız;

# network interfaces
net:
    port: 27017
    bindIp: [127.0.0.1, ErişimİP]

BindIP alanını bir dizi olarak tanımlayabilir ve istediğimiz ip adresini atayarak erişimine izin verebiliriz. Eğer “0.0.0.0” olarak değiştirmediysek servisin kurulu olduğu sunucudan da erişebilmek adına dizinin ilk elemanı olarak “127.0.0.1” değerini veriyoruz.

Adım 4 — MangoDB Port Açma

Gerçekleştirmemiz gereken son adım ise sunucumuzun 27017 portunu yani MongoDB servisinin kullanacağı portu dışarıdan gelecek isteklere açmamız gerekiyor.

Muhtelemen sunucu için kullandığınız servis sağlayacınız bu işlemi kendi kontrol paneli üzerinden yapmanıza izin veriyordur. Fakat biz bu işlemi direkt olarak sunucu'dan yani komut satırımızdan da gerçekleştirebiliriz.

sudo iptables -A INPUT -p tcp --dport 27017 -j ACCEPT

Kurulum tamamlandı.

Last updated