Kā instalēt Gitea Ubuntu 18.04

Gitea ir alternatīva atvērtā koda, pašmitināta versiju kontroles sistēma, ko darbina git. Gitea ir rakstīts Golang valodā, un tas ir viegls risinājums, ko var mitināt jebkurā platformā.

Priekšnoteikumi

  • Jauns Vultr Ubuntu 18.04 gadījums ar vismaz 2 CPU kodoliem un 1 GB RAM
  • Ne-root lietotājs ar sudo privilēģijām.
  • Nginx
  • Git
  • MariaDB

1. darbība: instalējiet Nginx

Atjauniniet savu Vultr Ubuntu 18.04 servera gadījumu.

sudo apt update

Instalējiet Nginx.

sudo apt -y install nginx

Kad Nginx ir instalēts, pārbaudiet, vai tas darbojas vai ne, pārlūkprogrammā pārlūkojot nginx testa lapu. Atveriet savu tīmekļa pārlūkprogrammu un norādiet uz tohttp://example.com

Tālāk norādītās komandas var izmantot, lai apturētu, pārlādētu, restartētu, pārbaudītu statusu un iespējotu Nginx.

sudo systemctl stop nginx.service
sudo systemctl start nginx.service
sudo systemctl restart nginx.service
sudo systemctl reload nginx.service
sudo systemctl enable nginx.service

2. darbība. Instalējiet Git

Instalējiet Git.

sudo apt -y install git

Pēc instalēšanas pārbaudiet versiju:

git --version
git version 2.17.1

3. darbība: instalējiet MariaDB datu bāzes serveri

Gitea atbalsta šādas datu bāzes

  • MariaDB/MySQL
  • PostgreSQL
  • SQLite
  • TiDB

Šajā apmācībā mēs instalēsim MariaDB serveri un klientu.

sudo apt -y install mariadb-server mariadb-client

Pēc MariaDB instalēšanas tālāk norādītās komandas var izmantot, lai apturētu, sāktu, restartētu, pārbaudītu statusu un iespējotu to.

sudo systemctl stop mariadb.service
sudo systemctl start mariadb.service
sudo systemctl restart mariadb.service
sudo systemctl status mariadb.service
sudo systemctl enable mariadb.service

Pēc tam palaidiet tālāk norādīto komandu, lai aizsargātu MariaDB serveri, izveidojot saknes paroli un neatļaujot attālo root piekļuvi.

sudo mysql_secure_installation

Kad tiek prasīts, atbildiet uz tālāk norādītajiem jautājumiem, izpildot rokasgrāmatu.

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

Restartējiet MariaDB.

sudo systemctl restart mariadb.service

Lai pārbaudītu, vai MariaDB ir instalēta, ierakstiet tālāk norādīto komandu, lai pieteiktos MariaDB serverī

sudo mysql -u root -p

Pēc tam ierakstiet iepriekš izveidoto paroli, lai pieteiktos. Jūs redzēsit MariaDB sveiciena ziņojumu.

Izveidojiet datu bāzi ar nosaukumu gitea.

CREATE DATABASE gitea;

Izveidojiet datubāzes lietotāju, giteauserkuram tiek izsaukta jauna parole.

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

Pēc tam piešķiriet lietotājam pilnu piekļuvi datu bāzei.

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

Visbeidzot, saglabājiet izmaiņas un izejiet.

FLUSH PRIVILEGES;
EXIT;

4. darbība: sagatavojiet Gitea vidi

Izveidojiet lietotāju, lai palaistu Gitea.

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

Izveidojiet nepieciešamo direktoriju struktūru.

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. darbība: instalējiet Gitea

Gitea bināro failu var lejupielādēt, izpildot šādas komandas.

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

Kopējiet bināro failu globālā vietā.

sudo cp gitea /usr/local/bin/gitea

6. darbība. Izveidojiet pakalpojuma failu, lai automātiski palaistu Gitea

Izveidojiet Linux pakalpojuma failu.

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

Aizpildiet failu ar tālāk norādīto.

[Unit]
Description=Gitea (Git with a cup of tea)
After=syslog.target
After=network.target
#After=mysqld.service
#After=postgresql.service
#After=memcached.service
#After=redis.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

Iespējojiet un palaidiet Gitea sāknēšanas laikā.

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

Palaidiet statusa komandu.

sudo systemctl status gitea

● gitea.service - Gitea (Git with a cup of tea)
  Loaded: loaded (/etc/systemd/system/gitea.service; enabled; vendor preset: en
  Active: active (running) since Wed 2018-10-10 14:15:28 CDT; 19ms ago
 Main PID: 17769 (gitea)
   Tasks: 4 (limit: 2321)
  CGroup: /system.slice/gitea.service
       ├─17769 /usr/local/bin/gitea web -c /etc/gitea/app.ini
       └─17774 /usr/local/bin/gitea web -c /etc/gitea/app.ini

7. darbība: konfigurējiet Nginx kā apgriezto starpniekserveri

Dzēsiet noklusējuma nginx konfigurācijas failu.

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

Izveidojiet Gitea apgriezto starpniekservera konfigurāciju.

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

Aizpildiet failu ar šādu konfigurāciju.

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

Iespējojiet Gitea Nginx reversās starpniekservera konfigurāciju.

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

Pēc tam atkārtoti ielādējiet Nginx pakalpojumu.

sudo systemctl reload nginx.service

Pēc tam atveriet pārlūkprogrammu un atrodiet servera resursdatora nosaukumu vai IP adresi.

http://example.com/install

Izpildiet ekrānā redzamos norādījumus, lai pabeigtu Gitea iestatīšanu.

Atstājiet komentāru

Mašīnu pieaugums: AI reālās pasaules lietojumi

Mašīnu pieaugums: AI reālās pasaules lietojumi

Mākslīgais intelekts nav nākotnē, tas ir šeit, tagadnē. Šajā emuārā lasiet, kā mākslīgā intelekta lietojumprogrammas ir ietekmējušas dažādas nozares.

DDOS uzbrukumi: īss pārskats

DDOS uzbrukumi: īss pārskats

Vai arī jūs esat DDOS uzbrukumu upuris un esat neizpratnē par profilakses metodēm? Izlasiet šo rakstu, lai atrisinātu savus jautājumus.

Vai esat kādreiz domājis, kā hakeri pelna naudu?

Vai esat kādreiz domājis, kā hakeri pelna naudu?

Iespējams, esat dzirdējuši, ka hakeri pelna daudz naudas, bet vai esat kādreiz domājuši, kā viņi nopelna šādu naudu? pārrunāsim.

Google revolucionāri izgudrojumi, kas atvieglos jūsu dzīvi.

Google revolucionāri izgudrojumi, kas atvieglos jūsu dzīvi.

Vai vēlaties redzēt revolucionārus Google izgudrojumus un to, kā šie izgudrojumi mainīja katra cilvēka dzīvi mūsdienās? Pēc tam lasiet emuārā, lai redzētu Google izgudrojumus.

Piektdiena: kas notika ar AI vadītām automašīnām?

Piektdiena: kas notika ar AI vadītām automašīnām?

Pašpiedziņas automobiļu koncepcija izbraukt uz ceļiem ar mākslīgā intelekta palīdzību ir mūsu sapnis jau kādu laiku. Bet, neskatoties uz vairākiem solījumiem, tie nekur nav redzami. Lasiet šo emuāru, lai uzzinātu vairāk…

Tehnoloģiskā singularitāte: cilvēces civilizācijas tāla nākotne?

Tehnoloģiskā singularitāte: cilvēces civilizācijas tāla nākotne?

Zinātnei strauji attīstoties, pārņemot lielu daļu mūsu pūļu, palielinās arī risks pakļaut sevi neizskaidrojamai singularitātei. Izlasiet, ko singularitāte varētu nozīmēt mums.

Lielo datu atsauces arhitektūras slāņu funkcijas

Lielo datu atsauces arhitektūras slāņu funkcijas

Lasiet emuāru, lai vienkāršākā veidā uzzinātu dažādus lielo datu arhitektūras slāņus un to funkcijas.

Datu glabāšanas evolūcija – infografika

Datu glabāšanas evolūcija – infografika

Datu uzglabāšanas metodes ir attīstījušās kopš datu dzimšanas. Šajā emuārā ir aprakstīta datu uzglabāšanas attīstība, pamatojoties uz infografiku.

6 brīnišķīgas priekšrocības, ko sniedz viedo mājas ierīču izmantošana mūsu dzīvē

6 brīnišķīgas priekšrocības, ko sniedz viedo mājas ierīču izmantošana mūsu dzīvē

Šajā digitālajā pasaulē viedās mājas ierīces ir kļuvušas par būtisku dzīves sastāvdaļu. Šeit ir daži pārsteidzoši viedo mājas ierīču ieguvumi, lai padarītu mūsu dzīvi dzīves vērtu un vienkāršāku.

MacOS Catalina 10.15.4 papildinājuma atjauninājums rada vairāk problēmu nekā to risināšana

MacOS Catalina 10.15.4 papildinājuma atjauninājums rada vairāk problēmu nekā to risināšana

Nesen Apple izlaida macOS Catalina 10.15.4 papildinājuma atjauninājumu, lai novērstu problēmas, taču šķiet, ka atjauninājums rada vairāk problēmu, kas izraisa Mac datoru bloķēšanu. Izlasiet šo rakstu, lai uzzinātu vairāk