Как установить Wiki.js на Ubuntu 25.04
Дата публикации: 2025-06-25T16:04:34
Теги: ["Wiki.js", "ubuntu"]
Wiki.js - бесплатное и открытое приложение для вики, построенное на Node.js, PostgreSQL, Git и Markdown. Он современный и мощный и оптимизирован для сохранения ресурсов CPU. С Wiki.js весь контент записывается в формате Markdown, сохраняется в файлах Markdown и автоматически синхронизируется с вашим удаленным хранилищем Git. В этой статье мы узнаем, как установить Wiki.js на Ubuntu 25.04. Итак, приступим.
Предпосылки
- Сервер с Ubuntu 25.04 в качестве ОС
- Права пользователя: пользователь root или обычный пользователь с привилегиями sudo
Конвенции
# - данные команды должны выполняться с правами root либо непосредственно от имени пользователя root, либо с помощью команды sudo. $ - данные команды должны выполняться от имени обычного пользователя
Шаг 1. Обновите систему
Свежая установка Ubuntu 25.04 требует обновления пакетов до последних доступных версий.
$ sudo apt update -y && sudo apt upgrade -y
Шаг 2. Установите Node.js и NPM
Учитывая, что Wiki.js основан на Node.js, мы установим самую последнюю версию, как показано ниже.
Для начала давайте скачаем скрипт.
$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
После добавления репозитория нам нужно перейти к нашему файлу `.bashrc`.
$ source ~/.bashrc
Скачате и установите Node.js
$ nvm install 22
Шаг 3. Установите PostgreSQL
PostgreSQL - это рекомендуемый сервер базы данных для лучшей производительности и совместимости функций. Запустите следующую команду для установки PostgreSQL.
$ sudo apt install postgresql postgresql-contrib
Шаг 4. Создание базы данных
Нам нужно создать базу данных для Wiki.js для работы.
$ sudo -u postgres psql -c "CREATE USER wikijs WITH PASSWORD 'yourstrongpassword';" $ sudo -u postgres psql -c "CREATE DATABASE wikijs_db OWNER wikijs;" $ sudo -u postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE wikijs_db TO wikijs;"
Шаг 5. Скачайте и установите Wiki.js
Скачате последнюю версию Wiki.js со страницы релизов на [GitHub](https://github.com/requarks/wiki/releases).
$ wget https://github.com/requarks/wiki/releases/download/v2.5.307/wiki-js.tar.gz $ tar -xzf wiki-js.tar.gz -C /var/www/wiki.js $ sudo chown -R www-data:www-data /var/www/wiki.js $ cd /var/www/wiki.js
Переименуйте файл настройки образца в `config.yml`:
$ sudo mv config.sample.yml config.yml
Отредактируйте файл `config.yml`, чтобы он соответствовал вашим данным, включая ваше имя пользователя и безопасный пароль от PostgreSQL.
... db: type: postgres # PostgreSQL / MySQL / MariaDB / MS SQL Server only: host: localhost port: 5432 user: wikijs pass: yourstrongpassword db: wikijs_db ssl: false ...
Сохраните и закройте файл.
Шаг 6. Запустите Wiki.js в качестве systemd
Создайте новый файл под названием wiki. сервис внутри каталога `/etc/systemd/system`.
$ sudo nano /etc/systemd/system/wiki.service
Затем добавить в файл следующее содержимое:
[Unit] Description=Wiki.js After=network.target [Service] Type=simple ExecStart=/usr/bin/node server Restart=always # Consider creating a dedicated user for Wiki.js here: User=nobody Environment=NODE_ENV=production WorkingDirectory=/var/www/wiki.js [Install] WantedBy=multi-user.target
Сохраните и закройте файл.
Затем перезагрузите систему и запустите Wiki.js:
$ sudo systemctl daemon-reload $ sudo systemctl enable --now wiki.service $ sudo systemctl status wiki.service
Шаг 7. Теперь мы должны установить Nginx
Для установки веб-сервера Nginx выполните команду ниже:
$ sudo apt install nginx
Далее мы создадим базовую конфигурацию для этого проекта, но в будущем вы сможете дублировать ее и запускать множество различных приложений и доменов node.js.
$ sudo nano /etc/nginx/sites-available/wiki.conf
В этом файле поместите следующий содержимое.
server {
listen 80;
listen [::]:80;
index index.html;
server_name wiki.example.com;
location / {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
# Add these lines
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
# Add timeout settings
proxy_read_timeout 60s;
proxy_connect_timeout 60s;
proxy_send_timeout 60s;
}
# Add error log for this specific site
error_log /var/log/nginx/wiki.example.com_error.log;
access_log /var/log/nginx/wiki.example.com_access.log;
}
Теперь весь входящий трафик на `wiki.example.com` по умолчанию `http 80` порт будет перенаправлен на `localhost:3000`.
И привязать наш новый файл конфигурации к сайтам доступного каталога:
$ sudo ln -sf /etc/nginx/sites-available/wiki.conf /etc/nginx/sites-enabled/wiki.conf
Наконец, мы можем проверить, не имеет ли наш файл nginx никакой ошибки:
$ sudo nginx -t $ sudo systemctl restart nginx
И, наконец, теперь мы можем увидеть наше приложение Wiki.js из вашего браузера, чтобы продолжить конфигурацию `wiki.example.com`. Давайте защитим его, позволим зашифровать.
Шаг 8. Получите сертификат TLS от Let's Encrypt
Мы будем использовать [Acme.sh](https://github.com/acmesh-official/acme.sh) для получения SSL-сертификата Let’s Encrypt бесплатно. Пожалуйста, убедитесь, что вы указали свой поддомен на IP-адрес сервера. Шаги, приведенные ниже, будут работать только в том случае, если вы обслуживаете интерфейс управления с помощью Nginx.
$ sudo su - # git clone https://github.com/Neilpang/acme.sh.git # cd acme.sh # ./acme.sh --register-account -m [email protected] --server zerossl # source ~/.bashrc # cd ~
Получите сертификаты RSA для вашего имени хоста:
# acme.sh --issue --standalone -d wiki.example.com --keylength 2048
Создайте каталог для хранения ваших сертификатов:
# mkdir -p /etc/letsencrypt/wiki.example.com
Установите сертификаты в созданные каталоги:
# acme.sh --install-cert -d wiki.example.com \
--cert-file /etc/letsencrypt/wiki.example.com/cert.pem \
--key-file /etc/letsencrypt/wiki.example.com/private.key \
--fullchain-file /etc/letsencrypt/wiki.example.com/fullchain.pem \
Этот режим состоит только в том, чтобы выпустить сертификат, он не изменит ваши настраиваемые файлы nginx. Вам нужно настроить файлы конфигурации вашего сайта самим, чтобы использовать сертификат.
Завершение
Мы завершили наше руководство по установке Wiki.js на Ubuntu 25.04. Мы начали с подготовки сервера с необходимыми зависимостями, а затем приступили к установке и настройке.
Если вам понравился этот пост пожалуйста, поделитесь им со своими друзьями в социальных сетях, которым может быть интересна эта статья или оставьте комментарий ниже.