Mengapa Gitlab
tautan langsung
- Mengapa Gitlab
- Mempersiapkan
- Instal Ketergantungan
- Instal Gitlab
- Jalankan Pengaturan
- Pengaturan awal
- Siapkan SSH
- Untuk SSH Reguler
- Konfigurasikan UFW
- Pikiran Penutup
Ada banyak opsi bagus untuk meng-hosting proyek Anda dan membagikan kode Anda. Anda dapat mengatur akun Github sekarang secara gratis. Jadi, mengapa Anda ingin melalui kesulitan mengatur Gitlab sendiri?
Ada beberapa argumen yang bagus untuk itu, sebenarnya, tidak sedikit di antaranya adalah privasi. Gitlab adalah milikmu. Anda meng-host-nya, dan Anda memilikinya. Jadi, Anda dapat mengontrol siapa yang memiliki akses ke repositori Anda. Itu juga berarti Anda memiliki kendali atas platform itu sendiri. Anda tidak tunduk pada kebijakan perusahaan, perubahan harga yang sewenang-wenang, atau pengumpulan data.
Kontrol versi yang di-host-sendiri juga berarti Anda tidak bergantung pada layanan untuk mengakses kode Anda. Tentu, peluang Github atau layanan sejenisnya sama sekali tidak tersedia karena pemadaman sangat kecil, tetapi bukankah Anda lebih suka itu tidak menjadi kemungkinan sama sekali?
Gitlab juga sangat mudah diatur, dan hanya mengharuskan Anda memiliki server Linux yang menjalankan perangkat lunak open source Gitlab, yang sebagian besar sudah dipra-konfigurasi dan siap dijalankan.
Mempersiapkan
Sebelum memulai, Anda harus menyiapkan VPS untuk menjadi tuan rumah Gitlab, kecuali jika Anda berencana untuk hosting secara lokal. Perusahaan hosting seperti DigitalOcean dan Linode menawarkan opsi hemat biaya yang dapat membuat server Anda aktif dan berjalan.
Sebaiknya beli nama domain untuk server Anda juga. Atau, Anda bisa mengarahkan subdomain dari nama domain yang ada di server Gitlab Anda. Cara mana pun akan membuat mengakses antarmuka web lebih mudah.
Panduan ini akan mengikuti Ubuntu 16.04 LTS. Ini adalah rilis dukungan jangka panjang terbaru dari Ubuntu, dan sangat mudah digunakan. Peregangan Debian (Stabil) juga akan menjadi pilihan yang bagus, dan sebagian besar panduan ini akan bekerja dengannya juga. Baik DigitalOcean dan Linode akan mengatur server Anda dengan OS yang Anda pilih, jadi tidak perlu menginstal Ubuntu.
Instal Ketergantungan
Ketika Anda pertama kali boot Ubuntu, itu ide yang baik untuk memperbarui sistem untuk memastikan tidak ada perbaikan keamanan yang tersedia. Silakan dan lakukan itu dulu.
$ sudo apt update $ sudo apt upgrade
Setelah pembaruan selesai berjalan, ada beberapa hal yang harus Anda instal agar Gitlab dapat memulai. Gunakan apt untuk menginstalnya juga.
$ sudo untuk menginstal curl openssh-server postfix ca-sertifikat
Itu dia. Anda siap menjalankan skrip penginstal Gitlab.
Instal Gitlab
Gitlab memiliki repositori Debian / Ubuntu sendiri. Untuk mengaktifkan repositori di server Anda, unduh dan jalankan skrip instal yang disediakan oleh tim Gitlab.
$ curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
Itu mungkin terlihat seperti banyak, tetapi hanya mengunduh skrip dan memberi tahu shell baris perintah untuk menjalankannya. Script akan membutuhkan beberapa detik untuk dijalankan dan mengatur repositori. Setelah melakukannya, Anda akan siap untuk menginstal paket Gitlab.
$ sudo untuk menginstal gitlab-ce
Instalasi itu akan memakan waktu beberapa menit. Gitlab datang dalam satu paket besar yang disebut "paket Omnibus." Ia datang dengan semua yang Gitlab butuhkan semua digabungkan bersama.
Jalankan Pengaturan


Ada skrip pengaturan yang harus Anda jalankan agar Gitlab dapat terkonfigurasi. Itu datang dalam paket yang baru saja Anda instal, sehingga Anda dapat menjalankannya sekarang.
mengkonfigurasi ulang $ sudo gitlab-ctl
Script akan memakan waktu beberapa menit untuk menjalankan semuanya. Sebagian besar pengaturan backend database untuk Gitlab. Anda akan melihat banyak migrasi Ruby on Rails yang berjalan di layar. Mungkin butuh beberapa saat, tetapi ketika sudah selesai, Gitlab akan siap digunakan.
Pengaturan awal


Buka browser web Anda dan navigasikan ke server Gitlab Anda. Anda akan disambut oleh halaman yang meminta Anda untuk membuat kata sandi administratif. Ini jelas kata sandi untuk akun admin Anda. Secara default, nama akun itu adalah "root."


Setelah akun itu diatur, Anda bisa masuk dengannya atau mendaftarkan akun pengguna biasa, dan masuk. Apa pun itu, begitu Anda masuk, Anda akan memiliki akses ke seluruh dasbor Gitlab untuk membuat dan mengelola repositori.
Siapkan SSH
Anda tidak ingin harus mendorong perubahan ke proyek Anda menggunakan kata sandi. Ini menyakitkan, dan tidak terlalu aman. Hal terbaik yang dapat Anda lakukan adalah membuat SSH untuk masuk secara otomatis dari komputer mana pun dengan kunci yang diinstal.
Kunci SSH sangat mudah dibuat di Linux dan Mac. Pada Windows 10, prosesnya harus sama melalui aplikasi OpenSSH yang tersedia.
Buka terminal, dan jalankan perintah berikut untuk membuat kunci Anda. Anda dapat meninggalkan bagian -C '' jika Anda hanya ingin menggunakan info masuk komputer Anda. Kalau tidak, alamat email biasanya adalah panggilan yang tepat.
$ ssh-keygen -b 4096 -t rsa -C ''
Proses ini akan memandu Anda melalui beberapa langkah. Defaultnya kebanyakan bagus, dan semuanya cukup jelas. Jika Anda memilih untuk mengaitkan kata sandi dengan kunci Anda, Anda akan memerlukan kata sandi itu setiap kali Anda masuk atau mendorong perubahan. Anda dapat mengosongkan kata sandi untuk tidak menggunakannya.
Untuk melihat kunci Anda, jalankan perintah di bawah ini. Ini akan terlihat seperti omong kosong, dan pada dasarnya, tapi itu kuncinya. Anda harus menyalinnya dari terminal dan melewatinya di Gitlab.
$ cat ~ / .ssh / id_rsa.pub
Kembali ke Gitlab, klik ikon profil di kanan atas layar. Kemudian klik "Pengaturan" pada menu yang dihasilkan. Di menu di sebelah kiri halaman, klik "Kunci SSH."


Salin kunci dari terminal Anda. Mulai setelah "ssh-rsa" dan berhenti sebelum alamat email Anda. Jadi, cukup salin bagian yang tidak masuk akal. Tempel di kotak besar berlabel, "Kunci." Beri nama kunci Anda, dan simpan. Sejak saat itu, Anda dapat mendorong kode Anda ke repositori Anda tanpa masuk.
Untuk SSH Reguler
Anda sudah memiliki kunci SSH. Anda juga dapat menggunakannya untuk SSH. OpenSSH memiliki utilitas bawaan untuk menekan kunci ke server Anda.
$ ssh-copy-id -i ~ / .ssh / id_rsa.pub _IP
Ganti server_username dan SERVER_IP dengan nama pengguna Anda di server dan alamat IP server.
Coba masuk kembali ke server Anda menggunakan kunci baru.
$ ssh _IP
Anda harus terhubung segera tanpa perlu memasukkan kata sandi.


Lebih baik mengunci sisa SSH juga. Itu mungkin salah satu poin terlemah di server yang menghadap publik. Buka / etc / ssh / sshd_confg di editor teks yang Anda pilih di server.
Ada beberapa hal yang perlu Anda ubah. Pertama, temukan PermitRootLogin dan atur ke no.
PermitRootLogin no
Selanjutnya, cari PasswordAuthentication, batalkan komentar, dan setel ke no.
PasswordAuthentication no
Kemudian, pastikan bahwa dua baris berikut ini diatur ke no. Mereka seharusnya secara default di Ubuntu, tetapi lebih baik untuk memeriksa.
PermitEmptyPasswords no HostbasedAuthentication no
Akhirnya, temukan UsePAM di bagian bawah konfigurasi dan atur tidak juga.
UsePAM no
Simpan dan keluar dari konfigurasi Anda. Kemudian, restart layanan SSH.
Konfigurasikan UFW


Tindakan keamanan terakhir yang mungkin ingin Anda lakukan adalah menginstal dan mengatur firewall. Ubuntu bekerja sangat baik dengan firewall yang tidak bernama rumit (UFW). Ini hanya pembungkus di sekitar iptables firewall firewall, tetapi itu membuat bekerja dengan firewall lebih mudah. Silakan dan instal.
$ sudo untuk menginstal ufw
Setelah Anda menginstal ufw, mulailah dengan menetapkan aturan default untuk menolak semuanya.
$ sudo ufw default menyangkal masuk $ sudo ufw default menyangkal keluar $ sudo ufw default menyangkal maju
Selanjutnya, atur aturan Anda untuk mengizinkan layanan dasar, termasuk Git. Komentar ada hanya untuk informasi. Jangan mencoba menjalankannya.
# SSH $ sudo ufw izinkan di ssh $ sudo ufw izinkan ssh # HTTP dan HTTPS untuk Web $ sudo ufw izinkan di http $ sudo ufw izinkan di http $ sudo ufw izinkan di https $ sudo ufw izinkan keluar https # NTP untuk menjaga waktu benar $ sudo ufw izinkan di ntp $ sudo ufw izinkan ntp # Port 53 untuk resolusi domain DNS $ sudo ufw izinkan di 53 $ sudo ufw izinkan keluar 53 # Anda mungkin tidak akan membutuhkan ini # Jika server Anda menggunakan DHCP, buka blokir $ 67 sudo ufw izinkan di 67 $ sudo ufw izinkan 67 # Akhirnya, Git $ sudo ufw izinkan di 9418 $ sudo ufw allo out 9418
Pastikan semuanya baik-baik saja, dan aktifkan firewall
$ sudo ufw aktifkan
Anda dapat memeriksa status firewall Anda dengan yang berikut ini:
$ sudo ufw status
Itu dia! Server Gitlab Anda berada di belakang firewall.
Pikiran Penutup
Sekarang, Anda memiliki server Gitlab yang berfungsi. Anda dapat mulai mengatur akun pengguna dan proyek melalui antarmuka Gitlab. Gitlab sekarang adalah paket Ubuntu biasa, jadi itu akan diperbarui secara teratur dengan tepat ketika Anda menjaga sistem Anda diperbarui.
Gitlab akan memberi Anda semua fleksibilitas yang Anda perlukan untuk mengelola proyek Anda sendiri dan proyek yang lebih besar tempat Anda bekerja dengan tim. Ini adalah platform yang sepenuhnya mampu dan tangguh yang mulai diandalkan oleh banyak tim.






