GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Menginstal dan Mengonfigurasi Gogs di Ubuntu 18.04

Gogs adalah server git open-source yang dihosting sendiri yang ditulis dalam Go. Ini mencakup editor file repositori, pelacakan masalah proyek, dan wiki bawaan.

Gogsis merupakan aplikasi ringan dan dapat diinstal pada sistem berdaya rendah. Jika Anda mencari alternatif untuk Gitlab dengan jejak memori yang jauh lebih kecil dan Anda tidak membutuhkan semua fitur yang ditawarkan Gitlab, Anda harus mencoba Gogs.

Tutorial ini mencakup langkah-langkah untuk menginstal dan mengkonfigurasi Gogs di Ubuntu 18.04. Instruksi yang sama berlaku untuk Ubuntu 16.04 dan distribusi berbasis Ubuntu lainnya.

Sebelum Anda Mulai #

Gogs dapat menggunakan SQLite, PostgreSQL, atau MySQL/MariaDBdatabase untuk menyimpan semua datanya.

Dalam tutorial ini, kita akan menggunakan SQLite sebagai database pilihan. Jika SQLite tidak diinstal pada sistem Anda, Anda dapat menginstalnya dengan mengetik:

sudo apt install sqlite3

Untuk lapisan keamanan tambahan, disarankan untuk menyiapkan firewall dasar. Anda dapat mengikuti langkah-langkah di Panduan Cara Mengatur Firewall dengan UFW di Ubuntu 18.04.

Memasang Gogs #

Kami akan menginstal Gogs dari biner. Instalasi adalah proses yang cukup mudah.

Instal Git #

Langkah pertama adalah menginstal Giton server Anda. Untuk melakukannya, segarkan indeks paket lokal dan instal paket git dengan menjalankan perintah berikut sebagai pengguna sudo:

sudo apt updatesudo apt install git

Verifikasi instalasi dengan menampilkan versi Git:

git --version
git version 2.17.1

Buat pengguna Git #

Buat pengguna sistem baru untuk menjalankan layanan Gogs dengan mengetik:

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

Perintah akan membuat pengguna dan mengatur direktori home ke /home/git . Outputnya akan terlihat seperti di bawah ini:

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

Unduh biner Gogs #

Kunjungi halaman Unduh Gogs dan unduh biner terbaru untuk arsitektur Anda. Pada saat penulisan, versi terbaru adalah 0.11.86, jika ada versi baru yang tersedia ubah VERSION variabel dalam perintah di bawah ini.

Unduh arsip Gogs di /tmp direktori menggunakan perintah wget berikut:

VERSION=0.11.86wget https://dl.gogs.io/${VERSION}/gogs_${VERSION}_linux_amd64.tar.gz -P /tmp

Setelah unduhan selesai, ekstrak file tar.gz Gogs dan pindahkan ke /home/git direktori:

sudo tar xf /tmp/gogs_*_linux_amd64.tar.gz -C /home/git

Jalankan perintah berikut untuk mengubah kepemilikan direktori instalasi Gogs menjadi pengguna dan grup git:

sudo chown -R git: /home/git/gogs

Buat File Unit systemd #

Gogs dilengkapi dengan file unit Systemd yang sudah dikonfigurasikan agar sesuai dengan pengaturan kami.

Salin file ke /etc/systemd/system/ direktori dengan mengetik:

sudo cp /home/git/gogs/scripts/systemd/gogs.service /etc/systemd/system/

Setelah selesai, mulai dan aktifkan layanan Gogs:

sudo systemctl start gogssudo systemctl enable gogs

Verifikasi bahwa layanan berhasil dimulai:

* gogs.service - Gogs
   Loaded: loaded (/etc/systemd/system/gogs.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2019-04-25 04:13:44 PDT; 9s ago
 Main PID: 14376 (gogs)
    Tasks: 8 (limit: 2319)
   CGroup: /system.slice/gogs.service
           `-14376 /home/git/gogs/gogs web

Instal Gogs menggunakan penginstal web #

Sekarang setelah Gogs diunduh dan dijalankan, sekarang saatnya untuk menyelesaikan penginstalan melalui antarmuka web.

Buka browser Anda, ketik http://YOUR_DOMAIN_IR_IP:3000 dan layar seperti berikut akan muncul:

Pengaturan Basis Data:

  • Jenis Basis Data:SQLite3
  • Jalur:Gunakan jalur absolut, /home/git/gogs/gogs.db

Pengaturan Umum Aplikasi

  • Nama Aplikasi:Masukkan nama organisasi Anda
  • Jalur Root Repositori:Biarkan /home/git/gogs-repositories default
  • Jalankan Pengguna:git
  • Domain:Masukkan domain atau alamat IP server Anda.
  • Port SSH:22, ubah jika SSH mendengarkan di Port lain
  • Port HTTP:3000
  • URL Aplikasi:Gunakan http dan domain atau alamat IP server Anda.
  • Jalur Log:Biarkan /home/git/gogs/log default
Nanti Anda dapat mengubah pengaturan dengan mengedit file konfigurasi Gogs.

Setelah selesai tekan tombol "Instal Gogs". Instalasi instan dan ketika selesai Anda akan diarahkan ke halaman login.

Klik tautan “Daftar sekarang”.

Pengguna terdaftar pertama secara otomatis ditambahkan ke grup Admin.

Itu dia. Gogs telah diinstal pada mesin Ubuntu Anda.

Mengonfigurasi Nginx sebagai Proksi Penghentian SSL #

Langkah ini opsional tetapi sangat disarankan. Untuk menggunakan Nginx sebagai proxy terbalik, Anda harus memiliki domain atau subdomain yang menunjuk ke IP publik server Anda. Dalam tutorial ini, kita akan menggunakan gogs.example.com .

Pertama, instal Nginx dan buat sertifikat SSL Let's Encrypt gratis dengan mengikuti panduan di bawah ini:

  • Cara Menginstal Nginx di Ubuntu 18.04
  • Amankan Nginx dengan Let's Encrypt di Ubuntu 18.04

Setelah selesai, buka editor teks Anda dan edit file blok server domain:

sudo nano /etc/nginx/sites-enabled/gogs.example.com
/etc/nginx/sites-enabled/gogs.example.com
server {
    listen 80;
    server_name gogs.example.com;

    include snippets/letsencrypt.conf;
    return 301 https://gogs.example.com$request_uri;
}

server {
    listen 443 ssl http2;
    server_name gogs.example.com;

    proxy_read_timeout 720s;
    proxy_connect_timeout 720s;
    proxy_send_timeout 720s;

    client_max_body_size 50m;

    # Proxy headers
    proxy_set_header X-Forwarded-Host $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Real-IP $remote_addr;

    # SSL parameters
    ssl_certificate /etc/letsencrypt/live/gogs.example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/gogs.example.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/gogs.example.com/chain.pem;
    include snippets/letsencrypt.conf;
    include snippets/ssl.conf;

    # log files
    access_log /var/log/nginx/gogs.example.com.access.log;
    error_log /var/log/nginx/gogs.example.com.error.log;

    # Handle / requests
    location / {
       proxy_redirect off;
       proxy_pass http://127.0.0.1:3000;
    }
}
Jangan lupa untuk mengganti gogs.example.com dengan domain Gogs Anda dan mengatur jalur yang benar ke file sertifikat SSL. Semua permintaan HTTP akan dialihkan ke HTTPS

Mulai ulang layanan Nginx agar perubahan diterapkan:

sudo systemctl restart nginx

Selanjutnya, kita perlu mengubah domain Gogs dan url root. Untuk melakukannya, buka file konfigurasi dan edit baris berikut:

sudo nano /home/git/gogs/custom/conf/app.ini
/home/git/gogs/custom/conf/app.ini
[server]
DOMAIN           = gogs.example.com
ROOT_URL         = https://gogs.example.com/

Mulai ulang layanan Gogs dengan mengetik:

sudo systemctl restart gogs

Pada titik ini, Gogs dikonfigurasi dan Anda dapat mengaksesnya di:https://gogs.example.com

Mengonfigurasi Notifikasi Email #

Agar Gogs dapat mengirim email pemberitahuan, Anda dapat menginstal Postfix atau menggunakan beberapa layanan surat transaksional seperti SendGrid, MailChimp, MailGun atau SES.

Untuk mengaktifkan notifikasi email, buka file konfigurasi dan edit baris berikut:

sudo nano /home/git/gogs/custom/conf/app.ini
/home/git/gogs/custom/conf/app.ini
[mailer]
ENABLED = true
HOST    = SMTP_SERVER:SMTP_PORT
FROM    = SENDER_EMAIL
USER    = SMTP_USER
PASSWD  = YOUR_SMTP_PASSWORD

Pastikan Anda memasukkan informasi server SMTP yang benar.

Mulai ulang layanan Gogs agar perubahan diterapkan:

sudo systemctl restart gogs

Gogs juga memungkinkan Anda terhubung ke Slack dengan membuat webhookan web dan mengirim notifikasi ke saluran Slack Anda.

Mengupgrade Gogs #

Untuk meningkatkan versi Gogs, diperlukan beberapa langkah manual.

  1. Pertama-tama hentikan layanan Gogs:

    sudo systemctl stop gogs
  2. Ganti nama direktori instalasi Gogs.

    sudo mv /home/git/gogs{,_old}
  3. Unduh versi Gogs terbaru dan pindahkan ke /home/git direktori:

    VERSION=<THE_LATEST_GOGS_VERSION>wget https://dl.gogs.io/${VERSION}/gogs_${VERSION}_linux_amd64.tar.gz -P /tmpsudo tar xf /tmp/gogs_*_linux_amd64.tar.gz -C /home/git

    Pastikan Anda mengubah VERSION dengan versi rilis Gogs yang sebenarnya.

  4. Salin custom , data , log direktori ke direktori yang diekstrak menggunakan perintah rsync berikut:

    sudo rsync -a /home/git/gogs_old/{custom,data,log,gogs.db} /home/git/gogs/
  5. Terakhir, mulai layanan Gogs:

    sudo systemctl restart gogs

Itu dia.


Ubuntu
  1. Cara Menginstal dan Mengonfigurasi Redis di Ubuntu 18.04

  2. Cara Menginstal dan Mengkonfigurasi Redmine di Ubuntu 18.04

  3. Cara Menginstal dan Mengonfigurasi Samba di Ubuntu 18.04

  1. Cara Menginstal dan Mengonfigurasi Redis di Ubuntu 20.04

  2. Cara Menginstal dan Mengonfigurasi Jenkins di Ubuntu 20.04

  3. Cara Menginstal dan Mengonfigurasi Askbot di Ubuntu 16.04

  1. Cara Menginstal dan Mengonfigurasi MongoDB di Ubuntu 14.04

  2. Cara menginstal dan mengkonfigurasi Solr 6 di Ubuntu 16.04

  3. Cara Menginstal dan Mengonfigurasi GitLab di Ubuntu 16.04