Android

Cara menginstal dan mengkonfigurasi gog di ubuntu 18.04

How to make Ubuntu look like MacOS Mojave! (Apple meets Linux) Ubuntu Customization Guide

How to make Ubuntu look like MacOS Mojave! (Apple meets Linux) Ubuntu Customization Guide

Daftar Isi:

Anonim

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

Gogs adalah aplikasi yang ringan dan dapat diinstal pada sistem berdaya rendah. Jika Anda mencari alternatif untuk Gitlab dengan jejak memori yang jauh lebih kecil dan Anda tidak memerlukan semua lonceng dan peluit yang ditawarkan Gitlab maka 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 kamu memulai

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

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

sudo apt install sqlite3

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

Menginstal Gogs

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

Instal Git

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

sudo apt update sudo apt install git

Verifikasi pemasangan 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 variabel VERSION dalam perintah di bawah ini.

Unduh arsip Gogs di /tmp menggunakan perintah wget berikut:

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

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

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

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

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

Buat Systemd Unit File

Gogs dilengkapi dengan file unit Systemd yang sudah dikonfigurasi untuk cocok dengan pengaturan kami.

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

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

Setelah selesai, mulai dan aktifkan layanan Gogs:

sudo systemctl start gogs sudo systemctl enable gogs

Verifikasi bahwa layanan dimulai dengan sukses:

* 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 Gogs sudah diunduh dan dijalankan, sekarang saatnya menyelesaikan instalasi melalui antarmuka web.

Buka browser Anda, ketik http://YOUR_DOMAIN_IR_IP:3000 dan layar yang serupa dengan yang berikut akan muncul:

Pengguna terdaftar pertama secara otomatis ditambahkan ke grup Admin.

Itu dia. Gogs telah diinstal pada mesin Ubuntu Anda.

Mengkonfigurasi Nginx sebagai Proxy Pengakhiran 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 hasilkan Mari Enkripsi sertifikat SSL gratis dengan mengikuti panduan di bawah ini:

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 ganti gogs.example.com dengan domain Gogs Anda dan tetapkan jalur yang benar ke file sertifikat SSL. Semua permintaan HTTP akan dialihkan ke 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

DOMAIN = gogs.example.com ROOT_URL =

Mulai ulang layanan Gogs dengan mengetik:

sudo systemctl restart gogs

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

Mengkonfigurasi Pemberitahuan Email

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

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

sudo nano /home/git/gogs/custom/conf/app.ini /home/git/gogs/custom/conf/app.ini

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 untuk terhubung ke Slack dengan membuat webhook web dan mengirim pemberitahuan ke saluran Slack Anda.

Memutakhirkan Gogs

Untuk memutakhirkan Gogs, beberapa langkah manual diperlukan.

  1. Pertama-tama hentikan layanan Gogs:

    sudo systemctl stop gogs

    Ganti nama direktori instalasi Gogs.

    sudo mv /home/git/gogs{, _old}

    Unduh versi Gogs terbaru dan pindahkan ke direktori /home/git :

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

    Pastikan Anda mengubah VERSION dengan versi rilis Gogs yang sebenarnya.

    Salin direktori custom , data , log ke direktori yang diekstraksi menggunakan perintah rsync berikut:

    sudo rsync -a /home/git/gogs_old/{custom, data, log} /home/git/gogs/

    Terakhir, mulai layanan Gogs:

    sudo systemctl restart gogs

Itu dia.

Kesimpulan

Tutorial ini memandu Anda melalui pemasangan dan konfigurasi Gogs di Ubuntu 18.04. Anda sekarang dapat membuat proyek pertama Anda dan mulai menggunakan server Gogs baru Anda.

ubuntu gogs