Parakushtet
Hapi 1: Instaloni Nginx
Hapi 2: Instaloni Git
Hapi 3: Instaloni serverin e bazës së të dhënave MariaDB
Hapi 4: Përgatitni mjedisin Gitea
Hapi 5: Instaloni Gitea
Hapi 6: Krijoni një skedar shërbimi për të nisur automatikisht Gitea
Hapi 7: Konfiguro Nginx si një përfaqësues të kundërt
Gitea është një sistem alternativ i kontrollit të versionit me burim të hapur, i vetë-pritur, i mundësuar nga git. Gitea është shkruar në Golang dhe është një zgjidhje e lehtë për t'u pritur në çdo platformë.
Parakushtet
- Shembull i ri Vultr Ubuntu 18.04 me të paktën 2 bërthama CPU dhe 1 GB RAM
- Përdorues jo-root me privilegje sudo.
- Nginx
- Git
- MariaDB
Hapi 1: Instaloni Nginx
Përditësoni shembullin e serverit tuaj Vultr Ubuntu 18.04.
sudo apt update
Instaloni Nginx.
sudo apt -y install nginx
Pasi të instalohet Nginx, provoni nëse po funksionon apo jo duke shfletuar faqen e testit nginx në shfletues. Hapni shfletuesin tuaj të internetit dhe drejtojeni atëhttp://example.com
Komandat e mëposhtme mund të përdoren për të ndaluar, ringarkuar, rifilluar, kontrolluar statusin dhe aktivizuar 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
Hapi 2: Instaloni Git
Instaloni Git.
sudo apt -y install git
Pasi të instalohet, kontrolloni versionin:
git --version
git version 2.17.1
Hapi 3: Instaloni serverin e bazës së të dhënave MariaDB
Gitea mbështet bazat e të dhënave të mëposhtme
- MariaDB/MySQL
- PostgreSQL
- SQLite
- TiDB
Për këtë tutorial ne do të instalojmë serverin dhe klientin MariaDB.
sudo apt -y install mariadb-server mariadb-client
Pas instalimit të MariaDB, komandat e mëposhtme mund të përdoren për të ndaluar, nisur, rifilluar, kontrolluar statusin dhe aktivizuar atë.
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
Pas kësaj, ekzekutoni komandën më poshtë për të siguruar serverin MariaDB duke krijuar një fjalëkalim rrënjësor dhe duke mos lejuar hyrjen në distancë të rrënjës.
sudo mysql_secure_installation
Kur të kërkohet, përgjigjuni pyetjeve më poshtë duke ndjekur udhëzuesin.
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
Rinisni MariaDB.
sudo systemctl restart mariadb.service
Për të provuar nëse MariaDB është instaluar, shkruani komandën më poshtë për t'u identifikuar në serverin MariaDB
sudo mysql -u root -p
Më pas shkruani fjalëkalimin që keni krijuar më lart për t'u identifikuar. Do të shihni mesazhin e mirëseardhjes së MariaDB.
Krijo një bazë të dhënash të quajtur gitea.
CREATE DATABASE gitea;
Krijo një përdorues të bazës së të dhënave të quajtur giteauserme një fjalëkalim të ri.
CREATE USER 'giteauser'@'localhost' IDENTIFIED BY 'new_password_here';
Më pas i jepni përdoruesit akses të plotë në bazën e të dhënave.
GRANT ALL ON gitea.* TO 'giteauser'@'localhost' IDENTIFIED BY 'user_password_here' WITH GRANT OPTION;
Më në fund, ruani ndryshimet dhe dilni.
FLUSH PRIVILEGES;
EXIT;
Hapi 4: Përgatitni mjedisin Gitea
Krijo një përdorues për të ekzekutuar Gitea.
sudo adduser \
--system \
--shell /bin/bash \
--gecos 'Git Version Control' \
--group \
--disabled-password \
--home /home/git \
git
Krijo strukturën e kërkuar të drejtorisë.
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
Hapi 5: Instaloni Gitea
Binar Gitea mund të shkarkohet duke ekzekutuar komandat e mëposhtme.
sudo wget -O gitea https://dl.gitea.io/gitea/1.5.0/gitea-1.5.0-linux-amd64
sudo chmod +x gitea
Kopjoni binarin në një vendndodhje globale.
sudo cp gitea /usr/local/bin/gitea
Hapi 6: Krijoni një skedar shërbimi për të nisur automatikisht Gitea
Krijoni një skedar shërbimi linux.
sudo nano /etc/systemd/system/gitea.service
Plotësoni skedarin me sa vijon.
[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
Aktivizo dhe nis Gitea në nisje.
sudo systemctl daemon-reload
sudo systemctl enable gitea
sudo systemctl start gitea
Ekzekutoni komandën e statusit.
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
Fshini skedarin e paracaktuar të konfigurimit nginx.
sudo rm /etc/nginx/sites-enabled/default
Krijo një konfigurim të kundërt të përfaqësuesit për Gitea.
sudo nano /etc/nginx/sites-available/git
Plotësoni skedarin me konfigurimin e mëposhtëm.
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;
}
}
Aktivizo konfigurimin e përfaqësuesit të kundërt Gitea Nginx.
sudo ln -s /etc/nginx/sites-available/git /etc/nginx/sites-enabled
Pastaj ringarkoni Shërbimin Nginx.
sudo systemctl reload nginx.service
Tjetra, hapni shfletuesin tuaj dhe shfletoni te emri i hostit të serverit ose adresa IP.
http://example.com/install
Ndiqni udhëzimet në ekran për të përfunduar konfigurimin e Gitea.