{"id":153,"date":"2025-05-26T21:05:43","date_gmt":"2025-05-26T19:05:43","guid":{"rendered":"https:\/\/netcloud24.com\/pl\/blog\/?p=153"},"modified":"2025-05-26T21:05:55","modified_gmt":"2025-05-26T19:05:55","slug":"poradnik-instalacji-mongodb-na-debianie-12","status":"publish","type":"post","link":"https:\/\/netcloud24.com\/pl\/blog\/poradnik-instalacji-mongodb-na-debianie-12\/","title":{"rendered":"Poradnik instalacji MongoDB na Debianie 12"},"content":{"rendered":"<p>&nbsp;<\/p>\n<h1><\/h1>\n<div class=\"promo\">\n<p><strong>Potrzebujesz wydajnego serwera dla swojej bazy danych?<\/strong> Sprawd\u017a nasze rozwi\u0105zania:<\/p>\n<ul>\n<li><a href=\"https:\/\/netcloud24.com\/\" target=\"_blank\" rel=\"noopener\">VPS Windows<\/a> &#8211; idealny do rozwoju i test\u00f3w<\/li>\n<li><a href=\"https:\/\/netcloud24.com\/\" target=\"_blank\" rel=\"noopener\">Serwer dedykowany Windows<\/a> &#8211; maksymalna wydajno\u015b\u0107 dla produkcyjnych baz danych<\/li>\n<li><a href=\"https:\/\/netcloud24.com\/\" target=\"_blank\" rel=\"noopener\">Serwer VPS<\/a> &#8211; elastyczne rozwi\u0105zanie dla developer\u00f3w<\/li>\n<\/ul>\n<\/div>\n<p>MongoDB to popularna nierelacyjna baza danych, kt\u00f3ra doskonale sprawdza si\u0119 w aplikacjach wymagaj\u0105cych skalowalno\u015bci i elastyczno\u015bci. W tym poradniku poka\u017cemy jak zainstalowa\u0107 i zabezpieczy\u0107 MongoDB na Debianie 12, a tak\u017ce jak zautomatyzowa\u0107 backup i uruchomi\u0107 w Dockerze.<\/p>\n<div class=\"note\">\n<p><strong>Wymagania wst\u0119pne:<\/strong> Serwer z Debianem 12 i uprawnienia administratora. Wszystkie komendy nale\u017cy wykonywa\u0107 jako root lub z u\u017cyciem sudo.<\/p>\n<\/div>\n<h2>Metoda 1: Instalacja manualna<\/h2>\n<div class=\"method\">\n<h3>Krok 1: Import klucza GPG i dodanie repozytorium<\/h3>\n<pre><code>sudo apt install gnupg curl\r\ncurl -fsSL https:\/\/www.mongodb.org\/static\/pgp\/server-6.0.asc | sudo gpg --dearmor -o \/usr\/share\/keyrings\/mongodb.gpg\r\necho \"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<\/code><\/pre>\n<h3>Krok 2: Instalacja MongoDB<\/h3>\n<pre><code>sudo apt update\r\nsudo apt install -y mongodb-org<\/code><\/pre>\n<h3>Krok 3: Uruchomienie us\u0142ugi<\/h3>\n<pre><code>sudo systemctl start mongod\r\nsudo systemctl enable mongod<\/code><\/pre>\n<h3>Krok 4: Zabezpieczenie has\u0142em<\/h3>\n<pre><code>mongosh\r\nuse admin\r\ndb.createUser({\r\n  user: \"admin\",\r\n  pwd: \"TwojeBardzoMocneHaslo123!\",\r\n  roles: [\"root\"]\r\n})\r\nexit<\/code><\/pre>\n<h3>Krok 5: W\u0142\u0105czenie uwierzytelniania<\/h3>\n<pre><code>sudo nano \/etc\/mongod.conf<\/code><\/pre>\n<p>Znajd\u017a sekcj\u0119 <code>security<\/code> i dodaj:<\/p>\n<pre><code>security:\r\n  authorization: enabled<\/code><\/pre>\n<p>Zrestartuj MongoDB:<\/p>\n<pre><code>sudo systemctl restart mongod<\/code><\/pre>\n<\/div>\n<div class=\"promo\">\n<p><strong>Bezpiecze\u0144stwo danych priorytetem!<\/strong> Nasze <a href=\"https:\/\/netcloud24.com\/\" target=\"_blank\" rel=\"noopener\">serwery dedykowane Windows<\/a> oferuj\u0105 zaawansowane opcje backupu i szyfrowania dla Twoich baz danych.<\/p>\n<\/div>\n<h2>Metoda 2: Instalacja przez Docker<\/h2>\n<div class=\"method\">\n<h3>Krok 1: Instalacja Dockera<\/h3>\n<pre><code>sudo apt install docker.io docker-compose\r\nsudo systemctl enable --now docker<\/code><\/pre>\n<h3>Krok 2: Uruchomienie kontenera MongoDB<\/h3>\n<pre><code>docker run --name mongodb -d \\\r\n  -p 27017:27017 \\\r\n  -e MONGO_INITDB_ROOT_USERNAME=admin \\\r\n  -e MONGO_INITDB_ROOT_PASSWORD=TwojeBardzoMocneHaslo123! \\\r\n  -v mongodb_data:\/data\/db \\\r\n  mongo:latest<\/code><\/pre>\n<h3>Krok 3: Weryfikacja<\/h3>\n<pre><code>docker ps\r\ndocker logs mongodb<\/code><\/pre>\n<\/div>\n<h2>Automatyzacja backupu z Cron<\/h2>\n<div class=\"method\">\n<h3>Krok 1: Instalacja narz\u0119dzi<\/h3>\n<pre><code>sudo apt install mongodb-database-tools<\/code><\/pre>\n<h3>Krok 2: Utworzenie skryptu backupu<\/h3>\n<pre><code>sudo mkdir \/opt\/mongodb-backup\r\nsudo nano \/opt\/mongodb-backup\/backup.sh<\/code><\/pre>\n<p>Zawarto\u015b\u0107 skryptu:<\/p>\n<pre><code>#!\/bin\/bash\r\nDATE=$(date +%Y-%m-%d_%H-%M-%S)\r\nBACKUP_DIR=\"\/opt\/mongodb-backup\/$DATE\"\r\nmkdir -p $BACKUP_DIR\r\nmongodump --uri=\"mongodb:\/\/admin:TwojeBardzoMocneHaslo123!@localhost:27017\" --out=$BACKUP_DIR\r\ntar -czvf $BACKUP_DIR.tar.gz $BACKUP_DIR\r\nrm -rf $BACKUP_DIR\r\nfind \/opt\/mongodb-backup\/ -type f -mtime +7 -delete<\/code><\/pre>\n<p>Nadaj uprawnienia:<\/p>\n<pre><code>sudo chmod +x \/opt\/mongodb-backup\/backup.sh<\/code><\/pre>\n<h3>Krok 3: Konfiguracja Cron<\/h3>\n<pre><code>sudo crontab -e<\/code><\/pre>\n<p>Dodaj lini\u0119 dla codziennego backupu o 2:00:<\/p>\n<pre><code>0 2 * * * \/opt\/mongodb-backup\/backup.sh<\/code><\/pre>\n<\/div>\n<div class=\"promo\">\n<p><strong>Automatyzacja to przysz\u0142o\u015b\u0107!<\/strong> Nasze <a href=\"https:\/\/netcloud24.com\/\" target=\"_blank\" rel=\"noopener\">serwery VPS<\/a> s\u0105 idealne do wdro\u017cenia zautomatyzowanych rozwi\u0105za\u0144 backupu danych.<\/p>\n<\/div>\n<h2>Metoda 3: Instalacja z Ansible<\/h2>\n<div class=\"method\">\n<h3>Krok 1: Instalacja Ansible<\/h3>\n<pre><code>sudo apt install ansible<\/code><\/pre>\n<h3>Krok 2: Przygotowanie playbooka<\/h3>\n<p>Utw\u00f3rz plik <code>mongodb.yml<\/code>:<\/p>\n<pre><code>---\r\n- hosts: all\r\n  become: yes\r\n  vars:\r\n    mongo_admin_user: admin\r\n    mongo_admin_password: TwojeBardzoMocneHaslo123!\r\n  tasks:\r\n    - name: Add MongoDB GPG key\r\n      apt_key:\r\n        url: https:\/\/www.mongodb.org\/static\/pgp\/server-6.0.asc\r\n        state: present\r\n\r\n    - name: Add MongoDB repository\r\n      apt_repository:\r\n        repo: \"deb [arch=amd64,arm64] https:\/\/repo.mongodb.org\/apt\/debian bookworm\/mongodb-org\/6.0 main\"\r\n        state: present\r\n        filename: mongodb-org-6.0\r\n\r\n    - name: Install MongoDB\r\n      apt:\r\n        name: mongodb-org\r\n        state: present\r\n        update_cache: yes\r\n\r\n    - name: Start and enable MongoDB\r\n      service:\r\n        name: mongod\r\n        state: started\r\n        enabled: yes\r\n\r\n    - name: Create admin user\r\n      community.mongodb.mongodb_user:\r\n        login_user: \"{{ mongo_admin_user }}\"\r\n        login_password: \"{{ mongo_admin_password }}\"\r\n        database: admin\r\n        roles: root\r\n        state: present<\/code><\/pre>\n<h3>Krok 3: Uruchomienie playbooka<\/h3>\n<pre><code>ansible-playbook -i localhost, -c local mongodb.yml<\/code><\/pre>\n<\/div>\n<h2>Podsumowanie<\/h2>\n<p>W tym poradniku pokazali\u015bmy trzy metody instalacji MongoDB na Debianie 12:<\/p>\n<table>\n<tbody>\n<tr>\n<th>Metoda<\/th>\n<th>Zalety<\/th>\n<th>Przypadki u\u017cycia<\/th>\n<\/tr>\n<tr>\n<td>Manualna<\/td>\n<td>Pe\u0142na kontrola, dobra do nauki<\/td>\n<td>Pojedyncze serwery, \u015brodowiska testowe<\/td>\n<\/tr>\n<tr>\n<td>Docker<\/td>\n<td>Izolacja, \u0142atwo\u015b\u0107 wdro\u017cenia<\/td>\n<td>\u015arodowiska developerskie, microservices<\/td>\n<\/tr>\n<tr>\n<td>Ansible<\/td>\n<td>Automatyzacja, idempotentno\u015b\u0107<\/td>\n<td>Wielu serwer\u00f3w, infrastruktura jako kod<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div class=\"warning\">\n<p><strong>Wa\u017cne:<\/strong> Pami\u0119taj o regularnych aktualizacjach MongoDB i systemu operacyjnego oraz o testowaniu procedur backupu i restore!<\/p>\n<\/div>\n<div class=\"promo\">\n<p><strong>Gotowy na produkcyjne wdro\u017cenie MongoDB?<\/strong> Wybierz idealne rozwi\u0105zanie hostingowe:<\/p>\n<ul>\n<li><a href=\"https:\/\/netcloud24.com\/\" target=\"_blank\" rel=\"noopener\">VPS Windows<\/a> &#8211; dla mniejszych projekt\u00f3w<\/li>\n<li><a href=\"https:\/\/netcloud24.com\/\" target=\"_blank\" rel=\"noopener\">Serwer dedykowany Windows<\/a> &#8211; dla wymagaj\u0105cych aplikacji<\/li>\n<li><a href=\"https:\/\/netcloud24.com\/\" target=\"_blank\" rel=\"noopener\">Serwer VPS<\/a> &#8211; elastyczne rozwi\u0105zanie dla ka\u017cdego<\/li>\n<\/ul>\n<p>Odwied\u017a <a href=\"https:\/\/netcloud24.com\/\" target=\"_blank\" rel=\"noopener\">netcloud24.com<\/a> i znajd\u017a idealne \u015brodowisko dla swojej bazy danych!<\/p>\n<\/div>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>&nbsp; Potrzebujesz wydajnego serwera dla swojej bazy danych? Sprawd\u017a nasze rozwi\u0105zania: VPS Windows &#8211; idealny do rozwoju i test\u00f3w Serwer dedykowany Windows &#8211; maksymalna wydajno\u015b\u0107\u2026<\/p>\n","protected":false},"author":1,"featured_media":154,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-153","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-linux"],"_links":{"self":[{"href":"https:\/\/netcloud24.com\/pl\/blog\/wp-json\/wp\/v2\/posts\/153","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/netcloud24.com\/pl\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/netcloud24.com\/pl\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/netcloud24.com\/pl\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/netcloud24.com\/pl\/blog\/wp-json\/wp\/v2\/comments?post=153"}],"version-history":[{"count":1,"href":"https:\/\/netcloud24.com\/pl\/blog\/wp-json\/wp\/v2\/posts\/153\/revisions"}],"predecessor-version":[{"id":155,"href":"https:\/\/netcloud24.com\/pl\/blog\/wp-json\/wp\/v2\/posts\/153\/revisions\/155"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/netcloud24.com\/pl\/blog\/wp-json\/wp\/v2\/media\/154"}],"wp:attachment":[{"href":"https:\/\/netcloud24.com\/pl\/blog\/wp-json\/wp\/v2\/media?parent=153"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/netcloud24.com\/pl\/blog\/wp-json\/wp\/v2\/categories?post=153"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/netcloud24.com\/pl\/blog\/wp-json\/wp\/v2\/tags?post=153"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}