Server/GitLab

Aus Wiki StuRa HTW Dresden
Version vom 14. April 2021, 19:11 Uhr von PaulRiegel (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

GitLab ist eine OpenSource Software alternative zu Github.


Achtung

Dieser Artikel ist ein exemplarischer Artikel.

Es handelt sich hierbei nicht um die Instanz GitLab als Dienst für git vom StuRa. Der StuRa betriebt (derzeit) keinen derartigen Dienst. Das öffentliche Verwalten von Code findet bei Github statt.

TurnKey[Bearbeiten]

https://www.turnkeylinux.org/gitlab

TurnKey 16[Bearbeiten]

https://releases.turnkeylinux.org/turnkey-gitlab/16.0-buster-amd64/

TurnKey 16 Installation[Bearbeiten]

Die automatische Initialisierung dauert eine gefühlte Ewigkeit!

nach 42 min (1 CPU (überwiegend ausgelastet), 4 GB Arbeitsspeicher (nicht ausgelastet), 16 GB Massenspeicher (nicht ausgelastet)) abgebrochen

nach dem Neustart

ssh root@141.56.51.321

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
SHA256:qXaF3mKqLgYXCAmbywRTwuUB0vcWUzXPFJItpb0F5OA.
Please contact your system administrator.
Add correct host key in /home/stura/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /home/stura/.ssh/known_hosts:42
  remove with:
  ssh-keygen -f "/home/stura/.ssh/known_hosts" -R "141.56.51.321"
ECDSA host key for gitlab.htw.stura-dresden.de has changed and you have requested strict checking.
Host key verification failed.

ssh-keygen -f "/home/stura/.ssh/known_hosts" -R "141.56.51.321"

ssh root@141.56.51.321


 TurnKey Linux - First boot configuration
 ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────

                            ┌────────────────Initialize Hub services───────────────────┐
                            │                                                          │  
                            │ 1) TurnKey Backup and Migration: saves changes to files, │  
                            │    databases and package management to encrypted storage │  
                            │    which servers can be automatically restored from.     │  
                            │    https://www.turnkeylinux.org/tklbam                   │  
                            │                                                          │  
                            │ 2) TurnKey Domain Management and Dynamic DNS:            │  
                            │    https://www.turnkeylinux.org/dns                      │  
                            │                                                          │  
                            │ You can start using these services immediately if you    │  
                            │ initialize now. Or you can do this manually later (e.g., │  
                            │ from the command line / Webmin)                          │  
                            │                                                          │  
                            │ API Key: (see https://hub.turnkeylinux.org/profile)      │  
                            │ ┌──────────────────────────────────────────────────────┐ │  
                            │ │                                                      │ │  
                            │ └──────────────────────────────────────────────────────┘ │  
                            │                                                          │  
                            ├──────────────────────────────────────────────────────────┤  
                            │                 <Apply>         <Skip >                  │  
                            └──────────────────────────────────────────────────────────┘  
<Skip >
 TurnKey Linux - First boot configuration
 ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────

                            ┌───System Notifications and Critical Security Alerts──────┐
                            │                                                          │  
                            │ Enable local system notifications (root@localhost) to be │  
                            │ forwarded to your regular inbox. Notifications include   │  
                            │ security updates and system messages.                    │  
                            │                                                          │  
                            │ You will also be subscribed to receive critical security │  
                            │ and bug alerts through a low-traffic Security and News   │  
                            │ announcements newsletter. You can unsubscribe at any     │  
                            │ time.                                                    │  
                            │                                                          │  
                            │ https://www.turnkeylinux.org/security-alerts             │  
                            │                                                          │  
                            │ Email:                                                   │  
                            │ ┌──────────────────────────────────────────────────────┐ │  
                            │ │                                                      │ │  
                            │ └──────────────────────────────────────────────────────┘ │  
                            ├──────────────────────────────────────────────────────────┤  
                            │               <Enable>        < Skip >                   │  
                            └──────────────────────────────────────────────────────────┘  
< Skip >
 TurnKey GNU/Linux - First boot configuration
 ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────



                            ┌────────────────────Security updates──────────────────────┐
                            │                                                          │  
                            │ By default, this system is configured to automatically   │  
                            │ install security updates on a daily basis:               │  
                            │                                                          │  
                            │ https://www.turnkeylinux.org/security-updates            │  
                            │                                                          │  
                            │ For maximum protection, we also recommend installing the │  
                            │ latest security updates right now.                       │  
                            │                                                          │  
                            │ This can take a few minutes. You need to be online.      │  
                            │                                                          │  
                            ├──────────────────────────────────────────────────────────┤  
                            │               <Install>        < Skip  >                 │  
                            └──────────────────────────────────────────────────────────┘  
<Install>

 TurnKey GNU/Linux Configuration Console
 ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────

                            ┌────────────────GITLAB---STURA-HTW-DRESDEN────────────────┐
                            │                                                          │  
                            │ Web:       http://141.56.51.321                          │  
                            │            https://141.56.51.321                         │  
                            │ Web shell: https://141.56.51.321:12320                   │  
                            │ Webmin:    https://141.56.51.321:12321                   │  
                            │ SSH/SFTP:  root@141.56.51.321 (port 22)                  │  
                            │                                                          │  
                            │ TKLBAM (Backup and Migration):  NOT INITIALIZED          │  
                            │                                                          │  
                            │                                                          │  
                            │                                                          │  
                            │                                                          │  
                            │                                                          │  
                            │                                                          │  
                            │          TurnKey Backups and Cloud Deployment            │  
                            │              https://hub.turnkeylinux.org                │  
                            ├──────────────────────────────────────────────────────────┤  
                            │                     <Advanced Menu>                      │  
                            └──────────────────────────────────────────────────────────┘  
<Advanced Menu>


 TurnKey GNU/Linux Configuration Console
 ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────

                            ┌─────────────────────Advanced Menu────────────────────────┐
                            │                                                          │  
                            │ TurnKey GNU/Linux                                        │  
                            │ GITLAB---AUFGABENVERWALTUNG-INFRASTRUKTUR---STUD-HTW-DRE │  
                            │ SDEN Advanced Menu                                       │  
                            │ ┌──────────────────────────────────────────────────────┐ │  
                            │ │Networking       Configure appliance networking       │ │  
                            │ │Lets encrypt     Let's Encrypt free SSL certificates (│ │  
                            │ │Mail relaying    Enable mail relaying to a remote serv│ │  
                            │ │Proxy settings   Configure Proxy Settings             │ │  
                            │ │Region config    Region & time settings               │ │  
                            │ │System settings  Various global settings              │ │  
                            │ │Reboot           Reboot the appliance                 │ │  
                            │ │Shutdown         Shutdown the appliance               │ │  
                            │ │Quit             Quit the configuration console       │ │  
                            │ │                                                      │ │  
                            │ └──────────────────────────────────────────────────────┘ │  
                            ├──────────────────────────────────────────────────────────┤  
                            │               <Select>        < Back >                   │  
                            └──────────────────────────────────────────────────────────┘  
Reboot           Reboot the appliance
<Select>
 TurnKey GNU/Linux Configuration Console
 ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────






                                           ┌────────────────────────────┐
                                           │                            │  
                                           │ Reboot the appliance?      │  
                                           │                            │  
                                           │                            │  
                                           │                            │  
                                           │                            │  
                                           ├────────────────────────────┤  
                                           │     < Yes >   < No  >      │  
                                           └────────────────────────────┘  
                                             
< Yes >
root@gitlab---stura-htw-dresden ~#

Neustart!


turnkey-init

 TurnKey Linux - First boot configuration
 ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────



                            ┌────────────────────GitLab Password───────────────────────┐
                            │                                                          │  
                            │ Enter new password for the GitLab 'root' account.        │  
                            │                                                          │  
                            │ Password Requirements                                    │  
                            │  - must be at least 8 characters long                    │  
                            │  - must contain characters from at least 3 of the        │  
                            │ following categories: uppercase, lowercase, numbers,     │  
                            │ symbols                                                  │  
                            │ ┌──────────────────────────────────────────────────────┐ │  
                            │ │*************************                             │ │  
                            │ └──────────────────────────────────────────────────────┘ │  
                            ├──────────────────────────────────────────────────────────┤  
                            │                         <  OK  >                         │  
                            └──────────────────────────────────────────────────────────┘  
<  OK  >
 TurnKey Linux - First boot configuration
 ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────



                            ┌────────────────────GitLab Password───────────────────────┐
                            │                                                          │  
                            │ Confirm password                                         │  
                            │                                                          │  
                            │ Password Requirements                                    │  
                            │  - must be at least 8 characters long                    │  
                            │  - must contain characters from at least 3 of the        │  
                            │ following categories: uppercase, lowercase, numbers,     │  
                            │ symbols                                                  │  
                            │ ┌──────────────────────────────────────────────────────┐ │  
                            │ │*************************                             │ │  
                            │ └──────────────────────────────────────────────────────┘ │  
                            ├──────────────────────────────────────────────────────────┤  
                            │                         <  OK  >                         │  
                            └──────────────────────────────────────────────────────────┘  
<  OK  >
 TurnKey Linux - First boot configuration
 ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────






                            ┌──────────────────────GitLab Email────────────────────────┐
                            │                                                          │  
                            │ Enter email address for the GitLab 'root' account.       │  
                            │ ┌──────────────────────────────────────────────────────┐ │  
                            │ │gitlab@stura.htw-dresden.de                           │ │  
                            │ └──────────────────────────────────────────────────────┘ │  
                            │                                                          │  
                            ├──────────────────────────────────────────────────────────┤  
                            │                         <Apply>                          │  
                            └──────────────────────────────────────────────────────────┘  
<Apply>
TurnKey Linux - First boot configuration
 ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────






                            ┌─────────────────────GitLab Domain────────────────────────┐
                            │                                                          │  
                            │ Enter the domain to serve GitLab.                        │  
                            │ ┌──────────────────────────────────────────────────────┐ │  
                            │ │gitlab.htw.stura-dresden.de                           │ │  
                            │ └──────────────────────────────────────────────────────┘ │  
                            │                                                          │  
                            ├──────────────────────────────────────────────────────────┤  
                            │                         <Apply>                          │  
                            └──────────────────────────────────────────────────────────┘  
<Apply>
Reconfiguring GitLab. This might take a while. Please wait.


 TurnKey GNU/Linux Configuration Console
 ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────

                            ┌─────────────────────Advanced Menu────────────────────────┐
                            │                                                          │  
                            │ TurnKey GNU/Linux                                        │  
                            │ GITLAB---AUFGABENVERWALTUNG-INFRASTRUKTUR---STUD-HTW-DRE │  
                            │ SDEN Advanced Menu                                       │  
                            │ ┌──────────────────────────────────────────────────────┐ │  
                            │ │Networking       Configure appliance networking       │ │  
                            │ │Lets encrypt     Let's Encrypt free SSL certificates (│ │  
                            │ │Mail relaying    Enable mail relaying to a remote serv│ │  
                            │ │Proxy settings   Configure Proxy Settings             │ │  
                            │ │Region config    Region & time settings               │ │  
                            │ │System settings  Various global settings              │ │  
                            │ │Reboot           Reboot the appliance                 │ │  
                            │ │Shutdown         Shutdown the appliance               │ │  
                            │ │Quit             Quit the configuration console       │ │  
                            │ │                                                      │ │  
                            │ └──────────────────────────────────────────────────────┘ │  
                            ├──────────────────────────────────────────────────────────┤  
                            │               <Select>        < Back >                   │  
                            └──────────────────────────────────────────────────────────┘  
Lets encrypt     Let's Encrypt free SSL certificates (
<Select>
 TurnKey GNU/Linux Configuration Console
 ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────

                            ┌──────────────────────Lets encrypt────────────────────────┐
                            │                                                          │  
                            │ Lets encrypt                                             │  
                            │ ┌──────────────────────────────────────────────────────┐ │  
                            │ │     Get certificate  Get Let's Encrypt SSl cert      │ │  
                            │ │                                                      │ │  
                            │ └──────────────────────────────────────────────────────┘ │  
                            │                                                          │  
                            │                                                          │  
                            │                                                          │  
                            │                                                          │  
                            │                                                          │  
                            │                                                          │  
                            │                                                          │  
                            │                                                          │  
                            │                                                          │  
                            │                                                          │  
                            ├──────────────────────────────────────────────────────────┤  
                            │               <Select>        < Back >                   │  
                            └──────────────────────────────────────────────────────────┘  
Get certificate  Get Let's Encrypt SSl cert
<Select>
 TurnKey GNU/Linux Configuration Console
 ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────





                      ┌─────────────────────────────────────────────────────────────────────┐
                      │                                                                     │  
                      │ DNS must be configured before obtaining certificates. Incorrectly   │  
                      │ configured DNS and excessive attempts could lead to being           │  
                      │ temporarily blocked from requesting certificates.                   │  
                      │                                                                     │  
                      │ Do you wish to continue?                                            │  
                      │                                                                     │  
                      ├─────────────────────────────────────────────────────────────────────┤  
                      │                     < Yes >           < No  >                       │  
                      └─────────────────────────────────────────────────────────────────────┘  

< Yes >
 TurnKey GNU/Linux Configuration Console
 ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────




         ┌───────────────────────────────────────────────────────────────────────────────────────────────┐
         │                                                                                               │  
         │ Before getting a Let's Encrypt certificate, you must agree to the current Terms of Service.   │  
         │                                                                                               │  
         │ You can find the current Terms of Service here:                                               │  
         │                                                                                               │  
         │ https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf                             │  
         │                                                                                               │  
         │ Do you agree to the Let's Encrypt Terms of Service?                                           │  
         │                                                                                               │  
         ├───────────────────────────────────────────────────────────────────────────────────────────────┤  
         │                               < Yes >                < No  >                                  │  
         └───────────────────────────────────────────────────────────────────────────────────────────────┘  
< Yes >
 TurnKey GNU/Linux Configuration Console
 ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
                 ┌────────────────────Certificate Creation Wizard (GitLab)───────────────────────┐
                 │                                                                               │  
                 │ Please enter the GitLab domain to generate certificate for.                   │  
                 │                                                                               │  
                 │ This is pre-populated with the domain set at firstboot. Please update this    │  
                 │ here to change the set domain and attempt to generate a Let's Encrypt cert.   │  
                 │                                                                               │  
                 │ Please note that this leverages GitLab Omnibus package's bundled              │  
                 │ support for Let's Encrypt.                                                    │  
                 │                                                                               │  
                 │ For more details, please see:                                                 │  
                 │ https://docs.gitlab.com/omnibus/settings/ssl.html                             │  
                 │                                                                               │  
                 │                                                                               │  
                 │ ┌───────────────────────────────────────────────────────────────────────────┐ │  
                 │ │Domain   gitlab.htw.stura-dresden.de                                       │ │  
                 │ │                                                                           │ │  
                 │ └───────────────────────────────────────────────────────────────────────────┘ │  
                 ├───────────────────────────────────────────────────────────────────────────────┤  
                 │                         <Apply >             <Cancel>                         │  
                 └───────────────────────────────────────────────────────────────────────────────┘  
<Apply >
 TurnKey GNU/Linux Configuration Console
 ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────






                                           ┌────────────────────────────┐
                                           │                            │  
                                           │ This will overwrite        │  
                                           │ previous settings and      │  
                                           │ check for certificate,     │  
                                           │ continue?                  │  
                                           │                            │  
                                           ├────────────────────────────┤  
                                           │     < Yes >   < No  >      │  
                                           └────────────────────────────┘  
< Yes >


FreeBSD[Bearbeiten]

FreeBSD Installation[Bearbeiten]

Angeleitet von Installationsanleitung für die Installation aus dem Quellcode.

Die Installation wird auf einem FreeNAS 9.3-stable in einer Jail durchgeführt.

FreeBSD Abhängigkeiten[Bearbeiten]

Installation der Packete erfolgt über pkg install

debian packages freebsd packages
build-essential gmake
zlib1g-dev lzlib
libyaml-dev libyaml
libssl-dev openssl
libgdbm-dev gdbm
libreadline-dev readline
libncurses5-dev ncurses
libffi-dev libffi
curl curl
openssh-server
redis-server redis
checkinstall
libxml2-dev libxml2
libxslt-dev libxslt
libcurl4-openssl-dev make config curl
libicu-dev icu
logrotate logrotate
python-docutils py27-docutils
pkg-config rubygem-pkg-config
cmake cmake
libkrb5-dev krb5
nodejs node

pkg install gmake lzlib libyaml openssl gdbm readline ncurses libffi curl redis libxml2 libxslt icu logrotate py27-docutils rubygem-pkg-config cmake krb5 node

Die Installation des Postfix servers findet nicht statt.

FreeBSD Ruby[Bearbeiten]

gem install bundler --no-ri --no-rdoc

FreeBSD System User[Bearbeiten]

Linux

adduser --disabled-login --gecos 'GitLab' git

FreeBSD

$ adduser
Username: git
Full name: GitLab
Uid (Leave empty for default):
Login group [git]:
Login group is git. Invite git into other groups? []:
Login class [default]:
Shell (sh csh tcsh git-shell nologin) [sh]: nologin
Home directory [/home/git]:
Home directory permissions (Leave empty for default):
Use password-based authentication? [yes]:
Use an empty password? (yes/no) [no]:
Use a random password? (yes/no) [no]:
Enter password:
Enter password again:
Lock out the account after creation? [no]:
Username   : git                                                                
Password   : *****                                                              
Full Name  : GitLab                                                             
Uid        : 1001                                                               
Class      :                                                                    
Groups     : git                                                                
Home       : /home/git                                                          
Home Mode  :                                                                    
Shell      : /usr/sbin/nologin                                                  
Locked     : no                                                                 
OK? (yes/no): yes
adduser: INFO: Successfully added (git) to the user database.
Add another user? (yes/no): no

Weblink[Bearbeiten]