Előfeltételek
1. lépés: Telepítse az Nginxet
2. lépés: Telepítse a Git-et
3. lépés: Telepítse a MariaDB Database Servert
4. lépés: Készítse elő a Gitea környezetet
5. lépés: Telepítse a Giteát
6. lépés: Hozzon létre egy szolgáltatásfájlt a Gitea automatikus elindításához
7. lépés: Konfigurálja az Nginx-et fordított proxyként
A Gitea egy alternatív nyílt forráskódú, saját üzemeltetésű verziókezelő rendszer, amelyet a Git üzemeltet. A Gitea Golang nyelven íródott, és egy könnyű megoldás, amely bármilyen platformon tárolható.
Előfeltételek
- Új Vultr Debian 9 példány.
- Nem root felhasználó
sudojogosultságokkal.
- Nginx
- Git
- MariaDB
1. lépés: Telepítse az Nginxet
Frissítse csomaglistáját.
sudo apt update
Telepítse az Nginx-et.
sudo apt -y install nginx
A telepítés befejezése után futtassa a következő parancsokat az Nginx szolgáltatás elindításához és engedélyezéséhez.
sudo systemctl enable nginx.service
sudo systemctl start nginx.service
2. lépés: Telepítse a Git-et
Ezt a következő paranccsal lehet megtenni.
sudo apt -y install git
3. lépés: Telepítse a MariaDB Database Servert
A Gitea a következő adatbázis-kiszolgálókat támogatja.
- MariaDB/MySQL
- PostgreSQL
- SQLite
- TiDB
Ebben az oktatóanyagban a MariaDB szervert és klienst fogjuk használni.
sudo apt -y install mariadb-server mariadb-client
Ha elkészült, győződjön meg arról, hogy a MariaDB engedélyezve van és fut.
sudo systemctl enable mariadb.service
sudo systemctl start mariadb.service
Ezt követően futtassa az alábbi parancsot a MariaDB-kiszolgáló biztosításához egy root jelszó létrehozásával és a távoli root hozzáférés letiltásával.
sudo mysql_secure_installation
Amikor a rendszer kéri, válaszoljon az alábbi kérdésekre az útmutató követésével.
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
Indítsa újra a MariaDB-t.
sudo systemctl restart mariadb.service
Írja be az alábbi parancsot a MariaDB konzolba való bejelentkezéshez.
sudo mysql -u root -p
Ezután írja be a fent létrehozott jelszót a bejelentkezéshez. Látni fogja a MariaDB üdvözlő üzenetet.
Hozzon létre egy adatbázist gitea.
CREATE DATABASE gitea;
Hozzon létre egy adatbázis-felhasználót, amelyet giteauserúj jelszóval hívnak meg.
CREATE USER 'giteauser'@'localhost' IDENTIFIED BY 'new_password_here';
Ügyeljen arra, hogy new_password_hereerős és összetett jelszóra cserélje ki.
Ezután biztosítson teljes hozzáférést a felhasználónak az adatbázishoz.
GRANT ALL ON gitea.* TO 'giteauser'@'localhost' IDENTIFIED BY 'user_password_here' WITH GRANT OPTION;
Végül mentse el a változtatásokat, és lépjen ki.
FLUSH PRIVILEGES;
EXIT;
4. lépés: Készítse elő a Gitea környezetet
Hozzon létre egy felhasználót a Gitea futtatásához.
sudo adduser --system --shell /bin/bash --gecos 'Git Version Control' --group --disabled-password --home /home/git git
Hozza létre a szükséges könyvtárstruktúrát.
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. lépés: Telepítse a Giteát
A Gitea bináris fájl a következő parancsok futtatásával tölthető le.
sudo wget -O gitea https://dl.gitea.io/gitea/1.5.0/gitea-1.5.0-linux-amd64
sudo chmod +x gitea
Másolja a bináris fájlt egy globális helyre.
sudo cp gitea /usr/local/bin/gitea
6. lépés: Hozzon létre egy szolgáltatásfájlt a Gitea automatikus elindításához
Hozzon létre egy linux szolgáltatásfájlt.
sudo touch /etc/systemd/system/gitea.service
Egy választott szövegszerkesztővel nyissa meg ezt az újonnan létrehozott fájlt, és töltse fel a következővel.
[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
Engedélyezze és indítsa el a Giteát rendszerindításkor.
sudo systemctl daemon-reload
sudo systemctl enable gitea
sudo systemctl start gitea
Győződjön meg arról, hogy a Gitea fut.
sudo systemctl status gitea
Törölje az alapértelmezett nginx konfigurációs fájlt.
sudo rm /etc/nginx/sites-enabled/default
Hozzon létre egy fordított proxykonfigurációt a Gitea számára.
sudo touch /etc/nginx/sites-available/git
Töltse ki a fájlt a következő konfigurációval, győződjön meg róla, hogy cserélje example.comki a domain nevével vagy IP-címével.
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;
}
}
Engedélyezze a Gitea Nginx fordított proxy konfigurációját.
sudo ln -s /etc/nginx/sites-available/git /etc/nginx/sites-enabled/git
Ezután töltse be újra az Nginx szolgáltatást.
sudo systemctl reload nginx.service
Ezután nyissa meg a böngészőt, és keresse meg a szerver gazdagépnevét vagy IP-címét.
http://YOUR_SERVER_IP/install
Kövesse a képernyőn megjelenő utasításokat a Gitea beállításának befejezéséhez.