Kako namestiti Giteo na Debian 9

Gitea je alternativni odprtokodni sistem za nadzor različic, ki ga poganja Git. Gitea je napisana v Golangu in je lahka rešitev za gostovanje na kateri koli platformi.

Predpogoji

  • Nov primerek Vultr Debian 9.
  • Neroot uporabnik s sudoprivilegiji.
  • Nginx
  • Git
  • MariaDB

1. korak: Namestite Nginx

Posodobite seznam paketov.

sudo apt update

Namestite Nginx.

sudo apt -y install nginx

Ko je namestitev končana, zaženite naslednje ukaze, da zaženete in omogočite storitev Nginx.

sudo systemctl enable nginx.service
sudo systemctl start nginx.service

2. korak: Namestite Git

To lahko storite z naslednjim ukazom.

sudo apt -y install git

3. korak: Namestite strežnik baze podatkov MariaDB

Gitea podpira naslednje strežnike baz podatkov.

  • MariaDB/MySQL
  • PostgreSQL
  • SQLite
  • TiDB

Za to vadnico bomo uporabljali strežnik in odjemalca MariaDB.

sudo apt -y install mariadb-server mariadb-client

Ko končate, se prepričajte, da je MariaDB omogočena in deluje.

sudo systemctl enable mariadb.service
sudo systemctl start mariadb.service

Po tem zaženite spodnji ukaz, da zavarujete strežnik MariaDB, tako da ustvarite korensko geslo in onemogočite oddaljeni korenski dostop.

sudo mysql_secure_installation

Ko ste pozvani, odgovorite na spodnja vprašanja, tako da sledite navodilom.

Enter current password for root (enter for none): Just press the Enter
Set root password? [Y/n]: Y
New password: Enter password
Re-enter new password: Repeat password
Remove anonymous users? [Y/n]: Y
Disallow root login remotely? [Y/n]: Y
Remove test database and access to it? [Y/n]:  Y
Reload privilege tables now? [Y/n]:  Y

Znova zaženite MariaDB.

sudo systemctl restart mariadb.service

Vnesite spodnji ukaz za prijavo v konzolo MariaDB.

sudo mysql -u root -p

Nato za prijavo vnesite geslo, ki ste ga ustvarili zgoraj. Videli boste pozdravno sporočilo MariaDB.

Ustvarite bazo podatkov z imenom gitea.

CREATE DATABASE gitea;

Ustvarite klicanega uporabnika baze podatkov giteauserz novim geslom.

CREATE USER 'giteauser'@'localhost' IDENTIFIED BY 'new_password_here';

Poskrbite, da boste zamenjali new_password_herez močnim in zapletenim geslom.

Nato uporabniku omogočite popoln dostop do baze podatkov.

GRANT ALL ON gitea.* TO 'giteauser'@'localhost' IDENTIFIED BY 'user_password_here' WITH GRANT OPTION;

Na koncu shranite spremembe in zapustite.

FLUSH PRIVILEGES;
EXIT;

4. korak: Pripravite okolje Gitea

Ustvarite uporabnika za zagon Gitea.

sudo adduser --system --shell /bin/bash --gecos 'Git Version Control' --group --disabled-password --home /home/git git

Ustvarite zahtevano strukturo imenika.

sudo mkdir -p /var/lib/gitea/{custom,data,indexers,public,log}
sudo chown git:git /var/lib/gitea/{data,indexers,log}
sudo chmod 750 /var/lib/gitea/{data,indexers,log}
sudo mkdir /etc/gitea
sudo chown root:git /etc/gitea
sudo chmod 770 /etc/gitea

5. korak: Namestite Giteo

Binarno datoteko Gitea lahko prenesete z izvajanjem naslednjih ukazov.

sudo wget -O gitea https://dl.gitea.io/gitea/1.5.0/gitea-1.5.0-linux-amd64 
sudo chmod +x gitea

Kopirajte binarno datoteko na globalno lokacijo.

sudo cp gitea /usr/local/bin/gitea

6. korak: Ustvarite storitveno datoteko za samodejno zagon Gitea

Ustvarite datoteko storitve Linux.

sudo touch /etc/systemd/system/gitea.service

Z urejevalnikom besedil po vaši izbiri odprite to novo ustvarjeno datoteko in jo izpolnite z naslednjim.

[Unit]
Description=Gitea (Git with a cup of tea)
After=syslog.target
After=network.target
After=mariadb.service

[Service]
# Modify these two values and uncomment them if you have
# repos with lots of files and get an HTTP error 500 because
# of that
###
#LimitMEMLOCK=infinity
#LimitNOFILE=65535
RestartSec=2s
Type=simple
User=git
Group=git
WorkingDirectory=/var/lib/gitea/
ExecStart=/usr/local/bin/gitea web -c /etc/gitea/app.ini
Restart=always
Environment=USER=git HOME=/home/git GITEA_WORK_DIR=/var/lib/gitea
# If you want to bind Gitea to a port below 1024 uncomment
# the two values below
###
#CapabilityBoundingSet=CAP_NET_BIND_SERVICE
#AmbientCapabilities=CAP_NET_BIND_SERVICE

[Install]
WantedBy=multi-user.target

Omogočite in zaženite Giteo ob zagonu.

sudo systemctl daemon-reload
sudo systemctl enable gitea
sudo systemctl start gitea

Prepričajte se, da Gitea deluje.

sudo systemctl status gitea

7. korak: Konfigurirajte Nginx kot povratni proxy

Izbrišite privzeto konfiguracijsko datoteko nginx.

sudo rm /etc/nginx/sites-enabled/default

Ustvarite konfiguracijo povratnega proxyja za Giteo.

sudo touch /etc/nginx/sites-available/git

Zapolnite datoteko z naslednjo konfiguracijo, ne pozabite zamenjati example.comz imenom vaše domene ali naslovom IP.

upstream gitea {
    server 127.0.0.1:3000;
}

server {
    listen 80 default_server;
    listen [::]:80 default_server;
    server_name example.com;
    root /var/lib/gitea/public;
    access_log off;
    error_log off;

    location / {
      try_files maintain.html $uri $uri/index.html @node;
    }

    location @node {
      client_max_body_size 0;
      proxy_pass http://localhost:3000;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header Host $http_host;
      proxy_set_header X-Forwarded-Proto $scheme;
      proxy_max_temp_file_size 0;
      proxy_redirect off;
      proxy_read_timeout 120;
    }
}

Omogočite konfiguracijo povratnega proxyja Gitea Nginx.

sudo ln -s /etc/nginx/sites-available/git /etc/nginx/sites-enabled/git

Nato znova naložite storitev Nginx.

sudo systemctl reload nginx.service

Nato odprite brskalnik in poiščite ime gostitelja strežnika ali naslov IP.

http://YOUR_SERVER_IP/install

Sledite navodilom na zaslonu, da dokončate nastavitev Gitea.

Debian, vodniki za Linux, programiranje, strežniške aplikacije

Pusti komentar

Vzpon strojev: aplikacije AI v resničnem svetu

Vzpon strojev: aplikacije AI v resničnem svetu

Umetna inteligenca ni v prihodnosti, tukaj je prav v sedanjosti. V tem blogu preberite, kako so aplikacije umetne inteligence vplivale na različne sektorje.

DDOS napadi: kratek pregled

DDOS napadi: kratek pregled

Ste tudi vi žrtev DDOS napadov in ste zmedeni glede načinov preprečevanja? Preberite ta članek, če želite rešiti svoja vprašanja.

Ste se kdaj vprašali, kako hekerji zaslužijo denar?

Ste se kdaj vprašali, kako hekerji zaslužijo denar?

Morda ste že slišali, da hekerji zaslužijo veliko denarja, a ste se kdaj vprašali, kako zaslužijo takšen denar? razpravljajmo.

Revolucionarni Googlovi izumi, ki vam bodo olajšali življenje.

Revolucionarni Googlovi izumi, ki vam bodo olajšali življenje.

Ali želite videti revolucionarne izume Googla in kako so ti izumi danes spremenili življenje vsakega človeka? Nato preberite v blogu in si oglejte Googlove izume.

Friday Essential: Kaj se je zgodilo z avtomobili, ki jih poganja umetna inteligenca?

Friday Essential: Kaj se je zgodilo z avtomobili, ki jih poganja umetna inteligenca?

Koncept samovozečih avtomobilov, ki zapeljejo na ceste s pomočjo umetne inteligence, so sanje, ki jih imamo že nekaj časa. A kljub številnim obljubam jih ni nikjer. Preberite ta blog, če želite izvedeti več…

Tehnološka singularnost: oddaljena prihodnost človeške civilizacije?

Tehnološka singularnost: oddaljena prihodnost človeške civilizacije?

Ker se znanost hitro razvija in prevzame veliko naših prizadevanj, se povečuje tudi tveganje, da se podvržemo nerazložljivi singularnosti. Preberite, kaj bi za nas lahko pomenila singularnost.

Funkcionalnosti slojev referenčne arhitekture velikih podatkov

Funkcionalnosti slojev referenčne arhitekture velikih podatkov

Preberite blog, če želite na najpreprostejši način spoznati različne plasti v arhitekturi velikih podatkov in njihove funkcionalnosti.

Razvoj shranjevanja podatkov – Infografika

Razvoj shranjevanja podatkov – Infografika

Metode shranjevanja podatkov so se lahko razvijale od rojstva podatkov. Ta blog pokriva razvoj shranjevanja podatkov na podlagi infografike.

6 neverjetnih prednosti pametnih naprav za dom v našem življenju

6 neverjetnih prednosti pametnih naprav za dom v našem življenju

V tem digitalno vodenem svetu so pametne naprave za dom postale ključni del življenja. Tukaj je nekaj neverjetnih prednosti pametnih naprav za dom o tem, kako naredijo naše življenje vredno življenja in poenostavijo.

Posodobitev dodatka macOS Catalina 10.15.4 povzroča več težav kot jih rešuje

Posodobitev dodatka macOS Catalina 10.15.4 povzroča več težav kot jih rešuje

Pred kratkim je Apple izdal macOS Catalina 10.15.4 dopolnilno posodobitev za odpravo težav, vendar se zdi, da posodobitev povzroča več težav, ki vodijo do opečenja računalnikov Mac. Preberite ta članek, če želite izvedeti več