Gogs è un servizio Git indipendente e indipendente.
Questa guida utilizza PostgreSQL per il database e Nginx come proxy inverso. Dopo aver seguito questa guida, sarai in grado di accedere all'interfaccia web di Gogs HTTPe ai repository git ospitati tramite HTTPe SSH. HTTPSl'accesso può essere aggiunto estendendo la configurazione di Nginx.
Dovresti avere un sistema aggiornato e un utente sudo non root .
Imposta il database
Questa guida utilizza PostgreSQL. In alternativa, puoi utilizzare MySQL / MariaDB, SQLite3, MSSQL o TiDB.
Installa PostgreSQL.
sudo apt-get install -y postgresql
Crea l'utente in cui Gogs si connetterà al database. Questo ti chiederà di creare una password per quell'utente. Questa password verrà inserita nella configurazione di Gog in un secondo momento.
sudo -u postgres createuser gogs -P
Crea il database Gogs.
sudo -u postgres createdb gogs -O gogs -E UTF8
Imposta il proxy inverso
Questa guida utilizza Nginx come proxy inverso. In alternativa, puoi utilizzare un altro HTTPserver che può fungere da proxy inverso come Apache o Caddy.
Installa Nginx.
sudo apt-get install -y nginx
Modifica /etc/nginx/sites-enabled/default.
sudo nano /etc/nginx/sites-enabled/default
Trova le seguenti righe.
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
Modificali in questo.
location / {
proxy_pass http://127.0.0.1:3000;
}
Ricarica Nginx per utilizzare la nuova configurazione.
sudo systemctl reload nginx
Installa Gogs
Innanzitutto, assicurati che gitsia installato.
sudo apt-get install -y git
Quindi creare l'utente Gogs verrà eseguito come e che verrà utilizzato per l'accesso git SSH.
sudo useradd -m git
Successivamente, scarica e scompatta la versione di Gogs per la tua architettura.
Per sistemi a 64 bit.
sudo -u git sh -c "curl https://dl.gogs.io/0.11.29/linux_amd64.tar.gz | tar -xz -C /home/git/"
Per sistemi a 32 bit.
sudo -u git sh -c "curl https://dl.gogs.io/0.11.29/linux_386.tar.gz | tar -xz -C /home/git/"
Setup Gogs per l'esecuzione all'avvio.
sudo cp /home/git/gogs/scripts/systemd/gogs.service /etc/systemd/system
sudo systemctl enable gogs
Inizia Gogs.
sudo systemctl start gogs
Questa è l'unica volta che dovrai avviare Gogs in questo modo.
Configurazione iniziale
Vai a http://example.comnel tuo browser. Vedrai:Install Steps For First-time Run
Modifica le seguenti impostazioni.
Database Type: PostgreSQL
User: gogs
Password: (password you created earlier)
Domain: example.com
Application URL: http://example.com/
Potresti voler impostare il Application Name, il Email Service Settingse Server and Other Services Settings. Tutte le impostazioni possono essere modificate in seguito modificando /home/git/gogs/custom/conf/app.ini.
Fare clic Install Gogs.
Verrai reindirizzato a una pagina di accesso. Sign upun nuovo utente ora.
Consenti solo l'accesso HTTP (S) tramite Nginx
Ciò è utile soprattutto quando si utilizza Nginx per terminare HTTPS.
Aggiungi HTTP_ADDR = 127.0.0.1alla [server]sezione di /home/git/gogs/custom/conf/app.ini.
sudo -u git nano /home/git/gogs/custom/conf/app.ini
Dopo questa modifica, la [server]sezione sarà simile alla seguente.
[server]
DOMAIN = example.com
HTTP_ADDR = 127.0.0.1
HTTP_PORT = 3000
ROOT_URL = http://example.com/
DISABLE_SSH = false
SSH_PORT = 22
START_SSH_SERVER = false
OFFLINE_MODE = false
Riavvia Gogs per utilizzare la configurazione aggiornata.
sudo systemctl restart gogs