Како инсталирати Гитеа на Убунту 18.04

Гитеа је алтернативни систем за контролу верзија отвореног кода који сам хостује и покреће гит. Гитеа је написана на Голангу и представља лагано решење за хостовање на било којој платформи.

Предуслови

  • Нова Вултр Убунту 18.04 инстанца са најмање 2 ЦПУ језгра и 1 ГБ РАМ-а
  • Не-роот корисник са судо привилегијама.
  • Нгинк
  • Гит
  • МариаДБ

Корак 1: Инсталирајте Нгинк

Ажурирајте своју инстанцу сервера Вултр Убунту 18.04.

sudo apt update

Инсталирајте Нгинк.

sudo apt -y install nginx

Када се Нгинк инсталира, проверите да ли ради или не тако што ћете прегледати нгинк тест страницу у прегледачу. Отворите свој веб претраживач и покажите на његаhttp://example.com

Следеће команде се могу користити за заустављање, поновно учитавање, рестартовање, проверу статуса и омогућавање Нгинк-а.

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: Инсталирајте Гит

Инсталирајте Гит.

sudo apt -y install git

Када се инсталира, проверите верзију:

git --version
git version 2.17.1

Корак 3: Инсталирајте МариаДБ сервер базе података

Гитеа подржава следеће базе података

  • МариаДБ/МиСКЛ
  • ПостгреСКЛ
  • СКЛите
  • ТиДБ

За овај туторијал ћемо инсталирати МариаДБ сервер и клијент.

sudo apt -y install mariadb-server mariadb-client

Након инсталирања МариаДБ-а, наредбе испод се могу користити за заустављање, покретање, поновно покретање, проверу статуса и омогућавање.

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

Након тога, покрените наредбу у наставку да бисте обезбедили МариаДБ сервер креирањем роот лозинке и забраном удаљеног роот приступа.

sudo mysql_secure_installation

Када се то од вас затражи, одговорите на питања у наставку пратећи водич.

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

Поново покрените МариаДБ.

sudo systemctl restart mariadb.service

Да бисте тестирали да ли је МариаДБ инсталиран, откуцајте наредбу испод да бисте се пријавили на МариаДБ сервер

sudo mysql -u root -p

Затим унесите лозинку коју сте креирали изнад да бисте се пријавили. Видећете МариаДБ поруку добродошлице.

Креирајте базу података под називом gitea.

CREATE DATABASE gitea;

Креирајте корисника базе података који се зове giteauserса новом лозинком.

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

Затим одобрите кориснику потпуни приступ бази података.

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

На крају, сачувајте промене и изађите.

FLUSH PRIVILEGES;
EXIT;

Корак 4: Припремите Гитеа окружење

Креирајте корисника за покретање Гитеа.

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

Креирајте потребну структуру директоријума.

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: Инсталирајте Гитеа

Гитеа бинарни фајл се може преузети покретањем следећих команди.

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

Копирајте бинарни фајл на глобалну локацију.

sudo cp gitea /usr/local/bin/gitea

Корак 6: Креирајте сервисну датотеку да бисте аутоматски покренули Гитеа

Креирајте линук сервисну датотеку.

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

Попуните датотеку следећим.

[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

Омогућите и покрените Гитеа при покретању.

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

Покрените команду статуса.

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: Конфигуришите Нгинк као обрнути прокси

Избришите подразумевану нгинк конфигурациону датотеку.

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

Креирајте конфигурацију обрнутог проксија за Гитеа.

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

Попуните датотеку следећом конфигурацијом.

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

Омогућите Гитеа Нгинк конфигурацију обрнутог проксија.

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

Затим поново учитајте Нгинк услугу.

sudo systemctl reload nginx.service

Затим отворите претраживач и потражите име хоста сервера или ИП адресу.

http://example.com/install

Пратите упутства на екрану да бисте довршили Гитеа подешавање.

Остави коментар

Успон машина: Примене вештачке интелигенције у стварном свету

Успон машина: Примене вештачке интелигенције у стварном свету

Вештачка интелигенција није у будућности, она је овде управо у садашњости. У овом блогу Прочитајте како су апликације вештачке интелигенције утицале на различите секторе.

ДДОС напади: кратак преглед

ДДОС напади: кратак преглед

Да ли сте и ви жртва ДДОС напада и збуњени сте методама превенције? Прочитајте овај чланак да бисте решили своја питања.

Да ли сте се икада запитали како хакери зарађују новац?

Да ли сте се икада запитали како хакери зарађују новац?

Можда сте чули да хакери зарађују много новца, али да ли сте се икада запитали како зарађују толики новац? Хајде да причамо.

Гоогле-ови револуционарни изуми који ће вам олакшати живот.

Гоогле-ови револуционарни изуми који ће вам олакшати живот.

Да ли желите да видите револуционарне изуме Гугла и како су ти изуми променили живот сваког људског бића данас? Затим читајте на блогу да бисте видели Гооглеове изуме.

Фридаи Ессентиал: Шта се десило са аутомобилима које покреће вештачка интелигенција?

Фридаи Ессентиал: Шта се десило са аутомобилима које покреће вештачка интелигенција?

Концепт самовозећих аутомобила који путују на путеве уз помоћ вештачке интелигенције је сан који већ неко време имамо. Али упркос неколико обећања, њих нема нигде. Прочитајте овај блог да сазнате више…

Технолошка сингуларност: далека будућност људске цивилизације?

Технолошка сингуларност: далека будућност људске цивилизације?

Како се наука развија великом брзином, преузимајући многе наше напоре, расте и ризик да се подвргнемо необјашњивој сингуларности. Прочитајте шта би сингуларност могла да значи за нас.

Функционалности слојева референтне архитектуре великих података

Функционалности слојева референтне архитектуре великих података

Прочитајте блог да бисте на најједноставнији начин упознали различите слојеве у архитектури великих података и њихове функционалности.

Еволуција складиштења података – Инфографика

Еволуција складиштења података – Инфографика

Методе складиштења података су се развијале можда од рођења података. Овај блог покрива еволуцију складиштења података на основу инфографике.

6 невероватних предности поседовања паметних кућних уређаја у нашим животима

6 невероватних предности поседовања паметних кућних уређаја у нашим животима

У овом дигиталном свету, паметни кућни уређаји постали су кључни део живота. Ево неколико невероватних предности паметних кућних уређаја о томе како они чине наш живот вредним живљења и једноставнијим.

Ажурирање додатка за мацОС Цаталина 10.15.4 изазива више проблема него што их решава

Ажурирање додатка за мацОС Цаталина 10.15.4 изазива више проблема него што их решава

Недавно је Аппле издао мацОС Цаталина 10.15.4 додатак за исправку проблема, али изгледа да ажурирање изазива више проблема који доводе до квара Мац машина. Прочитајте овај чланак да бисте сазнали више