Git adalah sistem versi sumber terbuka dan gratis yang dikembangkan oleh Linus Torvalds. Ini digunakan oleh jutaan pengembang di seluruh dunia. GitHub juga menawarkan layanan hosting kode gratis. Namun, layanan gratis tidak mengizinkan hosting pribadi kode. Dalam hal ini, Anda dapat meng-host server hosting kode Anda sendiri dengan server HTTP Git. Ini akan memberi Anda kendali penuh pada server.
Dalam tutorial ini, kami akan menunjukkan cara menginstal dan mengkonfigurasi server HTTP Git dengan Nginx di Ubuntu 20.04.
Prasyarat
- Server yang menjalankan Ubuntu 20.04.
- Nama domain yang valid ditunjukkan dengan IP server Anda.
- Sandi root dikonfigurasi untuk server.
Memulai
Sebelum memulai, disarankan untuk memperbarui paket server Anda ke versi terbaru. Anda dapat memperbaruinya dengan perintah berikut:
apt-get update -y
Setelah semua paket diperbarui, Anda dapat melanjutkan ke langkah berikutnya.
Instal Nginx dan Git
Selanjutnya, Anda perlu menginstal server web Nginx, Git, dan paket lain yang diperlukan ke sistem Anda. Anda dapat menginstalnya dengan perintah berikut:
apt-get install nginx git fcgiwrap apache2-utils unzip -y
Setelah semua paket terinstal, Anda dapat melanjutkan ke langkah berikutnya.
Buat Repositori Git
Selanjutnya, Anda perlu membuat repositori Git di dalam direktori root web Nginx. Pertama, buat direktori bernama git dengan perintah berikut:
mkdir /var/www/html/git
Selanjutnya, ubah direktori menjadi git dan buat direktori baru untuk repositori Git:
cd /var/www/html/git
mkdir gituser.git
Selanjutnya, Ubah ke direktori baru ini dan inisialisasi repositori Git dengan perintah:
git --bare init
Selanjutnya, update Git Server dengan perintah:
git update-server-info
Selanjutnya, atur kepemilikan dan izin pada direktori git dengan perintah berikut:
chown -R www-data:www-data /var/www/html/git
chmod -R 755 /var/www/html/git
Selanjutnya buat sebuah gituser baru untuk otentikasi dengan perintah berikut;
htpasswd -c /var/www/html/git/htpasswd gituser
Anda akan diminta untuk mengatur kata sandi seperti yang ditunjukkan di bawah ini:
Kata sandi baru:Ketik ulang kata sandi baru:Menambahkan kata sandi untuk pengguna gituser
Anda sekarang dapat memverifikasi kata sandi Anda menggunakan perintah berikut:
cat /var/www/html/git/htpasswd
Anda akan mendapatkan output berikut:
gituser:$apr1$iPKZDbFB$ziRRbGXzVMMHaPYOtL05m/
Konfigurasi Nginx untuk Git
Selanjutnya, Anda perlu mengonfigurasi Nginx untuk melayani repositori Git. Anda dapat membuat file konfigurasi virtual host baru untuk Git dengan perintah berikut:
nano /etc/nginx/conf.d/git.conf
Tambahkan baris berikut:
server { dengarkan 80; root /var/www/html/git; # Tambahkan index.php ke daftar jika Anda menggunakan indeks PHP index.html index.htm index.nginx-debian.html; nama_server git.example.com; lokasi / { # Upaya pertama untuk melayani permintaan sebagai file, kemudian # sebagai direktori, kemudian kembali menampilkan 404. try_files $uri $uri/ =404; }lokasi ~ (/.*) { client_max_body_size 0; auth_basic "Masuk Git"; auth_basic_user_file "/var/www/html/git/htpasswd"; sertakan /etc/nginx/fastcgi_params; fastcgi_param SCRIPT_FILENAME /usr/lib/git-core/git-http-backend; fastcgi_param GIT_HTTP_EXPORT_ALL ""; fastcgi_param GIT_PROJECT_ROOT /var/www/html/git; fastcgi_param REMOTE_USER $pengguna_jauh; fastcgi_param PATH_INFO $1; fastcgi_pass unix:/var/run/fcgiwrap.socket;}}
Simpan dan tutup file setelah Anda selesai. Kemudian, verifikasi Nginx untuk kesalahan sintaks dengan perintah berikut:
nginx -t
Anda akan mendapatkan output berikut:
nginx:file konfigurasi /etc/nginx/nginx.conf sintaksnya oknginx:file konfigurasi /etc/nginx/nginx.conf tes berhasil
Selanjutnya, restart layanan Nginx untuk menerapkan perubahan:
systemctl restart nginx
Anda juga dapat memverifikasi status layanan Nginx menggunakan perintah berikut:
systemctl status nginx
Anda akan mendapatkan output berikut:
? nginx.service - Server web berkinerja tinggi dan server proxy terbalik Dimuat:dimuat (/lib/systemd/system/nginx.service; diaktifkan; preset vendor:diaktifkan) Aktif:aktif (berjalan) sejak Sel 2020-11-17 07 :43:46 UTC; 4 detik yang lalu Dokumen:man:nginx(8) Proses:3240 ExecStartPre=/usr/sbin/nginx -t -q -g daemon aktif; master_proses aktif; (kode=keluar, status=0/SUCCESS) Proses:3256 ExecStart=/usr/sbin/nginx -g daemon aktif; master_proses aktif; (kode=keluar, status=0/SUCCESS) PID Utama:3257 (nginx) Tugas:3 (batas:4691) Memori:3,5M CGroup:/system.slice/nginx.service ??3257 nginx:master process /usr/ sbin/nginx -g daemon aktif; master_proses aktif; ??3258 nginx:proses pekerja ??3259 nginx:proses pekerja 17 November 07:43:46 ubuntu2004 systemd[1]:Memulai server web berkinerja tinggi dan server proxy terbalik...17 November 07:43:46 ubuntu2004 systemd[ 1]:Memulai Server web berkinerja tinggi dan server proxy terbalik.
Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.
Uji HTTP Git Server
Pada titik ini, server Git diinstal dan dikonfigurasi. Sekarang, waktunya untuk mengujinya.
Pada mesin klien, instal paket Git dengan perintah berikut:
apt-get install git -y
Setelah terinstal, buat direktori bernama myapp dengan perintah berikut:
mkdir myapp
Selanjutnya, pindah ke direktori baru dan inisialisasi Git dengan perintah berikut:
cd myapp
git init
Selanjutnya, tambahkan repositori Git jarak jauh Anda dengan perintah berikut:
git remote add origin http://[email protected]/gituser.git
Selanjutnya, buat direktori app1 dan app2 dan juga buat file app1 dan app2 dengan beberapa konten di dalam direktori tersebut:
mkdir app1 app2
echo "Ini adalah aplikasi pertama saya"> app1/app1
echo "Ini adalah aplikasi pertama saya"> app2/app2
Selanjutnya, tambahkan semua direktori dan file ke repositori dengan perintah berikut:
git tambahkan .
Selanjutnya, komit perubahan dengan perintah berikut:
git commit -a -m "Tambahkan file dan direktori"
Anda akan mendapatkan output berikut:
[master (root-commit) 4e90372] Tambahkan file dan direktori 2 file diubah, 2 penyisipan(+) buat mode 100644 app1/app1 buat mode 100644 app2/app2
Selanjutnya, dorong perubahan ini ke server Git jarak jauh dengan perintah berikut:
git push master asal
Anda akan diminta untuk memberikan kata sandi untuk pengguna Git jarak jauh seperti yang ditunjukkan di bawah ini:
Sandi untuk 'http://[email protected]':
Berikan kata sandi Anda dan tekan Enter. Anda akan mendapatkan output berikut:
Menghitung objek:5, selesai.Kompresi Delta menggunakan hingga 4 utas.Mengompresi objek:100% (2/2), selesai.Menulis objek:100% (5/5), 354 byte | 0 byte/dtk, selesai.Total 5 (delta 0), digunakan kembali 0 (delta 0)Ke http://[email protected]/gituser.git * [cabang baru] master -> master
Output di atas menunjukkan bahwa file dan direktori Anda ditambahkan ke repositori Git jarak jauh. Jika Anda ingin mengkloning repositori ini ke sistem lokal Anda, jalankan perintah berikut:
git clone http://[email protected]/gituser.git
Anda akan mendapatkan output berikut:
Mengkloning ke 'gituser'...Kata sandi untuk 'http://[email protected]':remote:Menghitung objek:5, done.remote:Menghitung objek:100% (5/5), done.remote:Mengompresi objek:100% (2/2), done.remote:Total 5 (delta 0), digunakan kembali 0 (delta 0)Membongkar objek:100% (5/5), selesai. Memeriksa konektivitas... selesai.Kesimpulan
Selamat! Anda telah berhasil menginstal dan mengatur server HTTP Git di server Ubuntu 20.04. Sekarang Anda dapat mengimplementasikan server Git di lingkungan pengembangan Anda yang dapat diakses dari dalam LAN Anda.
Cara menginstal ONLYOFFICE Docs 6.1 di Ubuntu Cara Menyebarkan Aplikasi Web Clojure dengan Nginx di Ubuntu 20.04Ubuntu