Ako nainštalovať Wiki.js s Apache2 Reverse Proxy na Ubuntu 22.04


Na tejto stránke

  1. Predpoklady
  2. Inštalácia Node.js
  3. Inštalácia databázy PostgreSQL
  4. Inštalácia Wiki.js
  5. Nastavenie Apache2 ako reverzného proxy
  6. Konfigurácia inštalácie Wiki.js
  7. Záver

Wiki.js je bezplatný a otvorený wiki softvér založený na Node.js, Git a Markdown. Je vydaný pod licenciou AGPL-v3 a navrhnutý pre výkon a ochranu systémových zdrojov. Wiki.js je výkonný Wiki softvér, ktorý je možné nainštalovať kdekoľvek na vašom systéme; môžete si ho nainštalovať do svojho operačného systému alebo pomocou cloudových služieb, ako je Heroku, a tiež nasadiť Wiki.js na prostrediach kontajnerov, ako sú Docker a Kubernetes.

Wiki.js je kompatibilný s databázou PostgreSQL a poskytuje viac ako 50 integrácií pre ďalšiu autentifikáciu, protokolovacie systémy, vyhľadávacie nástroje, vykresľovanie a ukladanie. Je to výkonný softvér Wiki postavený na krásnych a intuitívnych rozhraniach pre administračný panel a stránky. je to plne prispôsobiteľný wiki softvér na dokumentovanie vášho technologického balíka.

V tejto príručke nainštalujete a nakonfigurujete Wiki.js na serveri Ubuntu 22.04 pomocou PostgreSQL ako predvolenej databázy a Apache2 ako reverzného proxy. Vo svojej inštalácii Wiki.js budete mať zabezpečené pripojenie HTTPS/SSL. Keď skončíte, budete mať vo svojom systéme Ubuntu plne funkčný a zabezpečený Wiki.js.

Predpoklady

Na dokončenie tohto sprievodcu budete najskôr potrebovať nasledujúce požiadavky:

  • Server Ubuntu 22.04.
  • Používateľ bez oprávnenia root s oprávneniami typu root/správca.
  • Názov domény smeroval na IP adresu vášho servera Ubuntu.

Inštalácia Node.js

Pred inštaláciou Wiki.js musíte nainštalovať závislosti, ktoré vyžaduje Wiki.js.

Wiki.js je wiki softvér napísaný hlavne v JavaScripte, takže v tomto prvom kroku si nainštalujete JavaScript runtime Node.js. Predvolené úložisko Ubuntu poskytuje balík Node.js, ale pre túto príručku použijete na inštaláciu Node.js úložisko Nodesource.

Spustite príkaz curl nižšie a pridajte úložisko Nodesource do svojho systému Ubuntu. V čase písania tohto článku vyžadovala Wiki.js aspoň Node.js v8 a vyššie. A pre túto príručku si nainštalujete LTS verziu Node.js v16.

curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -

Teraz môžete nainštalovať balík Node.js pomocou príkazu apt nižšie.

sudo apt install nodejs

Po dokončení inštalácie skontrolujte a overte verziu Node.js pomocou nasledujúceho príkazu. Na obrazovke terminálu by ste mali vidieť verziu Node.js v16 LTS.

node --version
npm --version

Inštalácia databázy PostgreSQL

Predvolená WIki.js podporuje viacero RDBMS, ako napríklad PostgreSQL, MySQL/MariaDB a SQLite (predvolené), ale odporúčaná databáza na výrobu je PostgreSQL. Nainštalujete balík PostgreSQL na systém Ubuntu a potom vytvoríte databázu a používateľa pre Wiki.js.

Ak chcete začať, spustite nasledujúci príkaz apt na inštaláciu databázy PostgreSQL na váš server. Inštaláciu potvrďte zadaním Y a pokračujte stlačením klávesu ENTER. Inštalácia sa spustí.

sudo apt install postgresql postgresql-common

Po dokončení inštalácie spustite nasledujúci príkaz systemctl na kontrolu a overenie služby PostgreSQL. A mali by ste vidieť, že služba PostgreSQL je povolená, čo znamená, že sa automaticky spustí pri zavádzaní systému. A aktuálny stav služby PostgreSQL je "Aktívny".

sudo systemctl is-enabled postgresql
sudo systemctl status postgresql

Prihláste sa do konzoly PostgreSQL pomocou príkazu nižšie na vytvorenie databázy PostgreSQL a používateľa.

sudo -u postgres psql

Spustite nasledujúci príkaz z konzoly PostgreSQL a vytvorte novú databázu a používateľa pre Wiki.js. V tomto príklade vytvárame databázu "wikijs" a používateľa "wiki" s heslom "wikijspassword".

CREATE DATABASE wikijs;
CREATE USER wiki WITH ENCRYPTED PASSWORD 'wikijspassword';
GRANT ALL PRIVILEGES ON DATABASE wikijs TO wiki;

Teraz môžete použiť "Ctrl+d" na ukončenie konzoly PostgreSQL alebo jednoducho použiť príkaz "\q" na ukončenie.

Inštalácia Wiki.js

Teraz nainštalujete Wiki.js manuálne do vášho systému Ubuntu. Prostredníctvom tohto návodu si vytvoríte systémového používateľa pre Wiki.js, stiahnete zdrojový kód Wiki.js, nastavíte Wiki.js s databázou PostgreSQL a nakoniec spustíte Wiki.js ako službu systemd.

Najprv spustite nasledujúci príkaz na vytvorenie nového používateľa pre Wiki.js. V tomto príklade vytvárame nového systémového používateľa s názvom "wiki" s predvoleným domovským adresárom "/opt/wikijs" a keďže ide o systémového používateľa, zakazujú prístup k shellu.

sudo useradd -r -d /opt/wikijs -s /usr/sbin/nologin wiki

Teraz si stiahnite zdrojový kód Wiki.js pomocou príkazu wget nižšie.

wget https://github.com/Requarks/wiki/releases/latest/download/wiki-js.tar.gz

Po dokončení sťahovania vytvorte nový adresár „/opt/wikijs“ a extrahujte doň zdrojový kód Wiki.js. Mali by ste vidieť, že zdrojový kód Wiki.js je dostupný v inštalačnom adresári "/opt/wikijs".

mkdir -p /opt/wikijs
tar xzf wiki-js.tar.gz -C /opt/wikijs

Ak chcete nastaviť Wiki.js s databázou PostgreSQL, skopírujte predvolenú vzorovú konfiguráciu "config.sample.yml" a upravte/upravte ju pomocou textového editora.

Spustite nasledujúci príkaz a skopírujte príklad konfiguračného súboru Wiki.js do „/opt/wikijs/config.yml“. Potom upravte nový súbor "/opt/wikijs/config.yml" pomocou nano editora.

cp /opt/wikijs/config.sample.yml /opt/wikijs/config.yml
nano /opt/wikijs/config.yml

Zmeňte predvolenú konfiguráciu, ako je uvedené nižšie.

V tomto príklade spustíme Wiki.js na predvolenom TCP porte "3000". Nezabudnite zmeniť názov databázy PostgreSQL, používateľa a heslo. Pri možnosti „bindIP“ zmeňte na localhost alebo „127.0.0.1“. Pre konfiguráciu denníka Wiki.js použijeme predvolenú úroveň "info" s formátom "json".

# default port wikijs will run
port: 3000
# PostgreSQL database details
db:
  type: postgres
  host: localhost
  port: 5432
  user: wiki
  pass: wikijspassword
  db: wikijs
  ssl: false
# bind wikijs to localhost only
bindIP: 127.0.0.1
# setup log and the format
loglevel: info
logFormat: json

Po dokončení uložte a zatvorte súbor.

Teraz spustite príkaz chown nižšie a zmeňte vlastníctvo inštalačného adresára Wiki.js "/opt/wikijs" na používateľa "wiki".

sudo chown -R wiki:wiki /opt/wikijs

V tomto príklade spustíme Wiki.js ako službu systemd. Takže musíte vytvoriť nový súbor služby systemd pre Wiki.js.

Spustite nasledujúci príkaz a vytvorte nový súbor služby systemd "/etc/systemd/system/wikijs.service".

sudo nano /etc/systemd/system/wikijs.service

Pridajte do súboru nasledujúcu konfiguráciu.

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

Po dokončení uložte a zatvorte súbor.

Potom spustite nasledujúci príkaz na opätovné načítanie správcu systému a použite nový súbor služby "wikijs.service"

sudo systemctl daemon-reload

Teraz môžete spustiť a povoliť službu "wikijs" pomocou nasledujúceho príkazu.

sudo systemctl start wikijs
sudo systemctl enable wikijs

Nakoniec skontrolujte a overte službu "wikijs" pomocou nasledujúceho príkazu. Teraz by ste mali vidieť, že služba "wikijs" beží na predvolenom TCP porte "3000" s PostgreSQL ako predvolenou databázou.

sudo systemctl status wikijs

Nastavenie Apache2 ako reverzného proxy

V tomto príklade Wiki.js teraz beží na porte TCP "3000". Ak chcete byť vystavení vonkajším sieťam alebo internetu, je lepšie nastaviť reverzný proxy server pred Wiki.js a použiť naň HTTPS/SSL, aby ste ochránili všetky poverenia a prihlásenie. Apache2 budete tiež používať ako reverzný proxy pre Wiki.js.

Spustite príkaz apt nižšie a nainštalujte balík Apache2. Inštaláciu potvrďte zadaním Y a pokračujte stlačením klávesu ENTER. Inštalácia sa spustí.

sudo apt install apache2

Po dokončení inštalácie spustite nižšie uvedený príkaz „ufw“, čím otvoríte porty HTTP a HTTPS na vašom systéme ubuntu. Potom skontrolujte zoznam pravidiel UFW.

sudo ufw allow "Apache Full"
sudo ufw status

Ďalej povoľte niektoré moduly Apache2 pomocou nasledujúceho príkazu. Tieto moduly použijete na nastavenie reverzného proxy Apache2.

sudo a2enmod proxy proxy_http ssl remoteip http2

Teraz vytvorte novú konfiguráciu virtuálneho hostiteľa Apache2 "/etc/apache2/sites-available/wikijs.conf" pomocou nasledujúceho príkazu.

sudo nano /etc/apache2/sites-available/wikijs.conf

Pridajte do súboru nasledujúcu konfiguráciu. V tomto príklade použijeme doménu "wiki.howtoforge.local" na inštaláciu Wiki.js a certifikáty SSL z letsencrypt. Nezabudnite zmeniť názov domény a cestu certifikátov SSL.

<VirtualHost *:80>
    ServerName wiki.howtoforge.local
    # Comment to prevent HTTP to HTTPS redirect
    Redirect permanent / https://wiki.howtoforge.local
    ErrorLog /var/log/apache2/wiki.howtoforge.local-error.log
    CustomLog /var/log/apache2/wiki.howtoforge.local-access.log combined
</VirtualHost>
<IfModule mod_ssl.c>
<VirtualHost *:443>
    ServerName wiki.howtoforge.local
    ProxyPreserveHost On
    ProxyPass "/" "http://127.0.0.1:3000/"
    ProxyPassReverse "/" "http://127.0.0.1:3000/"
    SSLEngine on
    SSLCertificateFile /etc/letsencrypt/live/wiki.howtoforge.local/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/wiki.howtoforge.local/privkey.pem
    Protocols h2 http/1.1
    # Enable only strong encryption ciphers and prefer versions with forwarding Secrecy
    SSLCipherSuite HIGH:RC4-SHA:AES128-SHA:!aNULL:!MD5
    SSLHonorCipherOrder on
    # Disable insecure SSL and TLS versions
    SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
    ErrorLog /var/log/apache2/wiki.howtoforge.local-error.log
    CustomLog /var/log/apache2/wiki.howtoforge.local-access.log combined
</VirtualHost>
</IfModule>

Po dokončení uložte a zatvorte súbor.

Potom pomocou nasledujúceho príkazu aktivujte súbor virtuálneho hostiteľa 'wikijs.conf.

sudo a2ensite wikijs.conf

Skontrolujte a overte konfiguráciu Aache2 pomocou nasledujúceho príkazu. ak dostanete výstupnú správu ako "Syntax OK", znamená to, že konfigurácia Apache2 je pripravená. Potom reštartujte službu Apache2, aby ste použili nové zmeny.

sudo apachectl configtest
sudo systemctl restart apache2

Konfigurácia inštalácie Wiki.js

Otvorte webový prehliadač a navštívte názov domény vašej inštalácie Wiki.js (t. j. https://wiki.howtoforge.local/).

Zadajte nový e-mail správcu, heslo a adresu URL stránky pre inštaláciu Wiki.js. Potom kliknutím na tlačidlo „INSTALOVAŤ“ spustite inštaláciu.

Po dokončení inštalácie sa vám zobrazí prihlasovacia stránka Wiki.js. zadajte e-mail a heslo správcu a kliknite na „Prihlásiť sa“.

Teraz uvidíte uvítaciu správu z Wiki.js. Kliknutím na tlačidlo „VYTVORIŤ DOMOVSKÚ STRÁNKU“ nastavíte predvolenú indexovú stránku pre svoju Wiki.js.

Vyberte editor, ktorý chcete použiť. V tomto príklade použijeme editor Markdown.

Zadajte názov, popis a ostatné. Potom kliknite na tlačidlo „OK“.

Zadajte stránku indexu podrobností pre váš Wiki.js a potvrďte kliknutím na „VYTVORIŤ“.

A mali by ste vidieť predvolenú domovskú stránku Wiki.js, ktorú ste práve vytvorili.

Ak chcete získať prístup k ovládaciemu panelu správy Wiki.js, kliknite na ikonu nastavení ozubeného kolieska vľavo hore. Nižšie by ste mali vidieť administračný panel Wiki.js.

Záver

V tomto návode ste nastavili Wiki.js nad databázou PostgreSQL a reverzným proxy serverom Apache2, ktorý beží na najnovšom serveri Ubuntu 22.04. Svoj Wiki.js ste tiež zabezpečili UFW firewallom a povoleným SSL/HTTPS na reverznom proxy Apache. Nakoniec ste tiež nakonfigurovali predvolenú domovskú stránku alebo index pre inštaláciu Wiki.js.

Môžete vytvoriť ďalší obsah a nastaviť kategórie pre svoj projekt Wiki. Do svojho Wiki.js môžete tiež pridať nejaké moduly, aby ste rozšírili jeho funkčnosť alebo nastavili nové témy pre Wiki.js.