GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo instalar Wiki.js en Ubuntu 18.04 LTS

Wiki.js es una aplicación wiki moderna, potente y de código abierto basada en Node.js, Git y Markdown. Wiki.js se ejecuta en el motor increíblemente rápido de Node.js y está optimizado para conservar los recursos de la CPU. Algunas de las características de Wiki.js que vale la pena mencionar son:

  • Edición de Markdown, respaldada por Git
  • Ligero, pero extremadamente potente
  • Hermosamente diseñado para la web moderna
  • Control de acceso integrado
  • Gestión intuitiva de activos
  • Motor de búsqueda integrado

En este tutorial, lo guiaremos a través del proceso de instalación de la versión 1 de Wiki.js en un sistema operativo Ubuntu 18.04 LTS mediante el uso de NGINX como servidor proxy inverso, MongoDB como servidor de base de datos, PM2 como administrador de procesos y, opcionalmente, puede proteger el transporte. capa usando acme.sh cliente y la autoridad de certificación de Let's Encrypt para agregar compatibilidad con SSL.

Requisitos

Los requisitos para ejecutar Wiki.js son los siguientes:

  • Node.js 6.11.1 a 10.x es obligatorio.
  • Versión de MongoDB 3.2 o posterior.
  • Versión de Git 2.7.4 o posterior.
  • Software de servidor web como NGINX, Apache, Caddy, H2O...
  • Un repositorio Git vacío (opcional).
  • Mínimo de 512 MB de RAM. Se recomienda 1 GB de RAM.
  • Aproximadamente 300 MB de espacio en disco.
  • Nombre de dominio con registros A/AAAA DNS configurados.

Requisitos

  • Un sistema operativo Ubuntu 18.04 LTS.
  • Un usuario no root con sudo privilegios.

Pasos iniciales

Comprueba tu versión de Ubuntu:

lsb_release -ds
# Ubuntu 18.04.1 LTS

Configurar la zona horaria:

sudo dpkg-reconfigure tzdata

Actualice los paquetes de su sistema operativo (software). Este es un primer paso importante porque garantiza que tenga las últimas actualizaciones y correcciones de seguridad para los paquetes de software predeterminados de su sistema operativo:

sudo apt update && sudo apt upgrade -y

Instale algunos paquetes esenciales que son necesarios para la administración básica del sistema operativo Ubuntu:

sudo apt install -y curl wget vim git unzip socat bash-completion apt-transport-https build-essential

Paso 1:instalar Node.js y npm

Wiki.js se basa en Node.js. Vamos a instalar la última versión recomendada de Wiki.js, que es la versión 10  en el momento de escribir este artículo. En Linux, tiene algunas opciones de instalación de Node.js:binarios de Linux (x86/x64), código fuente o mediante administradores de paquetes. Usaremos una opción de administración de paquetes que facilita la instalación y actualización de Node.js.

Descargue e instale la última versión recomendada de Node.js desde el repositorio de NodeSource:

curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
sudo apt install -y nodejs

NOTA : npm se distribuye con Node.js, lo que significa que cuando descarga Node.js, npm se instala automáticamente en su sistema.

Compruebe la versión de Node.js y npm:

node -v && npm -v
# v10.15.1
# 6.4.1

Npm es un proyecto separado de Node.js y tiende a actualizarse con más frecuencia. Como resultado, incluso si acaba de descargar Node.js (y, por lo tanto, npm), probablemente necesite actualizar su npm. Afortunadamente, npm sabe cómo actualizarse. Para actualizar su npm, escriba esto en su terminal:

sudo npm install -g [email protected]

Este comando actualizará npm a la última versión estable.

Vuelva a comprobar la versión de npm con:

npm -v
# 6.8.0

Y debería devolver el último número de versión.

Paso 2:instalar la base de datos MongoDB

Wiki.js necesita una base de datos para almacenar sus datos, y la versión estable actual de Wiki.js solo admite el motor de base de datos MongoDB. De acuerdo con eso, necesitaremos instalar la base de datos MongoDB.

Descargue e instale la base de datos MongoDB:

sudo apt install -y mongodb

Compruebe la versión de MongoDB:

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

Iniciar y habilitar (configúralo para que se inicie al reiniciar ) Servicio MongoDB si aún no se ha iniciado y habilitado:

sudo systemctl start mongodb.service
sudo systemctl enable mongodb.service

Paso 3:instalar acme.sh cliente y obtener el certificado Let's Encrypt (opcional )

No es necesario proteger su sitio web con HTTPS, pero es una buena práctica para asegurar el tráfico de su sitio. Para obtener un certificado SSL de Let's Encrypt, usaremos acme.sh cliente. Acme.sh es un software de shell UNIX puro para obtener certificados SSL de Let's Encrypt sin dependencias.

Descarga e instala acme.sh :

sudo su - root
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh 
./acme.sh --install --accountemail [email protected]
source ~/.bashrc
cd ~

Compruebe acme.sh versión:

acme.sh --version
# v2.8.1

Obtener RSAECC/ECDSA certificados para su dominio/nombre de host:

# RSA 2048
acme.sh --issue --standalone -d example.com --keylength 2048
# ECDSA
acme.sh --issue --standalone -d example.com --keylength ec-256

Si desea certificados falsos para las pruebas, puede agregar --staging marcar a los comandos anteriores.

Para enumerar sus certificados emitidos, puede ejecutar:

acme.sh --list

Cree carpetas para almacenar sus certificados. Usaremos /etc/letsencrypt pero puede ser cualquier cosa que prefiera para almacenar certificados SSL.

mkdir -p /etc/letsencrypt/example.com
mkdir -p /etc/letsencrypt/example.com_ecc

Instalar/copiar certificados en /etc/letsencrypt directorio.

# RSA
acme.sh --install-cert -d example.com \
--cert-file /etc/letsencrypt/example.com/cert.pem \
--key-file /etc/letsencrypt/example.com/private.key \
--fullchain-file /etc/letsencrypt/example.com/fullchain.pem \
--reloadcmd "sudo systemctl reload nginx.service"

# ECC/ECDSA
acme.sh --install-cert -d example.com --ecc \
--cert-file /etc/letsencrypt/example.com_ecc/cert.pem \
--key-file /etc/letsencrypt/example.com_ecc/private.key \
--fullchain-file /etc/letsencrypt/example.com_ecc/fullchain.pem \
--reloadcmd "sudo systemctl reload nginx.service"

Después de ejecutar los comandos anteriores, sus certificadosteclas estará en:

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

Todos los certificados se renovarán automáticamente cada 60 días.

Después de obtener los certificados, salga del usuario raíz y regrese al usuario sudo normal:

exit

Paso 4:instalar y configurar NGINX

Wiki.js (o cualquier aplicación HTTP Node.js) puede ejecutarse sin ningún servidor web real (como NGINX o Apache). Sin embargo, se recomienda enfáticamente colocar un servidor web estándar frente a Wiki.js. Esto garantiza que pueda usar funciones como SSL, múltiples sitios web, almacenamiento en caché, etc. Usaremos NGINX en este tutorial, pero cualquier otro servidor funcionará, solo necesita configurarlo correctamente.

Descargue e instale NGINX desde el repositorio oficial de NGINX emitiendo los siguientes comandos:

wget https://nginx.org/keys/nginx_signing.key
sudo apt-key add nginx_signing.key
rm nginx_signing.key
sudo -s
printf "deb https://nginx.org/packages/mainline/ubuntu/ $(lsb_release -sc) nginx\ndeb-src https://nginx.org/packages/mainline/ubuntu/ $(lsb_release -sc) nginx\n" >> /etc/apt/sources.list.d/nginx_mainline.list
exit
sudo apt update
sudo apt install -y nginx

Compruebe la versión de NGINX:

sudo nginx -v
# nginx version: nginx/1.15.8

Habilite e inicie el servicio NGINX:

sudo systemctl enable nginx.service
sudo systemctl start nginx.service

Ejecute sudo vim /etc/nginx/conf.d/wiki.js.conf

sudo vim /etc/nginx/conf.d/wiki.js.conf

y configura NGINX como un proxy inverso HTTPS.

server {
    
listen [::]:443 ssl http2;
listen 443 ssl http2; listen [::]:80; listen 80; server_name example.com; charset utf-8; client_max_body_size 50M;

ssl_certificate /etc/letsencrypt/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/example.com/private.key;
ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/example.com_ecc/private.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; } }

Lo único que debe cambiar en la configuración anterior es server_name directiva, el nombre de dominio en las rutas del archivo ssl y potencialmente proxy_pass directiva si decide configurar alguna que no sea 3000 Puerto. Wiki.js usa el puerto 3000 por defecto.

Compruebe la configuración de NGINX:

sudo nginx -t

Finalmente, para que los cambios surtan efecto, debemos volver a cargar NGINX:

sudo systemctl reload nginx.service

Paso 5:instalar y configurar Wiki.js

Cree un directorio raíz de documentos donde Wiki.js debería residir en:

sudo mkdir -p /var/www/wiki.js

Navegue al directorio raíz del documento:

cd /var/www/wiki.js

Crea un usuario para wikijs

sudo useradd -d /var/www/wiki.js wikijs

Cambiar la propiedad de /var/www/wiki.js directorio al usuario de wikijs:

sudo chown -R wikijs:wikijs /var/www/wiki.js

Desde /var/www/wiki.js directorio, ejecute el siguiente comando para obtener e instalar la última aplicación Wiki.js:

cd /var/www/wiki.js
sudo su wikijs
curl -sSo- https://wiki.js.org/install.sh | bash

Una vez completada la instalación, puede ejecutar el siguiente comando para ver la versión instalada actualmente de Wiki.js:

node wiki --version
# 1.0.117

Una vez que se complete la instalación, se le pedirá que inicie el asistente de configuración.

Entonces, inicie el asistente de configuración ejecutando:

node wiki configure

Usando su navegador web, vaya a http://example.com y siga las instrucciones en pantalla. Todos los ajustes introducidos durante el asistente de configuración se guardan en config.yml expediente. El asistente de configuración iniciará Wiki.js automáticamente.

Primero, verá un mensaje de bienvenida. Haga clic en "Iniciar "botón:

Aparecerá la siguiente página de "Comprobación del sistema". Si se cumplen todos los requisitos, haga clic en "Continuar botón ".

Ingrese información general sobre su wiki y haga clic en "Continuar "botón:

Lea el aviso de "Consideraciones importantes" y haga clic en "Continuar " para el siguiente paso: 

A continuación, conéctese a la base de datos y continúe: 

Debería ver un mensaje que indica que Wiki.js se ha conectado correctamente a la base de datos. Haga clic en "Continuar "botón:

Establecer rutas y continuar:

Configure el repositorio Git remoto si lo desea u omita este paso. Este paso es opcional pero muy recomendable:

A continuación, haga clic en el botón "Continuar":

Cree una cuenta de administrador y haga clic en "Continuar "botón:

Y finalmente, inicie Wiki.js:

Espere alrededor de 30 segundos y debería ser redirigido a la página de inicio de Wiki.js:

La instalación está completa. Deberías página de bienvenida wiki:

Paso 6:configurar el administrador de procesos de PM2

De forma predeterminada, Wiki.js no se iniciará automáticamente después de reiniciar el sistema. Para que se inicie en el arranque, debemos configurar el administrador de procesos PM2. PM2 viene incluido con Wiki.js como un módulo npm local, por lo que no necesitamos instalar PM2 globalmente.

Dígale a PM2 que se configure como un servicio de inicio ejecutando:

/var/www/wiki.js/node_modules/pm2/bin/pm2 startup

Finalmente, guarde la configuración actual de PM2 ejecutando el comando:

/var/www/wiki.js/node_modules/pm2/bin/pm2 save

Su Wiki.js ahora se ejecuta como un proceso en segundo plano, utilizando PM2 como su administrador de procesos.

Enlaces

  • https://wiki.js.org/
  • https://github.com/Requarks/wiki-v1
  • https://github.com/Requarks/wiki

Ubuntu
  1. Cómo instalar Docker en Ubuntu 22.04/20.04 LTS

  2. Cómo instalar PlayOnLinux en Ubuntu 20.04 LTS

  3. Cómo instalar MariaDB en Ubuntu 20.04 LTS

  4. Cómo instalar Ansible en Ubuntu 20.04 LTS / 21.04

  5. Cómo instalar Minikube en Ubuntu 20.04 LTS / 21.04

Cómo instalar Ubuntu Server 18.04 LTS

Cómo instalar el servidor Ubuntu 20.04 LTS

Cómo instalar Go en Ubuntu 22.04 LTS

Cómo instalar Go en Ubuntu 18.04 LTS

Cómo instalar Go en Ubuntu 20.04 LTS

Cómo instalar Wiki.js en Ubuntu 20.04 LTS