Dalam tutorial ini, kami akan menunjukkan kepada Anda cara menginstal perangkat lunak Gitea di VPS Anda bersama dengan Nginx sebagai server web dan sertifikat Let's Encrypt Gratis, menggunakan Ubuntu 20.04.
Gitea adalah perangkat lunak yang ditulis dalam bahasa pemrograman "Go" dan mirip dengan Bitbucket, GitHub, dan Gitlab. Perangkat lunak ini digunakan untuk layanan Git yang dihosting sendiri dan kompatibel dengan beberapa sistem operasi seperti Linux, Windows, macOS, dan ARM.
Instalasi akan memakan waktu tidak lebih dari 10 menit dan Anda akan menikmatinya saat menginstalnya. Mari kita mulai!
Prasyarat
- Pemasangan baru Ubuntu 20.04
- Hak istimewa pengguna:pengguna root atau non-root dengan hak istimewa sudo
Langkah Langkah 1. Perbarui Sistem
Instalasi baru Ubuntu 20.04 memerlukan pembaruan sistem dan itulah sebabnya kami perlu menjalankan perintah berikut.
sudo apt update -y && sudo apt upgrade -y
Langkah 2. Instal dependensi yang diperlukan
Paket-paket ini perlu diinstal sebelum kita melanjutkan instalasi.
apt install gnupg2 git unzip -y
Langkah 3. Instal server web Nginx
Server web Nginx dapat diinstal dengan perintah berikut:
sudo apt install nginx -y
Setelah instalasi selesai, Anda dapat memeriksa status layanan Nginx:
sudo systemctl status nginx
Langkah 4. Instal server database MariaDB
MariaDB digunakan sebagai backend database untuk Gitea dan dapat diinstal dengan perintah di bawah ini:
sudo apt-get install mariadb-server -y
Langkah 5. Konfigurasikan server database MariaDB
Setelah server database berhasil diinstal, kita perlu mengkonfigurasinya.
Masuk ke shell MariaDB dengan “mysql ” dan aktifkan tabel Innodb:
MariaDB [(none)]> SET GLOBAL innodb_file_per_table = ON;
Keluar dari shell MariaDB dengan “keluar ” dan buka file konfigurasi MariaDB default:
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
Tambahkan baris kode berikut di bawah “mysqld ” bagian
innodb_file_format = Barracuda
innodb_large_prefix = 1
innodb_default_row_format = dynamic
Setelah perubahan dilakukan, mulai ulang layanan MariaDB agar perubahan diterapkan secara efektif.
sudo systemctl restart mariadb
Langkah 6. Buat database dan pengguna database
Software Gitea membutuhkan database dan user agar dapat berfungsi dengan baik. Untuk membuatnya dan memberikan hak istimewa yang tepat, silakan masuk kembali ke shell MariaDB dan jalankan perintah berikut:
MariaDB [(none)]>CREATE DATABASE gitea;
MariaDB [(none)]>CREATE USER 'gitea'@'localhost' IDENTIFIED BY 'strongpasswordhere';
MariaDB [(none)]>GRANT ALL ON gitea.* TO 'gitea'@'localhost' IDENTIFIED BY 'strongpasswordhere' WITH GRANT OPTION;
MariaDB [(none)]>ALTER DATABASE gitea CHARACTER SET = utf8mb4 COLLATE utf8mb4_unicode_ci;
MariaDB [(none)]>FLUSH PRIVILEGES;
MariaDB [(none)]>exit;
Langkah 7. Instal Gitea
Ini adalah langkah yang kami tunggu begitu lama dan itu adalah menginstal perangkat lunak Gitea. Sebelum kita menginstalnya, kita perlu membuat pengguna sistem untuk menjalankan Gitea dengan perintah berikut:
sudo adduser --system --group --disabled-password --shell /bin/bash --home /home/git --gecos 'Git Version Control' git
Selanjutnya adalah mengunduh Gitea versi terbaru di server Anda.
sudo wget https://dl.gitea.io/gitea/1.14.6/gitea-1.14.6-linux-amd64
Setelah Gitea diunduh, kita perlu menyalin biner ke jalur sistem dan mengatur izin yang tepat :
sudo cp gitea-1.14.6-linux-amd64 /usr/bin/gitea && chmod 755 /usr/bin/gitea
Langkah selanjutnya adalah membuat direktori Gitea untuk menyimpan data dan log beserta hak aksesnya:
sudo mkdir -p /etc/gitea /var/lib/gitea/{custom,data,indexers,public,log}
sudo chown git:git /etc/gitea /var/lib/gitea/{custom,data,indexers,public,log}
sudo chmod 750 /var/lib/gitea/{data,indexers,log}
sudo chmod 770 /etc/gitea
Langkah 8. Buat Layanan Gitea
Buat file kosong:
sudo nano /etc/systemd/system/gitea.service
Dan, impor baris kode berikut:
[Unit]
Description=Gitea
After=syslog.target
After=network.target
After=mysql.service
[Service]
RestartSec=2s
Type=simple
User=git
Group=git
WorkingDirectory=/var/lib/gitea/
ExecStart=/usr/bin/gitea web -c /etc/gitea/app.ini
Restart=always
Environment=USER=git HOME=/home/git GITEA_WORK_DIR=/var/lib/gitea
[Install]
WantedBy=multi-user.target
Setelah membuat file dengan konten di dalamnya, muat ulang file konfigurasi, aktifkan dan mulai layanan Gitea.
sudo systemctl daemon-reload
sudo systemctl enable gitea
sudo systemctl start gitea
Untuk memeriksa apakah Gitea berjalan dengan benar, jalankan perintah berikut:
sudo systemctl status gitea
Outputnya harus seperti ini:
# sudo systemctl status gitea
● gitea.service - Gitea
Dimuat:dimuat (/etc/systemd/system/gitea.service; diaktifkan; preset vendor:diaktifkan)
Aktif:aktif (berjalan) sejak Sen 2021-08-09 23:36:36 CEST; 8 menit yang lalu
PID Utama:42187 (gitea)
Tugas:6 (batas:4652)
Memori:111,8M
CGroup:/system.slice/gitea.service
42187 /usr/bin/gitea web -c /etc/gitea/app.ini
Langkah 9. Nginx sebagai Proxy Terbalik untuk Gitea
Pertama, buat file konfigurasi Nginx baru:
sudo nano /etc/nginx/conf.d/gitea.conf
Tambahkan baris kode berikut:
upstream gitea {
server 127.0.0.1:3000;
}
server {
listen 80;
server_name gitea.yourdomain.com;
root /var/lib/gitea/public;
access_log off;
error_log off;
location / {
try_files maintain.html $uri $uri/index.html @node;
}
location @node {
client_max_body_size 0;
proxy_pass http://localhost:3000;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_max_temp_file_size 0;
proxy_redirect off;
proxy_read_timeout 120;
}
}
Setelah file dibuat, simpan, tutup, dan periksa konfigurasi Nginx dengan perintah berikut:
nginx -t
Outputnya harus:
#nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Jika konfigurasinya OK, restart layanan Nginx untuk mendapatkan perubahan terbaru.
systemctl restart nginx
Langkah 10. Instal Gratis Let's Encrypt SSL certificate
Selanjutnya, Anda perlu menginstal sertifikat SSL 'Let's Encrypt' gratis. 'Let's Encrypt' saat ini adalah salah satu penyedia enkripsi TLS paling populer dalam beberapa tahun terakhir. Ini adalah otoritas sertifikat terbesar di dunia, jika tidak digunakan oleh lebih dari 250 juta situs web.
Pertama, Anda perlu menginstal perangkat lunak Certbot di server dengan perintah berikut:
sudo apt install certbot python3-certbot-nginx -y
Setelah Certbot terpasang, kami siap memasang sertifikat untuk domain:
sudo certbot --nginx -d gitea.example.com
Saat menginstal, Anda dapat memilih opsi pengalihan dan semua permintaan dari HTTP akan dialihkan ke HTTPS.
Setelah instalasi berhasil, pesan serupa berikut akan diterima:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/gitea.example.com/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/gitea.example.com/privkey.pem
11. Akses situs web Gitea dengan aman
Sekarang ketika setiap langkah selesai, kami dapat mengakses situs web Gitea kami di https://gitea.example.com Masukkan kata sandi pengguna MySQL yang Anda gunakan untuk membuat pada langkah 6. Gulir ke bawah di bagian bawah halaman dan tekan tombol “Instal Gitea “.
Selamat! Anda berhasil menginstal perangkat lunak Gitea dan Anda dapat menikmati menggunakannya sekarang. Tentu saja, Anda cukup berlangganan paket hosting VPS Linux kami dan membiarkan para ahli kami menyiapkan semuanya dalam hitungan menit, sepenuhnya gratis.
PS. Jika Anda menyukai posting ini tentang cara menginstal Gitea di Nginx dengan Lets Encrypt SSL Gratis di Ubuntu 20.04, silakan bagikan dengan teman-teman Anda di jejaring sosial menggunakan tombol di sebelah kiri atau cukup tinggalkan balasan di bawah. Terima kasih.