Anonim

Mengapa Gitlab

Pautan Pantas

  • Mengapa Gitlab
  • Persediaan
  • Pasang Ketergantungan
  • Pasang Gitlab
  • Jalankan Persediaan
  • Persediaan awal
  • Sediakan SSH
    • Untuk SSH Biasa
  • Konfigurasi UFW
  • Menutup Pikiran

Terdapat banyak pilihan hebat untuk mengendalikan projek anda dan berkongsi kod anda. Anda boleh pergi membuat akaun Github sekarang secara percuma. Jadi, mengapa anda mahu melalui kesukaran menubuhkan Gitlab sendiri?

Terdapat beberapa hujah yang baik untuk itu, sebenarnya, yang paling sedikit adalah privasi. Gitlab adalah milik anda. Anda menjadi tuan rumah, dan anda memilikinya. Jadi, anda boleh mengawal siapa yang mempunyai akses ke repositori anda. Itu juga bermakna bahawa anda mempunyai kawalan ke atas platform itu sendiri. Anda tidak tertakluk kepada dasar korporat, perubahan sewenang-wenangnya dalam harga, atau pengumpulan data.

Kawalan versi yang dihoskan diri juga bermakna bahawa anda tidak bergantung kepada perkhidmatan untuk mengakses kod anda. Pasti, peluang Github atau yang lain seperti perkhidmatan yang tidak dapat dicapai sepenuhnya kerana pemadaman adalah tipis, tetapi adakah anda bukannya bukan kemungkinan sama sekali?

Gitlab juga sangat mudah untuk ditubuhkan, dan hanya memerlukan bahawa anda mempunyai pelayan Linux yang menjalankan perisian sumber terbuka Gitlab, yang kebanyakannya telah dipratetap dan siap untuk dijalankan.

Persediaan

Sebelum anda memulakan, anda perlu mendapatkan VPS yang ditetapkan untuk menjadi tuan rumah Gitlab, melainkan jika anda merancang untuk menganjurkannya secara tempatan. Syarikat-syarikat hosting seperti DigitalOcean dan Linode menawarkan pilihan kos efektif yang boleh mendapatkan pelayan anda berjalan dan berjalan.

Ia juga merupakan idea yang baik untuk membeli nama domain untuk pelayan anda juga. Atau, anda boleh menunjuk subdomain nama domain sedia ada di pelayan Gitlab anda. Sama ada cara membuat akses ke antara muka web lebih mudah.

Panduan ini akan mengikuti Ubuntu 16.04 LTS. Ia adalah pembebasan sokongan jangka panjang Ubuntu, dan sangat mudah untuk digunakan. Debian Stretch (Stable) juga akan menjadi pilihan yang hebat, dan kebanyakan panduan ini akan berfungsi dengan baik. Kedua-dua DigitalOcean dan Linode akan menubuhkan pelayan anda dengan OS yang anda pilih, jadi tidak perlu memasang Ubuntu.

Pasang Ketergantungan

Apabila anda mula-mula boot Ubuntu, adalah idea yang baik untuk mengemas kini sistem untuk memastikan tiada sebarang penetapan keselamatan yang tersedia. Teruskan dan buat yang pertama.

$ sudo apt update $ sudo apt upgrade

Selepas kemas kini selesai berjalan, terdapat beberapa perkara yang perlu anda pasang untuk memulakan Gitlab. Gunakan juga untuk memasangnya juga.

$ sudo apt install curl openssh-server postfix ca-certificates

Itu sahaja. Anda sudah bersedia untuk menjalankan skrip pemasang Gitlab.

Pasang Gitlab

Gitlab mengekalkan repositori Debian / Ubuntu sendiri. Untuk membolehkan repositori pada pelayan anda, muat turun dan jalankan skrip pemasangan mudah yang disediakan oleh pasukan Gitlab.

$ curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash

Itu mungkin kelihatan seperti banyak, tetapi ia hanya memuat turun skrip dan memberitahu shell baris shell untuk menjalankannya. Skrip akan mengambil masa beberapa saat untuk menjalankan dan menyediakan repositori. Sebaik sahaja ia selesai, anda akan bersedia untuk memasang pakej Gitlab.

$ sudo apt memasang gitlab-ce

Pemasangan itu akan mengambil masa beberapa minit. Gitlab datang dalam satu pakej besar yang dikenali sebagai "pakej Omnibus." Ia datang dengan segala yang diperlukan oleh Gitlab.

Jalankan Persediaan

Terdapat skrip persediaan yang perlu anda jalankan untuk Gitlab untuk dikonfigurasikan. Ia datang dalam pakej yang anda baru pasang, supaya anda boleh menjalankannya sekarang.

$ sudo gitlab-ctl menyusun semula

Skrip akan mengambil masa beberapa minit untuk berjalan melalui segala-galanya. Ia kebanyakannya menyusun backend pangkalan data untuk Gitlab. Anda akan melihat banyak migrasi Ruby on Rails yang dijalankan oleh skrin. Ia mungkin mengambil sedikit masa, tetapi apabila selesai, Gitlab akan siap digunakan.

Persediaan awal

Buka penyemak imbas web anda dan navigasi ke pelayan Gitlab anda. Anda akan disambut dengan halaman yang meminta anda untuk membuat kata laluan pentadbiran. Ini jelas kata laluan untuk akaun pentadbir anda. Secara lalai, nama akaun itu adalah "root."

Selepas akaun itu disiapkan, anda boleh log masuk dengannya atau mendaftarkan akaun pengguna tetap dan log masuk. Sama ada cara, sebaik sahaja anda log masuk, anda akan mempunyai akses ke seluruh papan pemuka Gitlab untuk membuat dan menguruskan repositori.

Sediakan SSH

Anda tidak mahu mendorong perubahan kepada projek anda menggunakan kata laluan. Ia sakit, dan ia tidak begitu selamat. Perkara terbaik yang boleh anda lakukan ialah membuat SSH untuk log masuk secara automatik dari mana-mana komputer dengan kunci dipasang.

Kekunci SSH sangat mudah dibuat di Linux dan Mac. Pada Windows 10, proses itu harus sama melalui aplikasi OpenSSH yang tersedia.

Buka terminal, dan jalankan arahan berikut untuk membuat kunci anda. Anda boleh meninggalkan bahagian-C 'jika anda hanya mahu menggunakan maklumat log masuk komputer anda. Jika tidak, alamat e-mel biasanya panggilan yang betul.

$ ssh-keygen -b 4096 -t rsa -C ''

Proses ini akan membimbing anda melalui beberapa langkah. Lalai lalai kebanyakannya baik, dan semuanya cukup jelas. Jika anda memilih untuk mengaitkan kata laluan dengan kunci anda, anda akan memerlukan kata laluan itu setiap kali anda log masuk atau menolak perubahan. Anda boleh kosongkan kata laluan untuk tidak menggunakannya.

Untuk melihat kekunci anda, jalankan arahan di bawah. Ia akan kelihatan seperti sekumpulan omong kosong, dan pada dasarnya ia adalah, tetapi itulah kunci anda. Anda perlu menyalinnya keluar dari terminal dan melewatinya di Gitlab.

$ kucing ~ / .ssh / id_rsa.pub

Kembali ke Gitlab, klik pada ikon profil di bahagian atas sebelah kanan skrin. Kemudian klik "Tetapan" pada menu yang dihasilkan. Dalam menu di sebelah kiri halaman, klik "Kunci SSH."

Salin kekunci dari terminal anda. Mulakan selepas "ssh-rsa" dan berhenti sebelum alamat e-mel anda. Jadi, cuma salin bahagian yang tidak masuk akal. Tampalkannya dalam kotak besar berlabel, "Kunci." Namakan kunci anda, dan simpannya. Mulai dari itu, anda akan dapat menolak kod anda ke repositori anda tanpa mendaftar masuk.

Untuk SSH Biasa

Anda sudah mempunyai kunci SSH. Anda juga boleh menggunakannya untuk SSH. OpenSSH mempunyai utiliti terbina dalam untuk menekan kunci kepada pelayan anda.

$ ssh-copy-id -i ~ / .ssh / id_rsa.pub _IP

Ganti server_username dan SERVER_IP dengan nama pengguna anda pada pelayan dan alamat IP pelayan.

Cuba log masuk ke pelayan anda menggunakan kekunci baharu.

$ ssh _IP

Anda harus berhubung dengan segera tanpa perlu memasukkan kata laluan.

Lebih baik mengunci SSH yang lain juga. Ini mungkin salah satu titik paling lemah dalam pelayan yang menghadap awam. Buka / etc / ssh / sshd_confg dalam editor teks yang anda pilih pada pelayan.

Terdapat beberapa perkara yang perlu anda ubah. Pertama, cari PermitRootLogin dan tetapkan ia tidak.

PermitRootLogin no

Seterusnya, cari PasswordAuthentication, uncomment it, dan tetapkannya tidak.

PasswordAuthentication no

Kemudian, pastikan dua baris berikut ditetapkan tidak. Mereka harus secara lalai di Ubuntu, tetapi lebih baik untuk diperiksa.

PermitEmptyPasswords no HostbasedAuthentication no

Akhirnya, cari UsePAM di bahagian bawah konfigurasi dan tetapkannya juga.

UsePAM no

Simpan dan keluar dari konfigurasi anda. Kemudian, mulakan semula perkhidmatan SSH.

$ sudo systemctl restart sshd

Konfigurasi UFW

Langkah keselamatan terakhir yang mungkin anda mahu ambil ialah memasang dan menyediakan firewall. Ubuntu berfungsi dengan baik dengan firewall yang tidak bernama tidak tepat (UFW). Ia hanya pembungkus sekitar firewall kernel iptables, tetapi ia berfungsi dengan firewall lebih mudah. Teruskan dan pasangnya.

$ sudo apt install ufw

Sebaik sahaja anda mempunyai ufw dipasang, mulakan dengan menetapkan peraturan lalai untuk menafikan segala-galanya.

$ sudo ufw lalai menolak masuk $ sudo ufw lalai menolak keluar $ sudo ufw default menolak maju

Seterusnya tentukan peraturan anda untuk membenarkan perkhidmatan asas, termasuk Git. Komen-komen yang ada hanya untuk maklumat. Jangan cuba untuk menjalankannya.

# SSH $ sudo ufw membenarkan dalam ssh $ sudo ufw membenarkan ssh # HTTP dan HTTPS untuk Web $ sudo ufw membenarkan dalam http $ sudo ufw membolehkan http $ sudo ufw membenarkan dalam https $ sudo ufw membenarkan https # NTP untuk menjaga waktu betul $ sudo ufw membenarkan dalam ntp $ sudo ufw membolehkan ntp # Port 53 untuk resolusi domain DNS $ sudo ufw membenarkan dalam 53 $ sudo ufw membenarkan 53 # Anda mungkin tidak memerlukan ini # Jika pelayan anda menggunakan DHCP, hapus blok $ 67 sudo ufw membolehkan 67 $ sudo ufw membenarkan 67 # Akhirnya, Git $ sudo ufw membolehkan 9418 $ sudo ufw allo out 9418

Pastikan segala-galanya baik, dan aktifkan firewall

$ sudo ufw membolehkan

Anda boleh menyemak status firewall anda dengan yang berikut:

$ sudo ufw status

Itu sahaja! Pelayan Gitlab anda di belakang firewall.

Menutup Pikiran

Sekarang, anda mempunyai pelayan Gitlab yang berfungsi. Anda boleh mula membuat akaun pengguna dan projek melalui antara muka Gitlab. Gitlab kini merupakan pakej Ubuntu biasa, jadi ia akan dikemas kini dengan kerap dengan tepat kerana anda menyimpan sistem anda dikemas kini.

Gitlab akan menyediakan anda semua fleksibiliti yang anda perlukan untuk menguruskan projek anda sendiri dan projek yang lebih besar yang anda mungkin bekerjasama dengan pasukan. Ia platform yang berkebolehan dan mantap yang semakin banyak pasukan mula bergantung.

Tuan rumah projek perisian anda sendiri dengan gitlab