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

Как установить Wiki.js на CentOS 7


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

  1. Требования
  2. Предпосылки
  3. Начальные шаги
  4. Шаг 1. Установите Node.js и npm
  5. Шаг 2. Установите базу данных MongoDB.
  6. Шаг 3. Установите клиент acme.sh и получите сертификат Lets Encrypt (необязательно)
  7. Шаг 4. Установите и настройте NGINX
  8. Шаг 5. Установите и настройте Wiki.js
  9. Шаг 6. Настройка диспетчера процессов PM2
  10. Ссылки

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

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

В этом руководстве мы познакомим вас с процессом установки Wiki.js версии 1 в операционной системе CentOS 7, используя NGINX в качестве обратного прокси-сервера, MongoDB в качестве сервера базы данных, PM2 в качестве диспетчера процессов и, при необходимости, вы можете защитить транспортный уровень. с помощью клиента acme.sh и центра сертификации Lets 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 МБ дискового пространства.
  • Доменное имя с настроенными DNS-записями A/AAAA.

Предпосылки

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

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

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

cat /etc/centos-release

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

timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'

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

sudo yum update -y

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

sudo yum install -y curl wget vim unzip socat epel-release

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

# Remove existing git package if installed:
sudo yum remove -y git
sudo yum groupinstall -y "Development Tools"
sudo yum install -y gettext-devel openssl-devel perl-CPAN perl-devel zlib-devel curl-devel
wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.21.0.tar.gz && tar zxvf git-2.21.0.tar.gz
rm git-2.21.0.tar.gz
cd git-2.21.0
make configure
./configure make prefix=/usr/local all
sudo make prefix=/usr/local install
cd ~
which git
git --version

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

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

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

curl --silent --location https://rpm.nodesource.com/setup_10.x | sudo bash -
sudo yum 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 до последней стабильной версии.

Перепроверьте версию npm с помощью:

npm -v
# 6.8.0

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

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

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

Создайте файл /etc/yum.repos.d/mongodb-org-4.0.repo , чтобы можно было установить MongoDB напрямую с помощью ням.

Бег:

sudo vim /etc/yum.repos.d/mongodb-org-4.0.repo

И заполните файл следующей конфигурацией:

[mongodb-org-4.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc

Чтобы установить последнюю стабильную версию MongoDB, введите следующую команду:

sudo yum install -y mongodb-org

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

mongo --version | head -n 1 && mongod --version | head -n 1
# MongoDB shell version v4.0.6
# db version v4.0.6

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

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

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

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

Загрузите и установите acme.sh:

sudo su - root
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh 
./acme.sh --install --accountemail 
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:

sudo yum install -y nginx

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

nginx -v
# nginx version: nginx/1.12.2

Включите и запустите службу 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 на your_user:

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.

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

Появится следующая страница \Проверка системы\. Если все требования соблюдены, нажмите кнопку \Продолжить\.

Введите общую информацию о вашей вики и нажмите кнопку «Продолжить»:

Прочтите уведомление «Важная информация» и нажмите «Продолжить», чтобы перейти к следующему шагу:

Затем подключитесь к базе данных и продолжайте:

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

Задайте пути и продолжайте:

Настройте удаленный репозиторий Git, если хотите, или пропустите этот шаг. Этот шаг необязателен, но настоятельно рекомендуется:

Далее нажмите кнопку «Продолжить»:

Создайте учетную запись администратора и нажмите кнопку «Продолжить»:

И, наконец, запустите Wiki.js:

Подождите около 30 секунд, и вы будете перенаправлены на домашнюю страницу Wiki.js:

Установка завершена. Вы должны приветствовать страницу вики:

Шаг 6. Настройка диспетчера процессов PM2

По умолчанию Wiki.js не запускается автоматически после перезагрузки системы. Чтобы он запускался при загрузке, нам нужно настроить диспетчер процессов PM2. PM2 поставляется вместе с Wiki.js как локальный модуль npm, поэтому нам не нужно устанавливать PM2 глобально.

Скажите PM2 настроить себя в качестве службы запуска, запустив:

/var/www/wiki.js/node_modules/pm2/bin/pm2 startup

Наконец, сохраните текущую конфигурацию PM2, выполнив команду:

/var/www/wiki.js/node_modules/pm2/bin/pm2 save

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

Ссылки

  • https://wiki.js.org/
  • https://github.com/Requarks/wiki-v1
  • https://github.com/Requarks/wiki




Все права защищены. © Linux-Console.net • 2019-2024