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 Debian 9.
- Përdorues jo-root me
sudo
privilegje.
- Nginx
- Git
- MariaDB
Hapi 1: Instaloni Nginx
Përditësoni listën tuaj të paketave.
sudo apt update
Instaloni Nginx.
sudo apt -y install nginx
Pasi të përfundojë instalimi, ekzekutoni komandat e mëposhtme për të nisur dhe aktivizuar shërbimin Nginx.
sudo systemctl enable nginx.service
sudo systemctl start nginx.service
Hapi 2: Instaloni Git
Kjo mund të bëhet me komandën e mëposhtme.
sudo apt -y install git
Hapi 3: Instaloni serverin e bazës së të dhënave MariaDB
Gitea mbështet serverët e mëposhtëm të bazave të të dhënave.
- MariaDB/MySQL
- PostgreSQL
- SQLite
- TiDB
Për këtë tutorial ne do të përdorim serverin dhe klientin MariaDB.
sudo apt -y install mariadb-server mariadb-client
Pasi të keni përfunduar, sigurohuni që MariaDB të jetë aktivizuar dhe ekzekutuar.
sudo systemctl enable mariadb.service
sudo systemctl start 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
Shkruani komandën më poshtë për t'u identifikuar në tastierën 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 giteauser
me një fjalëkalim të ri.
CREATE USER 'giteauser'@'localhost' IDENTIFIED BY 'new_password_here';
Sigurohuni që ta zëvendësoni new_password_here
me një fjalëkalim të fortë dhe kompleks.
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 touch /etc/systemd/system/gitea.service
Duke përdorur një redaktues teksti sipas zgjedhjes suaj, hapni këtë skedar të krijuar rishtazi dhe plotësoni me sa vijon.
[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
Aktivizo dhe nis Gitea në nisje.
sudo systemctl daemon-reload
sudo systemctl enable gitea
sudo systemctl start gitea
Sigurohuni që Gitea po funksionon.
sudo systemctl status gitea
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 touch /etc/nginx/sites-available/git
Plotësoni skedarin me konfigurimin e mëposhtëm, sigurohuni që ta zëvendësoni example.com
me emrin e domenit ose adresën 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;
}
}
Aktivizo konfigurimin e përfaqësuesit të kundërt Gitea Nginx.
sudo ln -s /etc/nginx/sites-available/git /etc/nginx/sites-enabled/git
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://YOUR_SERVER_IP/install
Ndiqni udhëzimet në ekran për të përfunduar konfigurimin e Gitea.