Com instal·lar Wiki.js a FreeBSD 11

Wiki.js és una aplicació wiki moderna de codi obert i gratuïta construïda a Node.js, MongoDB, Git i Markdown. El codi font de Wiki.js està allotjat públicament a Github . Aquesta guia us mostrarà com instal·lar Wiki.js en una nova instància de FreeBSD 11 Vultr utilitzant Node.js, MongoDB, PM2, Nginx, Git i Acme.sh.

Requisits

Els requisits per executar Wiki.js són els següents:

  • Node.js versió 6.11.1 o posterior
  • MongoDB versió 3.2 o posterior
  • Git versió 2.7.4 o posterior
  • Un servidor web com Nginx, Apache, IIS, Caddy o H2O. Aquesta guia utilitzarà Nginx.
  • Un dipòsit compatible amb Git (públic o privat) Això és opcional
  • Un mínim de 512 MB de RAM. És molt recomanable utilitzar una màquina amb almenys 1 GB de RAM.
  • Nom de domini amb A/ AAAAregistres configurats. En aquesta guia utilitzarem wiki.example.comcom a exemple el domini.

Abans que comencis

Comproveu la versió de FreeBSD.

uname -ro
# FreeBSD 11.2-RELEASE

Assegureu-vos que el vostre sistema FreeBSD estigui actualitzat.

freebsd-update fetch install
pkg update && pkg upgrade -y

Instal·lar sudo, vim, unzip, wget, git, bashi socatcerts programes que no són presents en el sistema.

pkg install -y sudo vim unzip wget git bash socat

Creeu un compte d'usuari nou amb el vostre nom d'usuari preferit (farem servir johndoe).

adduser

# Username: johndoe
# Full name: John Doe
# Uid (Leave empty for default): <Enter>
# Login group [johndoe]: <Enter>
# Login group is johndoe. Invite johndoe into other groups? []: wheel
# Login class [default]: <Enter>
# Shell (sh csh tcsh nologin) [sh]: bash
# Home directory [/home/johndoe]: <Enter>
# Home directory permissions (Leave empty for default): <Enter>
# Use password-based authentication? [yes]: <Enter>
# Use an empty password? (yes/no) [no]: <Enter>
# Use a random password? (yes/no) [no]: <Enter>
# Enter password: your_secure_password
# Enter password again: your_secure_password
# Lock out the account after creation? [no]: <Enter>
# OK? (yes/no): yes
# Add another user? (yes/no): no
# Goodbye!

Executeu l' visudoordre i descomenteu la %wheel ALL=(ALL) ALLlínia, per permetre que els membres del wheelgrup executin qualsevol ordre.

# Uncomment by removing the hash (#) sign
%wheel ALL=(ALL) ALL

Ara, canvieu al vostre nou usuari creat.

su - johndoe

NOTA: Substituïu-lo johndoepel vostre nom d'usuari.

Configura la zona horària.

sudo tzsetup

Instal·leu Node.js

Wiki.js requereix Node.js 6.11.1 o posterior, de manera que primer haurem d'instal·lar la versió adequada de Node.js.

Instal·leu Node.js i NPM.

sudo pkg install -y node8 npm-node8

Comproveu les versions.

node -v && npm -v
# v8.12.0
# 6.4.1

Instal·leu MongoDB

Wiki.js utilitza MongoDB com a motor de base de dades.

Instal·leu MongoDB.

sudo pkg install -y mongodb36

Comproveu la versió.

mongo --version | head -n 1 && mongod --version | head -n 1
# MongoDB shell version v3.6.6
# db version v3.6.6

Activeu i inicieu MongoDB.

sudo sysrc mongod_enable=yes
sudo service mongod start

Instal·leu Acme.sh i obteniu un certificat Let's Encrypt ( opcional )

Protegir el vostre wiki amb HTTPS no és necessari, però és una bona pràctica per assegurar el trànsit del vostre lloc. Per obtenir un certificat SSL de Let's Encrypt utilitzarem el client Acme.sh. Acme.sh és un programari shell Unix pur per obtenir certificats SSL de Let's Encrypt amb zero dependències. Això fa que sigui molt lleuger en comparació amb altres clients de protocol Acme que requereixen moltes dependències per funcionar amb èxit.

Baixeu i instal·leu Acme.sh.

sudo mkdir /etc/letsencrypt
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh
sudo ./acme.sh --install --home /etc/letsencrypt --accountemail your_email@example.com
cd ~

Comproveu la acme.shversió.

/etc/letsencrypt/acme.sh --version
# v2.8.0

Obteniu els certificats RSA i ECDSA per a wiki.example.com.

# RSA 2048
sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d wiki.example.com --ocsp-must-staple --keylength 2048
# ECDSA/ECC P-256
sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d wiki.example.com --ocsp-must-staple --keylength ec-256

Després d'executar les ordres anteriors, els vostres certificats i claus estaran als directoris següents:

  • RSA: /etc/letsencrypt/wiki.example.com
  • ECC/ECDSA: /etc/letsencrypt/wiki.example.com_ecc

NOTE: Don't forget to replace wiki.example.com with your domain name.

After obtaining certificates from Let's Encrypt, we need to configure Nginx to take advantage of them.

Install and configure Nginx

Wiki.js can run without any actual web server, however it is highly recommended to put a standard web server in front of it. This ensures you can use features like SSL, multiple websites, caching and others. We will use Nginx in this tutorial, but any other server will do, you just need to configure it properly.

Install Nginx.

sudo pkg install -y nginx

Check the version.

nginx -v
# nginx version: nginx/1.14.0

Enable and start Nginx.

sudo sysrc nginx_enable=yes
sudo service nginx start

Configure Nginx as a HTTPS (if you use SSL) reverse proxy for the Wiki.js application.

Run sudo vim /usr/local/etc/nginx/wiki.js.conf and populate it with the basic reverse proxy configuration below.

server {

  listen [::]:443 ssl http2;
  listen 443 ssl http2;
  listen [::]:80;
  listen 80;

  server_name wiki.example.com;

  charset utf-8;
  client_max_body_size 50M;

  # RSA
  ssl_certificate /etc/letsencrypt/wiki.example.com/fullchain.cer;
  ssl_certificate_key /etc/letsencrypt/wiki.example.com/wiki.example.com.key;
  # ECDSA
  ssl_certificate /etc/letsencrypt/wiki.example.com_ecc/fullchain.cer;
  ssl_certificate_key /etc/letsencrypt/wiki.example.com_ecc/wiki.example.com.key;

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

}

L'únic que heu de canviar a la configuració anterior és la server_namedirectiva, i potencialment la proxy_passdirectiva si decidiu configurar algun port diferent de 3000. Wiki.js utilitza port 3000per defecte. Deseu el fitxer i sortiu amb :+ W+Q

Ara hem d'incloure el wiki.js.conffitxer al nginx.conffitxer principal .

Executeu sudo vim /usr/local/etc/nginx/nginx.confi afegiu la línia següent al http {}bloc.

include wiki.js.conf;

Comproveu la configuració.

sudo nginx -t

Torna a carregar Nginx.

sudo service nginx reload

Instal·leu Wiki.js

Creeu una carpeta arrel del document buida on s'instal·larà Wiki.js.

sudo mkdir -p /usr/local/www/wiki.example.com

Navegueu a la carpeta arrel del document.

cd /usr/local/www/wiki.example.com

Canvia la propietat de la /usr/local/www/wiki.example.comcarpeta a usuari johndoe.

sudo chown -R johndoe:johndoe /usr/local/www/wiki.example.com

Des de la /usr/local/www/wiki.example.comcarpeta, executeu les ordres següents per descarregar i instal·lar Wiki.js.

curl -sSo- https://wiki.js.org/install.sh | bash

VERSION=$(curl -L -s -S https://beta.requarks.io/api/version/stable)
curl -L -s -S https://github.com/Requarks/wiki/releases/download/v$VERSION/wiki-js.tar.gz | tar -f - -xz -C .
curl -L -s -S https://github.com/Requarks/wiki/releases/download/v$VERSION/node_modules.tar.gz | tar -f - -xz -C .
cp -n config.sample.yml config.yml

Podeu executar l'ordre següent per veure la versió instal·lada actualment de Wiki.js.

node wiki --version
# 1.0.102

Un cop finalitzada la instal·lació, se us demanarà que executeu l'assistent de configuració.

Inicieu l'assistent de configuració executant-lo.

node wiki configure

Això us avisarà per navegar http://localhost:3000per configurar Wiki.js. Si teniu Nginx davant de Wiki.js, vol dir que podeu obrir el vostre nom de domini (p http://wiki.example.com. ex. ) en lloc d'anar a localhost.

Amb el vostre navegador web, navegueu http://wiki.example.comi seguiu les instruccions que apareixen a la pantalla. Tots els paràmetres introduïts durant l'assistent de configuració es guarden al config.ymlfitxer. L'assistent de configuració iniciarà automàticament el Wiki.js.

Instal·leu i configureu el gestor de processos PM2

Per defecte, Wiki.js no s'iniciarà automàticament després d'un reinici del sistema. Per tal que s'iniciï a l'arrencada, hem d'instal·lar i configurar el gestor de processos PM2.

Instal·leu PM2 globalment mitjançant npm.

sudo npm install -g pm2

Comproveu la versió.

pm2 -v
# 3.2.2

Navegueu a la carpeta arrel del vostre document si encara no hi sou i atureu Wiki.js.

cd /usr/local/www/wiki.example.com
node wiki stop

Inicieu Wiki.js mitjançant PM2.

pm2 start server/index.js --name "Wiki.js"

Procés de llista gestionat per PM2.

pm2 list

Digueu a PM2 que es configure com a servei d'inici executant:

pm2 startup

Finalment, deseu la configuració actual de PM2 executant l'ordre:

pm2 save

La vostra instància de Wiki.js ara s'executa com a procés en segon pla, utilitzant PM2 com a gestor de processos.

Deixa un comentari

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

La Intel·ligència Artificial no està en el futur, és aquí mateix en el present. En aquest bloc Llegiu com les aplicacions d'Intel·ligència Artificial han afectat diversos sectors.

Atacs DDOS: una breu visió general

Atacs DDOS: una breu visió general

També ets víctima d'atacs DDOS i estàs confós sobre els mètodes de prevenció? Llegiu aquest article per resoldre les vostres consultes.

Us heu preguntat mai com guanyen diners els pirates informàtics?

Us heu preguntat mai com guanyen diners els pirates informàtics?

Potser haureu sentit que els pirates informàtics guanyen molts diners, però us heu preguntat mai com guanyen aquest tipus de diners? anem a discutir.

Invents revolucionaris de Google que us facilitaran la vida.

Invents revolucionaris de Google que us facilitaran la vida.

Vols veure els invents revolucionaris de Google i com aquests invents van canviar la vida de tots els éssers humans actuals? A continuació, llegiu al bloc per veure els invents de Google.

Divendres essencial: què va passar amb els cotxes impulsats per IA?

Divendres essencial: què va passar amb els cotxes impulsats per IA?

El concepte de cotxes autònoms per sortir a les carreteres amb l'ajuda de la intel·ligència artificial és un somni que tenim des de fa temps. Però malgrat les diverses promeses, no es veuen enlloc. Llegeix aquest blog per saber-ne més...

Singularitat tecnològica: un futur llunyà de la civilització humana?

Singularitat tecnològica: un futur llunyà de la civilització humana?

A mesura que la ciència evoluciona a un ritme ràpid, fent-se càrrec de molts dels nostres esforços, també augmenten els riscos de sotmetre'ns a una singularitat inexplicable. Llegeix, què pot significar per a nosaltres la singularitat.

Funcionalitats de les capes darquitectura de referència de Big Data

Funcionalitats de les capes darquitectura de referència de Big Data

Llegeix el blog per conèixer de la manera més senzilla les diferents capes de l'Arquitectura Big Data i les seves funcionalitats.

Evolució de lemmagatzematge de dades – Infografia

Evolució de lemmagatzematge de dades – Infografia

Els mètodes d'emmagatzematge de les dades que han anat evolucionant poden ser des del naixement de les dades. Aquest bloc tracta l'evolució de l'emmagatzematge de dades a partir d'una infografia.

6 avantatges sorprenents de tenir dispositius domèstics intel·ligents a les nostres vides

6 avantatges sorprenents de tenir dispositius domèstics intel·ligents a les nostres vides

En aquest món digital, els dispositius domèstics intel·ligents s'han convertit en una part crucial de les vides. A continuació, es mostren alguns avantatges sorprenents dels dispositius domèstics intel·ligents sobre com fan que la nostra vida valgui la pena i sigui més senzilla.

Lactualització del suplement de macOS Catalina 10.15.4 està causant més problemes que no pas solucions

Lactualització del suplement de macOS Catalina 10.15.4 està causant més problemes que no pas solucions

Recentment, Apple va llançar macOS Catalina 10.15.4, una actualització de suplements per solucionar problemes, però sembla que l'actualització està causant més problemes que provoquen el bloqueig de les màquines Mac. Llegiu aquest article per obtenir més informació