Wiki.js to nowoczesna, open-source’owa platforma wiki, która oferuje intuicyjny interfejs, bogate możliwości edycji i łatwą integrację z różnymi systemami. W tym artykule pokażemy, jak zainstalować Wiki.js na serwerze z systemem Debian 12, korzystając z dwóch popularnych metod: ręcznej instalacji z użyciem Ansible oraz instalacji z wykorzystaniem Dockera. Artykuł jest szczegółowy i obejmuje wszystkie kroki, aby umożliwić Ci uruchomienie Wiki.js w sposób profesjonalny i bezproblemowy.

Wymagania wstępne

Zanim zaczniemy, upewnij się, że masz przygotowane następujące elementy:

  • Serwer z systemem Debian 12 (zalecane minimum: 2 GB RAM, 2 rdzenie CPU).
  • Użytkownik z uprawnieniami root lub sudo.
  • Zainstalowany SSH dla zdalnego dostępu.
  • Połączenie internetowe.
  • Podstawowa znajomość terminala Linux.
  • (Opcjonalnie dla Ansible) Zainstalowany Ansible na maszynie kontrolnej.
  • (Opcjonalnie dla Dockera) Zainstalowany Docker i Docker Compose.

Uwaga: Wszystkie polecenia w tym artykule zakładają, że pracujesz jako użytkownik z uprawnieniami sudo. Upewnij się, że serwer jest zaktualizowany przed rozpoczęciem instalacji.

Metoda 1: Ręczna instalacja z użyciem Ansible

Ansible to narzędzie do automatyzacji, które pozwala na łatwe zarządzanie konfiguracją serwerów. Poniżej znajdziesz szczegółowy playbook Ansible do instalacji Wiki.js, wraz z wyjaśnieniem każdego kroku.

Krok 1: Przygotowanie serwera

Zaloguj się na serwer Debian 12 przez SSH i zaktualizuj system:

sudo apt update && sudo apt upgrade -y

Krok 2: Instalacja Ansible na maszynie kontrolnej

Jeśli Ansible nie jest zainstalowany na Twojej maszynie kontrolnej, zainstaluj go:

sudo apt install ansible -y

Krok 3: Przygotowanie playbooka Ansible

Stwórz plik playbooka Ansible o nazwie wiki_js_install.yml. Poniżej znajduje się pełny playbook instalujący Node.js, PostgreSQL i Wiki.js:

---
- hosts: wiki_servers
  become: true
  vars:
    wiki_js_version: "2.5.299"
    node_version: "18.x"
    postgres_version: "15"
  tasks:
    - name: Aktualizacja systemu
      apt:
        update_cache: yes
        upgrade: dist

    - name: Instalacja wymaganych pakietów
      apt:
        name:
          - curl
          - git
          - gnupg
        state: present

    - name: Dodanie repozytorium Node.js
      shell: curl -fsSL https://deb.nodesource.com/setup_{{ node_version }} | bash -

    - name: Instalacja Node.js
      apt:
        name: nodejs
        state: present

    - name: Dodanie klucza GPG dla PostgreSQL
      apt_key:
        url: https://www.postgresql.org/media/keys/ACCC4CF8.asc
        state: present

    - name: Dodanie repozytorium PostgreSQL
      apt_repository:
        repo: deb http://apt.postgresql.org/pub/repos/apt/ bullseye-pgdg main
        state: present

    - name: Instalacja PostgreSQL
      apt:
        name: postgresql-{{ postgres_version }}
        state: present

    - name: Uruchomienie i włączenie PostgreSQL
      systemd:
        name: postgresql
        enabled: yes
        state: started

    - name: Utworzenie bazy danych dla Wiki.js
      become_user: postgres
      postgresql_db:
        name: wikijs

    - name: Utworzenie użytkownika bazy danych dla Wiki.js
      become_user: postgres
      postgresql_user:
        db: wikijs
        name: wikijs
        password: "TwojeSilneHaslo123"

    - name: Pobranie Wiki.js
      get_url:
        url: https://github.com/Requarks/wiki/releases/download/v{{ wiki_js_version }}/wiki-js.tar.gz
        dest: /tmp/wiki-js.tar.gz

    - name: Rozpakowanie Wiki.js
      unarchive:
        src: /tmp/wiki-js.tar.gz
        dest: /opt/wiki
        remote_src: yes

    - name: Instalacja zależności Wiki.js
      npm:
        path: /opt/wiki
        state: present

    - name: Skopiowanie pliku konfiguracyjnego
      template:
        src: config.sample.yml
        dest: /opt/wiki/config.yml
        mode: '0644'

    - name: Uruchomienie Wiki.js jako usługi
      systemd:
        name: wiki
        enabled: yes
        state: started
        daemon_reload: yes
      notify: restart_wiki

  handlers:
    - name: restart_wiki
      systemd:
        name: wiki
        state: restarted

Krok 4: Konfiguracja pliku hosts Ansible

Edytuj plik /etc/ansible/hosts, aby dodać swój serwer:

[wiki_servers]
your_server_ip ansible_user=your_ssh_user ansible_ssh_private_key_file=/path/to/your/key

Zastąp your_server_ip adresem IP serwera, a your_ssh_user nazwą użytkownika SSH.

Krok 5: Uruchomienie playbooka

Uruchom playbook Ansible:

ansible-playbook wiki_js_install.yml

Krok 6: Konfiguracja Wiki.js

Po instalacji otwórz plik /opt/wiki/config.yml i skonfiguruj połączenie z bazą danych oraz inne ustawienia, takie jak port (domyślnie 3000). Następnie uruchom Wiki.js:

node /opt/wiki/server

Dostęp do Wiki.js uzyskasz, wpisując w przeglądarce: http://your_server_ip:3000.

Metoda 2: Instalacja z użyciem Dockera

Docker to świetny sposób na uruchomienie Wiki.js w izolowanym środowisku. Poniżej znajdziesz kroki do instalacji z użyciem Docker Compose.

Krok 1: Instalacja Dockera i Docker Compose

Zainstaluj Docker i Docker Compose na serwerze:

sudo apt update
sudo apt install docker.io docker-compose -y
sudo systemctl start docker
sudo systemctl enable docker

Krok 2: Przygotowanie pliku Docker Compose

Stwórz plik docker-compose.yml w katalogu roboczym:

version: "3"
services:
  wiki:
    image: requarks/wiki:2
    depends_on:
      - db
    environment:
      - DB_TYPE=postgres
      - DB_HOST=db
      - DB_PORT=5432
      - DB_USER=wikijs
      - DB_PASS=TwojeSilneHaslo123
      - DB_NAME=wikijs
    ports:
      - "3000:3000"
    restart: unless-stopped

  db:
    image: postgres:15
    environment:
      - POSTGRES_DB=wikijs
      - POSTGRES_USER=wikijs
      - POSTGRES_PASSWORD=TwojeSilneHaslo123
    volumes:
      - wiki_db_data:/var/lib/postgresql/data
    restart: unless-stopped

volumes:
  wiki_db_data:

Krok 3: Uruchomienie Wiki.js w Dockerze

Uruchom kontenery za pomocą Docker Compose:

docker-compose up -d

Wiki.js będzie dostępne pod adresem http://your_server_ip:3000.

Krok 4: Konfiguracja i dostęp

Po uruchomieniu otwórz przeglądarkę i przejdź do http://your_server_ip:3000. Postępuj zgodnie z instrukcjami kreatora instalacji Wiki.js, aby skonfigurować administratora i podstawowe ustawienia.

Porównanie metod

  • Ansible: Idealne dla tych, którzy chcą automatyzować i zarządzać wieloma serwerami. Wymaga więcej konfiguracji, ale daje większą kontrolę nad środowiskiem.
  • Docker: Szybkie i łatwe w konfiguracji, idealne dla izolowanych środowisk i szybkiego wdrożenia. Mniej elastyczne w przypadku niestandardowych konfiguracji.

Rozwiązywanie problemów

  • Jeśli Wiki.js nie działa, sprawdź logi: docker logs wiki (dla Dockera) lub journalctl -u wiki (dla Ansible).
  • Upewnij się, że port 3000 jest otwarty w zaporze: sudo ufw allow 3000.
  • Sprawdź, czy PostgreSQL działa poprawnie: sudo systemctl status postgresql.

Podsumowanie

Zainstalowanie Wiki.js na Debian 12 jest proste dzięki narzędziom takim jak Ansible i Docker. Ansible oferuje większą kontrolę i automatyzację, podczas gdy Docker zapewnia szybkość i łatwość wdrożenia. Wybierz metodę, która najlepiej odpowiada Twoim potrzebom, i ciesz się nowoczesnym systemem wiki!

 

Dodaj komentarz

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