Ako nainštalovať Wiki.js s Apache2 Reverse Proxy na Ubuntu 22.04
Na tejto stránke
- Predpoklady
- Inštalácia Node.js
- Inštalácia databázy PostgreSQL
- Inštalácia Wiki.js
- Nastavenie Apache2 ako reverzného proxy
- Konfigurácia inštalácie Wiki.js
- 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.