Gitea fork dari gogs merupakan alternative lain dari Github ataupun Gitlab, selain menggunakan memory yang kecil, gitea juga stabil dan cepat. Saya sendiri menggunakan gitea (sebelumnya gogs) untuk hosting 30-an repository dengan 3 orang tim masih memadai dengan VPS 512 (DigitalOcean/Vultr) lebih dari cukup menghandle kebutuhan git tim, walaupun sekarang saya sudah pindah ke Linode karena alasan tertentu.
Cukup intro kurang jelasnya, sekarang kita langsung ke tutorial cara install Gitea di Debian 8.
Tambah User
Untuk menjalankan proses gitea, sebaiknya menggunakan user biasa (bukan root). Disini kita akan membuat user baru jaranguda
adduser jaranguda
Download Gitea
Buat direktori untuk menyimpan semua data gitea di /home/jaranguda/gitea
, lalu download gitea
su jaranguda; mkdir /home/jaranguda/gitea; cd /home/jaranguda/gitea wget https://dl.gitea.io/gitea/1.0.1/gitea-1.0.1-linux-amd64 -O gitea chmod +x gitea
Jalankan gitea
./gitea web
Buka di browser http://ip.address:3000
Disini saya menggunakan SQLite, pilih Database Type
SQLite3
Ingat untuk mengganti Application URL ke domain/subdomain anda contoh http://git.jaranguda.com:3000/
klik Admin Account Settings
, input username dan password anda.
Akhiri dengan mengklik Install
. User yang anda tambahkan adalah user admin, yang bisa mengakses semua konfigurasi gitea.
Setting SSL
Untuk setting SSL kita akan menggunakan reverse proxy nginx dan letsencrypt. Disini saya tidak akan membahas cara mengarahkan DNS dari IP ke subdomain/domain anda, biar tutorialnya ngga terlalu panjang dan sudah banyak yang membahasnya.
Install nginx
apt-get install nginx -y
Install certbot
echo "deb http://ftp.debian.org/debian jessie-backports main" >> /etc/apt/sources.list apt-get update apt-get install certbot -t jessie-backports -y
Install Let’s encrypt
certbot certonly --webroot -w /var/www/html/ -d git.jaranguda.com
Buat vhost untuk domain gitea anda (cth git.jaranguda.com) /etc/nginx/sites-available/git.jaranguda.com.conf
# /etc/nginx/sites-available/git.jaranguda.com.conf server { listen 80; server_name git.jaranguda.com; return 301 https://$server_name$request_uri; } server { listen 443 ssl; server_name git.jaranguda.com; ssl_certificate /etc/letsencrypt/live/git.jaranguda.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/git.jaranguda.com/privkey.pem; location / { proxy_set_header X-Real-IP $remote_addr; proxy_pass http://localhost:3000; } }
Buat symbolic link, agar vhost/server block tersebut di aktifkan
ln -s /etc/nginx/sites-available/git.jaranguda.com.conf /etc/nginx/sites-enabled/git.jaranguda.com.conf
Tes konfigurasi nginx lalu restart
nginx -t; service nginx restart; service nginx status
Buka domain gitea anda di browser, bukan lagi menggunakan git.jaranguda.com:3000
tetapi git.jaranguda.com
Semua akses ke git.jaranguda.com
akan di forward ke https://git.jaranguda.com