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 [email protected]
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.


Com instal·lar Tiny Tiny RSS Reader en un FreeBSD 11 FAMP VPS

Com instal·lar Tiny Tiny RSS Reader en un FreeBSD 11 FAMP VPS

Utilitzeu un sistema diferent? Tiny Tiny RSS Reader és un lector i agregador de notícies basats en web (RSS/Atom) de codi obert i gratuït, dissenyat per

Com instal·lar Wiki.js a FreeBSD 11

Com instal·lar Wiki.js a FreeBSD 11

Utilitzeu un sistema diferent? 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 és públic

Com instal·lar Pagekit 1.0 CMS en un VPS FreeBSD 11 FAMP

Com instal·lar Pagekit 1.0 CMS en un VPS FreeBSD 11 FAMP

Utilitzeu un sistema diferent? Pagekit 1.0 CMS és un sistema de gestió de continguts (CMS) bonic, modular, extensible i lleuger, gratuït i de codi obert amb

Com instal·lar MODX Revolution en un FreeBSD 11 FAMP VPS

Com instal·lar MODX Revolution en un FreeBSD 11 FAMP VPS

Utilitzeu un sistema diferent? MODX Revolution és un sistema de gestió de continguts (CMS) ràpid, flexible, escalable, de codi obert i de grau empresarial escrit en PHP. És jo

Configura lOpenBSD 5.5 de 64 bits

Configura lOpenBSD 5.5 de 64 bits

Aquest article us explica la configuració d'OpenBSD 5.5 (64 bits) a KVM amb un Vultr VPS. Pas 1. Inicieu sessió al tauler de control de Vultr. Pas 2. Feu clic a DEPLOY

Com instal·lar osTicket a FreeBSD 12

Com instal·lar osTicket a FreeBSD 12

Utilitzeu un sistema diferent? osTicket és un sistema d'entrades d'atenció al client de codi obert. El codi font osTicket està allotjat públicament a Github. En aquest tutorial

Com instal·lar Flarum Forum a FreeBSD 12

Com instal·lar Flarum Forum a FreeBSD 12

Utilitzeu un sistema diferent? Flarum és un programari de fòrum de nova generació gratuït i de codi obert que fa que la discussió en línia sigui divertida. El codi font de Flarum està allotjat o

Com habilitar TLS 1.3 a Nginx a FreeBSD 12

Com habilitar TLS 1.3 a Nginx a FreeBSD 12

Utilitzeu un sistema diferent? TLS 1.3 és una versió del protocol Transport Layer Security (TLS) que es va publicar el 2018 com a estàndard proposat a RFC 8446

Instal·leu WordPress a OpenBSD 6.2

Instal·leu WordPress a OpenBSD 6.2

Introducció WordPress és el sistema de gestió de continguts dominant a Internet. Potencia tot, des de blocs fins a llocs web complexos amb contingut dinàmic

Com instal·lar Subrion 4.1 CMS en un VPS FreeBSD 11 FAMP

Com instal·lar Subrion 4.1 CMS en un VPS FreeBSD 11 FAMP

Utilitzeu un sistema diferent? Subrion 4.1 CMS és un sistema de gestió de continguts (CMS) de codi obert potent i flexible que ofereix un contingut intuïtiu i clar.

Com configurar DJBDNS a FreeBSD

Com configurar DJBDNS a FreeBSD

Aquest tutorial us mostrarà com configurar un servei DNS que sigui fàcil de mantenir, fàcil de configurar i que, en general, sigui més segur que el BIN clàssic.

Com instal·lar Nginx, MySQL i PHP (FEMP) Stack a FreeBSD 12.0

Com instal·lar Nginx, MySQL i PHP (FEMP) Stack a FreeBSD 12.0

Una pila FEMP, que és comparable a una pila LEMP a Linux, és una col·lecció de programari de codi obert que normalment s'instal·la conjuntament per habilitar un FreeBS.

Instal·lant MongoDB a FreeBSD 10

Instal·lant MongoDB a FreeBSD 10

MongoDB és una base de dades NoSQL de classe mundial que s'utilitza amb freqüència en aplicacions web més noves. Proporciona consultes, fragmentació i rèplica d'alt rendiment

Com instal·lar la Monica a FreeBSD 12

Com instal·lar la Monica a FreeBSD 12

Utilitzeu un sistema diferent? Monica és un sistema de gestió de relacions personals de codi obert. Penseu en això com un CRM (una eina popular utilitzada pels equips de vendes a th

OpenBSD com a solució de comerç electrònic amb PrestaShop i Apache

OpenBSD com a solució de comerç electrònic amb PrestaShop i Apache

Introducció Aquest tutorial mostra OpenBSD com a solució de comerç electrònic amb PrestaShop i Apache. Apache és necessari perquè PrestaShop té una UR complexa

Instal·lació de Fork CMS a FreeBSD 12

Instal·lació de Fork CMS a FreeBSD 12

Utilitzeu un sistema diferent? Fork és un CMS de codi obert escrit en PHP. El codi font de Forks està allotjat a GitHub. Aquesta guia us mostrarà com instal·lar Fork CM

Com instal·lar Directus 6.4 CMS en un VPS FreeBSD 11 FAMP

Com instal·lar Directus 6.4 CMS en un VPS FreeBSD 11 FAMP

Utilitzeu un sistema diferent? Directus 6.4 CMS és un sistema de gestió de contingut sense cap (CMS) potent i flexible, gratuït i de codi obert que proporciona als desenvolupadors

Millora de la seguretat per a FreeBSD mitjançant IPFW i SSHGuard

Millora de la seguretat per a FreeBSD mitjançant IPFW i SSHGuard

Els servidors VPS solen ser atacats per intrusos. Un tipus comú d'atac apareix als registres del sistema com a centenars d'intents d'inici de sessió ssh no autoritzats. Preparant

Configura httpd a OpenBSD

Configura httpd a OpenBSD

Introducció L'OpenBSD 5.6 va introduir un nou dimoni anomenat httpd, que admet CGI (mitjançant FastCGI) i TLS. No cal cap treball addicional per instal·lar el nou http

Configura iRedMail a FreeBSD 10

Configura iRedMail a FreeBSD 10

Aquest tutorial us mostrarà com instal·lar el grup iRedMail en una nova instal·lació de FreeBSD 10. Hauríeu d'utilitzar un servidor amb almenys un gigabyte o

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.

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.

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.

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ó