GitBucketin asentaminen Ubuntuun 16.04

Tämä opas kattaa GitBucketin perusasennuksen ja asennuksen Vultr-instanssille, jossa on Ubuntu 16.04, ja olettaa, että suoritat komentoja non-rootkäyttäjänä.

Edellytykset

  • Vultr-palvelinesiintymä, jossa on vähintään 1 Gt RAM-muistia (pienemmät ilmentymät voivat toimia, vaikkakin hitaasti).
  • openjdk-8-jre Pakollinen, vanhemmat versiot eivät toimi.
  • wget Käytetään GitBucket-paketin lataamiseen.
  • nginx Valinnainen, tarjoaa käänteisen välityspalvelimen GitBucketille
  • systemd Hallitsee GitBucket-prosessin käynnistämistä ja pysäyttämistä

Edellytysten asennus

GitBucket vaatii Java 8:n tai uudemman asennettuna palvelimellesi. Jos et ole vielä asentanut Java 8:aa, päivitä ensin paikalliset pakettiluettelosi.

sudo apt update

Asenna sitten Java 8 runtime -paketti.

sudo apt install openjdk-8-jre

GitBucketin asennus

Etuoikeudettoman käyttäjän luominen

Meidän on luotava etuoikeutettu käyttäjä suorittamaan GitBucket ennen kuin jatkamme eteenpäin. GitBucketin käyttäminen epäoikeudenmukaisen käyttäjän alaisuudessa estää asennustamme kirjoittamasta oman tietohakemistonsa ulkopuolelle, mikä vahvistaa palvelimesi turvallisuutta. Suorita seuraava komento luodaksesi järjestelmän käyttäjä nimeltä gitbucket.

sudo adduser --system gitbucket

Koska loimme järjestelmän käyttäjän, oletuskuori on /bin/false, ja meidät palautetaan nykyiseen komentotulkkiimme, ellemme anna ylimääräistä komentotulkkiargumenttia suoritettaessa su. Kirjaudu äskettäin luodulle käyttäjälle.

sudo su - gitbucket -s /bin/bash

Shellin kehotteen pitäisi muuttua, ja kirjaudut sisään uuteen järjestelmän käyttäjään.

GitBucketin lataaminen/päivitys

Siirry GitBucket-julkaisusivulle ja etsi uusin saatavilla oleva versio. Kopioi gitbucket.warpaketin URL-osoite , varmista, että olet uuden käyttäjän kotihakemistossa, ja lataa se sovelluksella wget.

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

Sinun on toistettava tämä vaihe joka kerta, kun haluat päivittää GitBucket-paketin.

Alkuperäinen GitBucket-määritys

Kun paketti on ladattu, meidän on käynnistettävä GitBucket manuaalisesti alkumäärityksen suorittamiseksi.

java -jar gitbucket.war --port 8080

Jos portti 8080on jo toisen prosessin varassa, voit vaihtaa porttia, jota GitBucket kuuntelee nyt. Tämä opas olettaa kauttaaltaan, että GitBucket kuuntelee porttia8080 .

Tämä käynnistää GitBucketin palvelimesi julkisessa verkkoliittymässä ja kuuntelee määritetystä portista. Sinun pitäisi nähdä muutaman hetken kuluttua seuraava viesti.

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

Jos käytät Vultrin palomuuria , sinun on avattava portti, jota GitBucket kuuntelee, koska Vultrin palomuuri toimii valkoisena listana ja estää liikenteen sallimasta portteja, ellei toisin mainita.

GitBucket-asennuksesi pitäisi nyt olla verkossa ja saatavilla Internetistä. Muodosta verkkoselaimella yhteys palvelimesi julkiseen osoitteeseen (muista määrittää portti, jolla GitBucket toimii, (eli http://203.0.113.0:8080tai http://example.com:8080), niin pääset GitBucketin kotisivulle.

Oletusjärjestelmänvalvojan tilin salasana on kuitenkin vaihdettava. Voit tehdä tämän kirjautumalla sisään järjestelmänvalvojan tilille Sign inverkkokäyttöliittymän oikeassa yläkulmassa olevan painikkeen kautta. Järjestelmänvalvojan tilin oletuskirjautuminen on rootkäyttäjätunnus ja sitten rootsalasana. Kun olet kirjautunut sisään, painike korvataan profiilikuvakkeella ja avattavalla valikolla. Laajenna avattava valikko ja valitse Account Settingsja aseta sitten uusi, turvallisempi salasana ohjatussa tilin asetustoiminnossa.

Kun olet päivittänyt oletusjärjestelmänvalvojan tilin kirjautumistiedot ja varmistanut, että GitBucket käynnistyy tässä minimaalisessa kokoonpanossa, lopeta Java-prosessi komennolla " CTRL+C" ja sulje nykyinen komentotulkki käyttämällä exit.

Systemd-palvelun luominen

Tällä hetkellä voimme suorittaa GitBucketin vain pääsemällä palvelimellemme SSH:n kautta ja käynnistämällä prosessin komentotulkista manuaalisesti. Onneksi Ubuntu tulee valmiiksi Systemdpakattuna, jolloin voimme luoda palvelun, jonka avulla järjestelmä käynnistää ja ylläpitää GitBucketin automaattisesti.

Käyttäen nano, luo uusi yksikkö tiedosto /etc/systemd/systemhakemistoon.

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

Kopioi sitten seuraava sisältö tiedostoon.

[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

Tämä yksikkötiedosto määrittelee GitBucketin peruskäynnistys- ja sammutuskäyttäytymisen ja suorittaa palvelun etuoikeutettujen järjestelmäkäyttäjämme alaisuudessa vain paikallisessa verkkoliittymässä.

Jos olet vaihtanut porttinumeroa, jota GitBucket kuuntelee, muuta komennon --portargumenttia ExecStart.

Tallenna (" CTRL+O") uusi yksikkötiedosto ja poistu sitten editorista (" CTRL+X"). Sinun on ladattava Systemd uudelleen, jotta uusi yksikkötiedosto löydetään.

sudo systemctl daemon-reload

Kun Systemd on ladannut uudelleen, varmista, että uusi yksikkö löydettiin ja ladattiin.

sudo systemctl status gitbucket

Sinun pitäisi nähdä seuraava tulos.

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

Ota lopuksi käyttöön uusi yksikkö käynnistymään automaattisesti, kun palvelin käynnistyy, ja käynnistä sitten palvelu ensimmäisen kerran.

sudo systemctl enable gitbucket
sudo systemctl start gitbucket

Kun palvelu on alkanut, pääset taas käyttämään GitBucketia selaimessasi IP-osoitteen ja porttinumeron avulla.

Nginx-käänteisen välityspalvelimen määrittäminen

Vaikka GitBucket voidaan paljastaa suoraan portin kautta 8080, voit parantaa suorituskykyä ja määrittää ominaisuuksia, kuten HTTP/2, TLS-salaus ja välimuistisäännöt paljastamalla GitBucketin Nginxin kautta.

Nginxin alkuasennus

Jos et ole vielä asentanut Nginxiä, päivitä pakettiluettelosi.

sudo apt update

Asenna sitten Nginx-paketti.

sudo apt install nginx

Kun Nginx on asennettu, varmista, että pääset verkkopalvelimeen palvelimesi IP-osoitteen kautta ilman porttinumeroa (eli http://203.0.113.0tai http://example.com). Jos onnistut, näet Ubuntun oletusarvoisen Nginx-aloitussivun.

Käänteisen välityspalvelimen luominen

Kopioimme oletussivuston määritykset /etc/nginx/sites-availablekäänteisen välityspalvelimen aloituspisteeksi.

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

Avaa äskettäin luotu asetustiedosto painikkeella nano.

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

Paikanna olemassa oleva location /lohko riviltä 43.

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

Tällä hetkellä Nginx yrittää palauttaa tiedostoja, /var/www/htmljotka vastaavat saapuvia HTTPpyyntöjä. Meidän on muutettava tätä toimintaa määrittämällä käänteinen välityspalvelin tähän lohkoon, joka lähettää sen sijaan kaikki Nginx-palvelimellemme tehdyt HTTP-pyynnöt GitBucket-instanssiin. Päivitä location /lohko vastaamaan seuraavaa.

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

Jos vaihdoit porttinumeroa, jota GitBucket kuuntelee, päivitä proxy_passvaihtoehto vastaamaan tätä.

Jos haluat ottaa uuden kokoonpanomme käyttöön, sinun on poistettava käytöstä nykyinen oletusmääritys kohteessa /etc/nginx/sites-enabled, ja sitten on linkitettävä uusi kokoonpanomme /etc/nginx/sites-enabledseuraavien ohjeiden kautta.

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

Kun asetustiedosto on otettu käyttöön, tarkista syntaksivirheiden varalta.

sudo nginx -t

Käynnistä sitten Nginx-palvelin uudelleen ottaaksesi uuden sivuston määrityksen käyttöön.

sudo systemctl restart nginx

Sinun pitäisi nyt päästä käsiksi GitBucket-asennukseen palvelimesi julkisessa osoitteessa ilman porttinumeroa.

GitBucket-prosessin suojaaminen julkisesta Internetistä

Tällä hetkellä GitBucket-esiintymämme kuuntelee palvelimemme julkista verkkoliittymää. Tämän ansiosta käyttäjät voivat ohittaa Nginx-välityspalvelimen muodostamalla yhteyden GitBucketin parhaillaan kuuntelemaan osoitteeseen, mikä on todennäköisesti ei-toivottua. Meidän on muutettava aiemmin luomaamme yksikkötiedostoa ratkaistaksemme tämän. Avaa yksikkötiedosto painikkeella nano.

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

Liitä --host 127.0.0.1sen ExecStartkomennon, kuten niin.

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

Tämä saa GitBucketin hyväksymään yhteydet vain palvelimemme paikallisessa verkkoliittymässä. Jälleen kerran, tallenna (" CTRL+O") tiedosto, sulje (" CTRL+X") editori, lataa Systemd uudelleen ja käynnistä GitBucket-yksikkömme uudelleen.

sudo systemctl daemon-reload
sudo systemctl restart gitbucket

Jos käytät Vultr's Firewallia, sinun tulee myös poistaa kaikki porttisäännöt, jotka olet lisännyt päästäksesi GitBucket-palvelimeen alkuasennuksen aikana.


Asenna Plesk CentOS 7:ään

Asenna Plesk CentOS 7:ään

Käytätkö erilaista järjestelmää? Plesk on patentoitu verkkoisäntäohjauspaneeli, jonka avulla käyttäjät voivat hallita henkilökohtaisia ​​ja/tai asiakkaidensa verkkosivustoja, tietokantoja

Asenna Cacti Debian Jessielle

Asenna Cacti Debian Jessielle

Johdanto Cacti on avoimen lähdekoodin seuranta- ja grafiikkatyökalu, joka perustuu täysin RRD-tietoihin. Cactin kautta voit seurata lähes minkä tahansa tyyppisiä laitteita

Asenna Lets Encrypt SSL One-Click WordPress -sovellukseen

Asenna Lets Encrypt SSL One-Click WordPress -sovellukseen

Johdanto Lets Encrypt on varmenteen myöntäjäpalvelu, joka tarjoaa ilmaisia ​​TLS/SSL-varmenteita. Certbot yksinkertaistaa asennusprosessia,

Tekkit Classic -palvelimen määrittäminen Ubuntu 16.10:ssä

Tekkit Classic -palvelimen määrittäminen Ubuntu 16.10:ssä

Käytätkö erilaista järjestelmää? Mikä on Tekkit Classic? Tekkit Classic on modack peliin, jonka kaikki tuntevat ja rakastavat; Minecraft. Se sisältää joitain ver

Asenna iRedMail Debian Wheezylle

Asenna iRedMail Debian Wheezylle

Käytätkö erilaista järjestelmää? Tämä opetusohjelma näyttää kuinka asennat ryhmätyöohjelman iRedMail uuteen Debian Wheezy -asennukseen. Sinun pitäisi käyttää tarjoilua

Jekyll-blogin luominen Ubuntuun 16.04

Jekyll-blogin luominen Ubuntuun 16.04

Käytätkö erilaista järjestelmää? Jekyll on loistava vaihtoehto WordPressille bloggaamiseen tai sisällön jakamiseen. Se ei vaadi tietokantoja ja se on erittäin helppoa i

Valvomattomien päivitysten asentaminen Debian 9:ssä (Stretch)

Valvomattomien päivitysten asentaminen Debian 9:ssä (Stretch)

Käytätkö erilaista järjestelmää? Jos ostat Debian-palvelimen, sinulla pitäisi aina olla viimeisimmät tietoturvakorjaukset ja -päivitykset riippumatta siitä, oletko nukkumassa vai ei.

PHP 7.0:n tai PHP 7.1:n asentaminen ja määrittäminen Ubuntu 16.04:ssä

PHP 7.0:n tai PHP 7.1:n asentaminen ja määrittäminen Ubuntu 16.04:ssä

PHP ja siihen liittyvät paketit ovat yleisimmin käytettyjä komponentteja verkkopalvelimen käyttöönotossa. Tässä artikkelissa opimme asentamaan PHP 7.0 tai PHP 7.1 o

Kuinka asentaa Squid Proxy CentOS:ään

Kuinka asentaa Squid Proxy CentOS:ään

Squid on suosittu, ilmainen Linux-ohjelma, jonka avulla voit luoda edelleenlähetysverkkovälityspalvelimen. Tässä oppaassa näet, kuinka Squid asennetaan CentOS:ään kääntääksesi sinut

Lighttpd:n (LLMP Stack) asentaminen CentOS 6:een

Lighttpd:n (LLMP Stack) asentaminen CentOS 6:een

Johdanto Lighttpd on Apachen haarukka, jonka tarkoituksena on olla paljon vähemmän resurssiintensiivinen. Se on kevyt, tästä syystä sen nimi, ja on melko yksinkertainen käyttää. Asenna

Kolme ilmaista palvelinohjauspaneelia (pikaasennus)

Kolme ilmaista palvelinohjauspaneelia (pikaasennus)

1. Virtualmin/Webmin Virtualmin on tehokas ja joustava web-hosting-ohjauspaneeli Linux- ja UNIX-järjestelmille, joka perustuu tunnettuun avoimen lähdekoodin verkkotietokantaan

Yii-sovelluksen määrittäminen Ubuntuun 14.04

Yii-sovelluksen määrittäminen Ubuntuun 14.04

Yii on PHP-kehys, jonka avulla voit kehittää sovelluksia nopeammin ja helpommin. Yiin asentaminen Ubuntuun on yksinkertaista, kuten opit tarkalleen

Näytön käyttö Ubuntu 14.04:ssä

Näytön käyttö Ubuntu 14.04:ssä

Screen on sovellus, joka mahdollistaa usean pääteistuntojen käytön yhdessä ikkunassa. Tämän avulla voit simuloida useita pääteikkunoita, joissa se ma

Asenna oma DNS-palvelin Debianissa/Ubuntussa

Asenna oma DNS-palvelin Debianissa/Ubuntussa

Tämä opetusohjelma selittää, kuinka DNS-palvelin määritetään Bind9:n avulla Debianissa tai Ubuntussa. Korvaa koko artikkelin ajan verkkotunnuksesi-nimi.com vastaavasti. klo th

Logrotaten käyttäminen lokitiedostojen hallintaan

Logrotaten käyttäminen lokitiedostojen hallintaan

Johdanto Logrotate on Linux-apuohjelma, joka yksinkertaistaa lokitiedostojen hallintaa. Se toimii yleensä kerran päivässä cron-työn kautta ja hallitsee lokipohjaa

Staattisen verkon ja IPv6:n määrittäminen CentOS 7:ssä

Staattisen verkon ja IPv6:n määrittäminen CentOS 7:ssä

VULTR on äskettäin tehnyt muutoksia heidän omiinsa, ja kaiken pitäisi nyt toimia hyvin heti, kun NetworkManager on käytössä. Jos haluat poistaa käytöstä

Icinga2:n muokkaaminen käyttämään pää/asiakasmallia CentOS 6:ssa tai CentOS 7:ssä

Icinga2:n muokkaaminen käyttämään pää/asiakasmallia CentOS 6:ssa tai CentOS 7:ssä

Icinga2 on tehokas valvontajärjestelmä, ja master-client-mallissa käytettynä se voi korvata NRPE-pohjaisten valvontatarkastusten tarpeen. Pääasiakas

Asenna Red5 Media Server Ubuntu 16.04:ään

Asenna Red5 Media Server Ubuntu 16.04:ään

Käytätkö erilaista järjestelmää? Red5 on Java-kielellä toteutettu avoimen lähdekoodin mediapalvelin, jonka avulla voit ajaa Flash-monikäyttäjäsovelluksia, kuten suoratoistoa.

Käännä ja asenna Nginx PageSpeed-moduulilla Debian 8:ssa

Käännä ja asenna Nginx PageSpeed-moduulilla Debian 8:ssa

Tässä artikkelissa näemme, kuinka Nginx-päälinja voidaan kääntää ja asentaa virallisista Nginx-lähteistä PageSpeed-moduulilla, jonka avulla voit

Apache Cassandra 3.11.x:n asentaminen Ubuntu 16.04 LTS:ään

Apache Cassandra 3.11.x:n asentaminen Ubuntu 16.04 LTS:ään

Käytätkö erilaista järjestelmää? Apache Cassandra on ilmainen ja avoimen lähdekoodin NoSQL-tietokannan hallintajärjestelmä, joka on suunniteltu tarjoamaan skaalautuvuutta, hig.

Koneiden nousu: tekoälyn todelliset sovellukset

Koneiden nousu: tekoälyn todelliset sovellukset

Tekoäly ei ole tulevaisuudessa, se tässä nykyisyydessä Tässä blogissa Lue kuinka tekoälysovellukset ovat vaikuttaneet eri sektoreihin.

DDOS-hyökkäykset: lyhyt katsaus

DDOS-hyökkäykset: lyhyt katsaus

Oletko myös DDOS-hyökkäysten uhri ja hämmentynyt ehkäisymenetelmistä? Lue tämä artikkeli ratkaistaksesi kysymyksesi.

Oletko koskaan miettinyt, kuinka hakkerit ansaitsevat rahaa?

Oletko koskaan miettinyt, kuinka hakkerit ansaitsevat rahaa?

Olet ehkä kuullut, että hakkerit ansaitsevat paljon rahaa, mutta oletko koskaan miettinyt, kuinka he ansaitsevat tuollaista rahaa? keskustellaan.

Googlen vallankumouksellisia keksintöjä, jotka helpottavat elämääsi.

Googlen vallankumouksellisia keksintöjä, jotka helpottavat elämääsi.

Haluatko nähdä Googlen vallankumouksellisia keksintöjä ja kuinka nämä keksinnöt muuttivat jokaisen ihmisen elämää nykyään? Lue sitten blogia nähdäksesi Googlen keksinnöt.

Essential perjantai: Mitä tekoäly-ohjatuille autoille tapahtui?

Essential perjantai: Mitä tekoäly-ohjatuille autoille tapahtui?

Konsepti itseohjautuvista autoista lähteä tielle tekoälyn avulla on ollut haaveena jo jonkin aikaa. Mutta useista lupauksista huolimatta niitä ei näy missään. Lue tämä blogi saadaksesi lisätietoja…

Teknologinen singulaarisuus: ihmissivilisaation kaukainen tulevaisuus?

Teknologinen singulaarisuus: ihmissivilisaation kaukainen tulevaisuus?

Kun tiede kehittyy nopeasti ja ottaa haltuunsa suuren osan ponnisteluistamme, myös riskit altistaa itsemme selittämättömälle singulariteetille kasvavat. Lue, mitä singulaarisuus voisi tarkoittaa meille.

Tietojen tallennuksen evoluutio – Infografiikka

Tietojen tallennuksen evoluutio – Infografiikka

Tietojen säilytystavat ovat kehittyneet mahdollisesti Datan syntymästä lähtien. Tämä blogi käsittelee tiedon tallennuksen kehitystä infografian pohjalta.

Big Datan referenssiarkkitehtuurikerrosten toiminnot

Big Datan referenssiarkkitehtuurikerrosten toiminnot

Blogista saat tietää Big Data -arkkitehtuurin eri kerroksista ja niiden toiminnoista yksinkertaisimmalla tavalla.

6 uskomatonta etua älykkäiden kotilaitteiden käyttämisestä elämässämme

6 uskomatonta etua älykkäiden kotilaitteiden käyttämisestä elämässämme

Tässä digitaalisessa maailmassa kodin älylaitteista on tullut tärkeä osa elämää. Tässä on muutamia älykkäiden kodin laitteiden hämmästyttäviä etuja, joiden avulla ne tekevät elämästämme elämisen arvoista ja yksinkertaisempaa.

macOS Catalina 10.15.4 -täydennyspäivitys aiheuttaa enemmän ongelmia kuin ratkaiseminen

macOS Catalina 10.15.4 -täydennyspäivitys aiheuttaa enemmän ongelmia kuin ratkaiseminen

Apple julkaisi äskettäin macOS Catalina 10.15.4 -lisäpäivityksen ongelmien korjaamiseksi, mutta näyttää siltä, ​​että päivitys aiheuttaa lisää ongelmia, jotka johtavat mac-koneiden tiilikaamiseen. Lue tämä artikkeli saadaksesi lisätietoja