En este tutorial, explicaremos cómo instalar Gollum Wiki en un VPS Ubuntu 16.04 con Puma y Nginx. Gollum es un sistema wiki simple de código abierto construido sobre Git. Un Wiki de Gollum es un repositorio git con páginas organizadas en directorios de la forma que elijas. Esta guía también debería funcionar en otros sistemas Linux VPS, pero fue probada y escrita para Ubuntu 16.04 VPS.
1. Inicie sesión en su VPS a través de SSH
ssh user@vps
2. Actualice el sistema e instale los paquetes necesarios
[user]# sudo apt-get update && sudo apt-get -y upgrade [user]# sudo apt-get install git nano curl libicu-dev
3. Usuario de Gollum
Cree un nuevo usuario del sistema para Gollum.
[user]# sudo adduser --home /opt/gollum --shell /bin/bash --gecos 'Gollum Wiki software' gollum [user]# sudo install -d -m 755 -o gollum -g gollum /opt/gollum [user]# sudo usermod -a -G sudo gollum [user]# sudo su - gollum
4. Instale Ruby usando RVM
Los siguientes comandos se ejecutan como usuario gollum.
[gollum]# cd [gollum]# curl -sSL https://rvm.io/mpapis.asc | gpg --import - [gollum]# curl -sSL https://get.rvm.io | bash -s stable --ruby
Para comenzar a usar RVM, ejecute el siguiente comando:
[gollum]# source ~/.rvm/scripts/rvm
La versión estable actual de Ruby es la versión 2.3.1
[gollum]# rvm install ruby-2.3.1
Para verificar que todo se haya hecho correctamente, use el comando ruby --version
.
El resultado debe ser similar al siguiente:
[gollum]# ruby --version ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-linux]
5. Instalar Gollum
Instalaremos Gollum y Puma a través de RubyGems usando el siguiente comando:
[gollum]# gem install --no-ri --no-rdoc gollum puma
Cree un nuevo repositorio git local:
[gollum]# git init ~/gitrepo
6. Crear un servicio systemd
Para crear un nuevo servicio systemd para Gollum, abra el editor de su elección y cree un nuevo archivo:
[user]$ sudo nano /etc/systemd/system/gollum.service
y agregue las siguientes líneas:
[Unit] Description=gollum service After=syslog.target After=network.target [Service] User=gollum ExecStart=/opt/gollum/.rvm/wrappers/ruby-2.3.1/gollum --live-preview /opt/gollum/gitrepo Restart=on-abort [Install] WantedBy=multi-user.target
Inicie el servidor Gollum y configúrelo para que se inicie automáticamente al arrancar:
[user]$ sudo systemctl enable gollum.service [user]$ sudo systemctl start gollum.service
Para verificar que la unidad se inició, ejecute systemctl status gollum.service
y deberías ver algo como lo siguiente:
● gollum.service Loaded: loaded (/etc/systemd/system/gollum.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2016-09-21 06:00:34 UTC; 7s ago Main PID: 10737 (ruby) CGroup: /system.slice/gollum.service └─10737 puma 3.6.0 (tcp://0.0.0.0:4567) [/]
7. Instalar y configurar Nginx
Para instalar la última versión estable de Nginx disponible en los repositorios de Ubuntu, ejecute:
[user]$ sudo apt-get -y install nginx
Genere un certificado SSL autofirmado:
[user]$ sudo mkdir -p /etc/nginx/ssl [user]$ cd /etc/nginx/ssl [user]$ sudo openssl genrsa -des3 -passout pass:x -out gollum.pass.key 2048 [user]$ sudo openssl rsa -passin pass:x -in gollum.pass.key -out gollum.key [user]$ sudo rm gollum.pass.key [user]$ sudo openssl req -new -key gollum.key -out gollum.csr [user]$ sudo openssl x509 -req -days 365 -in gollum.csr -signkey gollum.key -out gollum.crt [user]$ sudo openssl dhparam -out /etc/nginx/ssl/dhparam.pem 2048
Si no desea recibir advertencias asociadas con los certificados SSL autofirmados, puede comprar un certificado SSL de confianza aquí.
A continuación, cree un nuevo bloque de servidor Nginx:
[user]$ sudo nano /etc/nginx/sites-available/myGollumWiki.com
server { listen 443 ssl http2; server_name myGollumWiki.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; } ssl on; ssl_certificate /etc/nginx/ssl/gollum.crt; ssl_certificate_key /etc/nginx/ssl/gollum.key; ssl_dhparam /etc/nginx/ssl/dhparam.pem; ssl_session_timeout 5m; ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5; ssl_protocols TLSv1.2; ssl_prefer_server_ciphers on; access_log /var/log/nginx/myGollumWiki.access.log; error_log /var/log/nginx/myGollumWiki.error.log; } server { listen 80; server_name myGollumWiki.com; add_header Strict-Transport-Security max-age=2592000; rewrite ^ https://$server_name$request_uri? permanent; }
Active el bloqueo del servidor creando un enlace simbólico:
[user]$ sudo ln -s /etc/nginx/sites-available/myGollumWiki.com /etc/nginx/sites-enabled/myGollumWiki.com
Pruebe la configuración de Nginx y reinicie nginx:
[user]$ sudo nginx -t [user]$ sudo systemctl start nginx
Abra http://myGollumWiki.com/ en su navegador web favorito y cree su primera página de Gollum.
Eso es todo. Has instalado Gollum con éxito en tu Ubuntu 16.04 VPS. Para obtener más información sobre cómo administrar su instalación de Gollum, consulte la wiki de Gollum.
Por supuesto, no tiene que hacer nada de esto si utiliza uno de nuestros servicios de hospedaje VPS Blazing-Fast, en cuyo caso simplemente puede pedirle a nuestros administradores expertos de Linux que lo configuren por usted. Están disponibles las 24 horas del día, los 7 días de la semana y atenderán su solicitud de inmediato.
PD . Si te gustó esta publicación, compártela con tus amigos en las redes sociales usando los botones de la izquierda o simplemente deja una respuesta a continuación. Gracias.