In questo tutorial, ti mostreremo come installare Gitea su Debian 9. Ti mostreremo anche come distribuire il servizio Gitea git su un VPS Debian 9.
Gitea è un sistema di controllo della versione gratuito, open source e leggero scritto in Golang. È un servizio git self-hosted e una soluzione alternativa a GitHub, Bitbucket e Gitlab. Il suo obiettivo principale è fornire il modo più semplice per configurare un servizio Git self-hosted. Funziona su più piattaforme tra cui Linux, macOS e Windows. Gitea supporta anche diversi sistemi di database, inclusi SQLite, MySQL e PostgreSQL pronti all'uso. L'installazione di Gitea su Debian 9 non dovrebbe richiedere più di 10 minuti. Iniziamo.
Prerequisiti:
- Un Debian 9 VPS con accesso root abilitato o un utente con privilegi sudo.
- Un nome di dominio valido puntato all'indirizzo IP del tuo server. In questo tutorial useremo
gitea.mydomain.com
.
Fase 1:accedi e aggiorna i pacchetti
Innanzitutto, dovremo accedere al nostro server utilizzando SSH. Puoi farlo inserendo questo comando:
ssh root@IP_Address -p Port_Number
Ricorda di sostituire "root" con il tuo nome utente se non stai utilizzando l'utente root. Modifica "IP_Address" e "Port_Number" in base all'indirizzo IP del tuo server e al numero di porta SSH.
Una volta effettuato l'accesso, dovresti aggiornare tutti i tuoi pacchetti alle ultime versioni disponibili.
apt-get update -y apt-get upgrade -y
Fase 2:installa e configura il database MariaDB
Gitea utilizza SQLite, MySQL/MariaDB e PostgreSQL per archiviare i propri dati. Qui useremo MariaDB per la nostra soluzione di database.
Installiamo MariaDB eseguendo il seguente comando:
apt-get install mariadb-server mariadb-client -y
Una volta installato, esegui il seguente comando per proteggere l'installazione di MariaDB:
mysql_secure_installation
Questo comando imposterà la password di root, rimuoverà gli utenti anonimi, non consentirà l'accesso root in remoto e rimuoverà il database di test come mostrato di seguito:
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
Una volta che MariaDB è sicuro, accedi alla shell di MariaDB con il seguente comando:
mysql -u root -p
Inserisci la tua password di root quando richiesto, quindi cambia il GLOBAL innodeb_file_per_table
su On
:
MariaDB [(none)]> SET GLOBAL innodb_file_per_table = ON;
Quindi, crea un database e un utente per Gitea con il seguente comando:
MariaDB [(none)]> CREATE DATABASE gitea; MariaDB [(none)]> CREATE USER 'gitea'@'localhost' IDENTIFIED BY 'password';
Assicurati di scegliere una password univoca e sicura per il tuo utente Gitea MariaDB.
Quindi, concedi tutti i privilegi a Gitea e modifica il database con il seguente comando:
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;
Infine, svuota i privilegi ed esci dalla shell MariaDB con il seguente comando:
MariaDB [(none)]> FLUSH PRIVILEGES; MariaDB [(none)]> EXIT;
Quindi, apri il file di configurazione predefinito di MariaDB e modifica alcune impostazioni:
nano /etc/mysql/mariadb.conf.d/50-server.cnf
Aggiungi le seguenti righe:
innodb_file_format = Barracuda innodb_large_prefix = 1 innodb_default_row_format = dynamic
Salva e chiudi il file. Quindi, riavvia il servizio MariaDB per applicare le modifiche alla configurazione:
systemctl restart mariadb
Fase 3:Scarica e installa Gitea su Debian 9
Vai alla pagina di download di Gitea e scarica l'ultima versione del pacchetto binario di Gitea con il seguente comando:
wget https://github.com/go-gitea/gitea/releases/download/v1.9.1/gitea-1.9.1-linux-amd64
Una volta scaricato, copia il binario scaricato in /usr/local/bin
directory:
cp gitea-1.9.1-linux-amd64 /usr/local/bin/gitea
Quindi, fornisci l'autorizzazione eseguibile utilizzando il seguente comando:
chmod 755 /usr/local/bin/gitea
Ora puoi controllare la versione di Gitea usando il seguente comando:
gitea --version
Dovresti ottenere il seguente output:
Gitea version 1.9.1 built with GNU Make 4.1, go1.12.8 : bindata, sqlite, sqlite_unlock_notify
Successivamente, dovremo creare una struttura di directory per i nostri repository, configurazione e file di registro. Eseguire il comando seguente per creare la struttura della directory per Gitea:
mkdir -p /etc/gitea /var/lib/gitea/{custom,data,indexers,public,log}
Fase 4:crea un file di servizio Systemd per Gitea
Ora, dovremo creare un file di servizio systemd per gestire il servizio Gitea. Puoi avviare, interrompere e riavviare il servizio Gitea con Systemd.
Esegui il comando seguente per creare un file di servizio systemd:
nano /etc/systemd/system/gitea.service
Aggiungi le seguenti righe:
[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
Salva e chiudi il file. Quindi, ricarica l'elenco dei daemon di systemd con il seguente comando:
systemctl daemon-reload
Successivamente, avvia il servizio Gitea e abilitalo all'avvio automatico dopo il riavvio del sistema con i seguenti comandi:
systemctl start gitea systemctl enable gitea
Puoi anche controllare lo stato del servizio Gitea utilizzando il seguente comando:
systemctl status gitea
Dovresti ottenere il seguente output:
● 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
Per impostazione predefinita, Gitea funziona sulla porta 3000. Puoi verificarlo con il seguente comando:
netstat -ant | grep 3000
Uscita:
tcp6 0 0 :::3000 :::* LISTEN
Fase 5:configura Nginx come proxy inverso per Gitea
Se vuoi accedere alla tua installazione Gitea utilizzando un dominio, dovrai creare un proxy inverso.
Innanzitutto, installa il server web Nginx con il seguente comando:
apt-get install nginx -y
Una volta installato, crea un nuovo blocco di server host virtuale per Gitea:
nano /etc/nginx/sites-available/gitea.conf
Aggiungi le seguenti righe:
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/; } }
Ricordati di sostituire miodominio.com con il tuo dominio registrato.
Salva e chiudi il file. Quindi, controlla Nginx per eventuali errori di sintassi con il seguente comando:
nginx -t
Quindi, abilita la direttiva host virtuale con il seguente comando:
ln -s /etc/nginx/sites-available/gitea.conf /etc/nginx/sites-enabled/
Infine, riavvia il servizio Nginx per applicare le modifiche alla configurazione:
systemctl restart nginx
Fase 6:Accedi all'Installazione guidata di Gitea Web
Ora apri il tuo browser web e visita l'URL http://gitea.mydomain.com/install
. Verrai reindirizzato alla pagina di installazione di Gitea:
Inserisci le informazioni del database, il titolo del sito, l'URL di base di Gitea e l'URL del server, le informazioni sull'account amministratore e fai clic su Installa Gitea pulsante. Una volta completata con successo l'installazione, verrai reindirizzato alla schermata del dashboard di Gitea:
Ora, fai clic su + pulsante per creare il tuo primo repository:
Fornisci i dettagli del tuo repository e fai clic sul pulsante Crea repository. Una volta creato il repository, dovresti vedere la seguente pagina:
Ora, fai clic sul pulsante Carica file. Dovresti vedere la seguente pagina:
Carica il tuo file, aggiungi una descrizione nella casella Conferma modifiche e fai clic sul pulsante Conferma modifiche. Dovresti vedere il file appena caricato nella pagina seguente:
Congratulazioni! hai installato con successo Gitea su un VPS Debian 9 e hai creato un progetto di test. Hai anche configurato Gitea dietro il proxy inverso Nginx. Ora puoi creare i tuoi repository con Gitea e distribuirli in un ambiente di sviluppo. Per ulteriori informazioni, puoi visitare la documentazione ufficiale di Gitea.
Segui questo tutorial per installare Gitea su Ubuntu 20.04
Naturalmente, non devi i installa Gitea su Debian 9 se hai un server Debian gestito con noi. Puoi semplicemente chiedere al nostro team di supporto di installare Gitea su Debian 9 per te. Sono disponibili 24 ore su 24, 7 giorni su 7 e saranno in grado di aiutarti con l'installazione.
PS . Se ti è piaciuto leggere questo post del blog su come installare Gitea su Debian 9, sentiti libero di condividerlo sui social network usando le scorciatoie qui sotto, o semplicemente lascia un commento nella sezione commenti. Grazie.