Kako instalirati GitBucket na Ubuntu 16.04

Ovaj vodič pokriva osnovnu instalaciju i postavljanje GitBucketa za Vultr instancu s Ubuntu 16.04 i pretpostavlja da izvršavate naredbe kao non-rootkorisnik.

Preduvjeti

  • Instanca poslužitelja Vultr s najmanje 1 GB RAM-a (manje instance mogu raditi, iako sporo).
  • openjdk-8-jre Obavezno, starije verzije neće raditi.
  • wget Koristi se za preuzimanje GitBucket paketa.
  • nginx Opcionalno, pruža obrnuti proxy za GitBucket
  • systemd Upravlja pokretanjem i zaustavljanjem GitBucket procesa

Instaliranje preduvjeta

GitBucket zahtijeva instaliranje Java 8 ili novije na vašem poslužitelju. Ako još niste instalirali Javu 8, prvo ažurirajte svoje lokalne popise paketa.

sudo apt update

Zatim instalirajte Java 8 runtime paket.

sudo apt install openjdk-8-jre

Instalacija GitBucketa

Stvaranje neprivilegiranog korisnika

Morat ćemo stvoriti neprivilegiranog korisnika za pokretanje GitBucketa prije nego što nastavimo dalje. Pokretanje GitBucketa pod neprivilegiranim korisnikom ograničava našu instalaciju od pisanja izvan vlastitog imenika podataka, jačajući sigurnost vašeg poslužitelja. Pokrenite sljedeću naredbu za stvaranje korisnika sustava pod nazivom gitbucket.

sudo adduser --system gitbucket

Budući da smo stvorili korisnika sustava , zadana ljuska je /bin/false, i bit ćemo vraćeni na našu trenutnu ljusku osim ako ne damo dodatni argument ljuske prilikom pokretanja su. Prijavite se na novostvorenog korisnika.

sudo su - gitbucket -s /bin/bash

Prompt vaše ljuske trebao bi se promijeniti, a vi ćete biti prijavljeni na novog korisnika sustava.

Preuzimanje/ažuriranje GitBucketa

Idite na stranicu izdanja GitBucket i pronađite najnoviju dostupnu verziju. Kopirajte URL za gitbucket.warpaket, provjerite jeste li u početnom imeniku novog korisnika i preuzmite ga pomoću wget.

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

Morat ćete ponoviti ovaj korak svaki put kada želite ažurirati GitBucket paket.

Početna konfiguracija GitBucketa

Nakon što je paket preuzet, morat ćemo ručno pokrenuti GitBucket kako bismo izvršili početnu konfiguraciju.

java -jar gitbucket.war --port 8080

Ako je port 8080već zauzet drugim procesom, možete promijeniti port koji će GitBucket sada slušati. Ovaj vodič pretpostavlja da GitBucket sluša port8080 .

Ovo će pokrenuti GitBucket na javnom mrežnom sučelju vašeg poslužitelja, slušajući na navedenom portu. Nakon nekoliko trenutaka trebali biste vidjeti sljedeću poruku.

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

Ako koristite Vultrov vatrozid , morat ćete otvoriti port koji GitBucket sluša, budući da Vultrov vatrozid radi kao bijeli popis, odbijajući promet kako bi omogućio portove osim ako nije drugačije navedeno.

Vaša GitBucket instalacija sada bi trebala biti online i dostupna s interneta. Pomoću web-preglednika povežite se s javnom adresom vašeg poslužitelja (navedite port na kojem se GitBucket izvodi (tj. http://203.0.113.0:8080ili http://example.com:8080) i sletjet ćete na GitBucket-ovu početnu stranicu.

Međutim, potrebno je promijeniti lozinku zadanog administratorskog računa. Da biste to učinili, prijavite se na administratorski račun putem Sign ingumba u gornjem desnom kutu web sučelja. Zadana prijava za administratorski račun je rootza korisničko ime, a zatim rootopet za lozinku. Nakon prijave, gumb će biti zamijenjen ikonom profila i padajućim izbornikom. Proširite padajući izbornik i odaberite Account Settings, a zatim postavite novu, sigurniju lozinku u čarobnjaku za postavke računa.

Nakon što ste ažurirali vjerodajnice zadanog administratorskog računa i potvrdili da se GitBucket pokreće u ovoj minimalnoj konfiguraciji, zaustavite Java proces s " CTRL+C" i zatvorite trenutnu ljusku s exit.

Stvaranje usluge Systemd

Trenutno GitBucket možemo pokrenuti samo pristupanjem našem poslužitelju putem SSH-a i pokretanjem procesa iz ljuske ručno. Srećom, Ubuntu dolazi unaprijed zapakiran s Systemd, što nam omogućuje stvaranje usluge s kojom će GitBucket biti automatski pokrenut i održavan od strane sustava.

Koristeći nano, stvorite novu jediničnu datoteku u /etc/systemd/systemdirektoriju.

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

Zatim kopirajte sljedeći sadržaj u datoteku.

[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

Ova datoteka jedinice definira osnovno ponašanje pokretanja i isključivanja za GitBucket i pokreće uslugu pod našim neprivilegiranim korisnikom sustava na lokalnom mrežnom sučelju.

Ako ste promijenili broj porta koji će GitBucket slušati, promijenite --portargument za ExecStartnaredbu.

Spremite (" CTRL+O") novu datoteku jedinice i zatim izađite iz uređivača (" CTRL+X"). Morat ćete ponovno učitati Systemd da bi se otkrila nova datoteka jedinice.

sudo systemctl daemon-reload

Nakon što se Systemd ponovno učita, provjerite je li nova jedinica otkrivena i učitana.

sudo systemctl status gitbucket

Trebali biste vidjeti sljedeći izlaz.

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

Konačno, omogućite da se nova jedinica automatski pokrene kada se vaš poslužitelj pokrene, a zatim pokrenite uslugu po prvi put.

sudo systemctl enable gitbucket
sudo systemctl start gitbucket

Nakon što se usluga pokrene, moći ćete ponovno pristupiti GitBucketu iz svog preglednika koristeći IP adresu i broj porta.

Konfiguriranje Nginx obrnutog proxyja

Iako se GitBucket može izložiti izravno putem porta 8080, možete poboljšati performanse i konfigurirati značajke kao što su HTTP/2, TLS enkripcija i pravila predmemoriranja izlaganjem GitBucketa kroz Nginx.

Početna postavka Nginxa

Ako još niste instalirali Nginx, ažurirajte svoje popise paketa.

sudo apt update

Zatim instalirajte Nginx paket.

sudo apt install nginx

Nakon što je Nginx instaliran, provjerite možete li pristupiti web poslužitelju putem IP adrese vašeg poslužitelja bez broja porta (tj. http://203.0.113.0ili http://example.com). Ako bude uspješan, vidjet ćete zadanu Nginx odredišnu stranicu za Ubuntu.

Izrada obrnutog proxyja

Kopirat ćemo zadanu konfiguraciju web-mjesta /etc/nginx/sites-availablekao početnu točku za obrnuti proxy.

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

Otvorite novostvorenu konfiguracijsku datoteku pomoću nano.

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

Pronađite postojeći location /blok na liniji 43.

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

Trenutno će Nginx pokušati vratiti datoteke koje se nalaze u /var/www/htmlkojima se podudaraju dolazni HTTPzahtjevi. Morat ćemo promijeniti ovo ponašanje konfiguriranjem obrnutog proxyja u ovom bloku, koji će umjesto toga slati sve HTTP zahtjeve upućene našem Nginx poslužitelju GitBucket instanci. Ažurirajte location /blok tako da odgovara sljedećem.

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;
}

Ako ste promijenili broj porta na kojem će GitBucket slušati, ažurirajte proxy_passopciju da to odražava.

Da biste omogućili našu novu konfiguraciju, morat ćete onemogućiti postojeću zadanu konfiguraciju u /etc/nginx/sites-enabled, a zatim simbolizirati našu novu konfiguraciju /etc/nginx/sites-enabledkroz sljedeće.

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

Nakon što je konfiguracijska datoteka omogućena, provjerite ima li sintaksičkih pogrešaka.

sudo nginx -t

Zatim ponovno pokrenite Nginx poslužitelj kako biste omogućili našu novu konfiguraciju web-mjesta.

sudo systemctl restart nginx

Sada biste trebali moći pristupiti svojoj GitBucket instalaciji na javnoj adresi vašeg poslužitelja bez broja porta.

Osiguravanje GitBucket procesa s javnog interneta

Trenutno, naša GitBucket instanca sluša na javnom mrežnom sučelju našeg poslužitelja . To će omogućiti korisnicima da zaobiđu Nginx proxy povezivanjem na adresu koju GitBucket trenutno sluša, što je vjerojatno neželjeno. Morat ćemo izmijeniti datoteku jedinice koju smo ranije kreirali da to riješimo. Otvorite datoteku jedinice pomoću nano.

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

Dodavanje --host 127.0.0.1na ExecStartnaredbu, kao što je tako.

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

To će uzrokovati da GitBucket prihvaća samo veze na sučelju lokalne mreže našeg poslužitelja. Još jednom, spremite (" CTRL+O") datoteku, zatvorite (" CTRL+X") uređivač, ponovno učitajte Systemd i ponovno pokrenite našu GitBucket jedinicu.

sudo systemctl daemon-reload
sudo systemctl restart gitbucket

Ako koristite Vultrov vatrozid, također biste trebali ukloniti sva pravila portova koja ste dodali za pristup GitBucket poslužitelju tijekom početnog postavljanja.


Instalirajte Plesk na CentOS 7

Instalirajte Plesk na CentOS 7

Korištenje drugog sustava? Plesk je vlasnička upravljačka ploča web hosta koja omogućuje korisnicima da administriraju svoje osobne i/ili klijentske web stranice, baze podataka

Postavite Cacti na Debian Jessie

Postavite Cacti na Debian Jessie

Uvod Cacti je alat otvorenog koda za praćenje i crtanje koji se u potpunosti temelji na RRD podacima. Putem Cactusa možete pratiti gotovo sve vrste uređaja

Instalirajte Lets Encrypt SSL na WordPress aplikaciju jednim klikom

Instalirajte Lets Encrypt SSL na WordPress aplikaciju jednim klikom

Uvod Lets Encrypt je usluga za izdavanje certifikata koja nudi besplatne TLS/SSL certifikate. Certbot pojednostavljuje proces instalacije,

Kako postaviti Tekkit Classic Server na Ubuntu 16.10

Kako postaviti Tekkit Classic Server na Ubuntu 16.10

Korištenje drugog sustava? Što je Tekkit Classic? Tekkit Classic je modpack za igru ​​koju svi znaju i vole; Minecraft. Sadrži neke od ver

Postavite iRedMail na Debian Wheezy

Postavite iRedMail na Debian Wheezy

Korištenje drugog sustava? Ovaj vodič će vam pokazati kako instalirati grupni softver iRedMail na novu instalaciju Debian Wheezyja. Trebali biste koristiti servis

Izrada Jekyll bloga na Ubuntu 16.04

Izrada Jekyll bloga na Ubuntu 16.04

Korištenje drugog sustava? Jekyll je izvrsna alternativa WordPressu za bloganje ili dijeljenje sadržaja. Ne zahtijeva nikakve baze podataka i vrlo je jednostavan i

Kako postaviti nenadzirane nadogradnje na Debianu 9 (protežu)

Kako postaviti nenadzirane nadogradnje na Debianu 9 (protežu)

Korištenje drugog sustava? Ako kupite Debian poslužitelj, uvijek biste trebali imati najnovije sigurnosne zakrpe i ažuriranja, bez obzira spavate li ili ne

Kako instalirati i konfigurirati PHP 7.0 ili PHP 7.1 na Ubuntu 16.04

Kako instalirati i konfigurirati PHP 7.0 ili PHP 7.1 na Ubuntu 16.04

PHP i povezani paketi najčešće su korištene komponente prilikom postavljanja web poslužitelja. U ovom članku ćemo naučiti kako postaviti PHP 7.0 ili PHP 7.1 o

Kako instalirati Squid proxy na CentOS

Kako instalirati Squid proxy na CentOS

Squid je popularan besplatni program za Linux koji vam omogućuje stvaranje web proxyja za prosljeđivanje. U ovom vodiču vidjet ćete kako instalirati Squid na CentOS da vas preokrene

Kako instalirati Lighttpd (LLMP Stack) na CentOS 6

Kako instalirati Lighttpd (LLMP Stack) na CentOS 6

Uvod Lighttpd je fork Apachea koji ima za cilj da bude puno manje intenzivan prema resursima. Lagan je, otuda mu i naziv, i prilično je jednostavan za korištenje. Instaliraj

Korištenje zaslona na Ubuntu 14.04

Korištenje zaslona na Ubuntu 14.04

Screen je aplikacija koja omogućuje višestruko korištenje terminalskih sesija unutar jednog prozora. To vam omogućuje da simulirate više prozora terminala gdje je ma

Postavite svoj vlastiti DNS poslužitelj na Debian/Ubuntu

Postavite svoj vlastiti DNS poslužitelj na Debian/Ubuntu

Ovaj vodič objašnjava kako postaviti DNS poslužitelj pomoću Bind9 na Debianu ili Ubuntu. U cijelom članku u skladu s tim zamijenite your-domain-name.com. Na th

Konfiguriranje statičkog umrežavanja i IPv6 na CentOS 7

Konfiguriranje statičkog umrežavanja i IPv6 na CentOS 7

VULTR je nedavno napravio promjene na svojoj strani i sada bi sve trebalo raditi dobro iz kutije s omogućenim NetworkManagerom. Želite li onemogućiti

Promjena Icinga2 za korištenje modela Master/Client na CentOS 6 ili CentOS 7

Promjena Icinga2 za korištenje modela Master/Client na CentOS 6 ili CentOS 7

Icinga2 je moćan sustav nadzora, a kada se koristi u modelu master-client, može zamijeniti potrebu za provjerama praćenja na temelju NRPE. Glavni klijent

Postavite Red5 Media Server na Ubuntu 16.04

Postavite Red5 Media Server na Ubuntu 16.04

Korištenje drugog sustava? Red5 je medijski poslužitelj otvorenog koda implementiran u Javi koji vam omogućuje pokretanje Flash višekorisničkih aplikacija kao što je live streamin

Prevedite i instalirajte Nginx s modulom PageSpeed ​​na Debian 8

Prevedite i instalirajte Nginx s modulom PageSpeed ​​na Debian 8

U ovom članku ćemo vidjeti kako sastaviti i instalirati Nginx mainline iz službenih izvora Nginxa s modulom PageSpeed, koji vam omogućuje da

Kako instalirati Vanilla Forum na Ubuntu 16.04

Kako instalirati Vanilla Forum na Ubuntu 16.04

Korištenje drugog sustava? Vanilla forum je aplikacija otvorenog koda napisana u PHP-u. Potpuno je prilagodljiv, jednostavan za korištenje i podržava eksterne

Kako instalirati Kanboard na Ubuntu 18.04 LTS

Kako instalirati Kanboard na Ubuntu 18.04 LTS

Korištenje drugog sustava? Uvod Kanboard je besplatni softver za upravljanje projektima otvorenog koda koji je dizajniran za olakšavanje i vizualizaciju

Kako instalirati Kanboard na Debian 9

Kako instalirati Kanboard na Debian 9

Korištenje drugog sustava? Uvod Kanboard je besplatni softver za upravljanje projektima otvorenog koda koji je dizajniran za olakšavanje i vizualizaciju

Kako instalirati Giteu na Debian 9

Kako instalirati Giteu na Debian 9

Korištenje drugog sustava? Gitea je alternativni sustav za kontrolu verzija otvorenog koda s vlastitim hostom koji pokreće Git. Gitea je napisana na Golangu i jest

Uspon strojeva: primjene AI u stvarnom svijetu

Uspon strojeva: primjene AI u stvarnom svijetu

Umjetna inteligencija nije u budućnosti, ovdje je upravo u sadašnjosti. U ovom blogu Pročitajte kako su aplikacije umjetne inteligencije utjecale na različite sektore.

DDOS napadi: kratak pregled

DDOS napadi: kratak pregled

Jeste li i vi žrtva DDOS napada i zbunjeni ste metodama prevencije? Pročitajte ovaj članak kako biste riješili svoje upite.

Jeste li se ikada zapitali kako hakeri zarađuju novac?

Jeste li se ikada zapitali kako hakeri zarađuju novac?

Možda ste čuli da hakeri zarađuju mnogo novca, ali jeste li se ikada zapitali kako zarađuju toliki novac? raspravimo.

Revolucionarni Googleovi izumi koji će vam olakšati život.

Revolucionarni Googleovi izumi koji će vam olakšati život.

Želite li vidjeti revolucionarne izume Googlea i kako su ti izumi promijenili život svakog čovjeka danas? Zatim čitajte na blogu kako biste vidjeli Googleove izume.

Friday Essential: Što se dogodilo s automobilima s umjetnom inteligencijom?

Friday Essential: Što se dogodilo s automobilima s umjetnom inteligencijom?

Koncept samovozećih automobila koji će krenuti na ceste uz pomoć umjetne inteligencije san je koji već neko vrijeme imamo. No, unatoč nekoliko obećanja, nigdje ih nema. Pročitajte ovaj blog kako biste saznali više…

Tehnološka singularnost: daleka budućnost ljudske civilizacije?

Tehnološka singularnost: daleka budućnost ljudske civilizacije?

Kako se znanost razvija velikom brzinom, preuzimajući mnoge naše napore, raste i rizik da se podvrgnemo neobjašnjivoj Singularnosti. Pročitajte što bi za nas mogla značiti singularnost.

Evolucija pohrane podataka – Infografika

Evolucija pohrane podataka – Infografika

Metode pohrane podataka su se razvijale možda od rođenja podataka. Ovaj blog pokriva evoluciju pohrane podataka na temelju infografike.

Funkcionalnosti slojeva referentne arhitekture velikih podataka

Funkcionalnosti slojeva referentne arhitekture velikih podataka

Pročitajte blog kako biste na najjednostavniji način upoznali različite slojeve u arhitekturi velikih podataka i njihove funkcionalnosti.

6 nevjerojatnih prednosti posjedovanja pametnih kućnih uređaja u našim životima

6 nevjerojatnih prednosti posjedovanja pametnih kućnih uređaja u našim životima

U ovom digitalnom svijetu, pametni kućni uređaji postali su ključni dio života. Evo nekoliko nevjerojatnih prednosti pametnih kućnih uređaja o tome kako naš život čine vrijednim življenja i jednostavnijim.

Ažuriranje dodataka macOS Catalina 10.15.4 uzrokuje više problema nego što ih rješava

Ažuriranje dodataka macOS Catalina 10.15.4 uzrokuje više problema nego što ih rješava

Nedavno je Apple izdao macOS Catalina 10.15.4 dodatak ažuriranju kako bi riješio probleme, ali čini se da ažuriranje uzrokuje više problema koji dovode do zalijevanja mac strojeva. Pročitajte ovaj članak da biste saznali više