Поиск по сайту:

Как установить Wikijs на Rocky Linux


На этой странице

  1. Предпосылки
  2. Установка Nodejs в Rocky Linux
  3. Установка базы данных PostgreSQL
  4. Создать новую базу данных и пользователя
  5. Загрузка и настройка Wiki.js
  6. Настройка Wiki.js как службы Systemd
  7. Установка и настройка Nginx в качестве обратного прокси-сервера для Wiki.js
  8. Защита Wikijs с помощью SSL Letsencrypt
  9. Настройка администратора Wiki.js и домашней страницы по умолчанию
  10. Заключение

Wiki.js — это вики-программа с открытым исходным кодом, написанная на JavaScript и работающая в среде выполнения Node.js, выпущенная под лицензией APGL-v3. Wiki.js — это легкое и мощное вики-программное обеспечение с красивым и интуитивно понятным пользовательским интерфейсом, разработанное для современной сети. Wiki.js — это очень расширяемое вики-программное обеспечение, подходящее для различных типов документов и развертываний, его можно использовать как для технических, так и для нетехнических специалистов.

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

  • Поддержка нескольких баз данных (PostgreSQL, MySQL, SQLite и MSSQL Server).
  • Несколько редакторов, в том числе Markdown для разработчиков, WYSIWYG для нетехнических специалистов, редактор кода и табличный редактор (подобный Excel).
  • Встроенная поисковая система на основе баз данных, а также поддержка других поисковых систем, таких как Apache Solr, Elasticsearch и т. д.
  • Поддерживает несколько хранилищ данных для резервного копирования, таких как Git, sFTP, AWS S3, Google Drive, Dropbox и т. д.

В этом руководстве вы узнаете, как установить Wiki.js на сервер Rocky Linux. Вы будете устанавливать Wiki.js с последней LTS-версией Node.js, используя PostgreSQL в качестве основной базы данных и используя веб-сервер Nginx в качестве обратного прокси-сервера.

Предпосылки

  • Система Rocky Linux. Убедитесь, что все пакеты и репозитории обновлены до последней версии.
  • Пользователь root или пользователь с привилегиями root. Вы будете использовать этого пользователя для установки новых пакетов и редактирования системных конфигураций.

Установка Nodejs на Rocky Linux

Во-первых, вы будете устанавливать Node.js на Rocky Linux. По умолчанию репозиторий AppStream предоставляет несколько версий Node.js LTS.

1. Проверьте модуль репозитория на наличие nodejs, выполнив следующую команду.

sudo dnf module list nodejs

Вы увидите несколько версий модуля Node.js.

2. Включите модуль репозитория nodejs:14 с помощью приведенной ниже команды.

sudo dnf module enable nodejs:14

Введите y, чтобы включить модуль репозитория nodejs:14.

3. Затем выполните следующую команду, чтобы установить пакеты Node.js и npm.

sudo dnf install nodejs npm

Введите y и нажмите Enter, чтобы подтвердить установку.

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

node --version
npm --version

Вы увидите аналогичный вывод, как показано ниже.

# Node.js version
v14.17.3

# NPM version
6.14.13

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

На этом этапе вы будете устанавливать PostgreSQL из официального репозитория PostgreSQL. Для производства рекомендуется использовать PostgreSQL в качестве основной базы данных для Wiki.js.

1. Теперь выполните следующую команду, чтобы добавить репозиторий PostgreSQL в систему Rocky Linux.

sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm

2. Отключите репозиторий Rocky Linux PostgreSQL по умолчанию, используя следующую команду.

sudo dnf module -qy disable postgresql

3. Затем выполните приведенную ниже команду, чтобы установить PostgreSQL 13 на сервер Rocky Linux.

sudo dnf install postgresql13-server

Введите y и нажмите Enter, чтобы продолжить установку.

4. Если установка PostgreSQL завершена, выполните следующую команду, чтобы инициализировать базу данных PostgreSQL, запустить и включить службу PostgreSQL.

Инициализируйте базу данных PostgreSQL с помощью приведенной ниже команды.

sudo /usr/pgsql-13/bin/postgresql-13-setup initdb

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

sudo systemctl enable postgresql-13

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

sudo systemctl start postgresql-13
sudo systemctl status postgresql-13

Если ваша служба PostgreSQL запущена, вы увидите вывод сообщения как активное (работающее), как на снимке экрана ниже.

Создать новую базу данных и пользователя

После установки сервера PostgreSQL вы создадите новую базу данных и пользователя для установки Wiki.js.

1. Выполните следующую команду, чтобы войти в оболочку PostgreSQL.

sudo -u postgres psql

2. Создайте новое имя пользователя PostgreSQL wiki с паролем wikijspassworddb, используя следующий запрос.

CREATE USER wiki WITH 
CREATEDB
PASSWORD 'wikijspassworddb';

3. Теперь создайте новую базу данных с именем wikidb и сделайте пользователя wiki владельцем базы данных, используя приведенный ниже запрос PostgreSQL.

CREATE DATABASE wikidb OWNER wiki;

Теперь введите \q, чтобы выйти из оболочки PostgreSQL.

При желании вы можете проверить пользователя и базу данных, используя приведенные ниже запросы.

# Check available users
\du

# Display list of databases
\l

Загрузка и настройка Wiki.js

В этом руководстве вы будете запускать Wiki.js как службу, и она будет работать как пользователь без полномочий root.

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

sudo adduser --system --user-group --no-create-home --shell /sbin/nologin wiki

2. Создайте новый каталог /var/wiki и измените на него рабочий каталог. Затем запустите команду wget, чтобы загрузить последнюю стабильную версию исходного кода Wiki.js.

mkdir -p /var/wiki; cd /var/wiki/
wget https://github.com/Requarks/wiki/releases/download/2.5.201/wiki-js.tar.gz

Если процесс загрузки завершен, извлеките исходный код Wiki.js с помощью приведенной ниже команды tar.

tar -xf wiki-js.tar.gz

3. Затем скопируйте образец конфигурации Wiki.js в config.yml и отредактируйте его с помощью nano.

cp config.sample.yml config.yml
nano config.yml

Измените сведения об имени базы данных, пользователе и пароле, как показано ниже.

db:
  type: postgres

  # PostgreSQL / MySQL / MariaDB / MS SQL Server only:
  host: localhost
  port: 5432
  user: wiki
  pass: wikijspassworddb
  db: wikidb
  ssl: false

Поместите # перед параметром хранилища SQLite, как показано ниже.

  # SQLite only:
  #storage: path/to/database.sqlite

Измените параметр bindIP на 127.0.0.1, чтобы Wiki.js запускался только на локальном IP-адресе.

# ---------------------------------------------------------------------
# IP address the server should listen to
# ---------------------------------------------------------------------
# Leave 0.0.0.0 for all interfaces

bindIP: 127.0.0.1

Сохраните конфигурацию и выйдите, нажав кнопку Ctrl+x, введите y и нажмите Enter.

4. Далее самое важное — сменить владельца каталога /var/wiki на пользователя и группу вики с помощью приведенной ниже команды.

sudo chown -R wiki:wiki /var/wiki

Настройка Wiki.js как службы Systemd

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

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

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

[Unit]
Description=Wiki.js
After=network.target postgresql-13.service

[Service]
Type=simple
ExecStart=/bin/node server
Restart=always
# Consider creating a dedicated user for Wiki.js here:
User=wiki
Group=wiki
Environment=NODE_ENV=production
WorkingDirectory=/var/wiki

[Install]
WantedBy=multi-user.target

Нажмите Ctrl+x, введите y, затем нажмите Enter, чтобы сохранить конфигурацию и выйти.

2. Перезагрузите systemd-manager, чтобы применить новую конфигурацию службы.

sudo systemctl daemon-reload

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

sudo systemctl enable wikijs

4. Запустите службу wikijs и проверьте ее состояние с помощью следующей команды.

sudo systemctl start wikijs
sudo systemctl status wikijs

Теперь вы увидите, что wikijs.service активен и работает в системе Rocky Linux.

Установка и настройка Nginx в качестве обратного прокси для Wiki.js

На этом этапе вы будете устанавливать и настраивать веб-сервер Nginx в качестве обратного прокси-сервера для Wiki.js. Если вы установили веб-сервер Nginx на свой сервер, перейдите к этапу номер 2 для настройки блоков сервера Nginx.

1. Чтобы установить веб-сервер Nginx, выполните приведенную ниже команду dnf.

sudo dnf install nginx

Введите y, чтобы подтвердить и установить веб-сервер Nginx.

2. Если установка завершена, измените рабочий каталог на /etc/nginx/conf.d и создайте новую конфигурацию блока сервера Nginx wikijs.conf, используя nano.

cd /etc/nginx/conf.d/
sudo nano wikijs.conf

Скопируйте и вставьте следующую конфигурацию и обязательно измените значение параметра server_name на ваше доменное имя.

server {
    listen 80;

    server_name wiki.domain-name.io;

    charset utf-8;
    client_max_body_size 50M;

    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;
    }

}

Нажмите Ctrl+x, введите y, затем нажмите Enter, чтобы сохранить конфигурацию и выйти.

3. Затем проверьте конфигурацию Nginx и убедитесь в отсутствии ошибок, затем включите службу Nginx.

sudo nginx -t
sudo systemctl enable nginx

4. Теперь запустите и проверьте состояние службы Nginx, выполнив следующую команду.

sudo systemctl start nginx
sudo systemctl enable nginx

Вы увидите, что вывод службы Nginx активен (работает), как показано ниже.

Защита Wikijs с помощью SSL Letsencrypt

На этом этапе вы будете защищать установку Wiki.js с помощью SSL Letsencrypt.

1. Выполните следующую команду, чтобы установить certbot и подключаемый модуль certbot-nginx.

sudo dnf install certbot python3-certbot-nginx

2. После завершения установки сгенерируйте новый SSL Letsencrtypt для доменного имени radiale с помощью приведенной ниже команды certbot.

sudo certbot --nginx --agree-tos --email  -d wiki.domain-name.io

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

  • Адрес электронной почты: когда срок действия сертификата SSL истечет, вы будете уведомлены об этом электронном письме.
  • Letsencrypt TOS (Условия предоставления услуг): нажмите A, чтобы согласиться.
  • Обмен электронной почтой с EFF: вы можете выбрать N вместо нет.
  • Автоматическое перенаправление с HTTP на HTTPS: выберите номер 2, чтобы включить автоматическое перенаправление.

После завершения процесса вы увидите, что SSL-сертификаты доступны в каталоге /etc/letsencrypt/live/wiki.domain-name.io. И конфигурация блоков вашего сервера Nginx изменилась благодаря дополнительной настройке от letsencrypt.

Настройка администратора Wiki.js и домашней страницы по умолчанию

Откройте веб-браузер и введите URL-адрес вашей установки Wiki.js в адресной строке.

1. Вы будете перенаправлены на HTTPS-соединение и увидите следующую страницу.

Введите данные учетной записи администратора со своим адресом электронной почты и паролем, затем введите свой домен Wiki.js в качестве URL-адреса сайта, затем нажмите кнопку «УСТАНОВИТЬ».

Дождитесь установки Wiki.js.

2. И если установка завершена, вы будете перенаправлены на страницу входа Wiki.js, как показано ниже.

Введите адрес электронной почты и пароль администратора, затем нажмите кнопку «Войти».

3. И вам будет показано приветственное сообщение Wiki.js.

Нажмите кнопку + СОЗДАТЬ ДОМАШНЮЮ СТРАНИЦУ, чтобы создать новую домашнюю страницу для вашей вики.

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

5. Во всплывающем окне «Свойства страницы» введите заголовок сведений и краткое описание своей домашней страницы. И оставьте путь по умолчанию домой.

Нажмите «ОК», чтобы подтвердить настройку свойств страницы.

6. Введите содержимое своей домашней страницы, затем нажмите кнопку СОЗДАТЬ, чтобы сохранить.

7. Теперь вы будете перенаправлены на домашнюю страницу Wiki.js, как показано ниже.

Заключение

Поздравляем! Теперь вы успешно создали свою Wiki с помощью Wiki.js на сервере Rocky Linux. Теперь Wiki.js работает с последней стабильной версией Node.js, базой данных PostgreSQL и обратным прокси-сервером Nginx. Кроме того, он защищен с помощью SSL Letsencrypt. На следующем этапе вы можете добавить некоторые дополнительные модули по мере необходимости, такие как аналитика, аутентификация, ведение журнала и редакторы кода/текста. И вы готовы писать документацию о ваших проектах.