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

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

 

В этом руководстве мы покажем вам, как установить Wiki.js на CentOS 8. Для тех из вас, кто не знал, Wiki.js — это бесплатное современное вики-приложение с открытым исходным кодом, построенное на Node.js, MongoDB, Git, и уценка. Wiki.js позволяет сохранять ваш контент непосредственно в файлы Markdown (.md) и синхронизируется с вашим удаленным репозиторием Git.

В этой статье предполагается, что у вас есть хотя бы базовые знания Linux, вы знаете, как использовать оболочку, и, что наиболее важно, вы размещаете свой сайт на собственном VPS. Установка довольно проста и предполагает, что вы работаете с учетной записью root, в противном случае вам может потребоваться добавить ‘ sudo‘ к командам для получения привилегий root. Я покажу вам пошаговую установку программного обеспечения Wiki.js с открытым исходным кодом на CentOS 8.

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

Шаг 1. Во-первых, давайте начнем с проверки актуальности вашей системы.

sudo clean all
sudo dnf install epel-release
sudo dnf update

Шаг 2. Установка Node.js.

Wiki.js требует Node.js , поэтому сначала нужно установить Node.js:

curl -sL https://rpm.nodesource.com/setup_12.x | bash -
sudo dnf install nodejs

Шаг 3. Установка Redis.

Выполните следующую команду, чтобы установить Redis:

sudo dnf install redis

После установки запустите службу Redis и включите ее запуск при перезагрузке системы с помощью следующей команды:

sudo systemctl start redis
sudo systemctl enable redis

Шаг 4. Установка Nginx.

Теперь устанавливаем веб-сервер Nginx в системе CentOS:

sudo dnf install nginx

После установки запустите службу Nginx и включите ее запуск при перезагрузке системы с помощью следующей команды:

sudo systemctl start nginx
sudo systemctl enable nginx

Шаг 5. Установка сервера базы данных MariaDB.

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

sudo dnf install mariadb

После установки запустите службу MariaDB и включите ее запуск при перезагрузке системы с помощью следующей команды:

sudo systemctl start mariadb
sudo systemctl enable mariadb

По умолчанию MariaDB не усилен. Вы можете защитить MariaDB с помощью mysql_secure_installation скрипта. вы должны внимательно прочитать и под каждым шагом, который установит пароль root, удалит анонимных пользователей, запретит удаленный вход root и удалит тестовую базу данных и доступ к безопасности MariaDB:

mysql_secure_installation

Настройте это так:

- Set root password? [Y/n] y
- Remove anonymous users? [Y/n] y
- Disallow root login remotely? [Y/n] y
- Remove test database and access to it? [Y/n] y
- Reload privilege tables now? [Y/n] y

Затем нам нужно будет войти в консоль MariaDB и создать базу данных для Wiki.js. Выполните следующую команду:

mysql -u root -p

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

MariaDB [(none)]> CREATE DATABASE wikidb;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON wikidb.* TO 'wiki'@'localhost' IDENTIFIED BY 'your-password';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

Шаг 6. Установка Wiki.js на CentOS 8.

Сначала создайте отдельного пользователя и группу для Wiki.js с помощью следующей команды:

groupadd --system wiki
useradd -s /sbin/nologin --system -g wiki wiki

Затем загрузите последнюю версию Wiki.js с официального сайта с помощью следующей команды:

curl -s https://api.github.com/repos/Requarks/wiki/releases/latest | grep browser_download_url | grep -v windows | cut -d '"' -f 4 | wget -qi -

После этого распакуйте скачанный файл в каталог:/var/www/html/wiki

mkdir -p /var/www/html/wiki
tar zxf wiki-js.tar.gz -C /var/www/html/wiki

Затем перейдите в каталог вики и скопируйте образец файла конфигурации:

cd /var/www/html/wiki
cp config.sample.yml config.yml

Отредактируйте файл и определите свою базу данных MariaDB:config.yml

nano config.yml

Добавьте следующую строку:

db:
  type: mariadb

  # PostgreSQL / MySQL / MariaDB / MS SQL Server only:
  host: localhost
  port: 3306
  user: wiki
  pass: your-password
  db: wikidb
  ssl: false

Сохраните, закройте и разрешите пользователю доступ к каталогу:

chown -R wiki:wiki /var/www/html/wiki

Проверьте свои конфигурации, запустив Wiki.js:

node server

Если все в порядке, вы должны получить следующий результат:

Loading configuration from /var/www/html/wiki/config.yml... OK
2020-12-09T08:12:26.205Z [MASTER] info: =======================================
2020-12-09T08:12:26.207Z [MASTER] info: = Wiki.js 2.5.170 =====================
2020-12-09T08:12:26.207Z [MASTER] info: =======================================
2020-12-09T08:12:26.207Z [MASTER] info: Initializing...
2020-12-09T08:12:26.801Z [MASTER] info: Using database driver mysql2 for mariadb [ OK ]
2020-12-09T08:12:26.805Z [MASTER] info: Connecting to database...
2020-12-09T08:12:26.834Z [MASTER] info: Database Connection Successful [ OK ]
2020-12-09T08:12:28.571Z [MASTER] warn: DB Configuration is empty or incomplete. Switching to Setup mode...
2020-12-09T08:12:28.572Z [MASTER] info: Starting setup wizard...
2020-12-09T08:12:28.747Z [MASTER] info: Starting HTTP server on port 3000...
2020-12-09T08:12:28.747Z [MASTER] info: HTTP Server on port: [ 3000 ]
2020-12-09T08:12:28.751Z [MASTER] info: HTTP Server: [ RUNNING ]
2020-12-09T08:12:28.751Z [MASTER] info: 🔻🔻🔻🔻🔻🔻🔻🔻🔻🔻🔻🔻🔻🔻🔻🔻🔻🔻🔻🔻🔻🔻🔻🔻🔻🔻🔻🔻🔻
2020-12-09T08:12:29.751Z [MASTER] info: 
2020-12-09T08:12:29.751Z [MASTER] info: Browse to http://YOUR-SERVER-IP:3000/ to complete setup!
2020-12-09T08:12:29.751Z [MASTER] info: 
2020-12-09T08:12:30.751Z [MASTER] info: 🔺🔺🔺🔺🔺🔺🔺🔺🔺🔺🔺🔺🔺🔺🔺🔺🔺🔺🔺🔺🔺🔺🔺🔺🔺🔺🔺🔺🔺

Шаг 7. Создайте службу Systemd для Wiki.js

Теперь настройте приложение Wiki.js для работы в качестве службы:

nano /etc/systemd/system/wiki.service

Добавьте следующие строки:

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

Перезагрузите systemdи запустите сервис:

sudo systemctl daemon-reload
sudo systemctl start wiki
sudo systemctl enable wiki

Шаг 8. Настройте Nginx в качестве обратного прокси.

Теперь мы настраиваем Nginx как обратный прокси для доступа к Wiki.js через порт 80. Сначала создайте файл конфигурации виртуального хоста Nginx с помощью следующей команды:

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

Добавьте следующие строки:

server {
     listen      80;
     server_name wiki.infoit.com.ua;
 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; 

 }
}

Сохраните и закройте файл, затем перезапустите службу Nginx, чтобы изменения вступили в силу:

sudo systemctl restart nginx

Если у вас firewalld запущена служба, разрешите ее:

sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --reload

Шаг 9. Доступ к Wiki.js в CentOS.

Теперь, используя свой веб-браузер, перейдите к , вы будете перенаправлены на следующую страницу и заполните необходимые данные администратора, затем нажмите кнопку « Установить» http://wiki.infoit.com.ua.

Поздравляю! Вы успешно установили Wiki.js. Благодарим вас за использование этого руководства для установки программного обеспечения Wiki с открытым исходным кодом Wiki.js в системах CentOS 8. Для получения дополнительной помощи или полезной информации, мы рекомендуем вам проверить на официальном сайте Wiki.js .