How to install GitLab on Linux Debian 11.3

To Install GitLab On Linux Debian 11.3

INTRODUCTION:

Gitlab is the devops platform, Delivered as a single application. this makes Gitlab unique and creates a streamlined software workflow, Unlocking your organization from the constraints of a pieced together toolchain. Learn how Gitlab offers unmatched visibility and higher levels of efficiency in a single application across the devops lifecycle.

INSTALLATION PROCEDURE:

Step 1: Check the OS Version by using the below command

root@linuxhelp:~# lsb_release –a
No LSB modules are available.
Distributor ID:	Debian
Description:	Debian GNU/Linux 11 (bullseye)
Release:	11
Codename:	bullseye

Step 2: Install openSSH and postfix configuration package by using the below command

root@linuxhelp:~# apt-get install openssh-server postfix –y
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  ncurses-term openssh-sftp-server ssh-import-id
Suggested packages:
  molly-guard monkeysphere ssh-askpass procmail postfix-mysql postfix-pgsql postfix-ldap postfix-pcre postfix-lmdb postfix-sqlite sasl2-bin | dovecot-common resolvconf postfix-cdb postfix-doc
The following NEW packages will be installed:
  ncurses-term openssh-server openssh-sftp-server postfix ssh-import-id
0 upgraded, 5 newly installed, 0 to remove and 0 not upgraded.
Need to get 1,889 kB of archives.
After this operation, 10.6 MB of additional disk space will be used.
Created symlink /etc/systemd/system/multi-user.target.wants/ssh.service  /lib/systemd/system/ssh.service.
rescue-ssh.target is a disabled or a static unit, not starting it.
Setting up ssh-import-id (5.10-0Debian1) ...
Attempting to convert /etc/ssh/ssh_import_id
Setting up postfix (3.4.13-0Debian1.2) ...
Adding group `postfix' (GID 135) ...
Done.
Adding system user `postfix' (UID 127) ...
Adding new user `postfix' (UID 127) with group `postfix' ...
Not creating home directory `/var/spool/postfix'.
Creating /etc/postfix/dynamicmaps.cf
Adding group `postdrop' (GID 136) ...
Done.
setting myhostname: linuxhelp
setting alias maps
setting alias database
mailname is not a fully qualified domain name.  Not changing /etc/mailname.
setting destinations: $myhostname, linuxhelp, localhost.localdomain, , localhost
setting relayhost: 
setting mynetworks: 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
setting mailbox_size_limit: 0

Step 3: Download the GitLab Using the GitLab package link by using the below command

root@linuxhelp:~# wget --content-disposition

https://packages.gitlab.com/gitlab/gitlab-ce/packages/ubuntu/bionic/gitlab-ce_13.2.1-ce.0_amd64.deb/download.deb
--2022-07-12 18:18:26--  https://packages.gitlab.com/gitlab/gitlab-ce/packages/ubuntu/bionic/gitlab-ce_13.2.1-ce.0_amd64.deb/download.deb
Resolving packages.gitlab.com (packages.gitlab.com)... 104.18.27.123, 104.18.26.123, 2606:4700::6812:1a7b, ...
Connecting to packages.gitlab.com (packages.gitlab.com)|104.18.27.123|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://d20rj4el6vkp4c.cloudfront.net/7/8/ubuntu/package_files/74594.deb?t=1639054407_fc8112cab777eff6fffea2cf504bfc64933be39a [following]
--2021-12-09 18:18:27--  https://d20rj4el6vkp4c.cloudfront.net/7/8/ubuntu/package_files/74594.deb?t=1639054407_fc8112cab777eff6fffea2cf504bfc64933be39a
Resolving d20rj4el6vkp4c.cloudfront.net (d20rj4el6vkp4c.cloudfront.net)... 65.8.84.225, 65.8.84.193, 65.8.84.171, ...
Connecting to d20rj4el6vkp4c.cloudfront.net (d20rj4el6vkp4c.cloudfront.net)|65.8.84.225|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 759824170 (725M) [application/x-debian-package]
Saving to: ÔÇÿgitlab-ce_13.2.1-ce.0_amd64.debÔÇÖ

gitlab-ce_13.2.1-ce.0_amd64.deb                             100%[=========================================================================================================================================>] 724.62M  11.2MB/s    in 66s     

2022-07-12 18:19:33 (10.9 MB/s) - ÔÇÿgitlab-ce_13.2.1-ce.0_amd64.debÔÇÖ saved [759824170/759824170]

Step 4: Select the previous unselected package by using the below command

root@linuxhelp:~# dpkg -i gitlab-ce_13.2.1-ce.0_amd64.deb 

Selecting previously unselected package gitlab-ce.
(Reading database ... 319283 files and directories currently installed.)
Preparing to unpack gitlab-ce_13.2.1-ce.0_amd64.deb ...
Unpacking gitlab-ce (13.2.1-ce.0) ...
Setting up gitlab-ce (13.2.1-ce.0) ...
It looks like GitLab has not been configured yet; skipping the upgrade script.

       *.                  *.
      ***                 ***
     *****               *****
    .******             *******
    ********            ********
   ,,,,,,,,,***********,,,,,,,,,
  ,,,,,,,,,,,*********,,,,,,,,,,,
  .,,,,,,,,,,,*******,,,,,,,,,,,,
      ,,,,,,,,,*****,,,,,,,,,.
         ,,,,,,,****,,,,,,
            .,,,***,,,,
                ,*,.
  


     _______ __  __          __
    / ____(_) /_/ /   ____ _/ /_
   / / __/ / __/ /   / __ `/ __ \
  / /_/ / / /_/ /___/ /_/ / /_/ /
  \____/_/\__/_____/\__,_/_.___/
  

Thank you for installing GitLab!
GitLab was unable to detect a valid hostname for your instance.
Please configure a URL for your GitLab instance by setting `external_url`
configuration in /etc/gitlab/gitlab.rb file.

Step 5: Reconfigure the GitLab by using the below command

root@linuxhelp:~# gitlab-ctl reconfigure

Starting Chef Infra Client, version 15.9.17
resolving cookbooks for run list: ["gitlab"]
Synchronizing Cookbooks:
  - gitlab (0.0.1)
 - package (0.1.0)
  - postgresql (0.1.0)
  - redis (0.1.0)
  - monitoring (0.1.0)
  - registry (0.1.0)
  - mattermost (0.1.0)
  - consul (0.1.0)
  - gitaly (0.1.0)
  - praefect (0.1.0)
  - nginx (0.1.0)
  - runit (5.1.3)
  - letsencrypt (0.1.0)
  - acme (4.1.1)
  - crond (0.1.0)
Installing Cookbook Gems:
Compiling Cookbooks...
links.conf ...
              fs.protected_fifos = 1
              fs.protected_hardlinks = 1
              fs.protected_regular = 2
              fs.protected_symlinks = 1
              * Applying /etc/sysctl.conf ...
    - execute sysctl -e --system
Recipe: gitlab::gitlab-workhorse
  * runit_service[gitlab-workhorse] action restart (up to date)
Recipe: monitoring::node-exporter
  * runit_service[node-exporter] action restart (up to date)
Recipe: monitoring::gitlab-exporter
  * runit_service[gitlab-exporter] action restart (up to date)
Recipe: monitoring::redis-exporter
  * runit_service[redis-exporter] action restart (up to date)
Recipe: monitoring::prometheus
  * runit_service[prometheus] action restart (up to date)
  * execute[reload prometheus] action run
    - execute /opt/gitlab/bin/gitlab-ctl hup prometheus
Recipe: monitoring::alertmanager
  * runit_service[alertmanager] action restart (up to date)
Recipe: monitoring::postgres-exporter
  * runit_service[postgres-exporter] action restart (up to date)
Recipe: monitoring::grafana
  * runit_service[grafana] action restart (up to date)

Running handlers:
Running handlers complete
Chef Infra Client finished, 564/1523 resources updated in 04 minutes 22 seconds

Warnings:
Environment variable LANG specifies a non-UTF-8 locale. GitLab requires UTF-8 encoding to function properly. Please check your locale settings.
gitlab Reconfigured!

Step 6: Go to the browser and ping browse the IP address as shown in the below image

Step 7: Reset the Root password and Login to the GitLab as shown in the below image.

step 8: This is the dashboard page for Gitlab.

Conclusion:

We have reached the end of this article. In this guide, we have walked you through the steps required to Install GitLab On Linux Debian 11.3. Your feedback is much welcome.

FAQ
Q
How do you install the OpenSSH?
A
To install the OpenSSH use the command apt-get install curl policycorecutils openssh-server openssh-clients
Q
What is the command for reconfiguring?
A
The command for reconfiguring is Gitlab-ctl reconfigure
Q
How to install the main configuration file of GitLab?
A
To install the main configuration file of GitLab uses the command dpkg -i gitlab-ce_13.2.1-ce.0_amd64.deb
Q
How to install the GitLab package repository?
A
To install the GitLab package repository use the command Wget "(Website_link)"+
Q
What is the dependency package in GitLab?
A
For the dependency package in GitLab use apt-get install openssh-server postfix -y