Gollum adalah perangkat lunak wiki berdasarkan Git menggunakan GitHub Wiki sebagai backend. Perangkat lunak sumber terbuka gratis ini ditulis dalam Ruby dan dilengkapi dengan antarmuka web sederhana untuk membuat dan mengelola halaman dari browser web. Gollum mendukung berbagai format termasuk Markdown, AsciiDoc, ReStructuredText, Creole, dan markup MediaWiki.
Dalam tutorial ini, kami akan menunjukkan cara menginstal Gollum dengan Nginx sebagai proxy terbalik di Debian 10.
Prasyarat
- Server pribadi virtual Debian 10 baru di Platform Cloud Atlantic.net
- Nama domain yang valid menunjuk ke IP server Anda
- Kata sandi root yang dikonfigurasi di server Anda
Langkah 1 – Buat Server Cloud Atlantic.Net
Pertama, masuk ke Server Cloud Atlantic.Net Anda. Buat server baru, pilih Debian 10 sebagai sistem operasi dengan setidaknya 2GB RAM. Hubungkan ke Server Cloud Anda melalui SSH dan masuk menggunakan kredensial yang disorot di bagian atas halaman.
Setelah Anda masuk ke server Debian 10 Anda, jalankan perintah berikut untuk memperbarui sistem dasar Anda dengan paket terbaru yang tersedia.
apt-get update -y
Langkah 2 – Instal Dependensi yang Diperlukan
Gollum ditulis dalam Ruby, jadi Anda perlu menginstal Ruby dan dependensi lainnya di sistem Anda. Anda dapat menginstal semuanya menggunakan perintah berikut:
apt-get install ruby ruby-dev cmake libssl-dev pkg-config build-essential zlib1g-dev libicu-dev git - y
Setelah semua paket terinstal, Anda dapat melanjutkan ke langkah berikutnya.
Langkah 3 – Instal Gollum
Selanjutnya, jalankan perintah berikut untuk menginstal Gollum dengan paket lain yang diperlukan:
gem install gollum org-ruby omnigollum github-markup omniauth-github
Selanjutnya, instal markup jenis GitHub Flavoured Markdown, Textile dan MediaWiki menggunakan perintah berikut:
gem install wikicloth gem install RedCloth gem install github-markdown
Setelah menginstal semua paket, Anda dapat melanjutkan ke langkah berikutnya.
Langkah 4 – Siapkan Repositori Git
Selanjutnya, Anda perlu menyiapkan repositori Git untuk Gollum. Pertama, konfigurasikan nama pengguna dan alamat email Git dengan perintah berikut:
git config --global user.name "Gollum Admin" git config --global user.email "[email protected]"
Selanjutnya, buat nama direktori mywiki dan inisialisasi dengan perintah berikut:
mkdir mywiki cd mywiki git init .
Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.
Langkah 5 – Konfigurasi Gollum
Selanjutnya, Anda perlu membuat direktori konfigurasi Gollum di sistem Anda. Anda dapat membuatnya dengan perintah berikut:
mkdir /etc/gollum/
Selanjutnya, buat file konfigurasi Gollum menggunakan perintah berikut:
nano /etc/gollum/config.rb
Tambahkan baris berikut:
=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
Simpan dan tutup file setelah Anda selesai.
Langkah 6 – Buat File Layanan Systemd untuk Gollum
Selanjutnya, Anda perlu membuat file layanan sistem Gollum untuk mengelola layanan Gollum. Anda dapat membuatnya dengan perintah berikut:
nano /etc/systemd/system/gollum.service
Tambahkan baris berikut:
[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
Simpan dan tutup file, lalu muat ulang daemon systemd dengan perintah berikut:
systemctl daemon-reload
Selanjutnya, mulai layanan Gollum dan aktifkan untuk memulai pada sistem reboot dengan perintah berikut:
systemctl start gollum systemctl enable gollum
Anda dapat memverifikasi status layanan Gollum menggunakan perintah berikut:
systemctl status gollum
Anda akan mendapatkan output berikut:
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.
Pada titik ini, Gollum dimulai dan mendengarkan pada port 4567. Anda dapat memeriksanya dengan perintah berikut:
ss -tunelp | grep 4567
Anda akan mendapatkan output berikut:
tcp LISTEN 0 128 0.0.0.0:4567 0.0.0.0:* users:(("gollum",pid=23069,fd=7)) ino:41646 sk:9 <->
Langkah 7 – Konfigurasi Nginx untuk Gollum
Selanjutnya, Anda perlu menginstal dan mengkonfigurasi Nginx sebagai proxy terbalik untuk mengakses Gollum menggunakan port 80. Pertama, instal server web Nginx dengan menjalankan perintah berikut:
apt-get install nginx -y
Setelah terinstal, buat file konfigurasi virtual host Nginx baru dengan perintah berikut:
nano /etc/nginx/conf.d/gollum.conf
Tambahkan baris berikut:
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; }
Simpan dan tutup file setelah Anda selesai. Kemudian, restart layanan Nginx untuk menerapkan perubahan:
.
Jika Anda mendapatkan kesalahan, maka Anda perlu mengedit file konfigurasi server default Nginx dan mengatur server_names_hash_bucket_size:
nano /etc/nginx/nginx.conf
Tambahkan baris berikut di bawah http {:
server_names_hash_bucket_size 64;
Simpan dan tutup file, lalu mulai ulang layanan Nginx untuk menerapkan perubahan:
systemctl restart nginx
Langkah 8 – Akses UI Web Gollum
Sekarang, buka browser web Anda dan ketik URL http://gollum.example.com. Anda akan melihat dasbor Gollum di layar berikut:
Sekarang, buat halaman pertama Anda dengan menambahkan beberapa konten dan klik tombol Simpan tombol. Anda akan melihat halaman Beranda Anda di layar berikut:
Kesimpulan
Dalam panduan di atas, Anda mempelajari cara menginstal wiki Gollum dengan Nginx sebagai proxy terbalik di Debian 10. Sekarang Anda dapat dengan mudah menerapkan wiki gaya GitHub dengan Gollum. Coba Gollum di VPS Hosting dari Atlantic.Net hari ini!