Configura la base de dades
Configureu el proxy invers
Instal·leu Gogs
Configuració inicial
Només permet l'accés HTTP(S) mitjançant Nginx
Gogs és un servei Git autoallotjat indolor.
Aquesta guia utilitza PostgreSQL per a la base de dades i Nginx com a servidor intermediari invers. Després de seguir aquesta guia, podreu accedir a la interfície web de Gogs HTTPi als repositoris git allotjats mitjançant HTTPi SSH. HTTPSl'accés es pot afegir ampliant la configuració de Nginx.
Hauríeu de tenir un sistema actualitzat i un usuari sudo que no sigui root .
Configura la base de dades
Aquesta guia utilitza PostgreSQL. Alternativament, podeu utilitzar MySQL/MariaDB, SQLite3, MSSQL o TiDB.
Instal·leu PostgreSQL.
sudo apt-get install -y postgresql
Creeu l'usuari en què Gogs es connectarà a la base de dades. Això us demanarà que creeu una contrasenya per a aquest usuari. Aquesta contrasenya s'introduirà a la configuració de Gog més tard.
sudo -u postgres createuser gogs -P
Creeu la base de dades de Gogs.
sudo -u postgres createdb gogs -O gogs -E UTF8
Configureu el proxy invers
Aquesta guia utilitza Nginx com a servidor intermediari invers. Alternativament, podeu utilitzar un altre HTTPservidor que pugui actuar com a servidor intermediari invers, com ara Apache o Caddy.
Instal·leu Nginx.
sudo apt-get install -y nginx
Edita /etc/nginx/sites-enabled/default.
sudo nano /etc/nginx/sites-enabled/default
Busca les línies següents.
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
Canvia'ls per això.
location / {
proxy_pass http://127.0.0.1:3000;
}
Torneu a carregar Nginx per utilitzar la nova configuració.
sudo systemctl reload nginx
Instal·leu Gogs
En primer lloc, assegureu-vos que gitestà instal·lat.
sudo apt-get install -y git
A continuació, creeu l'usuari que Gogs s'executarà com i que s'utilitzarà per a l'accés SSH git.
sudo useradd -m git
A continuació, descarregueu i desempaqueteu la versió de Gogs per a la vostra arquitectura.
Per a sistemes de 64 bits.
sudo -u git sh -c "curl https://dl.gogs.io/0.11.29/linux_amd64.tar.gz | tar -xz -C /home/git/"
Per a sistemes de 32 bits.
sudo -u git sh -c "curl https://dl.gogs.io/0.11.29/linux_386.tar.gz | tar -xz -C /home/git/"
Configura Gogs perquè s'executi a l'arrencada.
sudo cp /home/git/gogs/scripts/systemd/gogs.service /etc/systemd/system
sudo systemctl enable gogs
Comença Gogs.
sudo systemctl start gogs
Aquesta és l'única vegada que haureu d'iniciar Gogs d'aquesta manera.
Configuració inicial
Aneu a http://example.comal vostre navegador web. Ja ho veuràs:Install Steps For First-time Run
Canvieu els paràmetres següents.
Database Type: PostgreSQL
User: gogs
Password: (password you created earlier)
Domain: example.com
Application URL: http://example.com/
És possible que vulgueu configurar Application Name, el Email Service Settingsi Server and Other Services Settings. Tota la configuració es pot canviar més tard editant /home/git/gogs/custom/conf/app.ini.
Feu clic a Install Gogs.
Se us redirigirà a una pàgina d'inici de sessió. Sign upun nou usuari ara.
Només permet l'accés HTTP(S) mitjançant Nginx
Això és sobretot útil quan s'utilitza Nginx per finalitzar HTTPS.
Afegeix HTTP_ADDR = 127.0.0.1a la [server]secció de /home/git/gogs/custom/conf/app.ini.
sudo -u git nano /home/git/gogs/custom/conf/app.ini
Després d'aquest canvi, la [server]secció tindrà un aspecte semblant al següent.
[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
Reinicieu Gogs per utilitzar la configuració actualitzada.
sudo systemctl restart gogs