GNU/Linux >> Belajar Linux >  >> Panels >> Panels

Cara Instal Gitea dengan NGINX dan Let's Encrypt SSL Gratis di Ubuntu 20.04

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.


Panels
  1. Cara menginstal Elgg dengan Nginx di Ubuntu 14.04

  2. Cara Menginstal Let's Encrypt SSL di Ubuntu 18.04 dengan Nginx

  3. Cara Menginstal Joomla dengan Nginx di Ubuntu 18.04

  1. Cara Menginstal Nextcloud dengan Nginx dan Lets Encrypt SSL di Ubuntu 20.04 LTS

  2. Cara Menginstal Magento 2 dengan Nginx dan Mengenkripsi SSL di Ubuntu 20.04 LTS

  3. Cara Mengamankan Nginx dengan Let's Encrypt di Ubuntu 20.04

  1. Cara Menginstal WordPress dengan Nginx dan Mengenkripsi SSL di CentOS 8

  2. Cara Menginstal Drupal dengan Nginx dan Mengenkripsi SSL di Ubuntu 20.04 LTS

  3. Cara Menginstal Shopware 6 dengan Nginx dan Lets Encrypt SSL di Ubuntu 20.04