Potrzebujesz wydajnego serwera dla swojej bazy danych? Sprawdź nasze rozwiązania:

MongoDB to popularna nierelacyjna baza danych, która doskonale sprawdza się w aplikacjach wymagających skalowalności i elastyczności. W tym poradniku pokażemy jak zainstalować i zabezpieczyć MongoDB na Debianie 12, a także jak zautomatyzować backup i uruchomić w Dockerze.

Wymagania wstępne: Serwer z Debianem 12 i uprawnienia administratora. Wszystkie komendy należy wykonywać jako root lub z użyciem sudo.

Metoda 1: Instalacja manualna

Krok 1: Import klucza GPG i dodanie repozytorium

sudo apt install gnupg curl
curl -fsSL https://www.mongodb.org/static/pgp/server-6.0.asc | sudo gpg --dearmor -o /usr/share/keyrings/mongodb.gpg
echo "deb [signed-by=/usr/share/keyrings/mongodb.gpg] https://repo.mongodb.org/apt/debian bookworm/mongodb-org/6.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list

Krok 2: Instalacja MongoDB

sudo apt update
sudo apt install -y mongodb-org

Krok 3: Uruchomienie usługi

sudo systemctl start mongod
sudo systemctl enable mongod

Krok 4: Zabezpieczenie hasłem

mongosh
use admin
db.createUser({
  user: "admin",
  pwd: "TwojeBardzoMocneHaslo123!",
  roles: ["root"]
})
exit

Krok 5: Włączenie uwierzytelniania

sudo nano /etc/mongod.conf

Znajdź sekcję security i dodaj:

security:
  authorization: enabled

Zrestartuj MongoDB:

sudo systemctl restart mongod

Bezpieczeństwo danych priorytetem! Nasze serwery dedykowane Windows oferują zaawansowane opcje backupu i szyfrowania dla Twoich baz danych.

Metoda 2: Instalacja przez Docker

Krok 1: Instalacja Dockera

sudo apt install docker.io docker-compose
sudo systemctl enable --now docker

Krok 2: Uruchomienie kontenera MongoDB

docker run --name mongodb -d \
  -p 27017:27017 \
  -e MONGO_INITDB_ROOT_USERNAME=admin \
  -e MONGO_INITDB_ROOT_PASSWORD=TwojeBardzoMocneHaslo123! \
  -v mongodb_data:/data/db \
  mongo:latest

Krok 3: Weryfikacja

docker ps
docker logs mongodb

Automatyzacja backupu z Cron

Krok 1: Instalacja narzędzi

sudo apt install mongodb-database-tools

Krok 2: Utworzenie skryptu backupu

sudo mkdir /opt/mongodb-backup
sudo nano /opt/mongodb-backup/backup.sh

Zawartość skryptu:

#!/bin/bash
DATE=$(date +%Y-%m-%d_%H-%M-%S)
BACKUP_DIR="/opt/mongodb-backup/$DATE"
mkdir -p $BACKUP_DIR
mongodump --uri="mongodb://admin:TwojeBardzoMocneHaslo123!@localhost:27017" --out=$BACKUP_DIR
tar -czvf $BACKUP_DIR.tar.gz $BACKUP_DIR
rm -rf $BACKUP_DIR
find /opt/mongodb-backup/ -type f -mtime +7 -delete

Nadaj uprawnienia:

sudo chmod +x /opt/mongodb-backup/backup.sh

Krok 3: Konfiguracja Cron

sudo crontab -e

Dodaj linię dla codziennego backupu o 2:00:

0 2 * * * /opt/mongodb-backup/backup.sh

Automatyzacja to przyszłość! Nasze serwery VPS są idealne do wdrożenia zautomatyzowanych rozwiązań backupu danych.

Metoda 3: Instalacja z Ansible

Krok 1: Instalacja Ansible

sudo apt install ansible

Krok 2: Przygotowanie playbooka

Utwórz plik mongodb.yml:

---
- hosts: all
  become: yes
  vars:
    mongo_admin_user: admin
    mongo_admin_password: TwojeBardzoMocneHaslo123!
  tasks:
    - name: Add MongoDB GPG key
      apt_key:
        url: https://www.mongodb.org/static/pgp/server-6.0.asc
        state: present

    - name: Add MongoDB repository
      apt_repository:
        repo: "deb [arch=amd64,arm64] https://repo.mongodb.org/apt/debian bookworm/mongodb-org/6.0 main"
        state: present
        filename: mongodb-org-6.0

    - name: Install MongoDB
      apt:
        name: mongodb-org
        state: present
        update_cache: yes

    - name: Start and enable MongoDB
      service:
        name: mongod
        state: started
        enabled: yes

    - name: Create admin user
      community.mongodb.mongodb_user:
        login_user: "{{ mongo_admin_user }}"
        login_password: "{{ mongo_admin_password }}"
        database: admin
        roles: root
        state: present

Krok 3: Uruchomienie playbooka

ansible-playbook -i localhost, -c local mongodb.yml

Podsumowanie

W tym poradniku pokazaliśmy trzy metody instalacji MongoDB na Debianie 12:

Metoda Zalety Przypadki użycia
Manualna Pełna kontrola, dobra do nauki Pojedyncze serwery, środowiska testowe
Docker Izolacja, łatwość wdrożenia Środowiska developerskie, microservices
Ansible Automatyzacja, idempotentność Wielu serwerów, infrastruktura jako kod

Ważne: Pamiętaj o regularnych aktualizacjach MongoDB i systemu operacyjnego oraz o testowaniu procedur backupu i restore!

Gotowy na produkcyjne wdrożenie MongoDB? Wybierz idealne rozwiązanie hostingowe:

Odwiedź netcloud24.com i znajdź idealne środowisko dla swojej bazy danych!

 

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *