В качестве своей базы заметок я обычно использовал:

  • Обычные odt,docx файлы в различной структуре каталог + система индексирования Recoll на Ubuntu 18.04 Desktop
  • Dokuwiki (положительный опыт в течении 3 лет вся структура IT была задокумментирована, настройки, схемы, отчеты за каждый день.
  • Mediawiki (не понравилось, слишком сложно)
  • BookStack (положительный опыт)

и вот мне наш разработчик посоветовал посмотреть в сторону Wiki.js, плюс она лично ему нужна на рабочем месте для ведения своих заметок что и как и где настроено. У него что-то не получилось ее толком настроить.

Данный сервис я буду поднимать на виртуальной машине и под Ubuntu 20.04 Server, считаю, что усложнять в организации внедрение сервисов под Docker это потеря времени и нужно досконально разбираться, а когда времени в обрез — я один системный администратор на всю контору.

Итак, преступим, в качестве тестовой системы использую один из серверов где поднята связка Debian 10 + Proxmox 6

root@ekzorchik:~# ssh -l ekzorchik 172.33.33.117

ekzorchik@srv-us2004:~$ sudo rm -Rf /var/lib/apt/lists

ekzorchik@srv-us2004:~$ sudo apt-get update && sudo apt-get upgrade -y

Шаг №1: Устанавливаю Installing the NodeSource Node.js 16.x repo...

ekzorchik@srv-us2004a:~$ curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash –

ekzorchik@srv-us2004:~$ sudo apt-get install -y nodejs

Шаг №2: Install PostgreSQL 12

ekzorchik@srv-us2004a:~$ sudo apt-get install postgresql postgresql-contrib –y

Шаг №3: Переходим в консоль PostgreSQL:

ekzorchik@srv-us2004:~$ sudo su - postgres

postgres@srv-us2004:~$

postgres@srv-us2004:~$ psql

psql (12.8 (Ubuntu 12.8-0ubuntu0.20.04.1))

Type "help" for help.

postgres=#

Создаем новую роль с именем wikijs:

postgres=# CREATE ROLE wikijs WITH LOGIN;

CREATE ROLE

Создаем пароль для роли wikijs:

postgres=# \password wikijs

Enter new password: 712mbddr@

Enter it again: 712mbddr@

postgres-#

Создаем новую базу с именем wikidb для wikijs:

postgres=# CREATE DATABASE dbwikijs;

CREATE DATABASE

Предоставляем все права для базы wikidb применительно к роли wikijs:

postgres=# GRANT ALL PRIVILEGES ON DATABASE dbwikijs TO wikijs;

GRANT

Выходим из командного режима PostgreSQL:

postgres=# \q

postgres@srv-us2004:~$ exit

logout

ekzorchik@srv-us2004:~$

Шаг №4: Устанавливаю Wiki.js:

ekzorchik@srv-us2004:~$ sudo adduser wikijs

Adding user `wikijs' ...

Adding new group `wikijs' (1001) ...

Adding new user `wikijs' (1001) with group `wikijs' ...

Creating home directory `/home/wikijs' ...

Copying files from `/etc/skel' ...

New password: 712mbddr@

Retype new password: 712mbddr@

passwd: password updated successfully

Changing the user information for wikijs

Enter the new value, or press ENTER for the default

Full Name []:

Room Number []:

Work Phone []:

Home Phone []:

Other []:

Is the information correct? [Y/n] нажимаю клавишу y

ekzorchik@srv-us2004:~$ sudo mkdir -p /var/www/wikijs

ekzorchik@srv-us2004:~$ sudo chown -R wikijs:wikijs /var/www/wikijs/

ekzorchik@srv-us2004:~$ sudo su wikijs

wikijs@srv-us2004:/home/ekzorchik$ cd /var/www/wikijs/

wikijs@srv-us2004:/var/www/wikijs$ wget https://github.com/Requarks/wiki/releases/latest/download/wiki-js.tar.gz

wikijs@srv-us2004:/var/www/wikijs$ tar zxf wiki-js.tar.gz

wikijs@srv-us2004:/var/www/wikijs$

wikijs@srv-us2004:/var/www/wikijs$ cp config.sample.yml config.yml

wikijs@srv-us2004:/var/www/wikijs$ nano config.yml

#
PostgreSQL / MySQL / MariaDB / MS SQL Server only:
host: localhost
port: 5432
user: dbwikijs
pass: 712mbddr@
db: dbwikijs

Loading configuration from /var/www/wikijs/config.yml... OK

2021-11-11T10:44:04.170Z [MASTER] info: =======================================

2021-11-11T10:44:04.171Z [MASTER] info: = Wiki.js 2.5.219 =====================

2021-11-11T10:44:04.172Z [MASTER] info: =======================================

2021-11-11T10:44:04.172Z [MASTER] info: Initializing...

2021-11-11T10:44:04.644Z [MASTER] info: Using database driver pg for postgres [ OK ]

2021-11-11T10:44:04.657Z [MASTER] info: Connecting to database...

2021-11-11T10:44:04.681Z [MASTER] info: Database Connection Successful [ OK ]

2021-11-11T10:44:05.032Z [MASTER] warn: DB Configuration is empty or incomplete. Switching to Setup mode...

2021-11-11T10:44:05.032Z [MASTER] info: Starting setup wizard...

2021-11-11T10:44:05.157Z [MASTER] info: Starting HTTP server on port 3000...

2021-11-11T10:44:05.157Z [MASTER] info: HTTP Server on port: [ 3000 ]

2021-11-11T10:44:05.160Z [MASTER] info: HTTP Server: [ RUNNING ]

2021-11-11T10:44:05.160Z [MASTER] info: 

2021-11-11T10:44:05.160Z [MASTER] info:

2021-11-11T10:44:05.160Z [MASTER] info: Browse to http://YOUR-SERVER-IP:3000/ to complete setup!

2021-11-11T10:44:05.160Z [MASTER] info:

2021-11-11T10:44:05.161Z [MASTER] info:

Выходим по прерыванию сочетания клавиш Ctrl + C

^C

wikijs@srv-us2004:/var/www/wikijs$ exit

exit

ekzorchik@srv-us2004:~$

Шаг №5: Создаем system сервис который будет запускать Wiki.js автоматически при перезагрузке системы:

ekzorchik@srv-us2004:~$ sudo nano /etc/systemd/system/wikijs.service

[Unit]

Description=Wiki.js

After=network.target

[Service]

Type=simple

ExecStart=/usr/bin/node server

Restart=always

User=wikijs

Environment=NODE_ENV=production

WorkingDirectory=/var/www/wikijs

[Install]

WantedBy=multi-user.target

ekzorchik@srv-us2004:~$ sudo systemctl daemon-reload

ekzorchik@srv-us2004:~$ sudo systemctl enable wikijs.service

Created symlink /etc/systemd/system/multi-user.target.wants/wikijs.service → /etc/systemd/system/wikijs.service.

ekzorchik@srv-us2004:~$

Шаг №6: Для быстрой продуктивности и безопасности наилучшим образом будет использовать NGINX в качестве обратного прокси для сервиса Wiki.JS:

ekzorchik@srv-us2004:~$ sudo apt-get install nginx -y
ekzorchik@srv-us2004:~$ sudo rm /etc/nginx/sites-enabled/default
ekzorchik@srv-us2004:~$ sudo nano /etc/nginx/sites-available/wikijs-http.conf
ekzorchik@srv-us2004:~$ cat /etc/nginx/sites-available/wikijs-http.conf
server {
  listen 80 default_server;
  #listen [::]:80 default_server;

  #server_name  example.com;
  server_name 172.33.33.117;
  root   /var/www/wikijs;

  # Pass requests to the Wiki.js service listening on 127.0.0.1:3000
  location / {
    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_set_header    Host $host;
    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;
  }
}
ekzorchik@srv-us2004:~$
ekzorchik@srv-us2004:~$ sudo ln -s /etc/nginx/sites-available/wikijs-http.conf /etc/nginx/sites-enabled/wikijs-http.conf
ekzorchik@srv-us2004:~$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
ekzorchik@srv-us2004:~$
ekzorchik@srv-us2004a:~$ sudo systemctl restart wikijs.service && sudo systemctl status wikijs.service | head -n5
● wikijs.service - Wiki.js
     Loaded: loaded (/etc/systemd/system/wikijs.service; enabled; vendor preset: enabled)
     Active: active (running) since Thu 2021-11-11 11:08:12 UTC; 20ms ago
   Main PID: 29562 (node)
      Tasks: 6 (limit: 4616)
ekzorchik@srv-us2004a:~$
ekzorchik@srv-us2004:~$ sudo ss -lt
State   Recv-Q  Send-Q   Local Address:Port         Peer Address:Port  Process  
LISTEN  0       4096     127.0.0.53%lo:domain            0.0.0.0:*              
LISTEN  0       128            0.0.0.0:ssh               0.0.0.0:*              
LISTEN  0       511            0.0.0.0:3000              0.0.0.0:*              
LISTEN  0       244          127.0.0.1:postgresql        0.0.0.0:*              
LISTEN  0       511            0.0.0.0:http              0.0.0.0:*              
LISTEN  0       128               [::]:ssh                  [::]:*              
ekzorchik@srv-us2004:~$

Шаг №7: Перехожу в Web-интерфейс по URL адресу: http://IP&DNS
(http://172.33.33.117)

(Administrator Account)

  • Administrator Email: support@ekzorchik.ru
  • Password: 712mbddr@
  • Confirm Password: 712mbddr@

(Site URL)

  • Site URL: http://172.33.33.117

(Telemetry)

  • Allow Telemetry: отключаю

Создаю административный доступ в Wiki.JS

И нажимаю "Install", после меня перекидывает на страницу
авторизации (URL адрес сменился на http://172.33.33.117/login)

(Enter your credentials)

  • Email Address: support@ekzorchik.ru
  • Password: 712mbddr@

И нажимаю Log In

Авторизуюсь в Wiki.JS с помощью административного доступа

И вот я внутри, в первый раз мастер уведомит Вас, что нужно создать домашнюю страницу:

Создаю домашнюю страницу

Посредством мастера выбираешь тип редактора: я выбираю Visual Editor

Посредством мастера выбираешь тип редактора: я выбираю Visual Editor

Затем указываю настройки страницы:

  • Title: tips_db_home
  • Short Description: tips
  • Locale: en
  • Path: home
  • Categorization: ничего не указываю

Затем указываю настройки страницы:

И нажимаю OK и вот результат:

Результат созданной страницы

Надо привыкнуть только к интерфейсу создания. Думаю, пока закруглиться, я получил
первоначальное знакомство и дальше посмотрю не в рамках этой заметки.

На этом заметка считаю завершенной, с уважением автор блога Олло Александр aka
ekzorchik.