Gitea adalah pelayan git yang dihoskan sendiri yang cepat dan mudah digunakan yang ditulis dalam Go. Ia merangkumi editor fail repositori, penjejakan masalah projek, pengurusan pengguna, pemberitahuan, wiki bawaan, dan banyak lagi.
Gitea adalah aplikasi ringan dan dapat dipasang pada sistem berkuasa rendah. Sekiranya anda mencari alternatif untuk Gitlab dengan jejak memori yang jauh lebih kecil dan anda tidak memerlukan semua loceng dan wisel yang ditawarkan oleh Gitlab, maka anda harus mencuba Gitea.
Artikel ini menerangkan cara memasang dan mengkonfigurasi Gitea di Ubuntu 20.04.
Prasyarat #
Gitea menyokong SQLite, PostgreSQL, dan MySQL / MariaDB sebagai backend pangkalan data.
SQLite hanya disyorkan untuk pemasangan kecil. Pemasangan yang lebih besar harus menggunakan MySQL atau PostgreSQL.
Kami akan menggunakan SQLite sebagai pangkalan data untuk Gitea. Sekiranya SQLite tidak dipasang pada sistem Ubuntu anda, pasang dengan memasukkan perintah berikut sebagai pengguna sudo:
sudo apt kemas kini
sudo apt pasang sqlite3
Memasang Gitea #
Gitea menyediakan gambar Docker dan boleh dipasang dari sumber, binari, dan sebagai pakej. Kami akan memasang Gitea dari binari.
Pasang Git #
Langkah pertama ialah memasang Git pada pelayan anda:
sudo apt kemas kini
sudo apt pasang git
Sahkan pemasangan dengan memaparkan versi Git:
git - penukaran
versi git 2.25.1
Buat pengguna Git #
Buat pengguna sistem baru yang akan menjalankan aplikasi Gitea dengan menaip:
penambah sudo \
--sistem \
--shell / tong / bash \
--gecos 'Kawalan Versi Git' \
--kumpulan \
--dilumpuhkan-kata laluan \
--rumah / rumah / git \
git
Perintah di atas membuat pengguna dan kumpulan baru bernama git
, dan tetapkan direktori utama ke / rumah / git
. Hasilnya akan kelihatan seperti di bawah:
Menambah 'git' pengguna sistem (UID 112) ... Menambah 'git' kumpulan baru (GID 118) ... Menambah 'git' pengguna baru (UID 112) dengan kumpulan 'git' ... Membuat direktori rumah '/ rumah / git'…
Muat turun Gitea binary #
Pergi ke halaman Muat turun Gitea dan muat turun binari terkini untuk seni bina anda. Pada masa penulisan, versi terbaru adalah 1.10.2. Sekiranya terdapat versi baru yang tersedia, ubah VERSI
pemboleh ubah dalam arahan di bawah.
Gunakan wget
untuk memuat turun binari Gitea di / tmp
direktori:
VERSI = 1.14.1
sudo wget -O / tmp / gitea https: // dl.gitea.io / gitea / $ VERSION / gitea - $ VERSION -linux-amd64
Anda boleh menjalankan gitea
binari dari mana-mana lokasi. Kami akan mengikuti konvensyen dan memindahkan perduaan ke / usr / tempatan / tong sampah
direktori:
sudo mv / tmp / gitea / usr / local / bin
Jadikan binari boleh dilaksanakan:
sudo chmod + x / usr / local / bin / gitea
Jalankan arahan di bawah untuk membuat direktori dan tetapkan kebenaran dan pemilikan yang diperlukan:
sudo mkdir -p / var / lib / gitea / custom, data, log
sudo chown -R git: git / var / lib / gitea /
sudo chmod -R 750 / var / lib / gitea /
sudo mkdir / etc / gitea
akar sudo chown: git / etc / gitea
sudo chmod 770 / etc / gitea
Struktur direktori di atas disyorkan oleh dokumentasi Gitea rasmi.
Kebenaran dari / dll / gitea
direktori ditetapkan ke 770
supaya wizard pemasangan dapat membuat fail konfigurasi. Setelah pemasangan selesai, kami akan menetapkan kebenaran yang lebih ketat.
Buat Fail Unit Systemd #
Kami akan menjalankan Gitea sebagai perkhidmatan systemd.
Muat turun fail unit systemd contoh ke / etc / systemd / sistem
direktori dengan menaip:
sudo wget https: // mentah.githubusercontent.com / go-gitea / gitea / main / contrib / systemd / gitea.perkhidmatan -P / etc / systemd / system /
Anda tidak perlu mengedit file, file tersebut dikonfigurasi agar sesuai dengan persediaan kami.
Aktifkan dan mulakan perkhidmatan Gitea:
sudo systemctl daemon-tambah nilai
sudo systemctl aktifkan - sekarang gitea
Sahkan bahawa Gitea sedang berjalan:
sudo systemctl status gitea
● gitea.perkhidmatan - Gitea (Git dengan secawan teh) Dimuat: dimuat (/ etc / systemd / system / gitea.perkhidmatan; didayakan; pratetap vendor: diaktifkan) Aktif: aktif (berjalan) sejak Sel 2021-05-06 05:32:04 UTC; 7s lalu PID Utama: 77781 (gitea) Tugas: 6 (had: 470) Memori: 130.Kumpulan C 6M: / sistem.hirisan / gitea.perkhidmatan └─77781 / usr / local / bin / gitea web --config / etc / gitea / app.ini ..
Konfigurasikan Gitea #
Setelah Gitea dimuat turun dan dijalankan, kami dapat menyelesaikan pemasangan melalui antara muka web.
Secara lalai, Gitea mendengar sambungan di port 3000
pada semua antara muka rangkaian.
Sekiranya anda mempunyai firewall UFW di pelayan anda, anda perlu membuka port Gitea. Untuk membenarkan lalu lintas di pelabuhan 3000
, masukkan arahan berikut:
sudo ufw membenarkan 3000 / tcp
Buka penyemak imbas anda, taip http: // YOUR_DOMAIN_IR_IP: 3000
, dan skrin yang serupa dengan yang berikut akan muncul:
Tetapan Pangkalan Data:
- Jenis Pangkalan Data: SQLite3
- Laluan: Gunakan jalan mutlak,
/ var / lib / gitea / data / gitea.db
Tetapan Umum Aplikasi:
- Tajuk Tapak: Masukkan nama organisasi anda.
- Laluan Akar Repositori: Biarkan lalai
var / lib / gitea / data / gitea-repositori
. - Jalur Akar Git LFS: Tinggalkan lalai
/ var / lib / gitea / data / lfs
. - Jalankan Sebagai Nama Pengguna: git
- Domain Pelayan SSH: Masukkan alamat IP domain atau pelayan anda.
- Port SSH: 22, ubah jika SSH mendengar di Port lain
- Port Dengar HTTP Gitea: 3000
- URL Pangkalan Gitea: Gunakan http dan alamat IP domain atau pelayan anda.
- Laluan Log: Biarkan lalai
/ var / lib / gitea / log
Untuk memulakan pemasangan, tekan butang "Pasang Gitea".
Pemasangannya segera. Setelah selesai, anda akan diarahkan ke halaman log masuk.
Klik pada "Memerlukan akaun? Daftar sekarang."Pautan. Pengguna pertama yang didaftarkan secara automatik ditambahkan ke kumpulan Pentadbir.
Ubah keizinan fail konfigurasi Gitea ke baca sahaja menggunakan:
sudo chmod 750 / etc / gitea
sudo chmod 640 / etc / gitea / app.ini
Itu sahaja. Gitea telah dipasang pada mesin Ubuntu anda.
Mengkonfigurasi Nginx sebagai Proksi Penamatan SSL #
Langkah ini adalah pilihan, tetapi sangat digalakkan. Penamatan SSL bermaksud Nginx akan bertindak sebagai titik perantara antara aplikasi Gitea dan klien web sehingga anda dapat mengakses Gitea melalui HTTPS.
Untuk menggunakan Nginx sebagai proksi terbalik, anda perlu mempunyai domain atau subdomain yang menunjuk ke IP awam pelayan anda. Dalam contoh ini, kita akan menggunakan git.contoh.com
.
Pertama, pasang Nginx dan hasilkan sijil Let's Encrypt SSL percuma menggunakan panduan di bawah:
- Cara Memasang Nginx di Ubuntu 20.04
- Selamat Nginx dengan Let's Encrypt di Ubuntu 20.04
Setelah selesai, buka editor teks anda dan edit fail blok pelayan domain:
sudo nano / etc / nginx / sites-enabled / git.contoh.com
/ etc / nginx / sites-enabled / git.contoh.compelayan dengar 80; pelayan_name git.contoh.com; sertakan coretan / letsencrypt.conf; pulangkan 301 https: // git.contoh.com $ request_uri; pelayan dengar 443 ssl http2; pelayan_name git.contoh.com; proksi_read_timeout 720s; proksi_connect_timeout 720s; proxy_send_timeout 720s; client_max_body_size 50m; # Pengepala proksi proxy_set_header X-Forwarded-Host $ host; proxy_set_header X-Forwarded-For $ proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $ skema; proxy_set_header X-Real-IP $ remote_addr; # Parameter SSL ssl_certificate / etc / letsencrypt / live / git.contoh.com / rantai penuh.pem; ssl_certificate_key / etc / letsencrypt / live / git.contoh.com / privkey.pem; ssl_trusted_certificate / etc / letsencrypt / live / git.contoh.com / rantaian.pem; sertakan coretan / letsencrypt.conf; sertakan coretan / ssl.conf; # log fail access_log / var / log / nginx / git.contoh.com.akses.log; ralat_log / var / log / nginx / git.contoh.com.kesilapan.log; # Mengendalikan / meminta lokasi / proxy_redirect off; proxy_pass http: // 127.0.0.1: 3000;
Jangan lupa ganti git.contoh.com dengan domain Gitea anda dan tetapkan jalan yang betul ke fail sijil SSL. Trafik HTTP dialihkan ke HTTPS
Mulakan semula perkhidmatan Nginx agar perubahan berlaku:
sudo systemctl mulakan semula nginx
Seterusnya, ubah domain Gitea dan url root. Untuk melakukannya, buka fail konfigurasi dan edit baris berikut:
sudo nano / etc / gitea / app.ini
/ etc / gitea / aplikasi.ini[pelayan] DOMAIN = git.contoh.com ROOT_URL = https: // git.contoh.com /
Mulakan semula perkhidmatan Gitea dengan menaip:
sudo systemctl mulakan semula gitea
Pada ketika ini, proksi Gitea dikonfigurasi, dan anda boleh mengaksesnya di: https: // git.contoh.com
Mengkonfigurasi Pemberitahuan E-mel #
Sekiranya anda mahu contoh Gitea anda menghantar e-mel pemberitahuan, anda boleh memasang Postfix atau menggunakan beberapa perkhidmatan mel transaksi seperti SendGrid, MailChimp, MailGun, atau SES.
Untuk mengaktifkan pemberitahuan e-mel, buka fail konfigurasi dan edit baris berikut:
sudo nano / etc / gitea / app.ini
/ etc / gitea / aplikasi.ini[mailer] ENABLED = true HOST = SMTP_SERVER: SMTP_PORT FROM = SENDER_EMAIL USER = SMTP_USER PASSWD = ANDA_SMTP_PASSWORD
Pastikan anda meletakkan maklumat pelayan SMTP yang betul.
Mulakan semula perkhidmatan Gitea agar perubahan berlaku:
sudo systemctl mulakan semula gitea
Untuk mengesahkan tetapan dan menghantar e-mel ujian, log masuk ke Gitea, dan pergi ke: Pentadbiran Laman> Konfigurasi> Konfigurasi Mailer SMTP.
Gitea juga membolehkan anda menyambung ke Slack dengan membuat webhook web dan menghantar pemberitahuan ke saluran Slack anda .
Meningkatkan Gitea #
Untuk menaik taraf ke versi Gitea terkini, cukup muat turun dan ganti perduaan.
Hentikan perkhidmatan Gitea:
sudo systemctl hentikan gitea
Muat turun versi Gitea terkini dan pindahkan ke versi
/ usr / tempatan / tong sampah
direktori:VERSI =
wget -O / tmp / gitea https: // dl.gitea.io / gitea / $ VERSION / gitea - $ VERSION -linux-amd64
sudo mv / tmp / gitea / usr / local / bin
Jadikan binari boleh dilaksanakan:
sudo chmod + x / usr / local / bin / gitea
Mulakan semula perkhidmatan Gitea:
sudo systemctl mulakan semula gitea
Itu sahaja.
Kesimpulan #
Tutorial ini memandu anda melalui pemasangan Gitea di Ubuntu 20.04. Untuk maklumat lebih lanjut mengenai cara mengkonfigurasi instance Gitea dan membuat projek pertama anda, kunjungi halaman dokumentasi Gitea .
Sekiranya anda mempunyai soalan, sila berikan komen di bawah.