# Установка Wiki server'а wiki.js ## :book: Теория Вики (Wiki) - это система или веб-сервис для быстрого создания простых сайтов без знания html. Такие сайты, как правило, используются для совместной работы в рамках проекта или отдела, а не в качестве корпоративного сайта компании . Wiki идеально подходит для создания базы знаний, технических заданий и подготовки различных документов, над которыми происходит совместная работа нескольких пользователей. В данном гайде будет рассматриваться wiki.js сервер Из возможностей wiki.js можно подчеркнуть следующее: 1. кастомизация интерфейса 1. многоязычность документов 1. разграничение доступа 1. интеграция с OIDC и AD 1. синхронизация с git на выбор push/pull/bi-directional 1. синхронизация с S3, SFTP, Local FS, OneDrive, Dropbox, Google Drive 1. доступ по API 1. уведомления по почте Wiki.js поставляется для платформ: * Docker * Kubernetes * Linux * MacOS * Windows ## Используемые ресурсы ::: ## Настройка Выполним обновление системы. ``` apt update && apt upgrade -y ``` Установим необходимые для дальнейшей работы пакеты. ``` apt install -y git curl unzip sudo wget vim socat bash-completion apt-transport-https build-essential dirmngr ``` Создадим группу и пользователя для wiki.js. ``` groupadd --system wiki useradd -s /sbin/nologin --system -g wiki wiki ``` Установим node.js. ``` curl -sL https://deb.nodesource.com/setup_16.x | bash - apt install nodejs ``` Установим PostgreSQL ``` apt install -y postgresql postgresql-client ``` Создадим пользователя в базе данных и базу данных для wiki.js :::warning Делайте это в директории к которой postgres имеет доступ! Иначе возможна ошибка: could not change directory to "/root": Permission denied ::: ``` sudo -u postgres psql -c "CREATE ROLE wikiuser WITH LOGIN PASSWORD 'wikipassword'"; sudo -u postgres psql -c "CREATE DATABASE wikidatabase WITH OWNER wikiuser"; ``` Далее необходимо скачать версию дистрибутива с сайта https://js.wiki/ и распаковать в рабочую директирию. ``` mkdir -p /var/www/wiki cd /var/www wget https://github.com/Requarks/wiki/releases/latest/download/wiki-js.tar.gz tar zxvf wiki-js.tar.gz -C wiki chown -R wiki:wiki wiki cd wiki ``` Скопируем пример конфигурационного файла и укажем реквизиты для подключения к ранее созданной базе данных. ``` mv config.sample.yml config.yml nano config.yml ``` Из файла можно всё стереть и вставить следующее: ``` port: 3000 db: type: postgres host: localhost port: 5432 user: wikiuser pass: wikipassword db: wikidatabase ssl: false ``` Запустим сервер и дождёмся приглашения на веб-страницу ``` node server ``` ![](https://i.imgur.com/Wx5CqIB.png) Перейдём в веб-интерфейс для завершения установки и создаём аккаунт администратора. ![](https://i.imgur.com/jFe8LNc.png) Нажимаем установить и ждём некоторое время, далее нас переведёт на страницу авторизации. Вводим ранее созданные учётные данные. ![](https://i.imgur.com/RFCi0uy.jpg) ### Создание демона автозагрузки Пока не забыли, создадим демон для автозагрузки wiki.js Для этого создадим файл для systemd ``` nano /etc/systemd/system/wiki.service ``` И вставим следующее ``` [Unit] Description=Wiki.js After=network.target [Service] Type=simple ExecStart=/usr/bin/node server Restart=always # Укажите пользователя, от имени которого будет запущен wiki.js User=wiki Environment=NODE_ENV=production WorkingDirectory=/var/www/wiki [Install] WantedBy=multi-user.target ``` Теперь перезапустим systemd и запустим демон wiki, а также добавим его в автозагрузку ``` systemctl daemon-reload systemctl start wiki systemctl enable wiki ``` Проверим статус ``` systemctl status wiki ``` ![](https://i.imgur.com/9jTISYa.png) Как можно заметить, всё отлично! ## Создание и настройка страниц wiki Теперь создадим домашнюю страницу, для этого выберем "Create home page" ![](https://i.imgur.com/GX0IS4C.png) Выберем "Markdown" ![](https://i.imgur.com/le61jfy.png) В следующем окне можно указать различные свойства страницы, скрипты и стили css. Изменим только название и описание всё остальное оставим по умолчанию. ![](https://i.imgur.com/t5HfKW3.png) Напишем что-нибудь для домашней страницы. Весь интерфейс интуитивно понятен, для вставки изображений используется локальное хранилище сервера. ![](https://i.imgur.com/tBzBHMd.png) Нажимаем "Create". ![](https://i.imgur.com/Dj4b991.png) Создадим вторую страницу, нажав справа сверху кнопку создания новой страницы. ![](https://i.imgur.com/qJIHTD3.png) На этот раз выберем другой редактор, к примеру visual editor и также зададим странице только имя и описание, всё остальное оставим по умолчанию. ![](https://i.imgur.com/G209JOw.png) Нажимаем "Create" и вообщем-то всё. ![](https://i.imgur.com/MMi0PeM.png) ## Вывод Таким образом можно установить и настроить свой wiki сервер. Это очень актуально на предприятии, когда сотрудники должны иметь быстрый доступ к огромному количеству данных пользователей, учётных записей, баз данных и т.д. и сделать это через wiki-сервер будет хорошим решением.