V tomto tutoriálu vám ukážeme, jak nainstalovat software Gitea na váš VPS spolu s Nginx jako webový server a certifikátem Free Let’s Encrypt pomocí Ubuntu 20.04.
Gitea je software napsaný v programovacím jazyce „Go“ a je podobný Bitbucket, GitHub a Gitlab. Software se používá pro službu Git s vlastním hostitelem a je kompatibilní s více operačními systémy, jako je Linux, Windows, macOS a ARM.
Instalace nezabere více než 10 minut a během instalace si ji užijete. Začněme!
Předpoklady
- Nová instalace Ubuntu 20.04
- Uživatelská práva:uživatel root nebo uživatel bez oprávnění root s právy sudo
Krok Krok 1. Aktualizujte systém
Čerstvá instalace Ubuntu 20.04 vyžaduje aktualizaci systému, a proto musíme provést následující příkazy.
sudo apt update -y && sudo apt upgrade -y
Krok 2. Nainstalujte požadované závislosti
Tyto balíčky je třeba nainstalovat, než budeme pokračovat v instalaci.
apt install gnupg2 git unzip -y
Krok 3. Nainstalujte webový server Nginx
Webový server Nginx lze nainstalovat pomocí následujícího příkazu:
sudo apt install nginx -y
Po dokončení instalace můžete zkontrolovat stav služby Nginx:
sudo systemctl status nginx
Krok 4. Nainstalujte databázový server MariaDB
MariaDB se používá jako backend databáze pro Gitea a lze ji nainstalovat pomocí příkazu níže:
sudo apt-get install mariadb-server -y
Krok 5. Konfigurace databázového serveru MariaDB
Jakmile je databázový server úspěšně nainstalován, musíme jej nakonfigurovat.
Přihlaste se do prostředí MariaDB pomocí „mysql ” a povolte tabulku Innodb:
MariaDB [(none)]> SET GLOBAL innodb_file_per_table = ON;
Ukončete prostředí MariaDB pomocí „exit ” a otevřete výchozí konfigurační soubor MariaDB:
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
Přidejte následující řádky kódu pod „mysqld sekce ”
innodb_file_format = Barracuda
innodb_large_prefix = 1
innodb_default_row_format = dynamic
Po provedení změn restartujte službu MariaDB, aby se změny projevily.
sudo systemctl restart mariadb
Krok 6. Vytvořte databázi a uživatele databáze
Software Gitea vyžaduje databázi a uživatele, aby mohl správně fungovat. Chcete-li je vytvořit a udělit správná oprávnění, přihlaste se zpět do prostředí MariaDB a spusťte následující příkazy:
MariaDB [(none)]>CREATE DATABASE gitea;
MariaDB [(none)]>CREATE USER 'gitea'@'localhost' IDENTIFIED BY 'strongpasswordhere';
MariaDB [(none)]>GRANT ALL ON gitea.* TO 'gitea'@'localhost' IDENTIFIED BY 'strongpasswordhere' WITH GRANT OPTION;
MariaDB [(none)]>ALTER DATABASE gitea CHARACTER SET = utf8mb4 COLLATE utf8mb4_unicode_ci;
MariaDB [(none)]>FLUSH PRIVILEGES;
MariaDB [(none)]>exit;
Krok 7. Nainstalujte Gitea
Toto je krok, na který jsme tak dlouho čekali, a to je instalace softwaru Gitea. Než ji nainstalujeme, musíme vytvořit systémového uživatele pro spuštění Gitea pomocí následujícího příkazu:
sudo adduser --system --group --disabled-password --shell /bin/bash --home /home/git --gecos 'Git Version Control' git
Dalším krokem je stažení nejnovější verze Gitea na váš server.
sudo wget https://dl.gitea.io/gitea/1.14.6/gitea-1.14.6-linux-amd64
Jakmile je Gitea stažena, musíme zkopírovat binární soubor do systémové cesty a nastavit správná oprávnění:
sudo cp gitea-1.14.6-linux-amd64 /usr/bin/gitea && chmod 755 /usr/bin/gitea
Dalším krokem je vytvoření adresáře Gitea pro ukládání dat a protokolů spolu s jejich oprávněními:
sudo mkdir -p /etc/gitea /var/lib/gitea/{custom,data,indexers,public,log}
sudo chown git:git /etc/gitea /var/lib/gitea/{custom,data,indexers,public,log}
sudo chmod 750 /var/lib/gitea/{data,indexers,log}
sudo chmod 770 /etc/gitea
Krok 8. Vytvořte službu Gitea
Vytvořte prázdný soubor:
sudo nano /etc/systemd/system/gitea.service
A importujte následující řádky kódu:
[Unit]
Description=Gitea
After=syslog.target
After=network.target
After=mysql.service
[Service]
RestartSec=2s
Type=simple
User=git
Group=git
WorkingDirectory=/var/lib/gitea/
ExecStart=/usr/bin/gitea web -c /etc/gitea/app.ini
Restart=always
Environment=USER=git HOME=/home/git GITEA_WORK_DIR=/var/lib/gitea
[Install]
WantedBy=multi-user.target
Po vytvoření souboru s obsahem znovu načtěte konfigurační soubor, povolte a spusťte službu Gitea.
sudo systemctl daemon-reload
sudo systemctl enable gitea
sudo systemctl start gitea
Chcete-li zkontrolovat, zda Gitea funguje správně, proveďte následující příkaz:
sudo systemctl status gitea
Výstup by měl být podobný tomuto:
# sudo systemctl status gitea
● gitea.service - Gitea
Načteno:načteno (/etc/systemd/system/gitea.service; povoleno; přednastaveno dodavatelem:povoleno)
Aktivní:aktivní (v provozu) od Po 2021-08-09 23:36:36 CEST; před 8 minutami
Hlavní PID:42187 (gitea)
Úkoly:6 (limit:4652)
Paměť:111,8M
CGroup:/system.slice/gitea.service
└─42187 /usr/bin/gitea web -c /etc/gitea/app.ini
Krok 9. Nginx jako reverzní proxy pro Gitea
Nejprve vytvořte nový konfigurační soubor Nginx:
sudo nano /etc/nginx/conf.d/gitea.conf
Přidejte následující řádky kódu:
upstream gitea {
server 127.0.0.1:3000;
}
server {
listen 80;
server_name gitea.yourdomain.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;
}
}
Jakmile je soubor vytvořen, uložte jej, zavřete jej a zkontrolujte konfiguraci Nginx pomocí následujícího příkazu:
nginx -t
Výstup by měl být:
#nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Pokud je konfigurace v pořádku, restartujte službu Nginx, abyste získali nejnovější změny.
systemctl restart nginx
Krok 10. Nainstalujte bezplatný certifikát Let’s Encrypt SSL
Dále budete muset nainstalovat bezplatný certifikát SSL „Let’s Encrypt“. ‘Let’s Encrypt’ je v současnosti jedním z nejpopulárnějších poskytovatelů šifrování TLS v posledních několika letech. Je to největší certifikační autorita na světě, kterou jinak používá více než 250 milionů webů.
Nejprve musíte nainstalovat software Certbot na server pomocí následujícího příkazu:
sudo apt install certbot python3-certbot-nginx -y
Jakmile je Certbot nainstalován, jsme připraveni nainstalovat certifikát pro doménu:
sudo certbot --nginx -d gitea.example.com
Při instalaci můžete zvolit možnost přesměrování a všechny požadavky z HTTP budou přesměrovány na HTTPS.
Po úspěšné instalaci obdržíte následující podobnou zprávu:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/gitea.example.com/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/gitea.example.com/privkey.pem
11. Získejte bezpečný přístup na web Gitea
Nyní, když je každý krok dokončen, můžeme vstoupit na naši webovou stránku Gitea na adrese https://gitea.example.com Zadejte uživatelské heslo MySQL, které jste vytvořili v kroku 6. Přejděte dolů na spodní část stránky a klepněte na „Nainstalujte Gitea “.
Gratulujeme! Úspěšně jste nainstalovali software Gitea a nyní si jej můžete užívat. Samozřejmě se můžete jednoduše přihlásit k odběru libovolného z našich hostingových plánů Linux VPS a nechat naše odborníky, aby vše během několika minut nastavili zcela zdarma.
PS. Pokud se vám líbil tento příspěvek o tom, jak nainstalovat Gitea na Nginx s Free Lets Encrypt SSL na Ubuntu 20.04, sdílejte jej se svými přáteli na sociálních sítích pomocí tlačítek vlevo nebo jednoduše zanechte odpověď níže. Děkuji.