Membuat Akun GitHub & Meng-host Website di GitHub Pages
![]() |
| ( institut sains dan teknologi nasional ) |
Membuat Akun GitHub & Meng-host Website di GitHub Pages
1. Pengenalan singkat
GitHub: platform hosting repositori Git yang populer untuk kolaborasi pengembangan perangkat lunak.
GitHub Pages: layanan gratis dari GitHub untuk meng-host situs statis (HTML/CSS/JS). Ada dua tipe Pages:
-
User/Organization site — repo bernama
username.github.io→ satu situs utama (domainhttps://username.github.io). -
Project site — situs untuk repo biasa (dipublikasikan dari branch
gh-pagesataumain/docs/).
2. Persiapan & Persyaratan
Sebelum mulai, siapkan:
-
Email aktif.
-
Nama pengguna GitHub yang ingin dipakai (unik).
-
File situs statis: paling minimal
index.html. Bisa juga ada file CSS, JS, gambar, dll. -
(Opsional tapi disarankan) Git terpasang di komputer, atau GitHub Desktop untuk antarmuka GUI.
Install Git (opsional CLI)
-
Windows: installer dari git-scm.com
-
macOS:
brew install gitatau Xcode Command Line Tools -
Linux:
sudo apt install git(Debian/Ubuntu) atau paket lain sesuai distro
3. Membuat Akun GitHub (langkah detil)
-
Buka https://github.com
-
Klik Sign up → isi email → Continue.
-
Buat password kuat → Continue.
-
Pilih username (akan menjadi
https://github.com/username). -
Verifikasi (captcha) → GitHub mungkin kirim kode ke email → verifikasi.
-
Selesaikan beberapa preferensi awal (opsional).
-
Setelah berhasil, login.
Tips username: hindari spasi dan karakter khusus; nama akan berpengaruh pada URL GitHub Pages jika ingin memakai user site.
4. Struktur minimal situs statis
Letakkan file di root repository (untuk user site). Contoh struktur sederhana:
Contoh index.html sederhana:
5. Membuat repository untuk User Site (metode GUI di web)
-
Login → klik ikon + → New repository.
-
Repository name: wajib
username.github.io(gantiusernamedengan username GitHub-mu). -
Pilih Public.
-
(Opsional) centang Add a README.
-
Klik Create repository.
Catatan: Untuk Project site, kamu bisa gunakan nama repo bebas (mis.
portfolio) lalu aktifkan Pages dari branchgh-pages/main/folderdocs/.
6. Mengupload file website — 2 cara
A. Upload lewat browser (paling mudah)
-
Buka repo → klik Add file → Upload files.
-
Drag & drop file/folder situsmu.
-
Isi pesan commit → Commit changes.
B. Menggunakan Git (CLI) — direkomendasikan untuk workflow
Contoh langkah lengkap:
Jika menggunakan SSH, gunakan URL SSH: git@github.com:username/username.github.io.git.
7. Mengaktifkan GitHub Pages
Untuk user site (username.github.io) biasanya akan aktif otomatis setelah commit ke branch main. Namun untuk memastikan:
-
Buka repo → Settings → tab Pages (atau di sidebar: Pages).
-
Pada Source, pastikan dipilih
main(ataumaster) dan folder/ (root)ataugh-pagessesuai konfigurasi. -
Klik Save jika diubah.
-
GitHub akan menampilkan URL publik (mis.
https://username.github.io) dan status deployment.
Waktu propagasi: umumnya beberapa menit (kadang hingga 10 menit).
8. Menggunakan Project Site
Jika ingin host situs untuk repo biasa (misal untuk dokumentasi proyek):
-
Opsi 1: Buat branch
gh-pages→ push konten situs ke branch itu. Pages dapat memilihgh-pagessebagai source. -
Opsi 2: Letakkan situs di folder
docs/pada branchmaindan pilihmain+ folder/docs.
Contoh push ke gh-pages (cara sederhana):
(Ini berguna bila kamu memiliki folder build/ dari generator statis).
9. Custom Domain (pakai domain sendiri)
-
Beli domain di registrar (mis. Namecheap, Niagahoster, Cloudflare, dsb).
-
Di GitHub repo → Settings → Pages → masukkan domain di Custom domain → Save.
-
GitHub akan memberi instruksi DNS:
-
Untuk user site (root domain): arahkan A record ke IP GitHub Pages (contoh:
185.199.108.153, dsb). Gunakan empat IP GitHub Pages (lihat dokumentasi GitHub Pages untuk IP terkini). -
Untuk subdomain (
www): gunakan CNAME yang mengarah keusername.github.io.
-
-
Setelah DNS berubah (propagasi DNS bisa 5 menit–48 jam), aktifkan HTTPS (GitHub menyediakan sertifikat gratis melalui Let's Encrypt). Centang
Enforce HTTPSbila sudah tersedia.
Penting: IP GitHub Pages dapat berubah — cek dokumentasi GitHub untuk daftar IP terbaru sebelum mengonfigurasi A record.
10. Opsi Lanjutan: Static Site Generators (SSG)
GitHub Pages mendukung Jekyll secara built-in. Alternatif populer:
-
Jekyll (native di GitHub Pages)
-
Hugo
-
Gatsby (React)
-
Nuxt / Next (bisa butuh build & deploy via Actions)
Untuk SSG yang perlu proses build (Hugo, Gatsby), gunakan GitHub Actions untuk otomatisasi build lalu deploy ke branch gh-pages atau repo username.github.io.
Contoh workflow sederhana (.github/workflows/gh-pages.yml) untuk Node-based SSG:
(Atur npm run build dan publish_dir sesuai SSGmu.)
11. File Penting dan Praktik Baik
-
.gitignore— hindari commit file build sementara, node_modules, dsb. -
README.md— dokumentasi repo. -
.nojekyll— jika menggunakan build yang menghasilkan folder_(agar Jekyll tidak memproses). -
CNAME— jika menggunakan custom domain (isi nama domain kamu; commit ke root repo).
Contoh .gitignore dasar:
12. Troubleshooting Umum
-
Halaman tidak muncul / 404: pastikan
index.htmldi root branch yang digunakan, dan Pages source sudah diset. Cek tab Pages untuk status deployment. -
404 setelah push: mungkin perlu menunggu beberapa menit. Jika masih, cek struktur file (index.html di root), cek branch yang dipilih.
-
HTTPS belum tersedia: tunggu hingga sertifikat TLS diterbitkan (bisa beberapa menit–jam). Pastikan DNS sudah benar jika pakai custom domain.
-
File statis tidak termuat (JS/CSS): pastikan path relatif benar. Jika memakai
baseurl(Jekyll) atau situs di subpath (username.github.io/repo), atur baseURL dengan benar. -
500/Build failed (Jekyll): cek error build di halaman Actions atau Pages build log.
13. Contoh Cara Lengkap (dari nol) — CLI
-
Buat folder lokal
my-website→ buatindex.html. -
Inisialisasi Git:
-
Buat repo di GitHub bernama
username.github.io(atau lewat web). -
Tambahkan remote & push:
-
Pergi ke
https://username.github.iosetelah beberapa menit.
14. Perbandingan: GitHub Pages vs Layanan lain
-
GitHub Pages: gratis, mudah, cocok untuk situs statis & dokumentasi.
-
Netlify / Vercel: fleksibel, dukungan fungsi serverless, preview deploy, cocok untuk banyak SSG modern.
-
Firebase Hosting / AWS S3+CloudFront: lebih kompleks, skalabilitas tinggi.
Pilih GitHub Pages bila: ingin cepat, gratis, integrasi GitHub, dokumentasi proyek pribadi.
15. FAQ (Pertanyaan yang sering muncul)
Q: Bisa meng-host file dinamis (PHP)?
A: Tidak. GitHub Pages hanya untuk situs statis (HTML/CSS/JS). Untuk PHP atau server-side rendering, gunakan hosting lain (Netlify Functions, Vercel, VPS, dsb).
Q: Saya punya repo privat — bisa host Pages?
A: GitHub Pages untuk user/organization site memerlukan repo public untuk publik hosting gratis. (GitHub Enterprise/bersyarat bisa berbeda.)
Q: Bagaimana agar domain https://www.domain.com ke username.github.io?
A: Konfigurasikan CNAME atau A record sesuai instruksi GitHub Pages, lalu isi file CNAME di repo.
16. Checklist Ringkas (Cetak/Praktik)
-
Buat akun GitHub.
-
Siapkan file situs (
index.html). -
Buat repo
username.github.io. -
Upload file (browser atau
git push). -
Cek Settings → Pages → pastikan source
main/root. -
Buka
https://username.github.io. -
(Opsional) Atur custom domain + DNS.
-
(Opsional) Setup workflow GitHub Actions untuk build otomatis.
17. Contoh Pesan Commit & Konvensi
-
Gunakan pesan commit ringkas tapi informatif:
-
feat: add about page -
fix: correct broken link on index -
docs: update README
-
-
Gunakan branch feature untuk pengembangan fitur baru, lalu merge ke
main.
18. Sumber Daya & Dokumentasi Resmi (rekomendasi baca)
-
Dokumentasi GitHub Pages (resmi) — baca untuk IP terbaru, instruksi CNAME, dan fitur HTTPS.
-
Panduan Git dasar (git-scm.com/book) untuk memahami branching dan push/pull.
-
Tutorial SSG (Jekyll, Hugo, Gatsby) bila ingin situs lebih dinamis.
19. Contoh Template Ringkas (paket file siap pakai)
Kamu bisa copy-paste ini ke file index.html dan css/style.css.
index.html:
css/style.css:
20. Langkah Selanjutnya yang Disarankan (pilihan)
-
Buat repo template portofolio dan gunakan untuk versi personal.
-
Pelajari GitHub Actions untuk otomatisasi build-deploy.
-
Eksplor SSG (Hugo/Jekyll) untuk konten blog/publikasi.
-
Tambahkan analytics ringan (mis. Plausible, Google Analytics) jika perlu.

Komentar
Posting Komentar