Bakit Gitlab
Mabilis na Mga Link
- Bakit Gitlab
- Pag-setup
- I-install ang Mga Depende
- I-install ang Gitlab
- Patakbuhin ang Setup
- Paunang Setup
- I-set up ang SSH
- Para sa Regular SSH
- I-configure ang UFW
- Pagwawakas ng Kaisipan
Maraming magagandang pagpipilian para sa pagho-host ng iyong mga proyekto at pagbabahagi ng iyong code. Maaari kang pumunta set up ng isang account Github ngayon nang libre. Kaya, bakit nais mong dumaan sa problema sa pag-set up ng iyong Gitlab?
Mayroong isang pares ng magagandang argumento para dito, sa totoo lang, hindi bababa sa kung saan ay privacy. Ang Gitlab ay sa iyo. I-host mo ito, at pagmamay-ari mo ito. Kaya, maaari mong kontrolin kung sino ang may access sa iyong mga repositori. Nangangahulugan din ito na mayroon kang kontrol sa platform mismo. Hindi ka napapailalim sa mga patakaran sa korporasyon, mga di-makatwirang pagbabago sa pagpepresyo, o pagkolekta ng data.
Ang control na bersyon ng self-host ay nangangahulugan din na hindi ka umaasa sa isang serbisyo upang ma-access ang iyong code. Sigurado, ang mga pagkakataon ng Github o isa pang tulad ng serbisyo na ganap na hindi magagamit dahil sa isang pag-agos ay payat, ngunit hindi mo ba gugustuhin na hindi ito posible?
Ang Gitlab ay napakadaling mag-set up, at nangangailangan lamang na mayroon kang isang server ng Linux na tumatakbo sa bukas na mapagkukunan na Gitlab software, na ang karamihan ay darating na naka-configure at handa nang tumakbo.
Pag-setup
Bago ka makapagsimula, kailangan mong makakuha ng isang set ng VPS upang i-host ang Gitlab, maliban kung plano mong i-host ito nang lokal. Ang mga nagho-host ng mga kumpanya tulad ng DigitalOcean at Linode ay nag- aalok ng mga pagpipilian na magastos na maaaring makapagpataas at tumatakbo ang iyong server.
Magandang ideya din na bumili ng isang domain name para sa iyong server. O, maaari mong ituro ang isang subdomain ng isang umiiral na domain name sa iyong Gitlab server. Alinmang paraan ay gawing mas madali ang pag-access sa web interface.
Ang gabay na ito ay susundin ang Ubuntu 16.04 LTS. Ito ang pinakabagong paglabas ng suporta sa long term ng Ubuntu, at napakadaling makatrabaho. Ang Debian Stretch (Stable) ay magiging mahusay din na pagpipilian, at ang karamihan sa gabay na ito ay gagana rin kasama ito. Parehong DigitalOcean at Linode ay i-set up ang iyong server sa OS na iyong pinili, kaya hindi na kailangang mag-install ng Ubuntu.
I-install ang Mga Depende
Kapag una mong na-boot ang Ubuntu, magandang ideya na i-update ang system upang matiyak na walang anumang mga pag-aayos ng seguridad na magagamit. Sige at gawin mo muna.
$ sudo apt update $ sudo apt upgrade
Matapos makumpleto ang pag-update, mayroong isang pares ng mga bagay na kailangan mong i-install para magsimula ang Gitlab. Gumamit ng angkop upang mai-install ang mga ito.
$ sudo apt i-install ang curl opensh-server ca-sertipiko postfix
Ayan yun. Handa ka nang patakbuhin ang script ng installer ng Gitlab.
I-install ang Gitlab
Ang Gitlab ay nagpapanatili ng sarili nitong imbakan ng Debian / Ubuntu. Upang paganahin ang imbakan sa iyong server, i-download at patakbuhin ang maginhawang script ng pag-install na ibinigay ng koponan ng Gitlab.
$ curl -sS https://packages.gitlab.com/install/repository/gitlab/gitlab-ce/script.deb.sh | sudo bash
Iyon ay maaaring magmukhang marami, ngunit nai-download lamang nito ang script at sinabi sa shell ng command line na patakbuhin ito. Ang script ay tatagal ng ilang segundo upang magpatakbo at magse-set up ng repository. Sa sandaling ito ay, handa ka na mag-install ng package ng Gitlab.
$ sudo apt install gitlab-ce
Ang pag-install na iyon ay tatagal ng ilang minuto. Ang Gitlab ay dumating sa isang malaking package na tinatawag na "Omnibus package." Ito ay kasama ang lahat na kailangan ng lahat ng Gitlab.
Patakbuhin ang Setup
Mayroong isang script ng pag-setup na kailangan mong patakbuhin para sa Gitlab upang ma-configure. Nakarating ito sa package na iyong nai-install lamang, upang maaari mo itong patakbuhin ngayon.
$ sudo gitlab-ctl muling pagkumpirma
Ang script ay tatagal ng ilang minuto upang maipasok ang lahat. Karamihan sa mga ito ang pag-set up ng database ng backend para sa Gitlab. Makakakita ka ng maraming Ruby sa mga riles ng paglilipat na tumatakbo sa pamamagitan ng screen. Maaaring tumagal ng ilang sandali, ngunit kapag ito ay tapos na, ang Gitlab ay handa nang gamitin.
Paunang Setup
Buksan ang iyong web browser at mag-navigate sa iyong Gitlab server. Babatiin ka ng isang pahina na humihiling sa iyo na mag-set up ng isang password sa administratibo. Ito ay malinaw naman ang password para sa iyong admin account. Bilang default, ang pangalan ng account na iyon ay "ugat."
Matapos i-set up ang account na iyon, maaari kang mag-log in kasama o magrehistro ng isang regular na account sa gumagamit, at mag-sign in. Alinmang paraan, kapag nag-sign in ka, magkakaroon ka ng access sa buong dashboard ng Gitlab para sa paglikha at pamamahala ng mga repositoriya.
I-set up ang SSH
Hindi mo nais na itulak ang mga pagbabago sa iyong mga proyekto gamit ang mga password. Ito ay isang sakit, at hindi ito ligtas. Ang pinakamagandang bagay na maaari mong gawin ay lumikha ng isang SSH upang awtomatikong mag-log mula sa anumang computer na may key na naka-install.
Ang mga SSH key ay napakadaling likhain sa Linux at Mac. Sa Windows 10, ang proseso ay dapat na pareho sa pamamagitan ng magagamit na OpenSSH app.
Magbukas ng isang terminal, at patakbuhin ang sumusunod na utos upang lumikha ng iyong susi. Maaari mong iwanan ang bahagi -C '' kung nais mong gamitin lamang ang impormasyon sa pag-login ng iyong computer. Kung hindi, ang isang email address ay karaniwang tamang tawag.
$ ssh-keygen -b 4096 -t rsa -C ''
Ang proseso ay maglakad sa iyo sa pamamagitan ng ilang mga hakbang. Ang mga default ay karamihan ay mabuti, at lahat ay medyo paliwanag. Kung pinili mong iugnay ang isang password sa iyong susi, kakailanganin mo ang password sa tuwing mag-log in o itulak ang isang pagbabago. Maaari mong iwanan ang blangko ng password upang hindi magamit ang isa.
Upang makita ang iyong susi, patakbuhin ang utos sa ibaba. Ito ay magiging hitsura ng isang bungkos ng walang kapararakan, at mahalagang ito ay, ngunit iyon ang iyong susi. Kailangan mong kopyahin ito mula sa terminal at ipasa ito sa Gitlab.
$ cat ~ / .ssh / id_rsa.pub
Bumalik sa Gitlab, mag-click sa icon ng profile sa kanang tuktok ng screen. Pagkatapos ay i-click ang "Mga Setting" sa nagresultang menu. Sa menu sa kaliwa ng pahina, i-click ang "SSH Keys."
Kopyahin ang susi mula sa iyong terminal. Magsimula pagkatapos ng "ssh-rsa" at ihinto bago ang iyong email address. Kaya, kopyahin lamang ang walang kapararakan na bahagi. Idikit ito sa malaking kahon na may label na, "Key." Pangalanan ang iyong susi, at i-save ito. Mula sa puntong iyon, magagawa mong itulak ang iyong code sa iyong mga repositori nang hindi naka-sign in.
Para sa Regular SSH
Mayroon ka nang isang susi SSH. Maaari mo ring gamitin ito para sa SSH. Ang OpenSSH ay may built-in na utility upang itulak ang susi sa iyong server.
$ ssh-copy-id -i ~ / .ssh / id_rsa.pub _IP
Palitan ang server_username at SERVER_IP sa iyong username sa server at IP address ng server.
Subukang mag-log in muli sa iyong server gamit ang bagong key.
$ ssh _IP
Dapat kang kumonekta kaagad nang hindi kinakailangang magpasok ng isang password.
Mas mahusay na i-lock ang natitirang bahagi ng SSH. Ito ay marahil ang isa sa mga mahina na puntos sa isang pampublikong nakaharap sa server. Buksan / etc / ssh / sshd_confg sa editor ng teksto na iyong pinili sa server.
Mayroong isang pares ng mga bagay na kailangan mong baguhin. Una, hanapin ang PermitRootlogin at itakda ito sa hindi.
PermitRootlogin hindi
Susunod, hanapin ang PasswordAuthentication, uncomment ito, at itakda ito sa hindi.
PasswordAutipikasyon no
Pagkatapos, siguraduhin na ang sumusunod na dalawang linya ay nakatakda sa hindi. Dapat silang maging default sa Ubuntu, ngunit mas mahusay na suriin.
PermitEmptyPasswords walang HostbasedAthentication no
Sa wakas, hanapin ang UsePAM sa ilalim ng pagsasaayos at itakda din ito.
UsePAM no
I-save at lumabas ang iyong pagsasaayos. Pagkatapos, i-restart ang serbisyo ng SSH.
$ sudo systemctl i-restart ang sshd
I-configure ang UFW
Ang huling panukalang panseguridad na marahil ay nais mong gawin ay ang pag-install at pag-set up ng isang firewall. Ang Ubuntu ay gumagana nang maayos sa aptly na pinangalanan na hindi kumplikadong firewall (UFW). Ito ay isang pambalot lamang sa paligid ng iptables kernel firewall, ngunit ginagawa nitong mas madali ang pagtatrabaho sa firewall. Sige at i-install ito.
$ sudo apt install ufw
Kapag na-install mo ang ufw, magsimula sa pamamagitan ng pagtatakda ng mga default na patakaran upang tanggihan ang lahat.
$ sudo ufw default tanggihan ang papasok na $ sudo ufw default na tanggihan ang papalabas na $ sudo ufw default tanggihan pasulong
Susunod na i-set up ang iyong mga patakaran upang payagan ang mga pangunahing serbisyo, kabilang ang Git. Ang mga komento ay nandiyan lamang para sa impormasyon. Huwag subukang patakbuhin ang mga ito.
Pinapayagan ng # SSH $ sudo ufw sa ssh $ sudo ufw na payagan ang ssh # HTTP at HTTPS para sa Web $ sudo ufw payagan sa http $ sudo ufw payagan ang http $ sudo ufw payagan sa https $ sudo ufw payagan ang https # NTP para mapanatili ang oras iwasto ang $ sudo ufw payagan sa ntp $ sudo ufw payagan ang ntp # Port 53 para sa resolusyon sa domain ng DNS $ sudo ufw payagan ang 53 # Marahil ay hindi ka nangangailangan ng # # Marahil ay hindi mo kakailanganin ito # Kung gumagamit ang iyong server ng DHCP, i-unblock ang 67 $ sudo ufw payagan sa 67 $ sudo ufw payagan ang 67 # Panghuli, Git $ sudo ufw payagan sa 9418 $ sudo ufw allo out 9418
Tiyaking mabuti ang lahat, at paganahin ang firewall
paganahin ang $ sudo ufw
Maaari mong suriin ang katayuan ng iyong firewall sa mga sumusunod:
$ sudo ufw katayuan
Ayan yun! Ang iyong Gitlab server ay nasa likod ng isang firewall.
Pagwawakas ng Kaisipan
Sa ngayon, mayroon kang isang gumaganang server ng Gitlab. Maaari mong simulan ang pag-set up ng mga account ng gumagamit at proyekto sa pamamagitan ng interface ng Gitlab. Ang Gitlab ngayon ay isang regular na pakete ng Ubuntu, kaya regular itong i-update nang may apt habang pinapanatiling maa-update ang iyong system.
Magbibigay ang Gitlab sa iyo ng lahat ng kakayahang umangkop na kakailanganin mong pamahalaan ang iyong sariling mga proyekto at mas malaking mga proyekto na maaaring nagtatrabaho ka sa isang koponan. Ito ay isang ganap na may kakayahang at matatag na platform na higit pa at maraming mga koponan ang nagsisimulang umasa.