GNU/Linux >> Znalost Linux >  >> Panels >> Panels

Jak nainstalovat Gitea s NGINX a Free Let's Encrypt SSL na Ubuntu 20.04

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.


Panels
  1. Jak nainstalovat Elgg s Nginx na Ubuntu 14.04

  2. Jak nainstalovat Let's Encrypt SSL na Ubuntu 18.04 s Nginx

  3. Jak nainstalovat Joomla s Nginx na Ubuntu 18.04

  1. Jak nainstalovat Nextcloud s Nginx a nechat šifrovat SSL na Ubuntu 20.04 LTS

  2. Jak nainstalovat Magento 2 s Nginx a nechat šifrovat SSL na Ubuntu 20.04 LTS

  3. Jak zabezpečit Nginx pomocí Let's Encrypt na Ubuntu 20.04

  1. Jak nainstalovat WordPress s Nginx a nechat šifrovat SSL na CentOS 8

  2. Jak nainstalovat Drupal s Nginx a nechat šifrovat SSL na Ubuntu 20.04 LTS

  3. Jak nainstalovat Shopware 6 s Nginx a nechat šifrovat SSL na Ubuntu 20.04