Gollum es un software wiki basado en Git que utiliza GitHub Wiki como backend. Este software gratuito de código abierto está escrito en Ruby y viene con una interfaz web simple para crear y administrar páginas desde el navegador web. Gollum admite una variedad de formatos, incluidos Markdown, AsciiDoc, ReStructuredText, Creole y MediaWiki.
En este tutorial, le mostraremos cómo instalar Gollum con Nginx como proxy inverso en Debian 10.
Requisitos
- Un nuevo servidor privado virtual Debian 10 en Atlantic.net Cloud Platform
- Un nombre de dominio válido dirigido a la IP de su servidor
- Una contraseña de root configurada en su servidor
Paso 1:crear el servidor en la nube de Atlantic.Net
Primero, inicie sesión en su servidor en la nube de Atlantic.Net. Cree un nuevo servidor, eligiendo Debian 10 como sistema operativo con al menos 2 GB de RAM. Conéctese a su servidor en la nube a través de SSH e inicie sesión con las credenciales resaltadas en la parte superior de la página.
Una vez que haya iniciado sesión en su servidor Debian 10, ejecute el siguiente comando para actualizar su sistema base con los últimos paquetes disponibles.
apt-get update -y
Paso 2:instalar las dependencias requeridas
Gollum está escrito en Ruby, por lo que deberá instalar Ruby y otras dependencias en su sistema. Puede instalarlos todos usando el siguiente comando:
apt-get install ruby ruby-dev cmake libssl-dev pkg-config build-essential zlib1g-dev libicu-dev git - y
Una vez que todos los paquetes estén instalados, puede continuar con el siguiente paso.
Paso 3:instalar Gollum
A continuación, ejecute el siguiente comando para instalar Gollum con otros paquetes necesarios:
gem install gollum org-ruby omnigollum github-markup omniauth-github
A continuación, instale los marcados de tipo GitHub Flavored Markdown, Textile y MediaWiki usando el siguiente comando:
gem install wikicloth gem install RedCloth gem install github-markdown
Después de instalar todos los paquetes, puede continuar con el siguiente paso.
Paso 4:configurar el repositorio de Git
A continuación, deberá configurar un repositorio Git para Gollum. Primero, configure el nombre de usuario y la dirección de correo electrónico de Git con el siguiente comando:
git config --global user.name "Gollum Admin" git config --global user.email "[email protected]"
A continuación, cree un nombre de directorio mywiki e inicialícelo con el siguiente comando:
mkdir mywiki cd mywiki git init .
Una vez que haya terminado, puede continuar con el siguiente paso.
Paso 5:Configurar Gollum
A continuación, deberá crear un directorio de configuración de Gollum en su sistema. Puedes crearlo con el siguiente comando:
mkdir /etc/gollum/
Luego, cree un archivo de configuración de Gollum usando el siguiente comando:
nano /etc/gollum/config.rb
Agregue las siguientes líneas:
=begin This file can be used to (e.g.): - alter certain inner parts of Gollum, - extend it with your stuff. It is especially useful for customizing supported formats/markups. For more information and examples: - https://github.com/gollum/gollum#config-file =end
Guarde y cierre el archivo cuando haya terminado.
Paso 6:cree un archivo de servicio de Systemd para Gollum
A continuación, deberá crear un archivo de servicio systemd de Gollum para administrar el servicio de Gollum. Puedes crearlo con el siguiente comando:
nano /etc/systemd/system/gollum.service
Agregue las siguientes líneas:
[Unit] Description=Gollum wiki server After=network.target After=syslog.target [Service] Type=simple User=root Group=root WorkingDirectory=/root/mywiki/ ExecStart=/usr/local/bin/gollum --config "/etc/gollum/config.rb" Restart=on-abort [Install] WantedBy=multi-user.target
Guarde y cierre el archivo, luego vuelva a cargar el demonio systemd con el siguiente comando:
systemctl daemon-reload
A continuación, inicie el servicio Gollum y habilítelo para que se inicie al reiniciar el sistema con el siguiente comando:
systemctl start gollum systemctl enable gollum
Puede verificar el estado del servicio Gollum usando el siguiente comando:
systemctl status gollum
Deberías obtener el siguiente resultado:
gollum.service - Gollum wiki server Loaded: loaded (/etc/systemd/system/gollum.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2020-10-10 15:28:00 UTC; 3s ago Main PID: 23069 (gollum) Tasks: 2 (limit: 4701) Memory: 61.8M CGroup: /system.slice/gollum.service └─23069 /usr/bin/ruby2.5 /usr/local/bin/gollum --config /etc/gollum/config.rb Oct 10 15:28:00 debian10 systemd[1]: Started Gollum wiki server.
En este punto, Gollum se inicia y escucha en el puerto 4567. Puede verificarlo con el siguiente comando:
ss -tunelp | grep 4567
Deberías obtener el siguiente resultado:
tcp LISTEN 0 128 0.0.0.0:4567 0.0.0.0:* users:(("gollum",pid=23069,fd=7)) ino:41646 sk:9 <->
Paso 7:configurar Nginx para Gollum
A continuación, deberá instalar y configurar Nginx como proxy inverso para acceder a Gollum mediante el puerto 80. Primero, instale el servidor web Nginx ejecutando el siguiente comando:
apt-get install nginx -y
Una vez instalado, cree un nuevo archivo de configuración de host virtual Nginx con el siguiente comando:
nano /etc/nginx/conf.d/gollum.conf
Agregue las siguientes líneas:
server { listen 80; server_name gollum.example.com; location / { proxy_pass http://127.0.0.1:4567; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_connect_timeout 150; proxy_send_timeout 100; proxy_read_timeout 100; proxy_buffers 4 32k; client_max_body_size 500m; client_body_buffer_size 128k; } access_log /var/log/nginx/gollum-access.log; error_log /var/log/nginx/gollum-error.log; }
Guarde y cierre el archivo cuando haya terminado. Luego, reinicie el servicio Nginx para aplicar los cambios:
.
Si obtiene algún error, deberá editar el archivo de configuración del servidor predeterminado de Nginx y configurar server_names_hash_bucket_size:
nano /etc/nginx/nginx.conf
Agregue la siguiente línea debajo de http {:
server_names_hash_bucket_size 64;
Guarde y cierre el archivo, luego reinicie el servicio Nginx para aplicar los cambios:
systemctl restart nginx
Paso 8:acceda a la interfaz de usuario web de Gollum
Ahora, abra su navegador web y escriba la URL http://gollum.example.com. Debería ver el panel de control de Gollum en la siguiente pantalla:
Ahora, cree su primera página agregando algo de contenido y haga clic en Guardar botón. Debería ver su página de inicio en la siguiente pantalla:
Conclusión
En la guía anterior, aprendió cómo instalar el wiki de Gollum con Nginx como un proxy inverso en Debian 10. Ahora puede implementar fácilmente el wiki de estilo GitHub con Gollum. ¡Pruebe Gollum en alojamiento VPS de Atlantic.Net hoy mismo!