Cum se instalează GitBucket pe Ubuntu 16.04

Acest ghid acoperă instalarea și configurarea de bază a GitBucket pentru o instanță Vultr care rulează Ubuntu 16.04 și presupune că executați comenzi ca non-rootutilizator.

Cerințe preliminare

  • O instanță a serverului Vultr cu cel puțin 1 GB RAM (cazuri mai mici pot funcționa, deși încet).
  • openjdk-8-jre Versiunile obligatorii, mai vechi, nu vor funcționa.
  • wget Folosit pentru a descărca pachetul GitBucket.
  • nginx Opțional, oferă un proxy invers pentru GitBucket
  • systemd Gestionează pornirea și oprirea procesului GitBucket

Instalarea condițiilor preliminare

GitBucket necesită instalarea Java 8 sau mai nouă pe serverul dvs. Dacă nu ați instalat deja Java 8, actualizați mai întâi listele locale de pachete.

sudo apt update

Apoi instalați pachetul de rulare Java 8.

sudo apt install openjdk-8-jre

Instalarea GitBucket

Crearea unui utilizator neprivitat

Va trebui să creăm un utilizator neprivitat pentru a rula GitBucket înainte de a merge mai departe. Rularea GitBucket sub un utilizator neprivitat restricționează instalarea noastră de a scrie în afara propriului său director de date, consolidând securitatea serverului dumneavoastră. Rulați următoarea comandă pentru a crea un utilizator de sistem apelat gitbucket.

sudo adduser --system gitbucket

Deoarece am creat un utilizator de sistem , shell-ul implicit este /bin/falseși vom fi relocați la shell-ul nostru actual, cu excepția cazului în care vom furniza un argument de shell suplimentar atunci când rulăm su. Conectați-vă la utilizatorul nou creat.

sudo su - gitbucket -s /bin/bash

Solicitantul dvs. de shell trebuie să se schimbe și veți fi conectat la noul utilizator de sistem.

Descărcarea / Actualizarea GitBucket

Accesați pagina de versiuni GitBucket și localizați cea mai recentă versiune disponibilă. Copiați adresa URL a gitbucket.warpachetului, verificați dacă vă aflați în directorul principal al utilizatorului și descărcați-l cu wget.

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

Va trebui să repetați acest pas de fiecare dată când doriți să actualizați pachetul GitBucket.

Configurația inițială GitBucket

După ce pachetul a fost descărcat, va trebui să pornim GitBucket manual pentru a efectua unele configurații inițiale.

java -jar gitbucket.war --port 8080

Dacă portul 8080este deja luat de un alt proces, puteți modifica portul pe care GitBucket îl va asculta acum. Acest ghid presupune că GitBucket ascultă în port8080 .

Aceasta va porni GitBucket pe interfața de rețea publică a serverului dvs., ascultând portul specificat. Ar trebui să vedeți, după câteva momente, următorul mesaj.

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

Dacă utilizați firewall-ul lui Vultr , va trebui să deschideți portul pe care GitBucket îl ascultă, întrucât firewall-ul Vultr funcționează ca o listă albă, respingând traficul pentru a permite porturile, dacă nu este specificat altfel.

Instalarea dvs. GitBucket ar trebui să fie acum online și accesibilă de pe internet. Folosind un browser web, conectați-vă la adresa publică a serverului dvs. (cu siguranță să specificați portul pe care GitBucket este în curs de funcționare, ( http://203.0.113.0:8080sau http://example.com:8080) și veți ateriza pe pagina principală a GitBucket.

Cu toate acestea, parola contului de administrator implicit trebuie modificată. Pentru a face acest lucru, conectați-vă la contul de administrator prin intermediul Sign inbutonului din partea dreaptă sus a interfeței web. Autentificarea implicită pentru contul de administrator este rootpentru numele de utilizator, apoi rootdin nou pentru parola. Odată conectat, butonul va fi înlocuit cu o pictogramă de profil și derulant. Extindeți meniul derulant și selectați Account Settings, apoi setați o parolă nouă, mai sigură, în asistentul pentru setările contului.

După ce ați actualizat datele de autentificare ale contului de administrator implicit și ați verificat că GitBucket începe în această configurație minimă, ucideți procesul Java cu " CTRL+C" și închideți shell-ul curent cu exit.

Crearea serviciului Systemd

În prezent, putem rula GitBucket doar accesând serverul nostru prin SSH și pornind procesul de la un shell manual. Din fericire, Ubuntu vine preambalat Systemd, permițându-ne să creăm un serviciu cu care GitBucket va fi pornit și întreținut automat de către sistem.

Utilizând nano, creați un nou fișier de unitate în /etc/systemd/systemdirector.

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

Apoi, copiați următorul conținut în fișier.

[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

Acest fișier de unitate definește comportamentul de pornire și închidere de bază pentru GitBucket și rulează serviciul sub utilizatorul nostru de sistem neprivilejat de pe interfața de rețea exclusiv locală.

Dacă ați modificat numărul de port GitBucket va asculta, schimbați --portargumentul pentru ExecStartcomandă.

Salvați (" CTRL+O") noul fișier de unitate și apoi ieșiți din editor (" CTRL+X"). Va trebui să reîncărcați Systemd pentru a fi descoperit noul fișier de unitate.

sudo systemctl daemon-reload

După ce Systemd s-a reîncărcat, verificați dacă noua unitate a fost descoperită și încărcată.

sudo systemctl status gitbucket

Ar trebui să vedeți următoarea ieșire.

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

În cele din urmă, activați noua unitate pentru a porni automat când se pornește serverul dvs., apoi porniți serviciul pentru prima dată.

sudo systemctl enable gitbucket
sudo systemctl start gitbucket

Odată ce serviciul a început, veți putea accesa GitBucket din browserul dvs. folosind din nou adresa IP și numărul de port.

Configurarea proxy-ului invers Nginx

În timp ce se poate expune GitBucket direct prin port 8080, puteți îmbunătăți performanțele și configura funcții precum HTTP / 2, criptarea TLS și regulile de memorie în cache expunând GitBucket prin Nginx.

Configurare inițială Nginx

Dacă nu ați instalat deja Nginx, actualizați-vă listele de pachete.

sudo apt update

Apoi instalați pachetul Nginx.

sudo apt install nginx

După ce Nginx a fost instalat, verificați dacă puteți accesa serverul web prin adresa IP a serverului dvs. fără numărul de port (adică http://203.0.113.0sau http://example.com). Dacă aveți succes, veți vedea pagina de destinație Nginx implicită pentru Ubuntu.

Crearea proxy-ului invers

Vom copia configurația implicită a site-ului /etc/nginx/sites-availableca punct de plecare pentru proxy invers.

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

Deschideți fișierul de configurare nou creat cu nano.

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

Localizați location /blocul existent pe linia 43.

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

În prezent, Nginx va încerca să returneze fișierele în /var/www/htmlcare se potrivesc HTTPsolicitările primite . Va trebui să schimbăm acest comportament prin configurarea unui proxy invers în acest bloc, care va trimite în schimb instanța GitBucket toate solicitările HTTP făcute serverului nostru Nginx. Actualizați location /blocul pentru a se potrivi cu următoarele.

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

Dacă ați modificat numărul de port pe care GitBucket îl va asculta, actualizați proxy_passopțiunea pentru a reflecta acest lucru.

Pentru a activa noua noastră configurație, va trebui să dezactivați configurația implicită existentă /etc/nginx/sites-enabled, apoi să faceți o sincronizare a noii noastre configurații la /etc/nginx/sites-enabledurmătoarele.

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

După ce fișierul de configurare a fost activat, verificați dacă există erori de sintaxă.

sudo nginx -t

Apoi, reporniți serverul Nginx pentru a activa noua noastră configurație a site-ului.

sudo systemctl restart nginx

Acum ar trebui să puteți accesa instalarea dvs. GitBucket pe adresa publică a serverului dvs. fără un număr de port.

Securizarea procesului GitBucket de pe internetul public

În prezent, instanța noastră GitBucket ascultă pe interfața de rețea publică a serverului nostru . Acest lucru va permite utilizatorilor să ocolească proxy-ul Nginx conectându-se la adresa pe care GitBucket o ascultă în prezent, care este probabil nedorită. Pentru a rezolva acest lucru, va trebui să modificăm fișierul de unitate creat anterior. Deschideți fișierul unității cu nano.

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

Adăugați --host 127.0.0.1la ExecStartcomandă, ca atare.

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

Acest lucru va determina GitBucket să accepte doar conexiunile pe interfața de rețea locală a serverului nostru. Încă o dată, salvați (" CTRL+O") fișierul, închideți (" CTRL+X") editorul, reîncărcați Systemd și reporniți unitatea noastră GitBucket.

sudo systemctl daemon-reload
sudo systemctl restart gitbucket

Dacă utilizați Firewall-ul lui Vultr, ar trebui să eliminați, de asemenea, orice reguli de port adăugate pentru a accesa serverul GitBucket în timpul configurației inițiale.

Lasă un comentariu

O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1

O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1

O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1

Funcționalitățile straturilor arhitecturii de referință pentru Big Data

Funcționalitățile straturilor arhitecturii de referință pentru Big Data

Citiți blogul pentru a cunoaște diferitele straturi din Arhitectura Big Data și funcționalitățile acestora în cel mai simplu mod.

6 lucruri extrem de nebunești despre Nintendo Switch

6 lucruri extrem de nebunești despre Nintendo Switch

Mulți dintre voi cunoașteți Switch care va fi lansat în martie 2017 și noile sale funcții. Pentru cei care nu știu, am pregătit o listă de funcții care fac din „Switch” un „gadget obligatoriu”.

Promisiuni tehnologice care sunt încă nelivrate

Promisiuni tehnologice care sunt încă nelivrate

Aștepți ca giganții tehnologiei să-și îndeplinească promisiunile? vezi ce a ramas nelivrat.

Cum poate AI să ducă automatizarea proceselor la următorul nivel?

Cum poate AI să ducă automatizarea proceselor la următorul nivel?

Citiți asta pentru a afla cum devine populară inteligența artificială în rândul companiilor la scară mică și cum crește probabilitățile de a le face să crească și de a le oferi concurenților avantaje.

Singularitatea tehnologică: un viitor îndepărtat al civilizației umane?

Singularitatea tehnologică: un viitor îndepărtat al civilizației umane?

Pe măsură ce Știința Evoluează într-un ritm rapid, preluând multe dintre eforturile noastre, crește și riscurile de a ne supune unei Singularități inexplicabile. Citiți, ce ar putea însemna singularitatea pentru noi.

CAPTCHA: Cât timp poate rămâne o tehnică viabilă pentru distincția uman-AI?

CAPTCHA: Cât timp poate rămâne o tehnică viabilă pentru distincția uman-AI?

CAPTCHA a devenit destul de dificil de rezolvat pentru utilizatori în ultimii ani. Va fi capabil să rămână eficient în detectarea spam-ului și a botului în viitor?

Telemedicină și îngrijire medicală la distanță: viitorul este aici

Telemedicină și îngrijire medicală la distanță: viitorul este aici

Ce este telemedicina, îngrijirea medicală la distanță și impactul acesteia asupra generației viitoare? Este un loc bun sau nu în situația de pandemie? Citiți blogul pentru a găsi o vedere!

Te-ai întrebat vreodată cum câștigă hackerii bani?

Te-ai întrebat vreodată cum câștigă hackerii bani?

Poate ați auzit că hackerii câștigă mulți bani, dar v-ați întrebat vreodată cum câștigă acești bani? sa discutam.

Actualizarea suplimentului macOS Catalina 10.15.4 cauzează mai multe probleme decât rezolvă

Actualizarea suplimentului macOS Catalina 10.15.4 cauzează mai multe probleme decât rezolvă

Recent, Apple a lansat macOS Catalina 10.15.4 o actualizare suplimentară pentru a remedia problemele, dar se pare că actualizarea provoacă mai multe probleme care duc la blocarea mașinilor Mac. Citiți acest articol pentru a afla mai multe