Dans ce tutoriel, nous allons vous expliquer comment installer Gollum Wiki sur un VPS Ubuntu 16.04 avec Puma et Nginx. Gollum est un système wiki open source simple construit sur Git. Un wiki Gollum est un référentiel git avec des pages organisées en répertoires comme vous le souhaitez. Ce guide devrait également fonctionner sur d'autres systèmes Linux VPS, mais a été testé et écrit pour Ubuntu 16.04 VPS.
1. Connectez-vous à votre VPS via SSH
ssh user@vps
2. Mettez à jour le système et installez les packages nécessaires
[user]# sudo apt-get update && sudo apt-get -y upgrade [user]# sudo apt-get install git nano curl libicu-dev
3. Utilisateur de Gollum
Créez un nouvel utilisateur système pour 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. Installer Ruby en utilisant RVM
Les commandes suivantes sont exécutées en tant qu'utilisateur gollum.
[gollum]# cd [gollum]# curl -sSL https://rvm.io/mpapis.asc | gpg --import - [gollum]# curl -sSL https://get.rvm.io | bash -s stable --ruby
Pour commencer à utiliser RVM, exécutez la commande suivante :
[gollum]# source ~/.rvm/scripts/rvm
La version stable actuelle de Ruby est la version 2.3.1
[gollum]# rvm install ruby-2.3.1
Pour vérifier que tout est fait correctement, utilisez la commande ruby --version
.
Le résultat doit ressembler à ce qui suit :
[gollum]# ruby --version ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-linux]
5. Installer Gollum
Nous allons installer Gollum et Puma via RubyGems en utilisant la commande suivante :
[gollum]# gem install --no-ri --no-rdoc gollum puma
Créez un nouveau dépôt git local :
[gollum]# git init ~/gitrepo
6. Créer un service systemd
Pour créer un nouveau service systemd pour Gollum, ouvrez l'éditeur de votre choix et créez un nouveau fichier :
[user]$ sudo nano /etc/systemd/system/gollum.service
et ajoutez les lignes suivantes :
[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
Démarrez le serveur Gollum et configurez-le pour qu'il démarre automatiquement au démarrage :
[user]$ sudo systemctl enable gollum.service [user]$ sudo systemctl start gollum.service
Pour vérifier que l'unité a démarré, exécutez systemctl status gollum.service
et vous devriez voir quelque chose comme ci-dessous :
● 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. Installer et configurer Nginx
Pour installer la dernière version stable de Nginx disponible sur les dépôts Ubuntu, exécutez :
[user]$ sudo apt-get -y install nginx
Générez un certificat SSL auto-signé :
[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 vous ne souhaitez pas recevoir d'avertissements associés aux certificats SSL auto-signés, vous pouvez acheter un certificat SSL de confiance ici.
Ensuite, créez un nouveau bloc serveur 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; }
Activez le bloc serveur en créant un lien symbolique :
[user]$ sudo ln -s /etc/nginx/sites-available/myGollumWiki.com /etc/nginx/sites-enabled/myGollumWiki.com
Testez la configuration de Nginx et redémarrez nginx :
[user]$ sudo nginx -t [user]$ sudo systemctl start nginx
Ouvrez http://myGollumWiki.com/ dans votre navigateur Web préféré et créez votre première page Gollum.
C'est ça. Vous avez installé avec succès Gollum sur votre VPS Ubuntu 16.04. Pour plus d'informations sur la gestion de votre installation Gollum, veuillez consulter le wiki Gollum.
Bien sûr, vous n'avez rien à faire si vous utilisez l'un de nos services d'hébergement VPS Blazing-Fast, auquel cas vous pouvez simplement demander à nos administrateurs Linux experts de le configurer pour vous. Ils sont disponibles 24h/24 et 7j/7 et prendront immédiatement en charge votre demande.
PS . Si vous avez aimé cet article, partagez-le avec vos amis sur les réseaux sociaux en utilisant les boutons à gauche ou laissez simplement une réponse ci-dessous. Merci.