In questo tutorial spiegheremo come installare Gollum Wiki su un VPS Ubuntu 16.04 con Puma e Nginx. Gollum è un semplice sistema wiki open source basato su Git. Un Wiki Gollum è un repository git con pagine organizzate in directory in qualsiasi modo tu scelga. Questa guida dovrebbe funzionare anche su altri sistemi VPS Linux, ma è stata testata e scritta per Ubuntu 16.04 VPS.
1. Accedi al tuo VPS tramite SSH
ssh user@vps
2. Aggiorna il sistema e installa i pacchetti necessari
[user]# sudo apt-get update && sudo apt-get -y upgrade [user]# sudo apt-get install git nano curl libicu-dev
3. Utente Gollum
Crea un nuovo utente di sistema per 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. Installa Ruby usando RVM
I seguenti comandi vengono eseguiti come utente gollum.
[gollum]# cd [gollum]# curl -sSL https://rvm.io/mpapis.asc | gpg --import - [gollum]# curl -sSL https://get.rvm.io | bash -s stable --ruby
Per iniziare a utilizzare RVM, eseguire il comando seguente:
[gollum]# source ~/.rvm/scripts/rvm
L'attuale versione stabile di Ruby è la versione 2.3.1
[gollum]# rvm install ruby-2.3.1
Per verificare che tutto sia fatto correttamente, usa il comando ruby --version
.
L'output dovrebbe essere simile al seguente:
[gollum]# ruby --version ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-linux]
5. Installa Gollum
Installeremo Gollum e Puma tramite RubyGems usando il seguente comando:
[gollum]# gem install --no-ri --no-rdoc gollum puma
Crea un nuovo repository git locale:
[gollum]# git init ~/gitrepo
6. Crea un servizio systemd
Per creare un nuovo servizio systemd per Gollum, apri il tuo editor preferito e crea un nuovo file:
[user]$ sudo nano /etc/systemd/system/gollum.service
e aggiungi le seguenti righe:
[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
Avvia il server Gollum e impostalo per l'avvio automatico all'avvio:
[user]$ sudo systemctl enable gollum.service [user]$ sudo systemctl start gollum.service
Per verificare l'avvio dell'unità, eseguire systemctl status gollum.service
e dovresti vedere qualcosa come di seguito:
● 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. Installa e configura Nginx
Per installare l'ultima versione stabile di Nginx disponibile sui repository di Ubuntu, esegui:
[user]$ sudo apt-get -y install nginx
Genera un certificato SSL autofirmato:
[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
Se non desideri ricevere avvisi associati ai certificati SSL autofirmati, puoi acquistare un certificato SSL affidabile qui.
Quindi, crea un nuovo blocco del server 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; }
Attiva il blocco del server creando un collegamento simbolico :
[user]$ sudo ln -s /etc/nginx/sites-available/myGollumWiki.com /etc/nginx/sites-enabled/myGollumWiki.com
Testare la configurazione di Nginx e riavviare nginx:
[user]$ sudo nginx -t [user]$ sudo systemctl start nginx
Apri http://myGollumWiki.com/ nel tuo browser web preferito e crea la tua prima pagina Gollum.
Questo è tutto. Hai installato correttamente Gollum sul tuo Ubuntu 16.04 VPS. Per ulteriori informazioni su come gestire l'installazione di Gollum, fare riferimento al wiki di Gollum.
Ovviamente, non devi fare nulla di tutto ciò se utilizzi uno dei nostri servizi di hosting VPS velocissimi, nel qual caso puoi semplicemente chiedere ai nostri esperti amministratori Linux di configurarlo per te. Sono disponibili 24 ore su 24, 7 giorni su 7 e si prenderanno immediatamente cura della tua richiesta.
PS . Se questo post ti è piaciuto condividilo con i tuoi amici sui social network utilizzando i pulsanti a sinistra o semplicemente lascia una risposta qui sotto. Grazie.