GNU/Linux >> Belajar Linux >  >> Cent OS

Cara Menginstal Gitea di CentOS 8

Gitea adalah server git open-source yang dihosting sendiri yang ditulis dalam Go. Muncul dengan editor file repositori, pelacakan masalah proyek, manajemen pengguna, pemberitahuan, wiki bawaan, dan banyak lagi.

Gitea adalah aplikasi yang ringan dan dapat diinstal pada sistem yang kurang bertenaga. Jika Anda mencari alternatif Gitlab dengan jejak memori yang jauh lebih kecil dan tidak membutuhkan semua fitur yang ditawarkan Gitlab, Anda harus mencoba Gitea.

Artikel ini menunjukkan cara menginstal dan mengkonfigurasi Gitea di CentOS 8.

Prasyarat #

Gitea mendukung backend database SQLite, PostgreSQL, dan MySQL/MariaDBas.

Kami akan menggunakan SQLite. Ini adalah database ringan yang menyimpan data dalam satu file. Jika SQLite tidak diinstal pada mesin CentOS Anda, Anda dapat menginstalnya dengan menjalankan perintah berikut sebagai pengguna sudo:

sudo dnf install sqlite

Kami berasumsi bahwa SELinux dinonaktifkan atau disetel ke mode permisif.

Menginstal Gitea #

Gitea dapat diinstal dari sumber, biner, dan sebagai paket. Itu juga dapat digunakan sebagai gambar Docker. Kami akan menginstal Gitea menggunakan biner.

Instal Git #

Langkah pertama adalah menginstal Giton CentOS Anda:

sudo dnf install git

Verifikasi instalasi dengan menampilkan versi Git:

git --version
git version 2.18.4

Buat pengguna Git #

Buat pengguna sistem baru untuk menjalankan aplikasi Gitea:

sudo useradd \   --system \   --shell /bin/bash \   --comment 'Git Version Control' \   --create-home \   --home /home/git \   git

Perintah akan membuat pengguna dan grup baru bernama git , dan atur direktori home ke /home/git .

Unduh biner Gitea #

Biner Gitea terbaru dapat diunduh dari halaman Unduh Gitea. Pastikan Anda mengunduh biner yang tepat untuk arsitektur Anda.

Pada saat penulisan, versi terbaru adalah 1.12.3. Jika ada versi baru yang tersedia, ubah VERSION variabel dalam perintah di bawah ini.

Gunakan wget untuk mengunduh biner Gitea di /tmp direktori:

VERSION=1.12.3sudo wget -O /tmp/gitea https://dl.gitea.io/gitea/${VERSION}/gitea-${VERSION}-linux-amd64

Anda dapat menjalankan biner dari lokasi mana pun. Kami akan mengikuti konvensi dan memindahkan biner ke /usr/local/bin direktori:

sudo mv /tmp/gitea /usr/local/bin

Jadikan biner dapat dieksekusi:

sudo chmod +x /usr/local/bin/gitea

Perintah berikut akan membuat direktori yang diperlukan dan mengatur izin dan kepemilikan yang diperlukan:

sudo mkdir -p /var/lib/gitea/{custom,data,indexers,public,log}sudo chown git: /var/lib/gitea/{data,indexers,log}sudo chmod 750 /var/lib/gitea/{data,indexers,log}sudo mkdir /etc/giteasudo chown root:git /etc/giteasudo chmod 770 /etc/gitea

Struktur direktori di atas direkomendasikan oleh dokumentasi resmi Gitea.

Izin dari /etc/gitea direktori diatur ke 770 sehingga wizard penginstalan dapat membuat file konfigurasi. Setelah penginstalan selesai, kami akan menetapkan izin yang lebih ketat.

Buat File Unit Sistem #

Gitea menyediakan file unit Systemd yang dikonfigurasi agar sesuai dengan pengaturan kami.

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

sudo wget https://raw.githubusercontent.com/go-gitea/gitea/master/contrib/systemd/gitea.service -P /etc/systemd/system/

Setelah selesai, aktifkan dan mulai layanan Gitea:

sudo systemctl daemon-reloadsudo systemctl enable --now gitea

Verifikasi bahwa layanan berhasil dimulai:

sudo systemctl status gitea
● gitea.service - Gitea (Git with a cup of tea)
   Loaded: loaded (/etc/systemd/system/gitea.service; enabled; vendor preset: enabled)
   Active: active (running) since Sat 2020-01-04 21:27:23 UTC; 3s ago
 Main PID: 14804 (gitea)
    Tasks: 9 (limit: 1152)
   CGroup: /system.slice/gitea.service
           └─14804 /usr/local/bin/gitea web --config /etc/gitea/app.ini
...

Konfigurasi Gitea #

Setelah Gitea aktif dan berjalan, sekarang saatnya untuk menyelesaikan penginstalan melalui antarmuka web.

Secara default, Gitea mendengarkan koneksi pada port 3000 pada semua antarmuka jaringan. Anda harus mengonfigurasi firewall untuk mengaktifkan akses ke antarmuka web Gitea:

sudo firewall-cmd --permanent --zone=public --add-port=3000/tcpsudo firewall-cmd --reload

Buka browser Anda, masukkan http://YOUR_DOMAIN_IR_IP:3000/install , dan akan muncul halaman konfigurasi awal:

Isi kolom yang diperlukan sebagai berikut:

Pengaturan Basis Data:

  • Jenis Basis Data:SQLite3
  • Jalur:Gunakan jalur absolut, /var/lib/gitea/data/gitea.db

Pengaturan Umum Aplikasi:

  • Judul Situs - Masukkan nama organisasi Anda.
  • Jalur Root Repositori - Biarkan /home/git/gitea-repositories default .
  • Jalur Akar Git LFS - Biarkan /var/lib/gitea/data/lfs default .
  • Jalankan Sebagai Nama Pengguna - git
  • Domain Server SSH - Masukkan domain atau alamat IP server Anda.
  • Port SSH - 22, ubah jika SSH mendengarkan di Port lain
  • Port Dengarkan HTTP Gitea - 3000
  • URL Basis Gitea - Gunakan http dan domain atau alamat IP server Anda.
  • Jalur Log - Biarkan /var/lib/gitea/log default
Kemudian, Anda dapat mengubah pengaturan dengan mengedit file konfigurasi Gitea.

Setelah selesai, tekan tombol "Instal Gitea". Instalasinya instan. Setelah selesai Anda akan diarahkan ke halaman login.

Klik tautan "Daftar sekarang". Pengguna terdaftar pertama secara otomatis ditambahkan ke grup Admin.

Untuk membuat instalasi lebih aman, ubah izin file konfigurasi Gitea menjadi hanya-baca menggunakan:

sudo chmod 750 /etc/giteasudo chmod 640 /etc/gitea/app.ini

Itu dia. Gitea telah diinstal pada mesin CentOS 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 git.example.com .

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

  • Cara Menginstal Nginx di CentOS 8
  • Amankan Nginx dengan Let's Encrypt di CentOS 8

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

sudo nano /etc/nginx/conf.d/git.example.com.conf
/etc/nginx/conf.d/git.example.com.conf
server {
    listen 80;
    server_name git.example.com;

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

server {
    listen 443 ssl http2;
    server_name git.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/git.example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/git.example.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/git.example.com/chain.pem;
    include snippets/letsencrypt.conf;
    include snippets/ssl.conf;

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

    # Handle / requests
    location / {
       proxy_redirect off;
       proxy_pass http://127.0.0.1:3000;
    }
}

Jangan lupa untuk mengganti git.example.com dengan domain Gitea Anda dan mengatur jalur yang benar ke file sertifikat SSL. Lalu lintas HTTP dialihkan ke HTTPS.

Setelah selesai, mulai ulang layanan Nginx agar perubahan diterapkan:

sudo systemctl restart nginx

Selanjutnya, ubah domain Gitea dan url root. Untuk melakukannya, buka file konfigurasi dan edit baris berikut:

sudo nano /etc/gitea/app.ini
/etc/gitea/app.ini
[server]
DOMAIN           = git.example.com
ROOT_URL         = https://git.example.com/

Mulai ulang layanan Gitea dengan mengetik:

sudo systemctl restart gitea

Pada titik ini, proxy Gitea telah dikonfigurasi, dan Anda dapat mengaksesnya di:https://git.example.com

Mengonfigurasi Notifikasi Email #

Agar email notifikasi dikirim, Anda dapat menginstal Postfix atau menggunakan layanan email transaksional seperti SendGrid, MailChimp, MailGun, atau SES.

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

sudo nano /etc/gitea/app.ini
/etc/gitea/app.ini
[mailer]
ENABLED = true
HOST    = SMTP_SERVER:SMTP_PORT
FROM    = SENDER_EMAIL
USER    = SMTP_USER
PASSWD  = YOUR_SMTP_PASSWORD

Pastikan Anda menggunakan informasi server SMTP yang benar.

Setiap kali Anda mengedit app.ini file, Anda perlu memulai ulang layanan Gitea agar perubahan diterapkan:

sudo systemctl restart gitea

Untuk memverifikasi pengaturan dan mengirim email percobaan, masuk ke Gitea dan buka:Administrasi Situs> Konfigurasi> Konfigurasi Mailer SMTP.

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

Mengupgrade Gitea #

Memutakhirkan ke versi Gitea terbaru adalah tugas yang mudah. Anda hanya perlu mengunduh dan mengganti biner.

  1. Hentikan layanan Gitea:

    sudo systemctl stop gitea
  2. Unduh biner Gitea terbaru dan pindahkan ke /usr/local/bin direktori:

    VERSION=<THE_LATEST_GITEA_VERSION>wget -O /tmp/gitea https://dl.gitea.io/gitea/${VERSION}/gitea-${VERSION}-linux-amd64sudo mv /tmp/gitea /usr/local/bin
  3. Jadikan biner dapat dieksekusi:

    sudo chmod +x /usr/local/bin/gitea
  4. Mulai ulang layanan Gitea:

    sudo systemctl restart gitea

Itu dia.


Cent OS
  1. Cara Menginstal Vagrant di CentOS 7

  2. Cara Menginstal Memcached di CentOS 8

  3. Cara Menginstal ownCloud di CentOS 8

  1. Cara Menginstal Nginx di CentOS 7

  2. Cara Menginstal Apache di CentOS 7

  3. Cara Menginstal Tomcat 8.5 di CentOS 7

  1. Cara Menginstal Jenkins di CentOS 7

  2. Cara Menginstal Tomcat 9 di CentOS 7

  3. Cara Menginstal Memcached di CentOS 7