Предуслови
Корак 1: Инсталирајте Нгинк
Корак 2: Инсталирајте Гит
Корак 3: Инсталирајте МариаДБ сервер базе података
Корак 4: Припремите Гитеа окружење
Корак 5: Инсталирајте Гитеа
Корак 6: Креирајте сервисну датотеку да бисте аутоматски покренули Гитеа
Корак 7: Конфигуришите Нгинк као обрнути прокси
Гитеа је алтернативни систем за контролу верзија отвореног кода који сам хостује и покреће гит. Гитеа је написана на Голангу и представља лагано решење за хостовање на било којој платформи.
Предуслови
- Нова Вултр Убунту 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
Избришите подразумевану нгинк конфигурациону датотеку.
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
Пратите упутства на екрану да бисте довршили Гитеа подешавање.