Kaip įdiegti „GitBucket“ Ubuntu 16.04

Šiame vadove aprašomas pagrindinis „GitBucket“ diegimas ir sąranka „Vultr“ egzemplioriui, kuriame veikia „Ubuntu 16.04“, ir daroma prielaida, kad komandas vykdote kaip non-rootvartotojas.

Būtinos sąlygos

  • „Vultr“ serverio egzempliorius su mažiausiai 1 GB RAM (mažesni egzemplioriai gali veikti, nors ir lėtai).
  • openjdk-8-jre Būtina, senesnės versijos neveiks.
  • wget Naudojamas norint atsisiųsti GitBucket paketą.
  • nginx Neprivaloma, suteikia atvirkštinį tarpinį serverį „GitBucket“.
  • systemd Tvarko GitBucket proceso paleidimą ir sustabdymą

Prielaidų montavimas

„GitBucket“ reikia, kad jūsų serveryje būtų įdiegta „Java 8“ ar naujesnė versija. Jei dar neįdiegėte „Java 8“, pirmiausia atnaujinkite vietinių paketų sąrašus.

sudo apt update

Tada įdiekite „Java 8“ vykdymo paketą.

sudo apt install openjdk-8-jre

„GitBucket“ diegimas

Neprivilegijuoto vartotojo sukūrimas

Prieš eidami toliau, turėsime sukurti neprivilegijuotą vartotoją, kuris paleistų „GitBucket“. Paleidus „GitBucket“ neprivilegijuotam vartotojui, mūsų diegimas neleidžia rašyti už savo duomenų katalogo ribų, o tai sustiprina jūsų serverio saugumą. Vykdykite šią komandą, kad sukurtumėte sistemos vartotoją, vadinamą gitbucket.

sudo adduser --system gitbucket

Kadangi sukūrėme sistemos vartotoją, numatytasis apvalkalas yra /bin/false, ir mes būsime grąžinti į dabartinį apvalkalą, nebent pateikdami papildomą apvalkalo argumentą pateiksime su. Prisijunkite prie naujai sukurto vartotojo.

sudo su - gitbucket -s /bin/bash

Jūsų apvalkalo raginimas turėtų pasikeisti ir būsite prisijungę prie naujo sistemos vartotojo.

Atsisiunčiamas / atnaujinamas „GitBucket“.

Eikite į „ GitBucket“ leidimų puslapį ir suraskite naujausią galimą versiją. Nukopijuokite gitbucket.warpaketo URL , patikrinkite, ar esate naujojo vartotojo namų kataloge, ir atsisiųskite jį naudodami wget.

cd ~/
wget https://github.com/gitbucket/gitbucket/releases/download/4.18.0/gitbucket.war

Šį veiksmą turėsite pakartoti kiekvieną kartą, kai norite atnaujinti „GitBucket“ paketą.

Pradinė GitBucket konfigūracija

Kai paketas bus atsiųstas, turėsime rankiniu būdu paleisti „GitBucket“, kad atliktume pradinę konfigūraciją.

java -jar gitbucket.war --port 8080

Jei prievadą 8080jau naudoja kitas procesas, galite pakeisti prievadą, kurio dabar klausys GitBucket. Šiame vadove daroma prielaida, kad GitBucket klausosi prievade8080 .

Tai paleis GitBucket jūsų serverio viešojo tinklo sąsajoje, klausydamas nurodytu prievadu. Po kelių akimirkų turėtumėte pamatyti šį pranešimą.

INFO:oejs.Server:main: Started @15891ms

Jei naudojate „ Vultr“ užkardą , turėsite atidaryti prievadą, kurio klauso „GitBucket“, nes „Vultr“ užkarda veikia kaip baltasis sąrašas ir neleidžia srautui leisti prievadų, jei nenurodyta kitaip.

Jūsų „GitBucket“ diegimas dabar turėtų būti prisijungęs ir pasiekiamas iš interneto. Naudodami žiniatinklio naršyklę prisijunkite prie savo serverio viešojo adreso (būtinai nurodykite prievadą, kuriame veikia GitBucket, (ty http://203.0.113.0:8080arba http://example.com:8080), ir pateksite į GitBucket pagrindinį puslapį.

Tačiau reikia pakeisti numatytosios administratoriaus paskyros slaptažodį. Norėdami tai padaryti, prisijunkite prie administratoriaus paskyros naudodami Sign inmygtuką, esantį viršutiniame dešiniajame žiniatinklio sąsajos kampe. Numatytasis administratoriaus paskyros prisijungimas skirtas rootvartotojo vardui, o tada rootslaptažodžiui. Prisijungus mygtukas bus pakeistas profilio piktograma ir išskleidžiamuoju meniu. Išskleiskite išskleidžiamąjį meniu ir pasirinkite Account Settings, tada paskyros nustatymų vedlyje nustatykite naują, saugesnį slaptažodį.

Atnaujinę numatytuosius administratoriaus paskyros kredencialus ir patvirtinę, kad „GitBucket“ paleidžiama naudojant šią minimalią konfigūraciją, užmuškite „Java“ procesą naudodami „ CTRL+C“ ir uždarykite dabartinį apvalkalą naudodami exit.

Sukurti Systemd paslaugą

Šiuo metu „GitBucket“ galime paleisti tik prisijungę prie serverio per SSH ir pradėdami procesą iš apvalkalo rankiniu būdu. Laimei, „Ubuntu“ yra supakuota su Systemd, todėl galime sukurti paslaugą, su kuria sistema „GitBucket“ bus automatiškai paleista ir prižiūrima.

Naudodami nano, sukurkite naują vieneto failą /etc/systemd/systemkataloge.

sudo nano /etc/systemd/system/gitbucket.service

Tada nukopijuokite toliau pateiktą turinį į failą.

[Unit]
Description=GitBucket
After=network.target
[Service]
ExecStart=/usr/bin/java -jar /home/gitbucket/gitbucket.war --port 8080
ExecStop=/bin/kill -SIGINT $MAINPID
Type=simple
User=gitbucket
[Install]
WantedBy=multi-user.target

Šis rinkinio failas apibrėžia pagrindinę „GitBucket“ paleidimo ir išjungimo elgseną ir paleidžia paslaugą mūsų neprivilegijuotam sistemos vartotojui tik vietinio tinklo sąsajoje.

Jei pakeitėte prievado numerį, kurio GitBucket klausys, pakeiskite komandos --portargumentą ExecStart.

Išsaugokite (" CTRL+O") naują vieneto failą ir išeikite iš redaktoriaus (" CTRL+X"). Turėsite iš naujo įkelti Systemd, kad būtų aptiktas naujas vieneto failas.

sudo systemctl daemon-reload

Iš naujo įkėlę Systemd patikrinkite, ar naujas įrenginys buvo aptiktas ir įkeltas.

sudo systemctl status gitbucket

Turėtumėte pamatyti šią išvestį.

gitbucket.service - GitBucket
   Loaded: loaded (/etc/systemd/system/gitbucket.service; disabled; vendor preset: enabled)
   Active: inactive (dead)

Galiausiai įgalinkite naują įrenginį automatiškai paleisti, kai paleidžiamas serveris, tada pirmą kartą paleiskite paslaugą.

sudo systemctl enable gitbucket
sudo systemctl start gitbucket

Kai paslauga bus paleista, vėl galėsite pasiekti „GitBucket“ iš savo naršyklės naudodami IP adresą ir prievado numerį.

„Nginx“ atvirkštinio tarpinio serverio konfigūravimas

Nors „GitBucket“ galima atskleisti tiesiogiai per prievadą 8080, galite pagerinti našumą ir konfigūruoti tokias funkcijas kaip HTTP/2, TLS šifravimas ir talpyklos taisyklės, atskleisdami „GitBucket“ per „Nginx“.

Pradinė Nginx sąranka

Jei dar neįdiegėte „Nginx“, atnaujinkite paketų sąrašus.

sudo apt update

Tada įdiekite Nginx paketą.

sudo apt install nginx

Įdiegę „Nginx“, patikrinkite, ar galite pasiekti žiniatinklio serverį per savo serverio IP adresą be prievado numerio (ty http://203.0.113.0arba http://example.com). Jei pavyks, pamatysite numatytąjį Ubuntu „Nginx“ nukreipimo puslapį.

Atvirkštinio tarpinio serverio kūrimas

Nukopijuosime numatytąją svetainės konfigūraciją /etc/nginx/sites-availablekaip atvirkštinio tarpinio serverio pradžios tašką.

sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/gitbucket

Atidarykite naujai sukurtą konfigūracijos failą naudodami nano.

sudo nano /etc/nginx/sites-available/gitbucket

Raskite esamą location /bloką 43 eilutėje.

location / {
  # First attempt to serve request as file, then
  # as directory, then fall back to displaying a 404.
  try_files $uri $uri/ =404;
}

Šiuo metu „Nginx“ bandys grąžinti failus, /var/www/htmlkurie atitinka gaunamas HTTPužklausas. Turėsime pakeisti šį elgesį, šiame bloke sukonfigūruodami atvirkštinį tarpinį serverį, kuris visas HTTP užklausas, pateiktas mūsų Nginx serveriui, siųs į GitBucket egzempliorių. Atnaujinkite location /bloką, kad jis atitiktų toliau nurodytus dalykus.

location / {
    proxy_pass              http://localhost:8080; # The address GitBucket is listening on
    proxy_set_header        Host $host;
    proxy_set_header        X-Real-IP $remote_addr;
    proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_connect_timeout   150;
    proxy_send_timeout      100;
    proxy_read_timeout      100;
    proxy_buffers           4 32k;

    client_max_body_size    512m; # Needed for large Git operations over HTTP
    client_body_buffer_size 128k;
}

Jei pakeitėte prievado numerį, kurio „GitBucket“ klausys, atnaujinkite proxy_passparinktį, kad tai atspindėtų.

Jei norite įgalinti naują konfigūraciją, turėsite išjungti esamą numatytąją konfigūraciją /etc/nginx/sites-enabled, tada susieti naująją konfigūraciją su /etc/nginx/sites-enabledtoliau pateikta informacija.

sudo rm /etc/nginx/sites-enabled/default
sudo ln -s /etc/nginx/sites-available/gitbucket /etc/nginx/sites-enabled/gitbucket

Įjungę konfigūracijos failą patikrinkite, ar nėra sintaksės klaidų.

sudo nginx -t

Tada iš naujo paleiskite Nginx serverį, kad įgalintumėte naują svetainės konfigūraciją.

sudo systemctl restart nginx

Dabar turėtumėte turėti galimybę pasiekti „GitBucket“ diegimą viešuoju serverio adresu be prievado numerio.

„GitBucket“ proceso apsauga iš viešojo interneto

Šiuo metu mūsų „GitBucket“ egzempliorius klauso mūsų serverio viešojo tinklo sąsajoje. Tai leis vartotojams apeiti „Nginx“ tarpinį serverį prisijungiant prie adreso, kurio šiuo metu klauso „GitBucket“, o tai greičiausiai yra nepageidaujama. Kad tai išspręstume, turėsime pakeisti anksčiau sukurtą vieneto failą. Atidarykite vieneto failą naudodami nano.

sudo nano /etc/systemd/system/gitbucket.service

Pridėkite --host 127.0.0.1prie ExecStartkomandos, panašiai.

...
ExecStart=/usr/bin/java -jar /home/gitbucket/gitbucket.war --port 8080 --host 127.0.0.1
...

Dėl to „GitBucket“ priims ryšius tik mūsų serverio vietinio tinklo sąsajoje. Dar kartą išsaugokite (" CTRL+O") failą, uždarykite (" CTRL+X") redaktorių, iš naujo įkelkite Systemd ir iš naujo paleiskite GitBucket įrenginį.

sudo systemctl daemon-reload
sudo systemctl restart gitbucket

Jei naudojate „Vultr's Firewall“, taip pat turėtumėte pašalinti visas prievado taisykles, kurias pridėjote norėdami pasiekti „GitBucket“ serverį pradinės sąrankos metu.


Leave a Comment

Kaip nustatyti neprižiūrimus atnaujinimus Debian 9 (Stretch)

Kaip nustatyti neprižiūrimus atnaujinimus Debian 9 (Stretch)

Naudojate kitą sistemą? Jei perkate Debian serverį, visada turėtumėte turėti naujausius saugos pataisymus ir naujinimus, nesvarbu, ar miegate, ar ne

Kaip įdiegti ir konfigūruoti PHP 7.0 arba PHP 7.1 Ubuntu 16.04

Kaip įdiegti ir konfigūruoti PHP 7.0 arba PHP 7.1 Ubuntu 16.04

PHP ir susiję paketai yra dažniausiai naudojami komponentai diegiant žiniatinklio serverį. Šiame straipsnyje sužinosime, kaip nustatyti PHP 7.0 arba PHP 7.1 o

Nustatykite savo DNS serverį Debian / Ubuntu

Nustatykite savo DNS serverį Debian / Ubuntu

Šiame vadove paaiškinama, kaip nustatyti DNS serverį naudojant Bind9 sistemoje Debian arba Ubuntu. Visame straipsnyje atitinkamai pakeiskite savo-domeno-vardas.com. Prie th

Nustatykite „Red5 Media Server“ Ubuntu 16.04

Nustatykite „Red5 Media Server“ Ubuntu 16.04

Naudojate kitą sistemą? „Red5“ yra atvirojo kodo medijos serveris, įdiegtas „Java“, leidžiantis paleisti „Flash“ kelių vartotojų programas, tokias kaip tiesioginis srautas.

Sukompiliuokite ir įdiekite „Nginx“ naudodami „PageSpeed“ modulį „Debian 8“.

Sukompiliuokite ir įdiekite „Nginx“ naudodami „PageSpeed“ modulį „Debian 8“.

Šiame straipsnyje pamatysime, kaip sukompiliuoti ir įdiegti pagrindinę Nginx liniją iš oficialių Nginx šaltinių naudojant PageSpeed ​​modulį, kuris leidžia

Kaip įdiegti „Vanilla Forum“ Ubuntu 16.04

Kaip įdiegti „Vanilla Forum“ Ubuntu 16.04

Naudojate kitą sistemą? Vanilla forumas yra atvirojo kodo forumo programa, parašyta PHP. Tai visiškai pritaikoma, paprasta naudoti ir palaiko išorinę

Kaip įdiegti „Kanboard“ Ubuntu 18.04 LTS

Kaip įdiegti „Kanboard“ Ubuntu 18.04 LTS

Naudojate kitą sistemą? Įvadas Kanboard yra nemokama atvirojo kodo projektų valdymo programinė įranga, skirta palengvinti ir vizualizuoti

Kaip įdiegti „Kanboard“ „Debian 9“.

Kaip įdiegti „Kanboard“ „Debian 9“.

Naudojate kitą sistemą? Įvadas Kanboard yra nemokama atvirojo kodo projektų valdymo programinė įranga, skirta palengvinti ir vizualizuoti

Kaip įdiegti Gitea Debian 9

Kaip įdiegti Gitea Debian 9

Naudojate kitą sistemą? Gitea yra alternatyvi atvirojo kodo, savarankiškai priglobta versijų valdymo sistema, kurią maitina Git. Gitea parašyta golangu ir yra

Kaip įdiegti „Gitea“ Ubuntu 18.04

Kaip įdiegti „Gitea“ Ubuntu 18.04

Naudojate kitą sistemą? Gitea yra alternatyvi atvirojo kodo, savarankiškai priglobta versijų valdymo sistema, kurią maitina git. Gitea parašyta golangu ir yra

Įdiekite „Lynis“ „Debian 8“.

Įdiekite „Lynis“ „Debian 8“.

Įvadas Lynis yra nemokama atvirojo kodo sistemos audito priemonė, kurią naudoja daugelis sistemų administratorių, kad patikrintų vientisumą ir sustiprintų savo sistemas. aš

Kaip įdiegti Thelia 2.3 Debian 9

Kaip įdiegti Thelia 2.3 Debian 9

Naudojate kitą sistemą? Thelia yra atvirojo kodo įrankis, skirtas kurti el. verslo svetaines ir valdyti PHP parašytą internetinį turinį. Thelia šaltinio kodas i

Kaip įdiegti „Microweber“ „CentOS 7“.

Kaip įdiegti „Microweber“ „CentOS 7“.

Naudojate kitą sistemą? „Microweber“ yra atvirojo kodo „drag and drop“ TVS ir internetinė parduotuvė. „Microweber“ šaltinio kodas yra „GitHub“. Šis vadovas jums parodys

„Microweber“ diegimas „Ubuntu 16.04“.

„Microweber“ diegimas „Ubuntu 16.04“.

Naudojate kitą sistemą? „Microweber“ yra atvirojo kodo „drag and drop“ TVS ir internetinė parduotuvė. „Microweber“ šaltinio kodas yra „GitHub“. Šis vadovas jums parodys

Kaip įdiegti dotCMS Ubuntu 16.04

Kaip įdiegti dotCMS Ubuntu 16.04

Naudojate kitą sistemą? DotCMS yra atvirojo kodo, įmonės lygio turinio valdymo sistema, parašyta Java. Jame yra beveik visos reikalingos funkcijos t

Kaip įdiegti „BigTree CMS“ Fedora 26 LAMP VPS

Kaip įdiegti „BigTree CMS“ Fedora 26 LAMP VPS

Naudojate kitą sistemą? BigTree CMS 4.2 yra greita ir lengva, nemokama ir atviro kodo, įmonės lygio turinio valdymo sistema (TVS), turinti platų

„Minecraft“ serverių tinklo sukūrimas naudojant „BungeeCord“ „Debian 8“, „Debian 9“ arba „CentOS 7“

„Minecraft“ serverių tinklo sukūrimas naudojant „BungeeCord“ „Debian 8“, „Debian 9“ arba „CentOS 7“

Ko jums reikia Vultr VPS su mažiausiai 1 GB RAM. SSH prieiga (su root / administratoriaus teisėmis). 1 veiksmas: „BungeeCord“ diegimas Pirmiausia

„Docker CE“ diegimas „Ubuntu 16.04“.

„Docker CE“ diegimas „Ubuntu 16.04“.

Naudojate kitą sistemą? Docker yra programa, leidžianti diegti programas, kurios vykdomos kaip konteineriai. Tai buvo parašyta populiarioje Go programoje

Kaip įdiegti Golang 1.8.3 CentOS 7, Ubuntu 16.04 ir Debian 9

Kaip įdiegti Golang 1.8.3 CentOS 7, Ubuntu 16.04 ir Debian 9

Golang yra programavimo kalba, kurią sukūrė Google. Dėl savo universalumo, paprastumo ir patikimumo Golangas tapo vienu populiariausių

„Dirty Cow Exploit“ pataisymas „CentOS“.

„Dirty Cow Exploit“ pataisymas „CentOS“.

Kas yra purvina karvė (CVE-2016-5195)? „Dirty Cow“ pažeidžiamumas išnaudojamas „Linux“ apdorojant kodą. Tai leidžia neprivilegijuotam vartotojui gai

Mašinų augimas: AI pritaikymas realiame pasaulyje

Mašinų augimas: AI pritaikymas realiame pasaulyje

Dirbtinis intelektas nėra ateityje, jis čia, dabartyje Šiame tinklaraštyje Skaitykite, kaip dirbtinio intelekto programos paveikė įvairius sektorius.

DDOS atakos: trumpa apžvalga

DDOS atakos: trumpa apžvalga

Ar taip pat esate DDOS atakų auka ir esate sumišęs dėl prevencijos metodų? Perskaitykite šį straipsnį, kad išspręstumėte savo užklausas.

Ar kada nors susimąstėte, kaip įsilaužėliai uždirba pinigų?

Ar kada nors susimąstėte, kaip įsilaužėliai uždirba pinigų?

Galbūt girdėjote, kad įsilaužėliai uždirba daug pinigų, bet ar kada susimąstėte, kaip jie uždirba tokius pinigus? padiskutuokime.

Revoliuciniai „Google“ išradimai, kurie palengvins jūsų gyvenimą.

Revoliuciniai „Google“ išradimai, kurie palengvins jūsų gyvenimą.

Ar norite pamatyti revoliucinius „Google“ išradimus ir kaip šie išradimai pakeitė kiekvieno žmogaus gyvenimą šiandien? Tada skaitykite tinklaraštį, kad pamatytumėte „Google“ išradimus.

Penktadienio esminiai dalykai: kas atsitiko AI varomiems automobiliams?

Penktadienio esminiai dalykai: kas atsitiko AI varomiems automobiliams?

Savavaledžių automobilių koncepcija, kuri išvažiuotų į kelius su dirbtinio intelekto pagalba, yra svajonė, kurią jau kurį laiką svajojame. Tačiau nepaisant kelių pažadų, jų niekur nematyti. Skaitykite šį tinklaraštį, kad sužinotumėte daugiau…

Technologinis išskirtinumas: tolima žmogaus civilizacijos ateitis?

Technologinis išskirtinumas: tolima žmogaus civilizacijos ateitis?

Kadangi mokslas sparčiai vystosi, perimdamas daug mūsų pastangų, taip pat didėja rizika, kad pateksime į nepaaiškinamą singuliarumą. Skaitykite, ką mums gali reikšti išskirtinumas.

Duomenų saugojimo raida – infografika

Duomenų saugojimo raida – infografika

Duomenų saugojimo metodai gali būti tobulinami nuo pat Duomenų gimimo. Šiame tinklaraštyje, remiantis infografika, aprašoma duomenų saugojimo raida.

Didžiųjų duomenų atskaitos architektūros sluoksnių funkcijos

Didžiųjų duomenų atskaitos architektūros sluoksnių funkcijos

Skaitykite tinklaraštį, kad paprasčiausiai sužinotumėte apie skirtingus didžiųjų duomenų architektūros sluoksnius ir jų funkcijas.

6 nuostabūs išmaniųjų namų įrenginių privalumai

6 nuostabūs išmaniųjų namų įrenginių privalumai

Šiame skaitmeniniu būdu pagrįstame pasaulyje išmanieji namų įrenginiai tapo svarbia gyvenimo dalimi. Štai keletas nuostabių išmaniųjų namų įrenginių privalumų, kaip jie daro mūsų gyvenimą vertą gyventi ir paprastesnį.

„macOS Catalina 10.15.4“ priedo atnaujinimas kelia daugiau problemų, nei sprendžia

„macOS Catalina 10.15.4“ priedo atnaujinimas kelia daugiau problemų, nei sprendžia

Neseniai „Apple“ išleido „macOS Catalina 10.15.4“ priedą, skirtą problemoms išspręsti, tačiau atrodo, kad dėl atnaujinimo kyla daugiau problemų, dėl kurių „Mac“ įrenginiai blokuojami. Norėdami sužinoti daugiau, perskaitykite šį straipsnį