Buat Blog Hugo Di FreeBSD
TemanBSD baru migrasi ke FreeBSD dari VPS Jetorbit. Sebelumnya masih numpang Gitlab dan saya merasa ada yang janggal blog BSD tapi masih numpang dalam keadaan saya mampu beli VPS-nya.
Jadi gak perlu bertele-tele lagi, mari kita bahas cara mengatur blog Hugo di FreeBSD.
Kita unduh paket Hugo sebagai blog, Nginx sebagai web server, dan Certbot untuk mendapatkan SSL Let’s Encrypt
$ sudo pkg install gohugo nginx py39-certbot py39-certbot-nginx
Hugo
Di sini saya akan jelasin Hugo dasar aja.
Jika anda belum punya folder hugo, maka kamu bisa menggunakan perintah new site
layaknya di bawah untuk membuat web berbasis Hugo.
$ mkdir blog
$ cd blog
$ hugo new site .
Nantinya kamu perlu tema yang bisa anda cari di Github, misalnya Mainroad layaknya blog ini. Silahkan kloning berkas tema dengan perintah ini.
$ cd themes
$ git clone https://github.com/Vimux/Mainroad
Setelah itu, anda akan menemukan config.toml
milik Mainroad sebagai konfigurasi blog saat menggunakan tema tersebut. Pastikan anda sudah punya config.toml
yang disimpan pada akar folder blog karena jika tidak, maka website hugo anda tidak bisa digunakan.
Saat anda merasa sudah cukup, maka hasilkan konten menjadi .html
dengan perintah ini di folder akar blog.
$ hugo --gc
Anda akan menemukan berkas .html
di folder public/
dan arahkan ke Nginx seperti bahasan selanjutnya.
Certbot
Kita belum punya SSL dan memiliknya adalah kewajiban bagi pemilik website. Gunakan Certbot untuk mendapatkan SSL Let’s Encrypt gratis.
$ sudo certbot certonly -d domain.com
Nginx
Buatkan konfigurasi baru di berkas nginx.conf
.
$ sudo nvim /usr/local/etc/nginx/nginx.conf
---
server {
server_name domain.com;
location / {
root /home/user/blog/public/;
index index.html index.htm;
}
listen 443 ssl; # managed by Certbot
ssl_certificate /usr/local/etc/letsencrypt/live/domain.com/fullchain.pem; # managed by Certbot
ssl_certificate_key /usr/local/etc/letsencrypt/live/domain.com/privkey.pem; # managed by Certbot
ssl_dhparam /usr/local/etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
server {
if ($host = domain.com) {
return 301 https://$host$request_uri;
}
listen 80;
server_name domain.com;
return 404; #
Setelah itu, jalankan perintah ini untuk memeriksa konfigurasi apakah sudah benar atau belum
$ sudo nginx -t
---
nginx: the configuration file /usr/local/etc/nginx/nginx.conf syntax is ok
nginx: configuration file /usr/local/etc/nginx/nginx.conf test is successful
Nah, mantap, saatnya jalanin layanan Nginx.
$ sudo service nginx enable
$ sudo service nginx start
⚘
Pertanyaan atau komentar? Email kami.