Cum sa instalam MongoDB pe Ubuntu 16.04

Blog: OS
MongoDB este o baza de date pentru documente, gratuita si deschisa, catalogata NoSQL folosita in mod obisnuit pentru noile aplicatii. Acest tutorial va va ajuta sa configurati MongoDB pe server-ul dvs. pentru un mediu de aplicatii de productie.

Introducere

MongoDB este o baza de date pentru documente, gratuita si deschisa, catalogata NoSQL folosita in mod obisnuit pentru noile aplicatii. Acest tutorial va va ajuta sa configurati MongoDB pe server-ul dvs. pentru un mediu de aplicatii de productie.

Pentru ca pachetele oficiale MongoDB pentru Ubuntu 16.04 nu au fost inca publicate de catre MongoDB, acest tutorial va folosi pachetele Ubuntu 14.04. Acest lucru presupune un pas aditional pentru a configura MongoDB ca un serviciu systemd care va porni automat la boot; pachetele mai vechi nu fac acest lucru automat.

Nota: Actualizarea pachetelor la versiunea 16.04 va necesita inlaturarea celui mai nou fisier creat (la pasul 3) pentru a evita conflictul cu cele care vor fi inlocuite de catre pachete. in afara de asta, nu ar trebui sa fie probleme cu actualizarea noilor pachete mai tarziu. Daca sunteti nesigur, va recomandam sa asteptati lansarea pachetelor oficiale.

Pasul 1 – Adaugarea Arhivei MongoDB

MongoDB este inclus in arhiva pachetelor Ubuntu, dar arhiva oficiala a MongoDB ofera cele mai noi versiuni si este cea mai recomandata cale de a instala software-ul. in acest pas vom adauga aceasta arhiva pe server-ul nostru.

Ubuntu asigura autenticitatea pachetelor de software verificand daca sunt semnate cu chei GPG, asa ca pentru prima data va trebui sa importam cheia din arhiva oficiala a MongoDB.

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

Dupa ce ati importat cu succes cheia, veti vedea urmatorul mesaj:

Output:
gpg: Total number processed: 1
gpg:   imported: 1  (RSA: 1)

In continuare, va trebui sa adaugam detaliile arhivei MongoDB pentru ca apt sa stie de unde sa descarce pachetele.

Lansati urmatoarea comanda pentru a crea o lista cu fisierele pentru MongoDB.

sudo echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list

Dupa adaugarea detaliilor arhivei, va trebui sa actualizam lista de pachete.

sudo apt-get update

Pasul 2 – Instalarea si Verificarea MongoDB

Acum veti putea instala pachetele MongoDB in sine.

sudo apt-get install -y --allow-unauthenticated mongodb-org

Nota: Pachetele MongoDB pe care le folosim nu indeplinesc standardele de putere a semnaturii pe care Ubuntu 16.04 le asteapta si va trebui sa le instalam doar cu auxiliarul --allow-unauthenticated.

Aceasta comanda va instala cateva pachete care contin ultimele versiuni stabile ale MongoDB impreuna cu instrumente de management de pentru server-ul MongoDB.

Pentru a putea lansa in mod corespunzator MongoDB ca serviciu pe Ubuntu 16.04, va trebui sa cream un fisier suplimentar care sa descrie serviciul. Un unit file comunica systemd cum sa foloseasca resursa. Cel mai comun tip de unit  este service, care determina modul in care putem a porni sau opri serviciul, atunci cand ar trebui sa fie pornit automat la root, si daca acesta este dependent de alte software-uri pentru a rula.

O sa cream un fisier unitate care sa se ocupe de serviciul MongoDB. Creati un fisier de configuratie numit mongodb.service in directorul /etc/systemd/system folosind nano sau editorul dvs. preferat.

sudo nano /etc/systemd/system/mongodb.service

Lipiti urmatorul continut, apoi salvati si inchideti fisierul.

/etc/systemd/system/mongodb.service
[Unit]
Description=High-performance, schema-free document-oriented database
After=network.target

[Service]
User=mongodb
ExecStart=/usr/bin/mongod --quiet --config /etc/mongod.conf

[Install]
WantedBy=multi-user.target

Acest fisier are o structura simpla:

Sectiunea Unit contine prezentarea generala (ex: o descriere care poate fi citita pentru serviciul MongoDB) precum si dependentele care trebuiesc indeplinite inainte de inceperea serviciului. in cazul nostru MongoDB depinde deja de retea, ca aici  network.target.
Sectiunea Service este despre cum va incepe serviciu. Instructiunea User specifica ca server-ul va rula sub utilizatorul mongodb si instructiunea ExecStart defineste comanda de inceput pentru server-ul MongoDB.
Ultima sectiune, Install, spune systemd cand serviciul va incepe automat multi-user.target este o secventa standard de pornire a sistemului, ceea ce inseamna ca server-ul  va porni automat in timpul boot.
In continuare porniti nou creatul serviciu cu systemctl.

sudo systemctl start mongodb

Din moment ce nu exista iesire pentru aceasta comanda, puteti folosi systemctl pentru a verifica daca serviciul a pornit corect.

sudo systemctl status mongodb

Output:
 mongodb.service - High-performance, schema-free document-oriented database
   Loaded: loaded (/etc/systemd/system/mongodb.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2016-04-25 14:57:20 EDT; 1min 30s ago
 Main PID: 4093 (mongod)
    Tasks: 16 (limit: 512)
   Memory: 47.1M
CPU: 1.224s
   CGroup: /system.slice/mongodb.service
└─4093 /usr/bin/mongod --quiet --config /etc/mongod.conf

Ultimul pas este sa activati pornirea automata a MongoDB cand porneste sistemul.

sudo systemctl enable mongodb

Serverul MongoDB este acum configurat si ruleaza putand gestiona serviciul MongoDB folosind comanda systemctl.(Ex: sudo systemctl mongodb stop, sudo systemctl mongodb start).

Pasul 3 – Ajustarea Firewall (Optional)

Presupunand ca ati urmat instructiunile de stare initiala a unui server pentru a activa firewall-ul pe server-ul dvs., server-ul MongoDB nu va avea acces la internet.

Daca intentionati sa folositi server-ul MongoDB local, doar cu aplicatii care ruleaza pe acelasi server este o setare recomandata si sigura. Cu toate acestea, in cazul in care doriti sa va conectati la server-ul dvs. MongoDB de pe internet, va trebui sa permiteti conexiunile de intrare in ufw.

Pentru a permite accesul de pretutindeni la MongoDB prin portul implicit 27017, puteti folosi  sudo ufw allow 27017. Cu toate acestea, activand accesul la internet a server-ului MongoDB la o instalare implicita ofera acces nelimitat la intreaga baza de date a server-ului.

In majoritatea cazurilor, MongoDB trebuie sa fie accesat din locatii de incredere, cum ar fi un alt server care gazduieste o aplicatie. Pentru a finaliza aceasta sarcina, puteti permite accesul la portul implicit MongoDB specificand adresa IP a unui alt server care va permite in mod implicit sa se conecteze.

sudo ufw allow from your_other_server_ip/32 to any port 27017 

Puteti verifica modificarile din setarile firewall folosind ufw.

sudo ufw status

Ar trebui sa vedeti traficul permis catre portul 27017 in iesire. Daca ati decis sa permiteti doar unei anumite adrese IP sa se conecteze la serverul MongoDB, adresa IP a locatiei permise va fi afisata in locul cuvantului Anywhere in iesire.

Output:
Status: active

To Action From
-- ------ ----
27017    ALLOW Anywhere
OpenSSH  ALLOW Anywhere
27017 (v6)     ALLOW Anywhere (v6)
OpenSSH (v6)   ALLOW Anywhere (v6)

Din aceeasi categorie

Te muti la noi?

Migrarea catre un nou furnizor de hosting poate fi extrem de complicata . Fii relaxat si lasa-i expertii nostri sa o faca! Vom muta site-ul existent în 48 de ore, fara intrerupere . Inclus GRATUIT la achizitionarea oricarui pachet de gazduire BTS Telecom.