Dalam tutorial ini, kami akan menunjukkan kepada Anda cara menginstal HTTP Git Server di Ubuntu 20.04 LTS. Bagi Anda yang belum tahu, HTTP Git Server adalah proyek open-source yang menggunakan server web Nginx untuk melayani repositori Git melalui Jaringan Area Lokal (LAN) Anda. Server HTTP Git ternyata mudah disiapkan dan dikelola.
Artikel ini mengasumsikan Anda memiliki setidaknya pengetahuan dasar tentang Linux, tahu cara menggunakan shell, dan yang terpenting, Anda meng-host situs Anda di VPS Anda sendiri. Instalasi cukup sederhana dan mengasumsikan Anda sedang berjalan di akun root, jika tidak, Anda mungkin perlu menambahkan 'sudo
' ke perintah untuk mendapatkan hak akses root. Saya akan menunjukkan kepada Anda melalui langkah-demi-langkah instalasi HTTP Git Server di Ubuntu 20.04 (Focal Fossa). Anda dapat mengikuti instruksi yang sama untuk Ubuntu 18.04, 16.04, dan distribusi berbasis Debian lainnya seperti Linux Mint.
Prasyarat
- Server yang menjalankan salah satu sistem operasi berikut:Ubuntu 20.04, 18.04, 16.04, dan distribusi berbasis Debian lainnya seperti Linux Mint.
- Sebaiknya Anda menggunakan penginstalan OS baru untuk mencegah potensi masalah.
- Seorang
non-root sudo user
atau akses keroot user
. Kami merekomendasikan untuk bertindak sebagainon-root sudo user
, namun, karena Anda dapat membahayakan sistem jika tidak berhati-hati saat bertindak sebagai root.
Instal HTTP Git Server di Ubuntu 20.04 LTS Focal Fossa
Langkah 1. Pertama, pastikan bahwa semua paket sistem Anda mutakhir dengan menjalankan apt
berikut perintah di terminal.
sudo apt update sudo apt upgrade sudo apt install fcgiwrap apache2-utils unzip
Langkah 2. Menginstal Nginx di Ubuntu 20.04.
Nginx tersedia di repositori default Ubuntu. Untuk menginstalnya, jalankan perintah berikut:
sudo apt install nginx
Setelah penginstalan selesai, jalankan perintah untuk mengaktifkan Nginx untuk memulai secara otomatis saat server Anda mulai:
sudo systemctl stop nginx sudo systemctl start nginx sudo systemctl enable nginx
Mengonfigurasi firewall.
Sementara itu, Anda perlu memastikan bahwa firewall Anda dikonfigurasi untuk mengizinkan lalu lintas pada port HTTP (80) dan HTTPS (443). Nginx mendaftarkan dirinya sebagai layanan dengan ufw
:
sudo ufw allow in "Nginx Full"
Langkah 3. Menginstal Git di Ubuntu 20.04.
Jalankan perintah berikut di bawah ini untuk menginstal Git di sistem Ubuntu Anda:
sudo apt install git
Konfirmasi Git penginstalan:
git --version
Langkah 4. Buat Repositori Git.
Sekarang kita membuat direktori untuk menyimpan repositori Git:
mkdir /var/www/html/idroot-repo
Selanjutnya, ubah direktori menjadi idroot-repo
dan buat direktori lain untuk pengguna:
cd /var/www/html/myrepo mkdir user.git
Sekarang kita akan menginisialisasi repositori dengan perintah:
cd user.git git --bare init
Selanjutnya, update Git Server dengan perintah:
git update-server-info
Berikan repositori kepemilikan yang benar dengan perintah:
chown -R www-data:www-data /var/www/html/idroot-repo chmod -R 755 /var/www/html/idroot-repo
Setelah itu, buat pengguna bernama user dan atur kata sandi untuk membatasi akses ke repositori git menggunakan otentikasi dasar HTTP:
htpasswd -c /var/www/html/idroot-repo/htpasswd user
Langkah 5. Konfigurasikan Nginx untuk Melayani Repositori Git.
Sekarang kita membuat file konfigurasi virtual host Nginx untuk melayani repositori Git:
nano /etc/nginx/conf.d/git.conf
Tambahkan baris berikut:
server { listen 80; root /var/www/html/idroot-repo; # Add index.php to the list if you are using PHP index index.html index.htm index.nginx-debian.html; server_name git.your-domain.com; location / { # First attempt to serve request as file, then # as directory, then fall back to displaying a 404. try_files $uri $uri/ =404; } location ~ (/.*) { client_max_body_size 0; auth_basic "Git Login"; auth_basic_user_file "/var/www/html/idroot-repo/htpasswd"; include /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/idroot-repo; fastcgi_param REMOTE_USER $remote_user; fastcgi_param PATH_INFO $1; fastcgi_pass unix:/var/run/fcgiwrap.socket; } }
Simpan dan tutup file, lalu mulai ulang layanan Nginx untuk menerapkan perubahan:
nginx -t sudo systemctl restart nginx
Langkah 6. Hubungkan ke Repositori Git Dari Klien.
Pertama, buat direktori untuk proyek Anda dengan perintah berikut:
mkdir my-project
Selanjutnya, navigasikan ke direktori proyek Anda dan inisialisasi Git menggunakan perintah:
cd my-project git init
Kami merekomendasikan pengaturan Git Anda untuk memasukkan email dan nama pengguna. Untuk melakukannya, jalankan perintah berikut:
git config --global user.email "[email protected]" git config --global user.name "user"
Setelah itu, tambahkan repositori Git jarak jauh Anda dengan perintah berikut:
git remote add origin http://[email protected]/user.git
Selanjutnya, buat direktori bernama dev dan tambahkan file di dalamnya:
mkdir dev echo "This is my first my application" > dev/file
Kita sekarang dapat menambahkan file-file tersebut ke git dengan perintah:
git add .
Komit perubahan dengan perintah:
git commit -a -m "Add files and directories"
Kemudian, dorong semua direktori dan file yang baru kita buat ke server dengan perintah:
git push origin master
Setelah Anda terhubung, Anda akan mendapatkan output berikut:
Counting objects: 8, done. Writing objects: 100% (4/4), 512 bytes | 346.00 KiB/s, done. Total 8 (delta 0), reused 0 (delta 0) To http://git.your-domain.com/user.git * [new branch] master -> master
Anda juga dapat mengunduh repositori Anda dari server Git secara langsung menggunakan perintah berikut:
git clone http://[email protected]/user.git
Selamat! Anda telah berhasil menginstal HTTP Git Server. Terima kasih telah menggunakan tutorial ini untuk menginstal HTTP Git Server pada sistem Focal Fossa Ubuntu 20.04 LTS Anda. Untuk bantuan tambahan atau informasi berguna, kami sarankan Anda periksa situs web resmi Git.