Установка Wiki.js · 8 min read · Nov 13, 2025

Как установить Wiki.js с обратным прокси Apache2 на Ubuntu 22.04

Wiki.js — это бесплатное и открытое программное обеспечение для вики, основанное на Node.js, Git и Markdown. Оно выпущено под лицензией AGPL-v3 и разработано для производительности и экономии системных ресурсов. Wiki.js — это мощное программное обеспечение для вики, которое можно установить где угодно в вашей системе; вы можете установить его на свою операционную систему или использовать облачные сервисы, такие как Heroku, а также развернуть Wiki.js в контейнерных средах, таких как Docker и Kubernetes.

Wiki.js совместим с базой данных PostgreSQL и предоставляет более 50 интеграций для дополнительной аутентификации, систем логирования, поисковых систем, рендеринга и хранения. Это мощное программное обеспечение для вики, построенное на красивых и интуитивно понятных интерфейсах для панели управления и страниц. Это полностью настраиваемое программное обеспечение для вики для документирования вашего технологического стека.

В этом руководстве вы установите и настроите Wiki.js на сервере Ubuntu 22.04, используя PostgreSQL в качестве базы данных по умолчанию и Apache2 в качестве обратного прокси. Кроме того, у вас будет безопасное HTTPS/SSL соединение на вашей установке Wiki.js. Когда вы закончите, у вас будет полностью функциональная и защищенная Wiki.js на вашей системе Ubuntu.

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

Чтобы завершить это руководство, вам сначала понадобятся следующие требования:

  • Сервер Ubuntu 22.04.
  • Пользователь, не являющийся root, с правами администратора.
  • Доменное имя, указывающее на IP-адрес вашего сервера Ubuntu.

Установка Node.js

Перед установкой Wiki.js вам необходимо установить зависимости, которые требуются Wiki.js.

Wiki.js — это программное обеспечение для вики, в основном написанное на JavaScript, поэтому на этом первом этапе вам нужно установить среду выполнения JavaScript Node.js. Стандартный репозиторий Ubuntu предоставляет пакет Node.js, но для этого руководства вы будете использовать репозиторий Nodesource для установки Node.js.

Запустите команду curl ниже, чтобы добавить репозиторий Nodesource в вашу систему Ubuntu. На момент написания этой статьи Wiki.js требовал как минимум Node.js v8 и выше. И для этого руководства вы установите LTS версию Node.js v16.

curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -

добавить репозиторий nodesource

Теперь вы можете установить пакет Node.js, используя команду apt ниже.

sudo apt install nodejs

установить nodejs lts

После завершения установки проверьте и подтвердите версию Node.js, используя следующую команду. Вы должны увидеть версию Node.js v16 LTS на экране вашего терминала.

node --version  
npm --version

проверить версию node

Установка базы данных PostgreSQL

Стандартная версия Wiki.js поддерживает несколько СУБД, таких как PostgreSQL, MySQL/MariaDB и SQLite (по умолчанию), но рекомендуемой базой данных для продакшена является PostgreSQL. Вы установите пакет PostgreSQL на систему Ubuntu, затем создадите базу данных и пользователя для Wiki.js.

Чтобы начать, выполните следующую команду apt для установки базы данных PostgreSQL на вашем сервере. Введите Y, чтобы подтвердить установку, и нажмите ENTER, чтобы продолжить, и установка начнется.

sudo apt install postgresql postgresql-common

установить postgresql

Когда установка завершится, выполните следующую команду systemctl, чтобы проверить и подтвердить службу PostgreSQL. И вы должны увидеть, что служба PostgreSQL включена, что означает, что она автоматически запустится при загрузке системы. А текущее состояние службы PostgreSQL — “ Активно “.

sudo systemctl is-enabled postgresql  
sudo systemctl status postgresql

Войдите в консоль PostgreSQL, используя команду ниже, чтобы создать базу данных и пользователя PostgreSQL.

sudo -u postgres psql

Выполните следующую команду из вашей консоли PostgreSQL, чтобы создать новую базу данных и пользователя для Wiki.js. В этом примере мы создаем базу данных “ wikijs “ и пользователя “ wiki “ с паролем “ wikijspassword “.

CREATE DATABASE wikijs;  
CREATE USER wiki WITH ENCRYPTED PASSWORD 'wikijspassword';  
GRANT ALL PRIVILEGES ON DATABASE wikijs TO wiki;

Теперь вы можете использовать “ Ctrl+d “ для выхода из консоли PostgreSQL или просто использовать команду “ \q “ для выхода.

создать базу данных postgresql

Установка Wiki.js

Теперь вы установите Wiki.js вручную на вашу систему Ubuntu. В этом руководстве вы создадите системного пользователя для Wiki.js, загрузите исходный код Wiki.js, настроите Wiki.js с базой данных PostgreSQL, и, наконец, вы запустите Wiki.js как службу systemd.

Сначала выполните следующую команду, чтобы создать нового пользователя для Wiki.js. В этом примере мы создаем нового системного пользователя с именем “ wiki “ с домашним каталогом по умолчанию “ /opt/wikijs “, и поскольку это системный пользователь, мы отключаем доступ к оболочке.

sudo useradd -r -d /opt/wikijs -s /usr/sbin/nologin wiki

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

wget https://github.com/Requarks/wiki/releases/latest/download/wiki-js.tar.gz

Когда загрузка завершится, создайте новый каталог “ /opt/wikijs “ и извлеките исходный код Wiki.js в него. Вы должны увидеть, что исходный код Wiki.js доступен в каталоге установки “/opt/wikijs “.

mkdir -p /opt/wikijs  
tar xzf wiki-js.tar.gz -C /opt/wikijs

Чтобы настроить Wiki.js с базой данных PostgreSQL, вы скопируете файл образца конфигурации по умолчанию “ config.sample.yml “ и измените/отредактируете его с помощью вашего текстового редактора.

Выполните следующую команду, чтобы скопировать пример файла конфигурации Wiki.js в “ /opt/wikijs/config.yml “. Затем отредактируйте новый файл “ /opt/wikijs/config.yml “ с помощью редактора nano.

cp /opt/wikijs/config.sample.yml /opt/wikijs/config.yml  
nano /opt/wikijs/config.yml

Измените конфигурацию по умолчанию следующим образом.

В этом примере мы будем запускать Wiki.js на стандартном TCP порту “ 3000 “. Обязательно измените имя базы данных PostgreSQL, пользователя и пароль. В опции “ bindIP “ измените на localhost или “ 127.0.0.1 “. Для конфигурации логов Wiki.js мы будем использовать уровень по умолчанию “ info “ с форматом “ json “.

# стандартный порт, на котором будет работать wikijs  
port: 3000  
  
# данные базы данных PostgreSQL  
db:  
  type: postgres  
  host: localhost  
  port: 5432  
  user: wiki  
  pass: wikijspassword  
  db: wikijs  
  ssl: false  
  
# привязать wikijs только к localhost  
bindIP: 127.0.0.1  
  
# настройка логов и формата  
loglevel: info  
logFormat: json

Сохраните и закройте файл, когда закончите.

загрузить и настроить wikijs

Теперь выполните команду chown ниже, чтобы изменить владельца каталога установки Wiki.js “/opt/wikijs “ на пользователя “wiki “.

sudo chown -R wiki:wiki /opt/wikijs

В этом примере мы будем запускать Wiki.js как службу systemd. Поэтому вам нужно создать новый файл службы systemd для Wiki.js.

Выполните следующую команду, чтобы создать новый файл службы systemd “/etc/systemd/system/wikijs.service “.

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

Добавьте следующую конфигурацию в файл.

[Unit]  
Description=Wiki.js  
After=network.target postgresql.service  
  
[Service]  
Type=simple  
ExecStart=/usr/bin/node server  
Restart=always  
  
User=wiki  
Environment=NODE_ENV=production  
WorkingDirectory=/opt/wikijs  
  
[Install]  
WantedBy=multi-user.target

Сохраните и закройте файл, когда закончите.

Затем выполните следующую команду, чтобы перезагрузить системный менеджер и применить новый файл службы “ wikijs.service

sudo systemctl daemon-reload

Теперь вы можете запустить и включить службу “ wikijs “ с помощью следующей команды.

sudo systemctl start wikijs  
sudo systemctl enable wikijs

Наконец, проверьте и подтвердите службу “ wikijs “ с помощью следующей команды. Вы теперь должны увидеть, что служба “ wikijs “ работает на стандартном TCP порту “ 3000 “ с PostgreSQL в качестве базы данных по умолчанию.

sudo systemctl status wikijs

проверить службу wikijs

Настройка Apache2 как обратного прокси

В этом примере Wiki.js теперь работает на TCP порту “3000”. Чтобы открыть доступ к внешним сетям или интернету, лучше настроить обратный прокси перед Wiki.js и применить HTTPS/SSL сверху, чтобы защитить любые учетные данные и вход в систему. Вы также будете использовать Apache2 в качестве обратного прокси для Wiki.js.

Выполните команду apt ниже, чтобы установить пакет Apache2. Введите Y, чтобы подтвердить установку, и нажмите ENTER, чтобы продолжить, и установка начнется.

sudo apt install apache2

установить apache2

После завершения установки выполните команду “ufw” ниже, чтобы открыть порты HTTP и HTTPS на вашей системе ubuntu. Затем проверьте список правил UFW.

sudo ufw allow "Apache Full"  
sudo ufw status

разрешить apache2 ufw

Затем включите некоторые модули Apache2, используя следующую команду. Вы будете использовать эти модули для настройки обратного прокси Apache2.

sudo a2enmod proxy proxy_http ssl remoteip http2

включить модули apache2

Теперь создайте новую конфигурацию виртуального хоста Apache2 “ /etc/apache2/sites-available/wikijs.conf “ с помощью следующей команды.

sudo nano /etc/apache2/sites-available/wikijs.conf

Добавьте следующую конфигурацию в файл. В этом примере мы будем использовать домен “ wiki.howtoforge.local “ для установки Wiki.js и SSL-сертификаты от letsencrypt. Обязательно измените имя домена и путь к SSL-сертификатам.

  
    ServerName wiki.howtoforge.local  
  
    # Комментарий, чтобы предотвратить перенаправление HTTP на HTTPS  
    Redirect permanent / https://wiki.howtoforge.local  
  
    ErrorLog /var/log/apache2/wiki.howtoforge.local-error.log  
    CustomLog /var/log/apache2/wiki.howtoforge.local-access.log combined  
  
  
  
  
    ServerName wiki.howtoforge.local  
  
    ProxyPreserveHost On  
  
    ProxyPass "/" "http://127.0.0.1:3000/"  
    ProxyPassReverse "/" "http://127.0.0.1:3000/"  
  
    SSLEngine on  
    SSLCertificateFile /etc/letsencrypt/live/wiki.howtoforge.local/fullchain.pem  
    SSLCertificateKeyFile /etc/letsencrypt/live/wiki.howtoforge.local/privkey.pem  
    Protocols h2 http/1.1  
  
    # Включить только сильные шифры шифрования и предпочитать версии с пересылаемой секретностью  
    SSLCipherSuite HIGH:RC4-SHA:AES128-SHA:!aNULL:!MD5  
    SSLHonorCipherOrder on  
  
    # Отключить небезопасные версии SSL и TLS  
    SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1  
  
    ErrorLog /var/log/apache2/wiki.howtoforge.local-error.log  
    CustomLog /var/log/apache2/wiki.howtoforge.local-access.log combined  
  

Сохраните и закройте файл, когда закончите.

Затем активируйте файл виртуального хоста ‘ wikijs.conf “ с помощью следующей команды.

sudo a2ensite wikijs.conf

Проверьте и подтвердите конфигурацию Aache2 с помощью следующей команды. Если вы получите сообщение, такое как “ Синтаксис ОК “, это означает, что конфигурация Apache2 готова. Затем перезапустите службу Apache2, чтобы применить новые изменения.

sudo apachectl configtest  
sudo systemctl restart apache2

настроить виртуальный хост apache2

Настройка установки Wiki.js

Откройте веб-браузер и посетите доменное имя вашей установки Wiki.js (т.е: https://wiki.howtoforge.local/).

Введите новый адрес электронной почты администратора, пароль и URL-адрес сайта для вашей установки Wiki.js. Затем нажмите кнопку “ УСТАНОВИТЬ “, чтобы начать установку.

установить wiki.js

После завершения установки вы увидите страницу входа в Wiki.js. введите адрес электронной почты администратора и пароль и нажмите “ Войти “.

войти в wiki.js

Теперь вы увидите приветственное сообщение от Wiki.js. Нажмите кнопку “ СОЗДАТЬ ГЛАВНУЮ СТРАНИЦУ “, чтобы настроить страницу индекса по умолчанию для вашей Wiki.js.

приветствие создать главную страницу

Выберите редактор, который хотите использовать. В этом примере мы будем использовать редактор Markdown.

выбрать редактор

Введите заголовок, описание и другие данные. Затем нажмите “ ОК “.

создать главную страницу

Введите детали страницы индекса для вашей Wiki.js и нажмите “ СОЗДАТЬ “, чтобы подтвердить.

редактировать главную страницу wiki.js

И вы должны увидеть главную страницу Wiki.js, которую вы только что создали.

главная страница wiki.js

Чтобы получить доступ к панели управления Wiki.js, нажмите на значок настроек шестеренки в верхнем левом углу. Вы должны увидеть панель управления Wiki.js ниже.

панель управления wiki.js

Заключение

В этом учебном пособии вы настроили Wiki.js на базе данных PostgreSQL и обратном прокси Apache2, работающем на последнем сервере Ubuntu 22.04. Вы также защитили свою Wiki.js с помощью брандмауэра UFW и включили SSL/HTTPS на обратном прокси Apache. В конце вы также настроили главную страницу или индекс по умолчанию для вашей установки Wiki.js.

Вы можете создавать дополнительный контент и настраивать категории для вашего проекта Wiki. Вы также можете добавить некоторые модули в вашу Wiki.js, чтобы расширить ее функциональность или настроить новые темы для Wiki.js.

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.