В качестве своей базы заметок я обычно использовал:
Обычные 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: отключаю
И нажимаю "Install"
, после меня перекидывает на страницу
авторизации (URL
адрес сменился на http://172.33.33.117/login
)
(Enter your credentials)
Email Address: support@ekzorchik.ru
Password: 712mbddr@
И нажимаю Log In
И вот я внутри, в первый раз мастер уведомит Вас, что нужно создать домашнюю страницу:
Посредством мастера выбираешь тип редактора: я выбираю Visual Editor
Затем указываю настройки страницы:
Title: tips_db_home
Short Description: tips
Locale: en
Path: home
Categorization: ничего не указываю
И нажимаю OK
и вот результат:
Надо привыкнуть только к интерфейсу создания. Думаю, пока закруглиться, я получил
первоначальное знакомство и дальше посмотрю не в рамках этой заметки.
На этом заметка считаю завершенной, с уважением автор блога Олло Александр aka
ekzorchik.