Cómo instalar Wikijs en Rocky Linux

Compruebe el módulo de repositorio de Node.js Rocky Linux

Wiki.js es un software wiki de código abierto escrito en JavaScript y que se ejecuta en el tiempo de ejecución de Node.js, se publica bajo la licencia APGL-v3. Wiki.js es un software wiki liviano y poderoso con una interfaz de usuario hermosa e intuitiva, está diseñado para la web moderna. Wiki.js es un software wiki muy extensible y adecuado para diferentes tipos de documentos e implementaciones, puede ser utilizado tanto por personas técnicas como no técnicas.

Wiki.js está respaldado por varios tipos de módulos para ampliar sus características y convertirlo en un software wiki poderoso y extensible. Algunas características notables y predeterminadas de Wiki.js se ven a continuación:

  • Admite múltiples bases de datos (PostgreSQL, MySQL, SQLite y MSSQL Server).
  • Múltiples editores, incluidos Markdown para desarrolladores, WYSIWYG para personas sin conocimientos técnicos, código y Tabular (similar a Excel)
  • Motor de búsqueda basado en bases de datos incorporado, también soporte para otro motor de búsqueda como Apache Solr, Elasticsearch, etc.
  • Admite almacenamiento de datos múltiples para copias de seguridad como Git, sFTP, AWS S3, Google Drive, Dropbox, etc.

En esta guía, aprenderá cómo instalar Wiki.js en el servidor Rocky Linux. Instalará Wiki.js con la última versión LTS de Node.js, usará PostgreSQL como su base de datos principal y usará el servidor web Nginx como proxy inverso.

requisitos previos

  • Un sistema Rocky Linux. Asegúrese de que todos los paquetes y repositorios estén actualizados a la última versión
  • Un usuario root o un usuario con privilegios de root. Utilizará este usuario para instalar nuevos paquetes y editar configuraciones del sistema.

Instalación de Nodejs en Rocky Linux

Primero, instalará Node.js en Rocky Linux. Y, de forma predeterminada, el repositorio de AppStream proporciona varias versiones LTS de Node.js.

1. Verifique el módulo de repositorio para ‘nodos‘ ejecutando el siguiente comando.

sudo dnf module list nodejs

Verá varias versiones del módulo Node.js.

Compruebe el módulo de repositorio de Node.js Rocky Linux

2. Habilite el ‘nodos: 14‘ módulo de repositorio usando el siguiente comando.

sudo dnf module enable nodejs:14

Escribe ‘y‘ para habilitar el ‘nodos: 14‘módulo de repositorio.

Habilitar módulo de repositorio nodejs:14 Rocky Linux

3. A continuación, ejecute el siguiente comando para instalar los paquetes Node.js y npm.

sudo dnf install nodejs npm

Escribe ‘y‘ y presione ‘Ingresar‘ para confirmar la instalación.

Instalación de paquetes Node.js y NPM

4. Una vez completada la instalación, ejecute el siguiente comando para verificar las versiones de Node.js y npm.

node --version
npm --version

Verá una salida similar a la siguiente.

# Node.js version
v14.17.3

# NPM version
6.14.13


Instalación de la base de datos PostgreSQL

Para esta etapa, instalará PostgreSQL desde el repositorio oficial de PostgreSQL. Para la producción, se recomienda utilizar PostgreSQL como la base de datos principal de Wiki.js.

1. Ahora ejecute el siguiente comando para agregar el repositorio 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

Agregar repositorio de PostgreSQL

2. Deshabilite el repositorio predeterminado de Rocky Linux PostgreSQL con el siguiente comando.

sudo dnf module -qy disable postgresql

3. A continuación, ejecute el siguiente comando para instalar PostgreSQL 13 en el servidor Rocky Linux.

sudo dnf install postgresql13-server

Escribe ‘y‘ y presione ‘Ingresar‘ para continuar con la instalación.

Instalación de PostgreSQL en Rocky Linux

4. Si la instalación de PostgreSQL está completa, ejecute el siguiente comando para inicializar la base de datos de PostgreSQL, inicie y habilite el servicio de PostgreSQL.

Inicialice la base de datos PostgreSQL usando el siguiente comando.

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

Habilite PostgreSQL para que se inicie automáticamente al iniciar el sistema con el siguiente comando.

sudo systemctl enable postgresql-13

Ahora inicie el servicio PostgreSQL y verifique su estado usando el siguiente comando.

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

Si su servicio PostgreSQL se está ejecutando, verá la salida del mensaje como ‘activo (corriendo)‘ como la captura de pantalla a continuación.

Inicialice PostgreSQL e inicie el servicio PostgreSQL

Crear nueva base de datos y usuario

Después de instalar el servidor PostgreSQL, creará una nueva base de datos y un nuevo usuario para la instalación de Wiki.js.

1. Ejecute el siguiente comando para iniciar sesión en el shell de PostgreSQL.

sudo -u postgres psql

2. Cree un nuevo nombre de usuario de PostgreSQL ‘wiki‘con la contraseña’wikijspassworddb‘ utilizando la siguiente consulta.

CREATE USER wiki WITH 
CREATEDB
PASSWORD 'wikijspassworddb';

3. Ahora cree un nuevo nombre de base de datos ‘wikidb‘ y hacer que el usuario ‘wiki‘ como propietario de la base de datos utilizando la consulta de PostgreSQL a continuación.

CREATE DATABASE wikidb OWNER wiki;

Ahora escriba ‘\q‘ para salir del shell de PostgreSQL.

Crear base de datos PostgreSQL y usuario para Wiki.js

Opcionalmente, puede verificar el usuario y la base de datos mediante las consultas a continuación.

# Check available users
\du

# Display list of databases
\l


Comprobar usuarios y bases de datos PostgreSQL

Descarga y configuración de Wiki.js

Para esta guía, ejecutará Wiki.js como un servicio y se ejecutará como un usuario no raíz.

1. Ejecute el siguiente comando para crear un nuevo usuario ‘wiki‘ para la instalación de Wiki.js.

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

2. Crear un nuevo directorio ‘/var/wiki’ y cambie el directorio de trabajo en él. Luego ejecute el comando wget para descargar la última versión estable del código fuente de Wiki.js.

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

Cree un nuevo usuario y descargue el código fuente de Wiki.js

Si el proceso de descarga está completo, extraiga el código fuente de Wiki.js usando el comando tar a continuación.

tar -xf wiki-js.tar.gz

3. A continuación, copie la configuración de ejemplo de Wiki.js en ‘config.yml’ y edítela con nano.

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

Cambie los detalles del nombre de la base de datos, el usuario y la contraseña como se muestra a continuación.

db:
  type: postgres

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


Pon el ‘#’ delante de la opción de almacenamiento de SQLite como se muestra a continuación.

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

Cambiar el ‘enlazar IP‘opción a’127.0.0.1‘ para ejecutar Wiki.js solo en IP local.

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

bindIP: 127.0.0.1


Guarde la configuración y salga presionando el botón ‘Control+x‘ botón, escriba ‘y‘, entonces presione ‘Ingresar‘.

4. A continuación, lo más importante es cambiar la propiedad del ‘/var/wiki‘directorio a usuario y grupo’wiki‘ usando el siguiente comando.

sudo chown -R wiki:wiki /var/wiki

Configuración de Wiki.js

Configuración de Wiki.js como un servicio de Systemd

1. Para crear un nuevo archivo de servicio systemd, cambie el directorio de trabajo a ‘/etc/systemd/system’ y cree un nuevo archivo de servicio ‘wikijs.service’ usando nano.

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

Copie y pegue la siguiente configuración.

[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


Prensa ‘Control+x‘, escribe ‘y‘, entonces presione ‘Ingresar‘ para guardar la configuración y salir.

2. Vuelva a cargar el ‘administrador del sistema‘ para aplicar una nueva configuración de servicio.

sudo systemctl daemon-reload

3. A continuación, habilite el servicio ‘wikijs‘ para que se ejecute al iniciar el sistema usando el siguiente comando.

sudo systemctl enable wikijs

Ejecutar Wiki.js como un servicio

4. Inicie el ‘wikijs‘ servicio y verifique su estado usando el siguiente comando.

sudo systemctl start wikijs
sudo systemctl status wikijs

Ahora verá que wikijs.service está activo y ejecutándose en el sistema Rocky Linux.

Iniciar y verificar el estado del servicio Wiki.js

Instalación y configuración de Nginx como proxy inverso para Wiki.js

Para esta etapa, instalará y configurará el servidor web Nginx como un proxy inverso para Wiki.js. Si ha instalado el servidor web Nginx en su servidor, pase a la etapa número 2 para configurar los bloques del servidor Nginx.

1. Para instalar el servidor web Nginx, ejecute el siguiente comando dnf.

sudo dnf install nginx

Escribe ‘y‘ para confirmar e instalar el servidor web Nginx.

Instalación del servidor web Nginx

2. Si la instalación está completa, cambie el directorio de trabajo a ‘/etc/nginx/conf.d’ y cree una nueva configuración de bloque de servidor Nginx ‘wikijs.conf‘ usando nano.

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

Copie y pegue la siguiente configuración y asegúrese de cambiar el valor de ‘nombre del servidor‘ opción con su nombre de 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;
}

}


Prensa ‘Control+x‘, escribe ‘y‘, entonces presione ‘Ingresar‘ para guardar la configuración y salir.

3. Luego, pruebe la configuración de Nginx y asegúrese de que no haya ningún error, luego habilite el servicio Nginx.

sudo nginx -t
sudo systemctl enable nginx

Configuración de Nginx como proxy inverso para Wiki.js

4. Ahora inicie y verifique el estado del servicio Nginx ejecutando el siguiente comando.

sudo systemctl start nginx
sudo systemctl enable nginx

Verá que la salida del servicio Nginx es ‘activo (corriendo)‘ como a continuación.

Inicie el servicio Nginx y verifique el estado

Asegurando Wikijs con SSL Letsencrypt

Para esta etapa, protegerá la instalación de Wiki.js utilizando SSL Letsencrypt.

1. Ejecute el siguiente comando para instalar el complemento certbot y certbot-nginx.

sudo dnf install certbot python3-certbot-nginx

2. Una vez completada la instalación, genere un nuevo SSL Letsencrtypt para el nombre de dominio radicale usando el comando certbot a continuación.

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

Y se le harán algunas preguntas a continuación.

  • Una dirección de correo electrónico: cuando caduque el certificado SSL, se le notificará a este correo electrónico.
  • Letsencrypt TOS (Términos de servicio): escriba ‘A’ para aceptar.
  • Compartir correo electrónico con EFF: puede elegir ‘N’ para no.
  • Redirigir automáticamente HTTP a HTTPS: elija el número ‘2’ para habilitar la redirección automática.

Una vez que se complete el proceso, verá que los certificados SSL están disponibles en el ‘/etc/letsencrypt/live/wiki.nombre-de-dominio.io‘directorio. Y la configuración de bloques de su servidor Nginx ha cambiado con una configuración adicional de letsencrypt.

Configuración de Wiki.js Admin y página de inicio predeterminada

Abra su navegador web y escriba la dirección URL de su instalación de Wiki.js en la barra de direcciones.

https://wiki.nombre-de-dominio.io/

1. Será redirigido a la conexión HTTPS y verá la siguiente página.

Wiki.js crea una cuenta de administrador y configura la URL del sitio

Escriba los detalles de la cuenta de administrador con su dirección de correo electrónico y contraseña, luego escriba su dominio de Wiki.js como la URL del sitio, luego haga clic en el botón ‘INSTALAR’.

Espere la instalación de Wiki.js.

2. Y si la instalación está completa, será redirigido a la página de inicio de sesión de Wiki.js como se muestra a continuación.

Página de inicio de sesión de Wiki.js

Escriba su dirección de correo electrónico y contraseña de administrador, luego haga clic en ‘Iniciar sesión‘ botón.

3. Y se te mostrará el mensaje de bienvenida de Wiki.js.

Wiki.js Crear página de inicio

Haga clic en el botón ‘+ CREAR PÁGINA DE INICIO‘ para crear una nueva página de inicio para tu wiki.

4. Elija el editor que le resulte más cómodo y haga clic en ese editor. Para este ejemplo, usaremos el ‘Reducción‘ editor.

Wiki.js elegir editor

5. En el ‘Propiedades de página‘ emergente, escriba el título de los detalles y una breve descripción de su página de inicio. Y dejar la ruta por defecto’hogar‘.

Propiedades de la página Wiki.js

Haga clic en ‘OK‘ para confirmar la configuración de las propiedades de la página.

6. Escriba el contenido de su página de inicio, luego haga clic en ‘CREAR‘botón para guardar.

Crear nueva página de inicio Wiki.js

7. Ahora será redirigido a su página de inicio de Wiki.js como se muestra a continuación.

Página de inicio de Wiki.js

Conclusión

¡Felicidades! Ahora ha creado con éxito su wiki con Wiki.js en el servidor Rocky Linux. Wiki.js ahora se ejecuta con la última versión estable de Node.js, la base de datos PostgreSQL y el proxy inverso Nginx. Además, está protegido con SSL Letsencrypt. Para el siguiente paso, puede agregar algunos módulos adicionales según lo necesite, como análisis, autenticación, registro y editores de código/texto. Y ya está listo para escribir documentación sobre sus proyectos.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *