cara-install-gitea

Cara install Gitea di Ubuntu 16.04

Salah satu keunggulan dari Gitea dibanding server self-hosted populer seperti Gitlab dan sejenisnya, adalah membutuhkan resource yang minim namun memiliki fitur yang melimpah seperti Github.
0

Gitea adalah sebuah git server yang merupakan solusi bagi para developer yang ingin mencari alternatif menyimpan koleksi repository. Gitea merupakan sebuah proyek open source berbasis Go.

Salah satu keunggulan dari Gitea dibanding server self-hosted populer seperti Gitlab dan sejenisnya, adalah membutuhkan resource yang minim namun memiliki fitur yang melimpah seperti Github.

Tutorial ini akan membahas cara instalasi Gitea di Ubuntu 16.04.

Persiapan

Gitea mendukung penggunaan MySQL/MariaDB, SQLite, dan PostgreSQL sebagai backend database. Namun dalam artikel kali ini, akan menggunakan SQLite.

Apabila SQLite belum terpasang pada sistem, silahkan install dengan menggunakan perintah berikut.

sudo apt update
sudo apt install -y sqlite3

Instalasi Gitea

Gitea memungkinkan penggunakan Docker image sebagai sarana untuk instalasi, juga tersedia dalam bentuk binary, source, dan package.

Pada artikel ini, instalasi akan menggunakan bentuk binary. Silahkan ikuti langkah instalasi berikut.

Install Git

Langkah pertama adalah dengan memasang Git pada server, jika belum ada sebelumnya.

sudo apt install git

Kemudian lakukan verifikasi instalasi Git dengan cara,

git --version

Outputnya akan seperti dibawah ini.

git version 2.17.1

Tambahkan user git

Tambah sebuah user baru untuk menjalankan Gitea dengan cara berikut.

sudo adduser --system --group --disabled-password --shell /bin/bash --home /home/git --gecos 'Git Version Control' git

Perintah ini akan secara otomatis menambahkan sebuah user bernama git dan mengatur direktori home pada /home/git. Outputnya akan mirip dengan dibawah ini.

Adding system user `git' (UID 113) ...
Adding new group `git' (GID 117) ...
Adding new user `git' (UID 113) with group `git' ...
Creating home directory `/home/git' ...

Unduh binary milik Gitea

Kunjungi halaman unduhan Gitea dan lihat versi terakhir yang tersedia untuk diunduh. Disarankan jangan mengambil yg masih RC (release candidate). Pada saat artikel ini dibuat, versi terakhir adalah 1.10.1. Apabila terdapat versi yang lebih baru, silahkan ganti variabel dari VERSION pada perintah dibawah.

VERSION=1.10.1
sudo wget -O /tmp/gitea https://dl.gitea.io/gitea/${VERSION}/gitea-${VERSION}-linux-amd64

Perintah diatas adalah perintah untuk mengunduh Gitea ke direktori /tmp dan selanjutnya pindahkan ke direktori /usr/local/bin.

sudo mv /tmp/gitea /usr/local/bin

Setelah itu, jalankan perintah berikut secara berurutan.

sudo chmod +x /usr/local/bin/gitea
sudo mkdir -p /var/lib/gitea/{custom,data,indexers,public,log}
sudo chown git: /var/lib/gitea/{data,indexers,log}
sudo chmod 750 /var/lib/gitea/{data,indexers,log}
sudo mkdir /etc/gitea
sudo chown root:git /etc/gitea
sudo chmod 770 /etc/gitea

Membuat file unit systemd

Unduh filenya dengan menggunakan perintah berikut.

sudo wget https://raw.githubusercontent.com/go-gitea/gitea/master/contrib/systemd/gitea.service -P /etc/systemd/system/

Atau dengan cara manual, buat file gitea.service di direktori /etc/systemd/system/ dengan menyalin kode dibawah ini.

Setelah selesai, jalankan perintah ini secara berurutan untuk menjalankan Gitea.

sudo systemctl daemon-reload
sudo systemctl enable --now gitea

Pastikan Gitea sudah aktif dengan mengeksekusi perintah berikut.

sudo systemctl status gitea

Outputnya akan mirip dengan dibawah.

● gitea.service - Gitea (Git with a cup of tea)
   Loaded: loaded (/etc/systemd/system/gitea.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2020-01-16 16:59:46 UTC; 5s ago
 Main PID: 5111 (gitea)
    Tasks: 7
   Memory: 90.8M
      CPU: 542ms
   CGroup: /system.slice/gitea.service
           └─5111 /usr/local/bin/gitea web --config /etc/gitea/app.ini
...

Konfigurasi Gitea

Pada tahap ini Gitea sudah aktif, saatnya untuk melakukan pengaturan lewat web browser.

Secara default, Gitea beroperasi menggunakan port 3000. Pada sistem yang menggunakan UFW Firewall, diharuskan untuk membuka port ini dengan perintah berikut.

sudo ufw allow 3000/tcp

Buka browser dan buka alamat http://DOMAIN_ANDA_ATAU_IP:3000 dan tampilannya akan seperti ini.

Tampilan awal Gitea

Klik Explore pada menu kiri atas yang akan membuka halaman pengaturan Gitea.

Gitea Initial Configuration

Adapun pengaturan yang disarankan adalah sebagai berikut.

Database Settings

  • Database Type: SQLite3
  • Path: /var/lib/gitea/data/gitea.db

General Settings

  • Site Title: Enter your organization name.
  • Repository Root Path: /home/git/gitea-repositories
  • Git LFS Root Path: /var/lib/gitea/data/lfs
  • Run As Username: git
  • SSH Server Domain: Masukkan domain atau nomor IP server.
  • SSH Port: 22, ganti apabila SSH menggunakan port yang lain
  • Gitea HTTP Listen Port: 3000
  • Gitea Base URL: Masukkan http dan nama domain atau nomor IP server .
  • Log Path: /var/lib/gitea/log

Pengaturan diatas bisa diatur ulang kemudian dengan cara mengedit langsung file konfigurasi Gitea.

Klik ‘Install Gitea’. Dalam waktu singkat browser akan membuka halaman login.

Klik ‘Sign up now’ dan lakukan pendaftaran user baru. User ini akan secara otomatis menjadi administrator.

Untuk menyelesaikan tahap instalasi Gitea, jalankan perintah berikut ini.

sudo chmod 750 /etc/gitea
sudo chmod 640 /etc/gitea/app.ini

Konfigurasi Nginx sebagai Proxy SSL

Tahap ini akan menunjukkan cara melakukan konfigurasi Nginx dan Lets Encrypt, agar Gitea dapat diakses via koneksi https dan tidak lagi menggunakan port. Tidak harus, namun sangat direkomendasikan.

Artikel ini akan menggunakan git.contoh.com sebagai nama domain.

Langkah pertama, install Nginx dan Lets Encrypt.

Kemudian edit file konfigurasi server block untuk domain git.contoh.com dengan menjalankan perintah berikut.

sudo vi /etc/nginx/sites-enabled/git.contoh.com

Pada editor teks yang terbuka, salin dan update file dengan menggunakan kode dibawah ini.

Simpan perubahan, dan restart Nginx.

sudo systemctl restart nginx

Selanjutnya ganti url default Gitea dengan domain git.contoh.com lewat perintah berikut.

sudo vi /etc/gitea/app.ini

Pada editor teks, cari bagian [server] kemudian ubah menjadi seperti berikut ini.

[server]
DOMAIN           = git.contoh.com
ROOT_URL         = https://git.contoh.com/

Simpan perubahan, dan restart Gitea.

sudo systemctl restart gitea

Sampai pada langkah ini, Gitea sudah bisa diakses menggunakan alamat https://git.contoh.com

Konfigurasi notifikasi email

Supaya Gitea bisa mengirimkan email notifikasi, dibutuhkan pengaturan lanjutan pada file konfigurasi Gitea.

Buka file konfigurasi Gitea.

sudo vi /etc/gitea/app.ini

Cari bagian [mailer] dan lakukan perubahan di bagian itu dengan memasukkan konfigurasi SMTP yang tepat. Konfigurasi yang salah, akan menyebabkan email notifikasi tidak akan terkirim.

[mailer]
ENABLED = true
HOST    = SMTP_SERVER:SMTP_PORT
FROM    = SENDER_EMAIL
USER    = SMTP_USER
PASSWD  = YOUR_SMTP_PASSWORD

Simpan perubahan, dan restart kembali Gitea.

sudo systemctl restart gitea

Untuk melakukan pengecekan apakah berfungsi dengan baik, kunjungi: Site Administration > Configuration > SMTP Mailer Configuration, dan cobalah untuk mengirim Test Email dari situ.

Upgrade Gitea

Hentikan Gitea terlebih dulu dengan perintah berikut.

sudo systemctl stop gitea

Kunjungi halaman unduhan Gitea dan lihat versi terbaru yang tersedia untuk diunduh. Lalu ganti variabel dari VERSION pada perintah dibawah, dan jalankan perintah ini secara berurutan.

VERSION=<VERSI_TERBARU_GITEA>
wget -O /tmp/gitea https://dl.gitea.io/gitea/${VERSION}/gitea-${VERSION}-linux-amd64
sudo mv /tmp/gitea /usr/local/bin
sudo chmod +x /usr/local/bin/gitea
sudo systemctl restart gitea

Bisa juga dilakukan dengan membuat file gitea-upgrade.sh dan mengisi-nya dengan kode dibawah ini.

Jangan lupa mengganti variable VERSION terlebih dulu sebelum menyimpan file nya. Untuk mengeksekusinya, jalankan perintah berikut ini.

sudo bash gitea-upgrade.sh

Selesai.

0

Leave a Reply