GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Menginstal Layanan Gogs Go Git di Ubuntu 16.04

Gogs adalah layanan Git gratis dan open source yang ditulis dalam bahasa Go. Gogs adalah layanan git yang dihosting sendiri tanpa rasa sakit yang memungkinkan Anda membuat dan menjalankan server Git Anda sendiri di server perangkat keras minimal. Web-UI Gogs sangat mirip dengan GitHub dan menawarkan dukungan untuk database MySQL, PostgreSQL, dan SQLite.

Dalam tutorial ini, kami akan menunjukkan kepada Anda langkah demi langkah cara menginstal dan mengonfigurasi layanan Git Anda sendiri menggunakan Gogs di Ubuntu 16.04. Tutorial ini akan mencakup detail termasuk, cara menginstal Go di sistem Ubuntu, menginstal PostgreSQL, dan menginstal serta mengkonfigurasi server web Nginx sebagai proxy terbalik untuk aplikasi Go.

Prasyarat

  • Ubuntu 16.04
  • Hak istimewa root

Apa yang akan kami lakukan

  1. Perbarui dan Tingkatkan Sistem
  2. Instal dan Konfigurasi PostgreSQL
  3. Instal Go dan Git
  4. Instal Gogs
  5. Konfigurasikan Gogs
  6. Menjalankan Gogs sebagai Layanan
  7. Instal dan Konfigurasi Nginx sebagai Proxy Terbalik
  8. Pengujian

Langkah 1 - Perbarui dan Tingkatkan Sistem

Sebelum melangkah lebih jauh, perbarui semua repositori Ubuntu dan tingkatkan semua paket.

Jalankan perintah apt di bawah ini.

sudo apt update
sudo apt upgrade

Langkah 2 - Instal dan Konfigurasi PostgreSQL

Gogs menawarkan dukungan untuk sistem database MySQL, PostgreSQL, SQLite3, MSSQL, dan TiDB.

Dalam panduan ini, kita akan menggunakan PostgreSQL sebagai database untuk instalasi Gogs kita.

Instal PostgreSQL menggunakan perintah apt di bawah ini.

sudo apt install -y postgresql postgresql-client libpq-dev

Setelah penginstalan selesai, mulai layanan PostgreSQL dan aktifkan untuk diluncurkan setiap kali sistem boot.

systemctl start postgresql
systemctl aktifkan postgresql

Database PostgreSQL telah diinstal pada sistem Ubuntu.

Selanjutnya, kita perlu membuat database dan pengguna baru untuk Gogs.

Login sebagai pengguna 'postgres' dan jalankan perintah 'psql' untuk mendapatkan shell PostgreSQL.

su - postgres
psql

Buat pengguna baru bernama 'git', dan berikan hak istimewa kepada pengguna untuk 'CREATEDB'.

BUAT PENGGUNA git CREATEDB;
\password git

Buat database bernama 'gogs_production', dan tetapkan pengguna 'git' sebagai pemilik database.

BUAT DATABASE gogs_production OWNER git;

Database PostgreSQL baru 'gogs_production' dan 'git' pengguna untuk instalasi Gogs telah dibuat.

Langkah 3 - Instal Go dan Git

Instal Git dari repositori menggunakan perintah apt di bawah ini.

sudo apt install git

Sekarang tambahkan 'git' pengguna baru ke sistem.

sudo adduser --disabled-login --gecos 'Gogs' git

Masuk sebagai pengguna 'git' dan buat direktori 'lokal' baru.

su - git
mkdir -p /home/git/local

Buka direktori 'local' dan unduh 'Go' (versi terbaru) menggunakan perintah wget seperti yang ditunjukkan di bawah ini.

cd ~/local
wget https://dl.google.com/go/go1.9.2.linux-amd64.tar.gz

Ekstrak file terkompresi go, lalu hapus.

tar -xf go1.9.2.linux-amd64.tar.gz
rm -f go1.9.2.linux-amd64.tar.gz

File biner 'Go' telah diunduh di direktori '~/local/go'. Sekarang kita perlu mengatur lingkungan - kita perlu mendefinisikan direktori 'GOROOT' dan 'GOPATH sehingga kita dapat menjalankan perintah 'go' pada sistem di bawah pengguna 'git'.

Jalankan semua perintah berikut.

cd ~/
echo 'ekspor GOROOT=$HOME/local/go'>> $HOME/.bashrc
echo 'ekspor GOPATH=$HOME/go'>> $HOME/.bashrc
echo 'ekspor PATH=$PATH:$GOROOT/bin:$GOPATH/bin'>> $HOME/.bashrc

Dan muat ulang Bash dengan menjalankan perintah 'source ~/.bashrc' seperti yang ditunjukkan di bawah ini.

sumber ~/.bashrc

Pastikan Anda menggunakan Bash sebagai shell default Anda.

Sekarang jalankan perintah 'go' untuk memeriksa versi.

versi awal

Dan pastikan Anda mendapatkan hasilnya seperti yang ditunjukkan pada tangkapan layar berikut.

Go sekarang diinstal pada sistem di bawah pengguna 'git'.

Langkah 4 - Instal Layanan Gogs Go Git

Masuk sebagai pengguna 'git' dan unduh 'Gogs' dari GitHub menggunakan perintah 'go'.

su - git
go get -u github.com/gogits/gogs

Perintah tersebut akan mengunduh semua kode sumber Gogs di direktori 'GOPATH/src'.

Buka direktori '$GOPATH/src/github.com/gogits/gogs' dan buat gogs menggunakan perintah di bawah ini.

cd $GOPATH/src/github.com/gogits/gogs
go build

Dan pastikan Anda tidak mendapatkan kesalahan.

Sekarang jalankan Layanan Gogs Go Git menggunakan perintah di bawah ini.

./gogs web

Perintah akan menjalankan Gogs pada port default 3000.

Buka browser web Anda dan ketik alamat IP server Anda dengan port 3000, milik saya adalah http://192.168.33.10:3000/

Dan Anda harus mendapatkan hasil seperti yang ditunjukkan di bawah ini.

Gogs diinstal pada sistem Ubuntu. Sekarang kembali ke terminal Anda dan tekan 'Ctrl + c' untuk keluar.

Langkah 5 - Konfigurasikan Layanan Gogs Go Git

Pada langkah ini, kami akan membuat konfigurasi khusus untuk Gogs.

Buka direktori instalasi Gogs dan buat direktori 'custom/conf' baru.

cd $GOPATH/src/github.com/gogits/gogs
mkdir -p custom/conf/

Salin konfigurasi default ke direktori kustom dan edit menggunakan vim.

cp conf/app.ini custom/conf/app.ini
vim custom/conf/app.ini

Di '[server] ', ubah server 'HOST_ADDR' dengan '127.0.0.1'.

[server]
PROTOCOL =http
DOMAIN =localhost
ROOT_URL =%(PROTOCOL)s://%(DOMAIN)s:%(HTTP_PORT)s/
HTTP_ADDR =127.0.0.1
HTTP_PORT =3000

Di '[database] ', ubah semuanya dengan info database Anda sendiri.

[database]
DB_TYPE =postgres
HOST =127.0.0.1:5432
NAME =gogs_production
USER =git
PASSWD =[email protected]#

Simpan dan keluar.

Sekarang verifikasi konfigurasi dengan menjalankan perintah seperti yang ditunjukkan di bawah ini.

./gogs web

Dan pastikan Anda mendapatkan hasilnya sebagai berikut.

Gogs sekarang berjalan dengan konfigurasi khusus kami, di bawah 'localhost' dengan port 3000.

Langkah 6 - Menjalankan Gogs sebagai Layanan

Pada langkah ini, kita akan mengkonfigurasi Gogs sebagai layanan pada sistem Ubuntu. Kami akan membuat konfigurasi file layanan baru 'gogs.service' di bawah direktori '/etc/systemd/system'.

Buka direktori '/etc/systemd/system' dan buat file layanan baru 'gogs.service' menggunakan editor vim.

cd /etc/systemd/system
vim gogs.service

Tempelkan konfigurasi layanan gogs berikut di sana.

[Unit]
Description=Gogs
After=syslog.target
After=network.target
After=mariadb.service mysqld.service postgresql.service memcached.service redis .service

[Layanan]
# Ubah kedua nilai ini dan batalkan komentar jika Anda memiliki
# repo dengan banyak file dan mendapatkan kesalahan HTTP 500 karena
# dari itu
###
#LimitMEMLOCK=tak terhingga
#LimitNOFILE=65535
Type=simple
User=git
Group=git
WorkingDirectory=/home/git/go/src/github.com/gogits/gogs
ExecStart=/home/git/go/src/github.com/gogits/gogs/gogs web
Mulai ulang=selalu
Environment=USER=git HOME=/home/git

[Instal]
WantedBy=multi-user.target

Simpan dan keluar.

Sekarang muat ulang layanan systemd.

systemctl daemon-reload

Mulai layanan gogs dan aktifkan untuk diluncurkan setiap kali sistem boot menggunakan perintah systemctl.

systemctl start gogs
systemctl aktifkan gogs

Gogs sekarang berjalan sebagai layanan di sistem Ubuntu.

Periksa menggunakan perintah di bawah ini.

netstat -plntu
systemctl status gogs

Dan Anda harus mendapatkan hasil seperti yang ditunjukkan di bawah ini.

Langkah 7 - Konfigurasi Nginx sebagai Proxy Terbalik untuk Gogs

Pada langkah ini, kami akan mengonfigurasi Nginx sebagai proxy terbalik untuk Gogs. Kami akan menggunakan paket Nginx dari repositorinya sendiri.

Tambahkan repositori Nginx menggunakan perintah add-apt.

sudo add-apt-repository -y ppa:nginx/stable

Sekarang perbarui semua repositori Ubuntu dan instal Nginx menggunakan perintah apt di bawah ini.

sudo apt update
sudo apt install nginx -y

Selanjutnya, masuk ke direktori '/etc/nginx/sites-available' dan buat file host virtual baru 'gogs'.

cd /etc/nginx/sites-available
vim gogs

Tempelkan konfigurasi berikut di sana.

server {
    listen 80;
    nama_server git.hakase-labs.co;

    lokasi / {
        proxy_pass http://localhost:3000;
    }
}

Simpan dan keluar.

Catatan:

Ubah baris 'server_name' dengan nama domain Anda sendiri.

Sekarang aktifkan virtual host baru dan uji konfigurasi nginx.

ln -s /etc/nginx/sites-available/gogs /etc/nginx/sites-enabled/
nginx -t

Pastikan tidak ada error, lalu restart layanan Nginx.

systemctl restart nginx

Langkah 8 - Pengujian

Buka browser web Anda dan ketik URL gogs Anda, milik saya adalah http://git.hakase-labs.co

Sekarang Anda akan mendapatkan halaman instalasi. Di bagian atas halaman, ketik semua info database PostgreSQL Anda.

Sekarang gulir ke bawah, dan klik menu tarik-turun 'Pengaturan akun admin'.

Ketikkan pengguna admin, kata sandi, dan email Anda.

Kemudian klik tombol 'Instal Gogs'.

Dan Anda akan diarahkan ke Dasbor pengguna Gogs seperti yang ditunjukkan di bawah ini.

Di bawah ini adalah 'Dasbor Admin' Gogs.

Gogs sekarang diinstal dengan database PostgreSQL dan server web Nginx di server Ubuntu 16.04


Ubuntu
  1. Cara Menginstal Git di Ubuntu 18.04 / 20.04

  2. Cara Menginstal PostgreSQL 9.6 di Ubuntu 20.04

  3. Cara menginstal git di ubuntu 16.04

  1. Cara Menginstal PostgreSQL di Ubuntu 18.04

  2. Cara Menginstal Nginx di Ubuntu 18.04

  3. Cara Menginstal Git di Ubuntu 18.04

  1. Cara Menginstal dan Mengonfigurasi Gogs di Ubuntu 18.04

  2. Cara Menginstal Git di Ubuntu 20.04

  3. Cara Menginstal PostgreSQL di Ubuntu 20.04