Gogs: Unterschied zwischen den Versionen

Aus Hackerspace Bielefeld Wiki
Wechseln zu: Navigation, Suche
(init.d script)
Zeile 114: Zeile 114:
  
 
FERTIG
 
FERTIG
 +
[[kategorie:Services]]

Version vom 11. Juli 2018, 23:08 Uhr

Wir benutzen gogs als git service. Auf diesem server können frei arbeitsgruppen und private projekte angelegt werden.

Auch projektspezifisches wiki und issue report sind vorhanden

installation

Daten holen

wget https://github.com/gogs/gogs/releases/download/v0.11.53/linux_amd64.zip

Entpacken

 unzip linux_amd64.zip

Eigenen git user anlegen

 adduser --disabled-login --gecos 'Gogs' git

Im gogs ordner ist ein mysql schemata hinterlegt, dies wie folgt installieren. Ggf mysql user und db anlegen

 mysql -u root -p gogs < /gogs/script/mysql.sql

Erster test mit

 ./gogs web

http://[ip]:3000

sql daten eintragen

log auf /var/log/gogs

repos auf /var&gogs/gogs-repository

apache conf erstellen

   <VirtualHost *:80>
           RewriteEngine On
           RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R=301,L]
           ServerName git.space.bi
   </VirtualHost>
   
   
   <VirtualHost *:443>
           ServerAdmin admin@hackerspace-bielefeld.de
           ServerName git.space.bi
           ProxyPreserveHost On
           <Proxy *>
                   Order allow,deny
                   Allow from all
           </Proxy>
           ProxyPass / http://localhost:3000/
           ProxyPassReverse / http://localhost:3000/
           SSLEngine on
           SSLCertificateFile /etc/letsencrypt/live/electronicfreak.de/fullchain.pem
           SSLCertificateKeyFile /etc/letsencrypt/live/electronicfreak.de/privkey.pem
           Include /etc/letsencrypt/options-ssl-apache.conf
   </VirtualHost>

init.d script

Anlegen in /etc/init.de/gogs

   #! /bin/sh
   
   ### BEGIN INIT INFO
   # Provides:          gogs
   # Required-Start:    $remote_fs $syslog
   # Required-Stop:     $remote_fs $syslog
   # Should-Start:      $portmap
   # Should-Stop:       $portmap
   # X-Start-Before:    nis
   # X-Stop-After:      nis
   # Default-Start:     2 3 4 5
   # Default-Stop:      0 1 6
   # X-Interactive:     true
   # Short-Description: Example initscript
   # Description:       This file should be used to construct scripts to be
   #                    placed in /etc/init.d.
   ### END INIT INFO
   
   USER=git
   LOG=/var/log/gogs/gogs.log
   
   case "$1" in
   
   start)
       echo "Starting Go Git Service.."
   
   
       touch $LOG
       echo "" >> $LOG
       echo "Gogs start: "$(date) >> $LOG
   
       su -l $USER -c "cd /home/git/gogs; ./gogs web >> $LOG &"
       echo "Logging to "$LOG
   ;;
   
   stop)
       echo "Stopping Go Git Service.."
       killall gogs
       sleep 2
       echo "" >> $LOG
       echo "Gogs stop: "$(date) >> $LOG
   ;;
   
   restart)
           echo "Restarting Go Git Service.."
           $0 stop
           sleep 2
           $0 start
           echo "Restarted."
   ;;
   *)
           echo "Usage: $0 {start|stop|restart}"
           exit 1
   esac

Boot script aktivieren

 update-rc.d gogs defaults


FERTIG