Ricerca nel sito web

Come installare Wikijs su Rocky Linux


Su questa pagina

  1. Prerequisiti
  2. Installazione di Nodejs su Rocky Linux
  3. Installazione del database PostgreSQL
  4. Crea nuovo database e utente
  5. Download e configurazione di Wiki.js
  6. Impostazione di Wiki.js come servizio Systemd
  7. Installazione e configurazione di Nginx come proxy inverso per Wiki.js
  8. Proteggere Wikijs con SSL Letsencrypt
  9. Configurazione dell'amministratore di Wiki.js e della home page predefinita
  10. Conclusione

Wiki.js è un software wiki open source scritto in JavaScript e in esecuzione sul runtime Node.js, rilasciato con licenza APGL-v3. Wiki.js è un software wiki leggero e potente con un'interfaccia utente bella e intuitiva, progettata per il Web moderno. Wiki.js è un software wiki molto estensibile e adatto a diversi tipi di documenti e distribuzioni, può essere utilizzato sia da tecnici che da non tecnici.

Wiki.js è supportato da vari tipi di moduli per estendere le sue funzionalità e renderlo un software wiki potente ed estensibile. Di seguito sono riportate alcune funzionalità Wiki.js degne di nota e predefinite:

  • Supporta più database (PostgreSQL, MySQL, SQLite e MSSQL Server).
  • Più editor, tra cui Markdown per sviluppatori, WYSIWYG per persone non tecniche, codice e Tabular (simile a Excel)
  • Motore di ricerca integrato basato su database, supporto anche per un altro motore di ricerca come Apache Solr, Elasticsearch, ecc.
  • Supporta l'archiviazione di più dati per il backup come Git, sFTP, AWS S3, Google Drive, Dropbox, ecc.

In questa guida imparerai come installare Wiki.js sul server Rocky Linux. Installerai Wiki.js con l'ultima versione LTS di Node.js, utilizzando PostgreSQL come database principale e utilizzando il server Web Nginx come proxy inverso.

Prerequisiti

  • Un sistema Rocky Linux. Assicurati che tutti i pacchetti e i repository siano aggiornati all'ultima versione
  • Un utente root o un utente con privilegi root. Utilizzerai questo utente per installare nuovi pacchetti e modificare le configurazioni di sistema.

Installazione di Nodejs su Rocky Linux

Innanzitutto, installerai Node.js su Rocky Linux. E per impostazione predefinita, il repository AppStream fornisce più versioni LTS di Node.js.

1. Controllare il modulo repository per nodejs eseguendo il seguente comando.

sudo dnf module list nodejs

Vedrai più versioni del modulo Node.js.

2. Abilitare il modulo repository nodejs:14 utilizzando il comando seguente.

sudo dnf module enable nodejs:14

Digita y per abilitare il modulo repository nodejs:14.

3. Successivamente, esegui il seguente comando per installare i pacchetti Node.js e npm.

sudo dnf install nodejs npm

Digitare y e premere Invio per confermare l'installazione.

4. Al termine dell'installazione, eseguire il seguente comando per verificare le versioni di Node.js e npm.

node --version
npm --version

Vedrai un output simile a quello di seguito.

# Node.js version
v14.17.3

# NPM version
6.14.13

Installazione del database PostgreSQL

Per questa fase, installerai PostgreSQL dal repository PostgreSQL ufficiale. Per la produzione, si consiglia di utilizzare PostgreSQL come database principale per Wiki.js.

1. Ora esegui il seguente comando per aggiungere il repository PostgreSQL al sistema Rocky Linux.

sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm

2. Disabilitare il repository Rocky Linux PostgreSQL predefinito utilizzando il seguente comando.

sudo dnf module -qy disable postgresql

3. Successivamente, eseguire il comando seguente per installare PostgreSQL 13 sul server Rocky Linux.

sudo dnf install postgresql13-server

Digitare y e premere Invio per continuare l'installazione.

4. Se l'installazione di PostgreSQL è completa, eseguire il seguente comando per inizializzare il database PostgreSQL, avviare e abilitare il servizio PostgreSQL.

Inizializza il database PostgreSQL usando il comando seguente.

sudo /usr/pgsql-13/bin/postgresql-13-setup initdb

Abilitare l'avvio automatico di PostgreSQL all'avvio del sistema utilizzando il comando seguente.

sudo systemctl enable postgresql-13

Ora avvia il servizio PostgreSQL e controlla il suo stato usando il seguente comando.

sudo systemctl start postgresql-13
sudo systemctl status postgresql-13

Se il tuo servizio PostgreSQL è in esecuzione, vedrai l'output del messaggio come attivo (in esecuzione) come lo screenshot qui sotto.

Crea nuovo database e utente

Dopo aver installato il server PostgreSQL, creerai un nuovo database e un nuovo utente per l'installazione di Wiki.js.

1. Eseguire il seguente comando per accedere alla shell PostgreSQL.

sudo -u postgres psql

2. Crea un nuovo nome utente PostgreSQL wiki con la password wikijspassworddb utilizzando la seguente query.

CREATE USER wiki WITH 
CREATEDB
PASSWORD 'wikijspassworddb';

3. Ora crea un nuovo nome di database wikidb e imposta l'utente wiki come proprietario del database utilizzando la query PostgreSQL riportata di seguito.

CREATE DATABASE wikidb OWNER wiki;

Ora digita \q per uscire dalla shell PostgreSQL.

Facoltativamente, puoi verificare l'utente e il database utilizzando le query seguenti.

# Check available users
\du

# Display list of databases
\l

Download e configurazione di Wiki.js

Per questa guida, eseguirai Wiki.js come servizio e verrà eseguito come utente non root.

1. Eseguire il comando seguente per creare un nuovo wiki utente per l'installazione di Wiki.js.

sudo adduser --system --user-group --no-create-home --shell /sbin/nologin wiki

2. Crea una nuova directory /var/wiki e cambia la directory di lavoro in essa. Quindi eseguire il comando wget per scaricare l'ultima versione stabile del codice sorgente Wiki.js.

mkdir -p /var/wiki; cd /var/wiki/
wget https://github.com/Requarks/wiki/releases/download/2.5.201/wiki-js.tar.gz

Se il processo di download è completo, estrai il codice sorgente Wiki.js utilizzando il comando tar di seguito.

tar -xf wiki-js.tar.gz

3. Successivamente, copia la configurazione di esempio Wiki.js in config.yml e modificala con nano.

cp config.sample.yml config.yml
nano config.yml

Modificare i dettagli del nome del database, dell'utente e della password come di seguito.

db:
  type: postgres

  # PostgreSQL / MySQL / MariaDB / MS SQL Server only:
  host: localhost
  port: 5432
  user: wiki
  pass: wikijspassworddb
  db: wikidb
  ssl: false

Metti il # davanti all'opzione di archiviazione SQLite come di seguito.

  # SQLite only:
  #storage: path/to/database.sqlite

Modifica l'opzione bindIP in 127.0.0.1 per eseguire Wiki.js solo su IP locale.

# ---------------------------------------------------------------------
# IP address the server should listen to
# ---------------------------------------------------------------------
# Leave 0.0.0.0 for all interfaces

bindIP: 127.0.0.1

Salvare la configurazione ed uscire premendo il pulsante Ctrl+x, digitare y, quindi premere Invio.

4. Successivamente, la cosa più importante è cambiare la proprietà della directory /var/wiki in wiki utente e gruppo utilizzando il comando seguente.

sudo chown -R wiki:wiki /var/wiki

Configurazione di Wiki.js come servizio Systemd

1. Per creare un nuovo file di servizio systemd, modificare la directory di lavoro in /etc/systemd/system e creare un nuovo file di servizio wikijs.service utilizzando nano.

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

Copia e incolla la seguente configurazione.

[Unit]
Description=Wiki.js
After=network.target postgresql-13.service

[Service]
Type=simple
ExecStart=/bin/node server
Restart=always
# Consider creating a dedicated user for Wiki.js here:
User=wiki
Group=wiki
Environment=NODE_ENV=production
WorkingDirectory=/var/wiki

[Install]
WantedBy=multi-user.target

Premere Ctrl+x, digitare y, quindi premere Invio per salvare la configurazione ed uscire.

2. Ricaricare systemd-manager per applicare una nuova configurazione del servizio.

sudo systemctl daemon-reload

3. Successivamente, abilitare il servizio wikijs in modo che venga eseguito all'avvio del sistema utilizzando il comando seguente.

sudo systemctl enable wikijs

4. Avviare il servizio wikijs e verificarne lo stato utilizzando il seguente comando.

sudo systemctl start wikijs
sudo systemctl status wikijs

Ora vedrai che wikijs.service è attivo e in esecuzione sul sistema Rocky Linux.

Installazione e configurazione di Nginx come proxy inverso per Wiki.js

Per questa fase, installerai e configurerai il server Web Nginx come proxy inverso per Wiki.js. Se hai installato il server web Nginx sul tuo server, passa alla fase numero 2 per la configurazione dei blocchi del server Nginx.

1. Per installare il server Web Nginx, eseguire il comando dnf di seguito.

sudo dnf install nginx

Digita y per confermare e installare il server web Nginx.

2. Se l'installazione è completa, modificare la directory di lavoro in /etc/nginx/conf.d e creare una nuova configurazione del blocco del server Nginx wikijs.conf utilizzando nano.

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

Copia e incolla la seguente configurazione e assicurati di modificare il valore dell'opzione server_name con il tuo nome di dominio.

server {
    listen 80;

    server_name wiki.domain-name.io;

    charset utf-8;
    client_max_body_size 50M;

    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;
    }

}

Premere Ctrl+x, digitare y, quindi premere Invio per salvare la configurazione ed uscire.

3. Successivamente, testare la configurazione di Nginx e assicurarsi che non vi siano errori, quindi abilitare il servizio Nginx.

sudo nginx -t
sudo systemctl enable nginx

4. Ora avvia e controlla lo stato del servizio Nginx eseguendo il seguente comando.

sudo systemctl start nginx
sudo systemctl enable nginx

Vedrai che l'output del servizio Nginx è attivo (in esecuzione) come di seguito.

Protezione di Wikijs con SSL Letsencrypt

Per questa fase, proteggerai l'installazione di Wiki.js utilizzando SSL Letsencrypt.

1. Eseguire il seguente comando per installare il plug-in certbot e certbot-nginx.

sudo dnf install certbot python3-certbot-nginx

2. Al termine dell'installazione, generare un nuovo Letsencrtypt SSL per il nome di dominio radicale utilizzando il comando certbot riportato di seguito.

sudo certbot --nginx --agree-tos --email  -d wiki.domain-name.io

E ti verranno poste alcune domande di seguito.

  • Un indirizzo email: quando il certificato SSL scade, sarai avvisato di questa email.
  • Letsencrypt TOS (Termini di servizio): digitare A per accettare.
  • Condivisione email con EFF: puoi scegliere N per no.
  • Reindirizza automaticamente HTTP a HTTPS: scegli il numero 2 per abilitare il reindirizzamento automatico.

Una volta completato il processo, vedrai che i certificati SSL sono disponibili nella directory /etc/letsencrypt/live/wiki.domain-name.io. E la configurazione dei blocchi del tuo server Nginx è cambiata con una configurazione aggiuntiva da letsencrypt.

Configurazione dell'amministratore di Wiki.js e della home page predefinita

Apri il tuo browser web e digita l'indirizzo URL della tua installazione Wiki.js nella barra degli indirizzi.

1. Verrai reindirizzato alla connessione HTTPS e vedrai la seguente pagina.

Digita i dettagli dell'account amministratore con il tuo indirizzo e-mail e la password, quindi digita il tuo dominio di Wiki.js come URL del sito, quindi fai clic sul pulsante INSTALLA.

Attendi l'installazione di Wiki.js.

2. E se l'installazione è completa, verrai reindirizzato alla pagina di accesso di Wiki.js come di seguito.

Digita l'indirizzo e-mail e la password dell'amministratore, quindi fai clic sul pulsante Accedi.

3. E ti verrà mostrato il messaggio di benvenuto di Wiki.js.

Fai clic sul pulsante + CREA HOME PAGE per creare una nuova home page per il tuo wiki.

4. Scegli l'editor che preferisci e fai clic su quell'editor. Per questo esempio, utilizzeremo l'editor Markdown.

5. Nella finestra a comparsa Proprietà pagina, digitare il titolo dei dettagli e una breve descrizione della home page. E lascia il percorso come casa predefinita.

Fare clic su Ok per confermare la configurazione delle proprietà della pagina.

6. Digita il contenuto della tua home page, quindi fai clic sul pulsante CREA per salvare.

7. Ora verrai reindirizzato alla tua home page di Wiki.js come di seguito.

Conclusione

Congratulazioni! Ora hai creato con successo il tuo Wiki con Wiki.js sul server Rocky Linux. Wiki.js è ora in esecuzione con l'ultima versione stabile di Node.js, il database PostgreSQL e il proxy inverso Nginx. Inoltre, è protetto con SSL Letsencrypt. Per il passaggio successivo, puoi aggiungere alcuni moduli aggiuntivi di cui hai bisogno, come analisi, autenticazione, registrazione ed editor di codice/testo. E sei pronto per scrivere la documentazione sui tuoi progetti.