Установка Wiki.js · 6 min read · Sep 22, 2025

Как установить Wiki.js - Вики-программное обеспечение на основе NodeJS на Debian 9

Wiki.js - это современное и мощное приложение вики с открытым исходным кодом, основанное на Node.js, Git и Markdown. Wiki.js работает на очень быстром движке Node.js и оптимизирован для экономии ресурсов ЦП. Некоторые из функций Wiki.js, которые стоит упомянуть:

  • Редактирование Markdown с поддержкой Git
  • Легковесный, но при этом чрезвычайно мощный
  • Красиво оформлен для современного веба
  • Интегрированный контроль доступа
  • Интуитивное управление активами
  • Встроенный поисковый движок

В этом руководстве мы проведем вас через процесс установки версии Wiki.js 1 на операционной системе Debian 9, используя NGINX в качестве обратного прокси-сервера, MongoDB в качестве сервера базы данных, PM2 в качестве менеджера процессов, и при желании вы можете обеспечить защиту транспортного уровня, используя клиент acme.sh и удостоверяющий центр Let’s Encrypt для добавления поддержки SSL.

Требования

Требования для запуска Wiki.js следующие:

  • Необходим Node.js версии 6.11.1 до 10.x.
  • Версия MongoDB 3.2 или новее.
  • Версия Git 2.7.4 или новее.
  • Программное обеспечение веб-сервера, такое как NGINX, Apache, Caddy, H2O…
  • Пустой репозиторий Git (необязательно).
  • Минимум 512 МБ ОЗУ. Рекомендуется 1 ГБ ОЗУ.
  • Около 300 МБ дискового пространства.
  • Доменное имя с установленными записями A/AAAA DNS.

Предварительные условия

  • Операционная система Debian 9.
  • Пользователь без прав root с привилегиями sudo.

Начальные шаги

Проверьте версию вашей системы Debian:

lsb_release -ds  
# Debian GNU/Linux 9.8 (stretch)

Настройте часовой пояс:

dpkg-reconfigure tzdata

Обновите пакеты вашей операционной системы (программное обеспечение). Это важный первый шаг, так как он гарантирует, что у вас есть последние обновления и исправления безопасности для стандартных пакетов программного обеспечения вашей операционной системы:

apt update && apt upgrade -y

Установите некоторые необходимые пакеты, которые необходимы для базового администрирования операционной системы Debian:

apt install -y curl wget vim git unzip socat sudo bash-completion apt-transport-https build-essential dirmngr

Шаг 1 - Установите Node.js и npm

Wiki.js построен на Node.js. Мы собираемся установить последнюю рекомендованную версию для Wiki.js, которая на момент написания является версией 10 . На Linux у вас есть несколько вариантов установки Node.js: бинарные файлы Linux (x86/x64), исходный код или через менеджеры пакетов. Мы будем использовать вариант управления пакетами, который упрощает установку и обновление Node.js.

Скачайте и установите последнюю рекомендованную версию Node.js из репозитория NodeSource:

`curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -  
sudo apt install -y nodejs `

ПРИМЕЧАНИЕ: npm распространяется вместе с Node.js - это означает, что когда вы загружаете Node.js, вы автоматически получаете установленный npm на вашей системе.

Проверьте версию Node.js и npm:

`node -v && npm -v  
# v10.15.1  
# 6.4.1  
`

Npm является отдельным проектом от Node.js и, как правило, обновляется чаще. В результате, даже если вы только что загрузили Node.js (а значит, и npm), вам, вероятно, нужно будет обновить ваш npm. К счастью, npm знает, как обновить себя! Чтобы обновить ваш npm, введите это в вашем терминале:

sudo npm install -g npm@latest

Эта команда обновит npm до последней стабильной версии.

Проверьте версию npm снова:

npm -v  
# 6.8.0  

И она должна вернуть номер последней версии.

Шаг 2 - Установите базу данных MongoDB

Wiki.js нуждается в базе данных для хранения своих данных, и текущая стабильная версия Wiki.js поддерживает только движок базы данных MongoDB. Исходя из этого, нам нужно будет установить базу данных MongoDB.

Скачайте и установите базу данных MongoDB:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4  
echo "deb http://repo.mongodb.org/apt/debian stretch/mongodb-org/4.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list  
sudo apt-get update  
sudo apt-get install -y mongodb-org  

Проверьте версию MongoDB:

mongo --version | head -n 1 && mongod --version | head -n 1  

Запустите и включите ( установите его для автоматического запуска при перезагрузке) службу MongoDB, если она еще не запущена и не включена:

sudo systemctl start mongod.service  
sudo systemctl enable mongod.service  

Шаг 3 - Установите клиент acme.sh и получите сертификат Let’s Encrypt ( необязательно)

Защита вашего веб-сайта с помощью HTTPS не является обязательной, но это хорошая практика для защиты трафика вашего сайта. Чтобы получить SSL-сертификат от Let’s Encrypt, мы будем использовать клиент acme.sh. Acme.sh - это чистое программное обеспечение UNIX shell для получения SSL-сертификатов от Let’s Encrypt с нулевыми зависимостями.

Скачайте и установите acme.sh:

sudo su - root  
git clone https://github.com/Neilpang/acme.sh.git  
cd acme.sh  
./acme.sh --install --accountemail [email protected]  
source ~/.bashrc  
cd ~

Проверьте версию acme.sh:

acme.sh --version  
# v2.8.1

Получите RSA и ECC/ECDSA сертификаты для вашего домена/имени хоста:

# RSA 2048  
acme.sh --issue --standalone -d example.com --keylength 2048  
# ECDSA  
acme.sh --issue --standalone -d example.com --keylength ec-256

Если вы хотите фальшивые сертификаты для тестирования, вы можете добавить флаг --staging к вышеуказанным командам.

Чтобы перечислить выданные сертификаты, вы можете выполнить:

acme.sh --list

Создайте папки для хранения ваших сертификатов. Мы будем использовать /etc/letsencrypt, но это может быть что угодно, что вы предпочитаете для хранения SSL-сертификатов.

mkdir -p /etc/letsencrypt/example.com  
mkdir -p /etc/letsencrypt/example.com_ecc

Установите/скопируйте сертификаты в каталог /etc/letsencrypt.

# RSA  
acme.sh --install-cert -d example.com \   
        --cert-file /etc/letsencrypt/example.com/cert.pem \  
        --key-file /etc/letsencrypt/example.com/private.key \  
        --fullchain-file /etc/letsencrypt/example.com/fullchain.pem \  
        --reloadcmd "sudo systemctl reload nginx.service"  
  
# ECC/ECDSA  
acme.sh --install-cert -d example.com --ecc \  
        --cert-file /etc/letsencrypt/example.com_ecc/cert.pem \  
        --key-file /etc/letsencrypt/example.com_ecc/private.key \  
        --fullchain-file /etc/letsencrypt/example.com_ecc/fullchain.pem \  
        --reloadcmd "sudo systemctl reload nginx.service"

После выполнения вышеуказанных команд ваши сертификаты и ключи будут находиться в:

  • Для RSA: /etc/letsencrypt /example.com директории.
  • Для ECC/ECDSA: /etc/letsencrypt /example.com_ecc директории.

Все сертификаты будут автоматически обновляться каждые 60 дней.

После получения сертификатов выйдите из пользователя root и вернитесь к обычному пользователю с правами sudo:

exit

Шаг 4 - Установите и настройте NGINX

Wiki.js (или любое HTTP-приложение Node.js) может работать без какого-либо реального веб-сервера (например, NGINX или Apache). Однако настоятельно рекомендуется установить стандартный веб-сервер перед Wiki.js. Это гарантирует, что вы сможете использовать такие функции, как SSL, несколько веб-сайтов, кэширование и т. д. В этом руководстве мы будем использовать NGINX, но подойдет любой другой сервер, вам просто нужно правильно его настроить.

Скачайте и установите NGINX из официального репозитория NGINX, выполнив следующие команды:

wget https://nginx.org/keys/nginx_signing.key  
sudo apt-key add nginx_signing.key  
rm nginx_signing.key  
sudo -s  
printf "deb https://nginx.org/packages/mainline/debian/ $(lsb_release -sc) nginx\ndeb-src https://nginx.org/packages/mainline/debian/ $(lsb_release -sc) nginx\n" >> /etc/apt/sources.list.d/nginx_mainline.list  
exit  
sudo apt update  
sudo apt install -y nginx

Проверьте версию NGINX:

sudo nginx -v  
# nginx version: nginx/1.15.8

Включите и запустите службу NGINX:

sudo systemctl enable nginx.service  
sudo systemctl start nginx.service

Запустите sudo vim /etc/nginx/conf.d/wiki.js.conf и настройте NGINX как HTTPS обратный прокси.

server {
      
    listen [::]:443 ssl http2;  
    listen 443 ssl http2;
    listen [::]:80;
    listen 80;
    
    server_name example.com;

    charset utf-8;
    client_max_body_size 50M;  
    
    ssl_certificate /etc/letsencrypt/example.com/fullchain.pem;  
    ssl_certificate_key /etc/letsencrypt/example.com/private.key;  
    ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.pem;  
    ssl_certificate_key /etc/letsencrypt/example.com_ecc/private.key;
    
    location / {
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_pass http://127.0.0.1:3000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_next_upstream error timeout http_502 http_503 http_504;
    }
    
}

Единственное, что вам нужно изменить в приведенной выше конфигурации, это директива server_name, и потенциально директива proxy_pass, если вы решите настроить что-то другое, кроме порта 3000. Wiki.js по умолчанию использует порт 3000.

Проверьте конфигурацию NGINX:

sudo nginx -t  

Наконец, чтобы изменения вступили в силу, нам нужно перезагрузить NGINX:

sudo systemctl reload nginx.service

Шаг 5 - Установите и настройте Wiki.js

Создайте каталог корня документа, где должна находиться Wiki.js:

sudo mkdir -p /var/www/wiki.js

Перейдите в каталог корня документа:

cd /var/www/wiki.js

Измените владельца каталога /var/www/wiki.js на вашего пользователя:

sudo chown -R [your_user]:[your_user] /var/www/wiki.js

ПРИМЕЧАНИЕ: Замените your_user в приведенной выше команде на вашего пользователя без прав root, которого вы должны были создать в качестве предварительного условия для этого руководства *.

Из каталога /var/www/wiki.js выполните следующую команду, чтобы получить и установить последнее приложение Wiki.js:

curl -sSo- https://wiki.js.org/install.sh | bash

После завершения установки вы можете выполнить следующую команду, чтобы просмотреть текущую установленную версию Wiki.js:

node wiki --version  
# 1.0.117

После завершения установки вам будет предложено запустить мастер настройки.

Итак, начните мастер настройки, выполнив:

node wiki configure

Используя ваш веб-браузер, перейдите по адресу http://example.com и следуйте инструкциям на экране. Все настройки, введенные во время мастера настройки, сохраняются в файле config.yml. Мастер настройки автоматически запустит Wiki.js для вас.

Сначала вы увидите приветственное сообщение. Нажмите на кнопку

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.