V tomto tutoriálu vám ukážeme, jak nainstalovat Gitea na Debian 9. Také vám ukážeme, jak nasadit službu Gitea git na Debian 9 VPS.
Gitea je bezplatný, open-source a odlehčený systém správy verzí napsaný v Golangu. Jedná se o samoobslužnou službu git a alternativní řešení k GitHub, Bitbucket a Gitlab. Jeho hlavním cílem je poskytnout nejjednodušší způsob nastavení služby Git s vlastním hostitelem. Běží na několika platformách včetně Linuxu, macOS a Windows. Gitea také podporuje několik databázových systémů, včetně SQLite, MySQL a PostgreSQL. Instalace Gitea na Debian 9 by neměla trvat déle než 10 minut. Začněme.
Předpoklady:
- Debian 9 VPS s povoleným přístupem root nebo uživatelem s právy sudo.
- Platný název domény odkazující na IP adresu vašeho serveru. V tomto tutoriálu budeme používat
gitea.mydomain.com
.
Krok 1:Přihlaste se a aktualizujte balíčky
Nejprve se budeme muset přihlásit na náš server pomocí SSH. Můžete to udělat zadáním tohoto příkazu:
ssh root@IP_Address -p Port_Number
Pokud nepoužíváte uživatele root, nezapomeňte nahradit „root“ svým uživatelským jménem. Změňte „IP_Address“ a „Port_Number“ podle IP adresy vašeho serveru a čísla portu SSH.
Jakmile se přihlásíte, měli byste aktualizovat všechny své balíčky na nejnovější dostupné verze.
apt-get update -y apt-get upgrade -y
Krok 2:Instalace a konfigurace databáze MariaDB
Gitea používá k ukládání dat SQLite, MySQL/MariaDB a PostgreSQL. Zde použijeme MariaDB pro naše databázové řešení.
Nainstalujme MariaDB spuštěním následujícího příkazu:
apt-get install mariadb-server mariadb-client -y
Po instalaci spusťte následující příkaz k zabezpečení instalace MariaDB:
mysql_secure_installation
Tento příkaz nastaví heslo uživatele root, odstraní anonymní uživatele, zakáže vzdálené přihlášení uživatele root a odstraní testovací databázi, jak je uvedeno níže:
Enter current password for root (enter for none): press [Enter] Set root password? [Y/n]: N 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
Jakmile je MariaDB zabezpečená, přihlaste se do prostředí MariaDB pomocí následujícího příkazu:
mysql -u root -p
Po zobrazení výzvy zadejte heslo uživatele root a poté změňte GLOBAL innodeb_file_per_table
na On
:
MariaDB [(none)]> SET GLOBAL innodb_file_per_table = ON;
Dále vytvořte databázi a uživatele pro Gitea pomocí následujícího příkazu:
MariaDB [(none)]> CREATE DATABASE gitea; MariaDB [(none)]> CREATE USER 'gitea'@'localhost' IDENTIFIED BY 'password';
Ujistěte se, že jste pro svého uživatele Gitea MariaDB zvolili jedinečné a silné heslo.
Dále udělte všechna oprávnění Gitea a změňte databázi pomocí následujícího příkazu:
MariaDB [(none)]> GRANT ALL ON gitea.* TO 'gitea'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION; MariaDB [(none)]> ALTER DATABASE gitea CHARACTER SET = utf8mb4 COLLATE utf8mb4_unicode_ci;
Nakonec vyprázdněte oprávnění a ukončete prostředí MariaDB pomocí následujícího příkazu:
MariaDB [(none)]> FLUSH PRIVILEGES; MariaDB [(none)]> EXIT;
Dále otevřete výchozí konfigurační soubor MariaDB a upravte některá nastavení:
nano /etc/mysql/mariadb.conf.d/50-server.cnf
Přidejte následující řádky:
innodb_file_format = Barracuda innodb_large_prefix = 1 innodb_default_row_format = dynamic
Uložte a zavřete soubor. Poté restartujte službu MariaDB, abyste použili změny konfigurace:
systemctl restart mariadb
Krok 3:Stáhněte a nainstalujte Gitea na Debian 9
Přejděte na stránku stahování Gitea a stáhněte si nejnovější verzi binárního balíčku Gitea pomocí následujícího příkazu:
wget https://github.com/go-gitea/gitea/releases/download/v1.9.1/gitea-1.9.1-linux-amd64
Po stažení zkopírujte stažený binární soubor do /usr/local/bin
adresář:
cp gitea-1.9.1-linux-amd64 /usr/local/bin/gitea
Dále poskytněte oprávnění ke spustitelnému souboru pomocí následujícího příkazu:
chmod 755 /usr/local/bin/gitea
Nyní můžete zkontrolovat verzi Gitea pomocí následujícího příkazu:
gitea --version
Měli byste získat následující výstup:
Gitea version 1.9.1 built with GNU Make 4.1, go1.12.8 : bindata, sqlite, sqlite_unlock_notify
Dále budeme muset vytvořit adresářovou strukturu pro naše úložiště, konfigurační a protokolové soubory. Spusťte následující příkaz k vytvoření adresářové struktury pro Gitea:
mkdir -p /etc/gitea /var/lib/gitea/{custom,data,indexers,public,log}
Krok 4:Vytvořte soubor Systemd Service pro Gitea
Nyní budeme muset vytvořit soubor služby systemd pro správu služby Gitea. Službu Gitea můžete spustit, zastavit a restartovat pomocí Systemd.
Spuštěním následujícího příkazu vytvořte soubor služby systemd:
nano /etc/systemd/system/gitea.service
Přidejte následující řádky:
[Unit] Description=Gitea After=syslog.target After=network.target After=mysql.service [Service] RestartSec=2s Type=simple User=root Group=root WorkingDirectory=/var/lib/gitea/ ExecStart=/usr/local/bin/gitea web -c /etc/gitea/app.ini Restart=always Environment=USER=root HOME=/root GITEA_WORK_DIR=/var/lib/gitea [Install] WantedBy=multi-user.target
Uložte a zavřete soubor. Poté znovu načtěte seznam démonů systemd pomocí následujícího příkazu:
systemctl daemon-reload
Dále spusťte službu Gitea a povolte její automatické spouštění po restartu systému pomocí následujících příkazů:
systemctl start gitea systemctl enable gitea
Stav služby Gitea můžete také zkontrolovat pomocí následujícího příkazu:
systemctl status gitea
Měli byste získat následující výstup:
● gitea.service - Gitea Loaded: loaded (/etc/systemd/system/gitea.service; disabled; vendor preset: enabled) Active: active (running) since Wed 2019-08-21 10:44:06 UTC; 7s ago Main PID: 3995 (gitea) Tasks: 6 (limit: 7372) CGroup: /system.slice/gitea.service └─3995 /usr/local/bin/gitea web -c /etc/gitea/app.ini Aug 21 10:44:06 debian9 gitea[3995]: 2019/08/21 10:44:06 routers/init.go:74:GlobalInit() [T] Custom path: /var/lib/gitea/custom Aug 21 10:44:06 debian9 gitea[3995]: 2019/08/21 10:44:06 routers/init.go:75:GlobalInit() [T] Log path: /var/lib/gitea/log Aug 21 10:44:06 debian9 gitea[3995]: 2019/08/21 10:44:06 ...dules/setting/log.go:226:newLogService() [I] Gitea v1.9.1 built with GNU Make 4.1, g Aug 21 10:44:06 debian9 gitea[3995]: 2019/08/21 10:44:06 ...dules/setting/log.go:269:newLogService() [I] Gitea Log Mode: Console(Console:info) Aug 21 10:44:06 debian9 gitea[3995]: 2019/08/21 10:44:06 ...les/setting/cache.go:42:newCacheService() [I] Cache Service Enabled Aug 21 10:44:06 debian9 gitea[3995]: 2019/08/21 10:44:06 ...s/setting/session.go:45:newSessionService() [I] Session Service Enabled Aug 21 10:44:06 debian9 gitea[3995]: 2019/08/21 10:44:06 routers/init.go:106:GlobalInit() [I] SQLite3 Supported Aug 21 10:44:06 debian9 gitea[3995]: 2019/08/21 10:44:06 routers/init.go:37:checkRunMode() [I] Run Mode: Development Aug 21 10:44:07 debian9 gitea[3995]: 2019/08/21 10:44:07 cmd/web.go:151:runWeb() [I] Listen: http://0.0.0.0:3000 Aug 21 10:44:07 debian9 gitea[3995]: 2019/08/21 10:44:07 ...ce/gracehttp/http.go:142:Serve() [I] Serving [::]:3000 with pid 3995
Gitea standardně běží na portu 3000. Můžete to zkontrolovat pomocí následujícího příkazu:
netstat -ant | grep 3000
Výstup:
tcp6 0 0 :::3000 :::* LISTEN
Krok 5:Nakonfigurujte Nginx jako reverzní proxy pro Gitea
Pokud chcete ke své instalaci Gitea přistupovat pomocí domény, budete si muset vytvořit reverzní proxy.
Nejprve nainstalujte webový server Nginx pomocí následujícího příkazu:
apt-get install nginx -y
Po instalaci vytvořte nový blok virtuálního hostitelského serveru pro Gitea:
nano /etc/nginx/sites-available/gitea.conf
Přidejte následující řádky:
upstream gitea { server 127.0.0.1:3000 weight=100 max_fails=5 fail_timeout=5; } server { listen 80; server_name gitea.mydomain.com; location / { proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://gitea/; } }
Nezapomeňte nahradit mydomain.com svou vlastní registrovanou doménou.
Uložte a zavřete soubor. Poté pomocí následujícího příkazu zkontrolujte Nginx, zda neobsahuje nějaké syntaktické chyby:
nginx -t
Dále povolte direktivu virtuálního hostitele pomocí následujícího příkazu:
ln -s /etc/nginx/sites-available/gitea.conf /etc/nginx/sites-enabled/
Nakonec restartujte službu Nginx, abyste použili změny konfigurace:
systemctl restart nginx
Krok 6:Otevřete průvodce instalací Gitea Web
Nyní otevřete webový prohlížeč a navštivte adresu URL http://gitea.mydomain.com/install
. Budete přesměrováni na instalační stránku Gitea:
Zadejte informace o databázi, název webu, základní adresu URL a adresu URL serveru Gitea, informace o účtu správce a klikněte na Instalovat Gitea knoflík. Po úspěšném dokončení instalace budete přesměrováni na obrazovku řídicího panelu Gitea:
Nyní klikněte na + tlačítko pro vytvoření vašeho prvního úložiště:
Zadejte podrobnosti o úložišti a klikněte na tlačítko Vytvořit úložiště. Po vytvoření úložiště byste měli vidět následující stránku:
Nyní klikněte na tlačítko Nahrát soubor. Měli byste vidět následující stránku:
Nahrajte svůj soubor, přidejte popis do pole Potvrdit změny a klikněte na tlačítko Potvrdit změny. Váš nově nahraný soubor byste měli vidět na následující stránce:
Blahopřejeme! úspěšně jste nainstalovali Gitea na Debian 9 VPS a také jste vytvořili testovací projekt. Také jste nakonfigurovali Gitea za Nginx Reverse Proxy. Nyní můžete pomocí Gitea vytvářet vlastní úložiště a nasazovat je ve vývojovém prostředí. Pro více informací můžete navštívit oficiální dokumentaci Gitea.
Postupujte podle tohoto návodu pro instalaci Gitea na Ubuntu 20.04
Samozřejmě nemusíte i nainstalujte Gitea na Debian 9 pokud u nás máte Managed Debian Server. Můžete jednoduše požádat náš tým podpory, aby vám Gitea na Debian 9 nainstaloval. Jsou k dispozici 24 hodin denně, 7 dní v týdnu a budou vám schopni pomoci s instalací.
PS . Pokud se vám líbilo čtení tohoto blogového příspěvku o tom, jak nainstalovat Gitea na Debian 9, můžete jej sdílet na sociálních sítích pomocí níže uvedených zkratek nebo jednoduše zanechat komentář v sekci komentářů. Děkuji.