Cómo instalar Wikijs en 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.
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.
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.
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
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.
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.
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.
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
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
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 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
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.
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.
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
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.
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.
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.
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.
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.
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‘.
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.
7. Ahora será redirigido a su página de inicio de Wiki.js como se muestra a continuación.
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.